Transferring changes using SVN
Glossary Item Box
Introduction
The version control system is an optional component. Although bpm'online 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 bpm'online is:
- Transfer of changes between working environments, for example, between development environments.
- Storage of configuration schemas and package versions.
Bpm'online 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 bpm'online 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
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.
NOTE 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
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. |
The package is installed from the repository using the actions in the [Configuration] section. More details about this section tools can be found in the "The [Configuration] section” article.
To install the package from the repository, go to the [Configuration] section, right-click the [Packages] tab and select the [Install Package from Repository] option (Fig. 1).
Fig. 1. The [Packages] tab context menu
Then, in the dialog box, select the repository, the name and version of the package to install, and then click the [Install] button (Fig. 2).
Fig. 2. The dialog box for the package installing from the repository
During the package installation, the bound data will be automatically applied, and dependencies will be installed.
If, for any reason, the automatic application of changes has not been enabled (see step 2), then changes must be applied manually. To do this, perform the following actions for the installed package in the [Configuration] section:
- Generate the source codes for items that require it.
- Compile the modified items.
- Update the database structure.
- Install SQL scripts if necessary.
- Install the connected data.
NOTE Checkboxes in the [Database Update Required] and [Require database installation] columns on the [Schemas], [SQL scripts] and [Data] tabs of the [Configuration section] indicate that a schema, script or data needs to be installed in the database or requires modification of the database structure. In case of errors, the text of the last error can be seen in the [Last error message text] column. Please note that not all of these columns are displayed on the [Schemas], [SQL scripts] and [Data] tabs of the [Configuration] section. If necessary, you can add them using the [Columns setup] context menu. |
ATTENTION Starting with version 7.11, after installing or updating a package from SVN, bpm'online 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). |