Release Process

From Vision
Revision as of 13:17, 22 April 2010 by Anw (talk | contribs)

Prerequisites

Ensure all code is back in SourceSafe and any new files have been added to SourceSafe in the appropriate sub-solders.

Ensure that all database modifications have been documented in

  • P:\271321 - Vision\_Installers\Releases In Progress\LatestDBChanges.SQL

A template of this script is available called:

  • P:\271321 - Vision\_Installers\Releases In Progress\LatestDBChanges_Template.SQL

Create Patch

Copy folder P:\271321 - Vision\_Installers\Releases In Progress\Vision_UPYYMMDD to the new release patch name, replacing YYMMDD with the current date. This is referred to as the Patch folder and is denoted as {patch} in the following instructions.

Copy P:\271321 - Vision\_Installers\Releases In Progress\LatestDBChanges.SQL to {patch}\Releases\UPYYMMDD.SQL, replacing YYMMDD with the current date. Add this file to SourceSafe, in the Database sub-folder.

Label the programs being released in SourceSafe as follows:

In the left-hand pane of SourceSafe, right-click the ‘ProductivityWIP’ folder and choose 'Label...' from the pop-up menu.

ReleaseProcess1.PNG

Figure 1 - SourceSafe Label Creation screen

Enter the patch name in the “Label” field, and comment the patch with the client(s) to whom the patch is being released, from the Supimix Client/Site fields.

Find the programs changed since the last release (labelled in SourceSafe) using the SourceSafe history function, as follows:

In the left-hand pane of SourceSafe, right-click the ‘ProductivityWIP’ folder and choose 'Show History...' from the pop-up menu.

ReleaseProcess2.PNG

Figure 2 - SourceSafe Project History Options screen

Ensure ‘Recursive’ is checked. Enter a ‘From’ date if you know when the last release was completed, to speed things up. SourceSafe will then show a list of all changes made, matching the parameters entered.

ReleaseProcess3.PNG

Figure 3 - SourceSafe History screen

For each program changed or added, copy them into sub-folders of the Patch folder. Each program should go into the subfolder required for the program, as specified in SourceSafe.


Examples: DetailEnquiry.asp exists in a project subfolder called WCS - create a sub-folder called {patch}\WCS and copy the file into this folder.

CommonASP.asp exists in a project subfolder called Includes – create a sub-folder called {patch}\Includes and copy the file into this folder.

GetSysDetails_MySQL.vbs should be copied to a sub-folder called {patch}\Scripts.


Once all changed or added programs are copied into their respective Patch sub-folders, the release notes should be built.

Rename the file {patch}\Releases\UPYYMMDD_RelNotes.txt, replacing YYMMDD with the current date.

Replace the change content with change descriptions from SourceSafe. To do this:

From the SourceSafe History screen (see Figure 3), click the ‘Report’ button.

ReleaseProcess1.PNG

Figure 4 - SourceSafe History Report Options screen

Ensure ‘Include details’ is checked, and ‘Clipboard’ is selected and then click ‘OK’.

SourceSafe will drop this history to the clipboard, ready for pasting.

Past this into the release notes. The format will look as follows:


$/ASP Sites/ProductivityWIP

                                  • Database *****************

User: Walkert Date: 15/03/10 Time: 10:37 Destroyed ToadSettings

                                  • Database *****************

User: Walkert Date: 15/03/10 Time: 10:36 Destroyed productivity1

                                  • DetailEnquiry.asp *****************

User: Walkert Date: 15/03/10 Time: 10:35 Checked in $/ASP Sites/ProductivityWIP/WCS Comment:

 272693/SW-7YYJEU for DHL/EMEA/CHEW - Added choice of employee; Added

extended Export functionality (through to HTML-style XLS sheet); Added Task Type to display; Added selection of All task types; Added ability to choose a specific date/week/month/quarter or range, including validation and popup calendar; Added ability to summarise the data reported (as well as a detail option to report as now).

                                  • TaskProdExEnq.asp *****************

User: Walkert Date: 15/03/10 Time: 10:33 Checked in $/ASP Sites/ProductivityWIP/WCS Comment:

 272693/SW-7YYJEU for DHL/EMEA/CHEW - Added choice of employee; Added

extended Export functionality (through to HTML-style XLS sheet); Added Task Type to display.

                                  • CommonASP.asp *****************

User: Walkert Date: 15/03/10 Time: 10:29 Checked in $/ASP Sites/ProductivityWIP/Includes Comment:

 272693/SW-7YYJEU for DHL/EMEA/CHEW - Added translation of 'ALL' when

converting task types.

                                  • SettingsProd.asp *****************

