This blog contains the steps for implementing best track design in the existing single track landscape for NWDI based parallel development. To understand the limitations of single track design and advantages of new track design considering the business scenario for parallel development, please Best Practices for NWDI: Track design for ongoing development here. The pre requisite for implementing the new design are listed below.
A single track used for new development as awell as fixing urgent bugs reported in production environment.
All the runtime systems i.e. development, consolidation, test and production are configured for this track.
The above mentioned track is having a developed SC which is pushed to production.
To give a background of this implementation, below mentioned points build the layout of this track design:
Creation of Development track.
Creation of Maintenance Track.
Creation of Production Track
I will be covering the above mentioned points one by one.
Creation of Development track:
This track is used primarily for all new development. Since in our case, one track already exists so we will not create Development track. We will treat the existing one as Development track. Only change required is to uncheck the checkbox for production runtime system in Runtime system tab. Finally save the changes.
Creation of Maintenance track:
As per the design, Maintenance track is basically a copy of Development track and will be used only for fixing urgent bugs in the production environment .This track needs to be in sync with the production system and also needs to be updated with any new development done in Development track once approval for moving to production system is given.. Follow the below mentioned steps for creating Maintenance track:
- Go to Track Data tab of Dvelopment track and click on “Save As” button. A new pop up window will open up for entering the basic details of Maintenance track.
Fig 1. New track details.
- Fill in the mandatory details and click on save. This will create Maintenance track having all the SC’s same as that of development track.
- One additional step (recommended) is to change the Development configuration path for maintenance track. This takes the same value as that of development track while creation. It’s advisable to change it and it is reflected while importing the Maintenance track configurations through NWDS.
Fig 2. Development Config Details.
Note: Although Maintenance track is created, one last step is required to forward the existing Development components (DC) of all SC’s from Development track to Maintenance track. The reason for this step is that even though Maintenance track is created as a copy of Development track, the DC’s are not visible in the Development configuration perspective of NWDS if we try to import the configurations for Maintenance track .This step is required only if Maintenance track is created as a copy of Development track having a well developed SC . Steps for overcoming the above mentioned scenario are mentioned below:
- Go to Transport studio->select Development track- Approval tab-> History Button.
Fig 3. Approval Tab.
- Select “All” from the drop down. A list of all approved activities done for all SC’s of this track will appear in the table.
- Select the latest activity for each SCA (one activity for each SCA). Suppose there are 2 SC’s in my track,2 latest activities should be selected.
- Click on the arrow button (Forward) at the top right of screen .
Fig 4. History Details
- A pop up window will be shown on click of Forward button and then select Maintenance Track from the dropdown.
- Click on Forward button.
Fig 5. Forward selected components
- As a result of above step, selected activities will appear in development queue of Maintenance track.
- Select Maintenance track and import the activities in developments tab and transport it to other environments.
- Verify in NWDS the changes by importing the configurations of Maintenance track.
Creation of Production track:
As per the design, this track is used only for deploying all approved changes (New Development or Bug fix) to production environment. No development will take place in this track. So no build space is configured for this track. Steps for creating it are mentioned below:
Go to track data tab in CMS and click “New” button. Enter all the mandatory details and don’t mention the DTR and CBS URL for this track.
Fig 6. Creation of Production Track
- Add the SC of development track in the Required SC section for this track. There will be no SC in the Software component section.
Fig 7. SC Details for Prod Track
- Go to Runtime system and configure only the production run time system specifying the SDM and J2EE details.
Fig 8. Runtime System Configuration
- Finally save the changes.
After we are done with creation of tracks, we are left with creation of connections between them. Two types of connections are available:
- Transport Connection Type: As per this connection type, only completely assembled software component archives (SCA’s) are transported through transport connections.
- Repair Connection Type: This connection is used to transport changes from a follow-on track back to the preceding track. Every released activity from NWDI can be transported to destination track.
As per the design, we need to create 4 track connections details of which are given below:
- Development Track-> Maintenance Track—–Transport Connection.
- Maintenance Track-> Development Track—–Repair Connection.
- Development Track-> Production Track—–Transport Connection.
- Maintenance Track-> Production Track—–Transport Connection.
Below are the steps mentioned for defining the track connections:
- Go to Track Connections tab in CMS and click on Add button. A pop up window will ask for details of connection type.
- Specify the source and destination track and select the appropriate radio button for specifying connection type as shown below:
Fig 9. Track Connections
- Save the changes.
All the above mentioned steps will create the layout for new track design and is available for parallel development.I think its time to take a break before i take up a sample test scenario for using this new design.