|
OVERVIEW
| |
 |
System drop-down Menu option - Change Control |
| |
 |
For moving code changes through from DEVT to TEST to RLSE (to LIVE). A change can be initiated remotely or locally at a clients site. |
| |
 |
A change is a collection of objects and group definitions which are seen in some way to be connected and should be promoted together. It is given a name, a number and an associated text narrative which stay with it until released to LIVE. |
| |
 |
Selection of constituent items is achieved through a mixture of operator typed name filters and selection from lists. An export file is created which is a system file containing the changed objects and additionally, the change narrative, source filenames, full list of objects and groups, file/item mapping and the group definitions. This is copied to the import sub-directory of TEST. |
| |
 |
As the change is promoted through the release levels previous versions of all items to be overwritten are archived so that a change can be rejected and its items restored at any stage until it becomes live. |
| |
 |
Assumptions: The change control Control File (filename:CCCTRL) resides in \4XTRA\CODE where there is also an empty system file called SYSEMPTY. |
| |
 |
Objects residing in multiple system files will be identical in all copies within \4XTRA\CODE\DEVT. |
| |
 |
There are \IMPT and \ARCH directories under each of (\4XTRA\CODE) \DEVT, \TEST, \RLSE and \LIVE and an \EXPT directory under \DEVT. |
| |
 |
Files in any of these directories with names Snnnnnnn or Annnnnnn will not be changed or deleted other than by the change control functions. |
ACCEPTANCE
| |
 |
This option is available whenever there are changes in Test which do not duplicate items in changes already accepted into Rlse. |
| |
 |
Existing versions of the objects to be imported are archived to Rlse\Arch before overwriting them in Rlse with the new. |
| |
 |
Once Accepted, a change is available for further testing in the Release environment. |
BROWSE
| |
 |
This is the only option allowed if another user has update access to CHANGE CONTROL. |
| |
 |
Allows user to see the release and change number, name, author, current position and when that position was attained of all changes, those currently active or those which have been through all stages of the system and become inactive. |
| |
 |
A change can be selected and its change narrative displayed. |
DELETION
| |
 |
This option is available whenever there are Inactive changes. Any Inactive change can be deleted. |
| |
 |
An inactive change is a change which has been through all levels of the system, and the system has been frozen and unfrozen to 'Lock-in' the changes. |
| |
 |
The change narrative built up from its first initiation is kept to be veiwed through the Browse option. |
| |
 |
The Delete option is available for use if it is deemed that this narrative history is no longer required. |
FREEZE
| |
 |
This option is available whenever there are changes which have been Released and Freeze itself has not already been applied. |
| |
 |
It prevents further Release of other changes, keeping the integrity of the Live environment until the Unfreeze option becomes available and is applied. |
| |
 |
Changes in Live can still be rejected while Freeze is in effect. |
| |
 |
A file is created in the Live directory called FREEZE.DON. Throughout the time that this is in existence it is safe to transfer the system files in Live to a Production system if that is maintained separately. |
| |
 |
Unfreeze becomes available when the freeze file is renamed to be TRANSFER.DON by separate operator action. |
IMPORT
| |
 |
A change which has been initiated at a remote site or in a 'private' system or has been previously rejected and had further code changes applied to its members can be imported by this option into the development environment. |
| |
 |
It can be given new release and/or change numbers and name and is then incorporated into the normal change control procedure as if initiated locally. |
| |
 |
Existing versions of the objects to be imported are archived to Devt\Arch before overwriting them in Devt with the new. |
INITIATION
| |
 |
This option to initiate a new change is always available to the user who has update access to change control. |
| |
 |
A unique combination of release and change number and a descriptive name are requested. |
| |
 |
Required objects and groups are selected from system files in the DEVT library. |
| |
 |
The change is then an active change but only becomes available for testing after it has been selected through the Testing menu option. |
ITEM_SELECTION
| |
 |
