Results post cloning for application customizations
Summarize
Summary of Results post cloning for application customizations
This guide outlines the expected behaviors and recovery actions for application customizations in ServiceNow after performing a cloning operation. It focuses on how the state of application customizations on the source instance affects the state on the target (development) instance post-clone, and details the necessary steps to restore or update customizations appropriately.
Show less
Expected Behaviors Post Cloning
- If the base application is not installed on the target instance, but both the base and customizations exist on the source, the base application and customizations must be reinstalled on the target.
- When the base application is missing and customizations exist in Source Control, the repository configuration (sysrepoconfig) may have an empty app field; in this case, removing this record and re-importing from Source Control will enable installation of the base application.
- If the base application and customizations are installed and match the source versions, reinstallation of customizations is required to align versions.
- If customizations exist in Source Control with repository configuration retained but versions do not match, applying remote changes from the Git repository is necessary to synchronize the target instance.
- When the target instance has older versions of both base and customization applications compared to the source, reinstalling the latest versions of both base and customizations on the target is advised.
- In scenarios where the base and customization applications are at the latest versions on the target, but the repository configuration retains an older branch version, applying remote Git changes ensures proper synchronization.
Recovery Actions
- Reinstall Base Application and Customizations: Required when the base application or customizations are missing or out-of-date on the target instance.
- Remove and Re-import Repository Configuration: Necessary when sysrepoconfig contains outdated or empty app fields, especially after cloning from Source Control.
- Apply Remote Git Changes: Used to update application customizations on the target instance when repository configuration is retained but versions differ.
Practical Implications for ServiceNow Customers
Understanding these cloning outcomes helps ensure your development environment accurately reflects your source instance's application customizations. It guides you through necessary recovery steps to maintain consistency, avoid version mismatches, and leverage Source Control effectively. Following the prescribed actions will minimize downtime and prevent customization loss after cloning.
The results to expect post cloning for application customization display the expected behaviors based on the state of the application, and the actions to recover your application customizations.
The following are the expectations based on the state of the application customizations, and the actions to recover your customizations.
| State of the App Customization on Source Instance | State of the App Customization in the Target (Development) instance pre-clone | State of the App Customization in Target (Development) instance post clone | Action to take to recover App Customization in the Target (development) instance post clone |
|---|---|---|---|
| Base application is not installed | Base application version 1.0 and App Customization version 1.0 | Base application is not installed | Reinstall Base application and App Customization |
| Base application not installed | Base application version 1.0 and App Customization in Source Control | Base application is not installed, and the sys_repo_config has an empty app field. | Remove the repository configuration (sys_repo_config) record (the app field has been emptied) and import again from Source Control and install Base application. |
| Base application version 1.0 | Base application version 1.0 App Customization version 1.0 | Base application version 1.0 | Reinstall App Customization |
| Base application version 1.0 | Base application version 1.0 and App Customization in Source Control | Base application version 1.0, repo_config is retained and the App Customization version displays as none in the all apps page. | Apply the remote changes from the Git repository. |
| Base application version 1.0 and App Customization version 1.0 | Base application version 2.0 and App Customization version 2.0 | Base application version 1.0 and App Customization version 1.0 | Reinstall App Customization version 2.0 and Base application version 2.0 |
| Base application version 1.0 and App Customization version 1.0 | Base application version 2.0 and App Customization version 2.0 in Source Control | Base application version 1.0 and App Customization version 1.0, sys_reconfig is retained | Apply the remote changes from the Git repository. |
| Base application version 2.0 and App Customization version 2.0 | Base application version 1.0 and App Customization version 1.0 | Base application version 2.0 and App Customization version 2.0 is installed. | Both Base and App Customization are at the latest versions. |
| Base application version 2.0 and App Customization version 2.0 | Base application version 1.0 and App Customization version 1.0 in Source Control | Base application version 2.0 and App Customization version 2.0 is installed with repo_config retained, so the branch version is on 1.0 | Both Base and App Customization are at the latest versions. |