User: Walkert Date: 15/03/10 Time: 10:28 Checked in $/ASP Sites/ProductivityWIP/Settings Comment:

 272694/SW-7YYJNV for DHL/EMEA/CHEW - Fixed bug created during

testing regarding setting the user default values for the Productivity Settings selection.

Remove the initial project line Remove any deletion notifications. Remove the lines beginning “User:”, “Checked in” and “Comment”. Remove the asterisks. Remove any blank lines Format the remaining text by joining the lines, removing white space and tabbing and returning at each semi-colon, as follows: DetailEnquiry.asp 272693/SW-7YYJEU for DHL/EMEA/CHEW - Added choice of employee; Added extended Export functionality (through to HTML-style XLS sheet); Added Task Type to display; Added selection of All task types; Added ability to choose a specific date/week/month/quarter or range, including validation and popup calendar; Added ability to summarise the data reported (as well as a detail option to report as now). TaskProdExEnq.asp 272693/SW-7YYJEU for DHL/EMEA/CHEW - Added choice of employee; Added extended Export functionality (through to HTML-style XLS sheet); Added Task Type to display. CommonASP.asp 272693/SW-7YYJEU for DHL/EMEA/CHEW - Added translation of 'ALL' when converting task types. SettingsProd.asp 272694/SW-7YYJNV for DHL/EMEA/CHEW - Fixed bug created during testing regarding setting the user default values for the Productivity Settings selection. Save the release notes.


From within the Patch folder, zip all the contents into a release patch, named “Vision_UP{YYMMDD}.zip”, where YYMMDD is the current date. Copy this patch to the “P:\271321 - Vision\_Installers\Releases In Progress” folder. The working directory {patch} can now be deleted.

Releasing

Send the patch out to the client - usually this is through FTP – a shortcut will be provided in the “P:\271321 - Vision\_Installers\Releases In Progress” folder. This shortcut will connect and set the release folder and file type correctly. Usually this is through the commands:

  • cd Vision
  • bin

Release the patch with the command:

  • send Vision_UP{YYMMDD}.zip

where YYMMDD is replaced with the patch number.

Exit FTP with the command ‘exit’.


Inform the clients of the release with and email, as follows:

“Subject: Vision Release Attachments: UP{YYMMDD}_RelNotes.txt

All,

A new release patch, Vision_UP{YYMMDD}.zip, is available for your Vision installation. Release notes are attached.

{Notes}”

Replace {YYMMDD} with the patch date and attach the release notes.

Any specific notes, installation or testing instructions can be added at the {notes} point, or in the release notes themselves.

Update the Supimix entry for the changes associated to the release with:

  • Status: 5
  • Sub-status: 70
  • Patch: UP{YYMMDD}

Enter the Analysis and fault codes if these have not already been done.

Enter the full Vision patch name in the comments when confirming – ensure that these are “USE” type comments.

If this is a log rather than a development, send the fix notification email when Supimix has finished updating the log status.


Installing

Ensure that the users are aware of the installation.

Depending on the size and content of the installation, this may take from 15 minutes to an hour.


Pause any data mining scripts

Stop the web server for the Vision application.

Alternatively, set the system unavailable flag in Global.asa in the Vision folder.

To install the patch, log on to the Vision server and move to the Vision folder, hereafter referred to as {Vision}.

Depending on the complexity of the patch, a backup copy of all the programs and the database should be made, as follows:

Copy the {Vision} folder to a safe area.

Backup the current database using MySQL Administrator.


Move to the {Releases} subfolder. Get the patch and place it in this subfolder – this is usually through FTP, as before.

Extract the patch to a subfolder Releases\{Patch}.

Copy the subfolders of {Vision}\Releases\{Patch} to {Vision} – this will copy all of the required programs, scripts and notes into the correct folders. Note: Each program and component may be released separately by manually copying each item, if necessary.

Move to the {Vision}\Releases folder – the release notes and database update script (if included) will be there. To commit the changes to the Vision database:

Start the MySQL Query Browser and log on to the Productivity1 database.

Click “File/Open Script ...” and open the script {Vision}\Releases\UPYYMMDD.SQL script file, where YYMMDD is the patch number.

Click the Continue button on the toolbar to make the changes. Note: If there are any problems with the script, the script will pause at the point it failed and display the error. If the error is fixed at this stage and Continue is pressed again, the script will continue from the point it left off.


Once the installation steps above have been followed, the patch has been installed.

Depending on the contents of the patch, it may be necessary to test the installation incrementally – do this by enabling each component it turn and testing, in this order:

  • Database and data checks
  • Data Mining script checks
  • Vision Application checks

The steps to re-enable the system are as follows:

  • Start the web server for the Vision application and/or make the system available again (if disabled at the start of the process).
  • Re-enable Data Mining.