When a change is Initiated the items (objects and group definitions) to constitute the change are selected as follows. |
| |
 |
The user can elect to choose a system file by name or by contents by specifying a wild-card name filter as prefix*, *infix* or *suffix. From within the file items can be selected by name, name filter or group membership. When any selections have been made the option to remove items becomes available at the file selection menu. |
| |
 |
When the list is complete it is checked against all other active changes for duplication of items. |
REJECTION
| |
 |
Any active change whose items are not duplicated by any following change can be Rejected. |
| |
 |
All archived copies, from any level, of the members of the change are restored, the change file is moved from Test\impt to Devt\impt (ready for re importation ) and the change ceases to be recorded by the system. |
| |
 |
Any active change NOT offered for rejection is followed by a later change which duplicates one or more of its members and which will need to be rejected first if the earlier change is to be Rejected. |
RELEASE
| |
 |
All changes which have been Accepted and do not duplicate items in changes already released are offered for selection to be released to Live. |
| |
 |
Existing versions of the objects to be imported are archived to Live\Arch before overwriting them in Live with the new. |
| |
 |
Changes at this stage are presumed to have been thoroughly tested and ready to be used in the Live (or Production) environment. |
SHADOWING
| |
 |
If during initiation of a change items are selected which are already contained in an active change (or an import has such duplication) then either the selection is disallowed (if the earlier change has not been advanced to Test) or the user is prompted to Continue, Reselect or Cancel the change. If it is decided to continue, its progress is restricted in the following way. |
| |
 |
The later change is not allowed to progress to the extent that it would reside in the same environment as the earlier, until the earlier has been transferred to Live. |
| |
 |
The earlier change cannot be rejected unless and until the later change has also been rejected. |
| |
 |
Such Change Dependencies can be viewed in the 'Dependence' menu option. |
TESTING
| |
 |
This option is available whenever any changes have been initiated, or imported, which do not duplicate items in any other change already in test. |
| |
 |
Existing versions of the objects to be imported are archived to Test\Arch before overwriting them in Test with the new. |
| |
 |
When the change has been thoroughly tested then select Acceptance or Rejection from the Change Control menu. |
UNFREEZE
| |
 |
This option becomes available when a file, FREEZE.DON in the Live directory, is renamed to be TRANSFER.DON. |
| |
 |
Any Live changes are 'Locked-in', becoming Inactive and preventing their subsequent Rejection. |
| |
 |
The final effect is to re-enable the release of accepted changes into the Live environment. |
CHANGE_CONTROL_FILE
| |
 |
filename 300 CCCTRL |
| |
 |
cmp 1 This description |
| |
 |
cmp 2 Release flag - 1=Locked xor 0=not Locked |
| |
 |
cmp 3 Hold flag - User, 0 or Development team member if User HMW. |
| |
 |
user currently with write access to system. |
| |
 |
cmp 4 Change control - matrix 8+ columns one row per ACTIVE change |
| |
 |
col 1 change number - +ve integer of up to seven digits, |
| |
 |
last two are change number within release. |
| |
 |
col 2 date at initiation |
| |
 |
col 3 time at initiation |
| |
 |
col 4 user at initiation |
| |
 |
col 5 current status 1-4; i.e. init, test, acpt, rlse |
| |
 |
corresponding to dctys DEVT TEST RLSE LIVE |
| |
 |
col 6 date when acquired current status |
| |
 |
col 7 time when acquired current status |
| |
 |
col 8 user when acquired current status |
| |
 |
col 9- change nos of earlier active changes any of whose |
| |
 |
members are duplicated by this change |
| |
 |
cmp 5 Change index - 1 integer per cmp, If +ve is nnnnn whose text is |
| |
 |
stored here. If -ve is -nnnnn whose list is here |
| |
 |
Zero beyond posn 10 indicates unused cmp |
| |
 |
cmp 11-eof Change text or Object list - quadTCNL del'd string |
|