Transferring changes using SVN
Glossary Item Box
Introduction
The version control system is an optional component. Although Creatio can work without it, the version control system is required in case a user driven application customization is expected. If the development is carried out by a team of developers, using SVN to transfer and merge changes becomes essential.
The purpose of version control system in Creatio is:
- Transfer of changes between working environments, for example, between development environments.
- Storage of configuration schemas and package versions.
Creatio supports the Subversion (SVN) version control system 1.8 and up. Details on how to use SVN can be found in the documentation. SVN repository configuration and Creatio integration is described in the "Create repository in SVN server” article.
Benefits of transferring changes via SVN
- Ability to transfer both the schemas and packages between working environments and configurations.
- Ability to transfer package data, such as lookup or section records.
- Automatic installation of SVN dependency packages.
- Autonomy from the support service in terms of transferring changes in the cloud.
The recommended steps for transferring changes via SVN
Using SVN is not recommended for transferring changes to the production environment. The best way for this is using packages export and import. Transferring changes with SVN can only be used in the development environment.
The information below are applicable when working with SVN repositories via the Creatio built-in development tools. The information are not applicable when the file system design mode is turned on (see "Working with SVN in the file system"). See "Working with SVN in the file system" for more information.
1. Verify that the application to which you want to transfer changes is configured to work with SVN.
For more details about the application setup for working with the version control system, please see the "Create repository in SVN server” article.
2. Enable mechanisms for automatic application of changes.
To apply the necessary changes after the transfer, enable mechanisms for automatic application of changes. To do this, you need to set the following keys of the appSettings element in the Web.config file (located in the Terrasoft.WebApp directory) to true:
<add key="AutoUpdateOnCommit" value="true" /> <add key="AutoUpdateDBStructure" value="true" /> <add key="AutoInstallSqlScript" value="true" /> <add key="AutoInstallPackageData" value="true" />
The AutoUpdateOnCommit key is responsible for automatically updating packages from the SVN before they are committed to the repository. If this key is set to false, then, before the commit operation can be run, the application will notify the user about the need to update the local copy from SVN if package schemas have been modified. The AutoUpdateDBStructure, AutoInstallSqlScript and AutoInstallPackageData keys are responsible for automatically updating the database structure, installing SQL scripts, and the data bound to package.
3. Make sure that all necessary data are bound to package.
You need to make sure that all the data you need to migrate is bound to the corresponding package before the package transfer. These data are represented by lookup and section records.
If a section wizard was used when creating sections, then certain data is automatically connected to the current package.
4. Make sure that all dependencies of the package can be transferred.
Dependencies on other packages can be added to the custom package during the development process. If the dependency packages are developed by third-party developers, you need to make sure that they are already installed in the application into which the user package will be transferred. If the dependency packages are in an accessible SVN repository, they will be installed automatically if necessary.
5. Install the package from the repository
The sequence of package installation is described in detail in the "Installing packages from repository".
Important!
Before updating the application via SVN, you must back up the database. If the application is deployed in the cloud, you should contact support.
Please note that you cannot revert to the previous version of the application via SVN.
Starting with version 7.11, after installing or updating a package from SVN, Creatio application requires compilation (the [Compile all items] action in the [Configuration] section). In the process of compilation, the static content will be generated (see "Client static content in the file system" article).