Note: This is only for EASYProcess 4.8.4165.0 and Up.
Quick Note for upgrade:
If you already have SCM (Formerly CM, CMS) setup, make sure you quickly go through following point for quick setup:
- In each application, create a new ‘Default’ instance under version and assign a value for Major version, Minor Version and Build. If this is new application, use Major =1, Minor =1, Build =1. If EASYCommerce using Major = 4, Minor =8, Build = 10.
- In PD application, go to EntityManagement/EntityNextNumber then find ‘EP_SCM_Revison’ and set NextNumber = 1.
Environments Needed for SCM
To set up SCM, you need following environments ready:
- Repository: This is normally the same as production environment. However, you can set up a separate environment as the repository environment. This will be discussed later in this document.
- Development (DV): This is your development environment where sources will be copied from Repository.
- Quality Assurance (QA): This is normally for the users to perform their UAT.
Configuration Variable Changes
In order to set up SCM, Configuration variables need to be defined in all environments of SCM. These Configuration variables will be defined in your Application and not in its associated Base.
In this example, EASYCommerce is the name of the application, so this is the one we want to open. Each application has a corresponding Base application as well, but this should not be opened or edited. The EASYCommerce application is where you would develop to make changes. Base allows you do that and use EASYProcess.
Once you have all three environments ready:
- Go to DV and create a new instance “Repository” inside configuration SCMApplication. Inside that configuration, instance setup variables as below:
- ConnectionString: Copy connection string for repository application Configuration/Database/AppData.
- DbType : MSSQL.
- Go to QA, and repeat as in DV above.
- Go to Repository (PD) and repeat as in DV above.
- You must use name ‘Repository’ as it is.
Set up additional SCMApplication Instances in Repository/PD application:
- Create a new configuration instance SCMApplication/DV in repository/PD application and copy connection string and db type from DV environment.
- Create a new configuration instance SCMApplication/QA in repository/PD application and copy connection string and db type from QA environment.
- You must use name ‘DV’ as it is. QA and other environments can be named differently.
This should only be done in the repository environment. Go to the repository environment, then create a new instance under SCM named Default and set up the following variables:
- EnforceSourceControl :True (If this is turned off, the entire SCM system will be disabled)
- AllowDeveloperCheckIn: True
- AllowDevelopment: False
- EnforceProjectSelection: False (Set it True if client requires it)
- EnforceSourcePromoterList: False (Set it True if client requires it)
- There is a promoter list in the database. If set to True, can only promote if in list
- EnforePromoteListForRepositoryOnly: False (Set it True if client requires it)
- SourcePath: DV/QA/Repository. DV and Repository must be named as it is. QA and other middle path can be named differently.
- SourcePathLegacy: Env_DV/Env_QA/Env_PD(Example: eCommerce_DV/eCommerce_QA/eCommerce_PD This is only needed to convert record from old CMS to new SCM. Environment names should be the exact environment names you have and in the same order as in SourcePath)
EASYProcess now supports versioning of an application. Major version, Minor Version and Builds must be entered in Version/Default configuration of each (DV,QA,PD) applications.
If this is an existing application install, such as EASYCommerce, these values will be there already.
You should increase it as you seem necessary as your application evolves. Revision should not be increased manually, as it is explained below.
Whenever you do a promote to PD, Major/Minor version, Build and Revision will be automatically copied from PD to QA and DV so that they are at same version.
If this is an existing application install, such as EASYCommerce, this value will be there already.
Revision will use the next number from entity ‘EP_SCM_Revision.’ For new applications, you should set up a startup number for revision in EntityNextNumber table ( Type = EP_SCM_Revision, NextNumber =1). It is recommended that you start your revision from 1. If you do not setup this record manually, revision will start from ‘10000100.’
Whenever you commit a source to PD, you will be assigned a new revision number against that promotion, which will snapshot all the sources that were promoted as part of that project.
From the revision screen, you can then get the source for that revision, compare changes, etc. This is helpful in undoing a change or going back to old revision for a source.
With SCM projects, you can put multiple sources inside a project. You are always working in a project. More than one person can work inside a project. When you do a checkout or create a new source, you will be asked to choose an existing project or create a new project. When you do a promotion, every source as part of the project will be promoted together. When you commit a source to PD, a new revision number will be created for every source in that project.
Converting 4.8.1 and older EntityCMSStatus records
Table EntityCMSStatus stores entity SCM status. It needs to be upgraded to support new SCM architecture. Make sure you have setup SourcePathLegacy in previous step. Then go to Tools/UpgradePrograms/Upgrade Patches : UpgradeCMEntities. and click Apply. It should convert all EntityCMSStatus records and prompt you with the number of records updated.
Setting up Repository separate from PD
With 4.8.2, you can have an environment separate from PD. In a more secure setting, you can use this to make sure a developer has no access to PD environment. They will checkout their source from Repository environment, and admins will be responsible for promoting it to PD.
- New source path will be: DV/QA/PD/Repository
- You will need to add a new instance PD in SCMApplication configuration on repository application and setup connection string and db type based on PD.
Setting up TR
Some customers require another environment between QA and PD(repository) as TR (Training environment). To set up TR in SCM:
- New source path will be: DV/QA/TR/Repository
- You will need to add a new instance TR in SCMApplication configuration on repository application and setup connection string and db type based on TR environment.