Branch & Config Management

19th December 2023

Branching & Configuration Management

Business Impact of the Release :

  1. Introduction of Branching in Designer 2.0
  2. Reduction of Sync Time
  3. Faster Load Time of Application on Device
  4. Improved Stability of Designer 2.0

Problem Statement

Currently, Branch Management is not available in Designer 2.0. Consequently, we face limitations in conducting parallel development, managing releases, experimenting with code, and isolating feature bugs.

Overview of the solution

Now, there is a new Config Management module available under the 9 dots panel where users can access the branching module after selecting the application for which they want to manage branches.

User can then create the following type of branches:

  1. Feature : This branch allows the developers to work on different features in a collaboration without interfering with each other’s code.

  2. Integration Branch : Developers can merge their individual feature branches to test integration before merging the same to the main branch.

Apart from these, There is also a Release Branch which can be merged into master and created from any of the Feature or Integration branches.

Note : A default feature & master branch is created whenever a new application is created.

How to manage branching & Release after the new Release ?

Here we will take an example of Feature Branch 1 (F1), Feature Branch 2 ( F2) and Integration Branch 1 (I1).

  1. User can create a new feature branch( F1 & F2)

  2. Once they want to test multiple feature branches, an integration branch can be created(I1).

  3. Users will need to resolve conflicts in the integration branch. Here, one of the branches (F1) will be the source, and the second (F2) will be the branch from which a pull can be taken. The pull for pages is at the page level, i.e., either the page of F1 or F2 will go into the integration branch.For all other components (APIs, BRs, Task Groups, & Messages), users can take a pull for F2 or keep the version from F1. Also, references of pages will be preselected on the modules page.

  • High Risk : When the base version of components are different in both the branches, it is of high risk and the user should carefully select the versions.
  • Low Risk : When the base version of components are same in both the branches, it is a low risk Item.

Note : The references are provided for user assistance. Users must ensure that BRs, Messages, and other components are selected properly on the Components Tab.

  1. Users should then create a Release using any of the branches. Releases can then be merged into the master. The Master branch is empty until any branch is merged into Master. As of today, we are not restricting users on the deployment of branches in any environment.

  1. The Sync module has undergone significant enhancements. Now, users can deploy their Designer branches onto environments configured in the Middleware. Following the deployment of branches, users can sync the changes.

The following steps needs to be performed for the application post the Branching Release :

  1. User would need to Set up the Login Page again
  2. Theme needs to be checked and changed if required
  3. User would now need to deploy the branch before Sync
  4. Perform Commit for the application
  5. Create a new build , Sync & see the changes on build
  6. Messages during tasks would need to be reconfigured

Known Issues :

  1. Pre-selected Items are not 100% accurate in Resolve Conflicts window
  2. Json for complicated BRs is not accessible