Some time ago I developed an application that tackled a familarial problem faced by many developers when required to update multiple UAT or PRODUCTION sites with the latest Software patches that have been developed and tested on your DEV server and now need to be deployed to multiple sites running that software.
In principle the solution works as follows:
1) Prepare an XML export of affected classes/routines/csp pages/hl7 definitions et al
2) Optionally create a global export of any new globals or changes to existing globals
3) a class that contains a collection of methods where each method corresponds to a particular Patch Release
4) An .INI file that holds a variety of configuration parameters
5) An HTML document containing release notes.
6) A ZEN application to build the release kit
7) A production that runs on the DEV server that is configured for all target application servers to be updated
8) A Production that runs on the target servers that has ba business service that ticks over looking for patch release deployed to that instance
9) when a new release is detected the ,ini contents are used to create a new Patch Entry in the Target system Patch Class
10) A Zen application that runs on the target servers that displays all patches past and current and their installation status.
11) The ability to automatically install the patch upon receipt of the patch release files, or install at a set date and time or the option to install the patch by an operator on site as and when they are ready to install the patch.
12) During the patch installation the following tasks are executed:
a) Create a backup of the current code base and globals (selectable) on the target system
b) Install the patch. If the patch fails then the backup is restored.
c) If the patch is successful a post-upgrade backup is created which can be used to either distribute to other sites or can be pulled back to the DEV server and verified that the upgrade has been successful (as expected)
13) As the application uses Ensemble on both the PUSH server and the PULL server the application will continue to try and deliver the patch release to target systems should there be temporary connectivity issues until such time as the patch is delivered
14) Statistics and reports are available that clearly detail the current progress of the patch distribution and the status of the patch upgrade on the target systems,
15) If there is sufficient interest in this application please let me know as there is a certain amount of fine tuning and graphical work to be done in the ZEN application so that it can be customised for a particular customer site.
If you feel this this is a useful application please send me your comments so that I can gauge whether I should complete and distribute the application though the Developer Community Solutions/Application site