Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Change storage and VCS records
All the changes are stored as VCS records in the VCS Records (sys_vcs_record) table. They are created automatically and cannot be deleted or edited.
Each action (create, delete, update) on a versioned table object leads to creation of a record in the VCS Records (sys_vcs_record) table. This table contains information about the changes done in any application on the platform.
Note |
---|
|
VCS Record form fields
Field | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Table name | The system name of the target record table. | |||||||||
Record | The unique ID of the source record processed by the transaction. | |||||||||
Document record | A reference to the target record for which the current VCS record is created. | |||||||||
JSON copy | This field stores target record attributes in JSON format as an associative array.
| |||||||||
Is current | This checkbox is selected if the version is current. | |||||||||
Created by | The user who did the change. | |||||||||
Created at | The date and time of the record creation. | |||||||||
Local pack | The local pack that contains this record. | |||||||||
Retrieved pack | The Retrieved pack to which this record is related to. | |||||||||
Restored by | A unique ID of the version record from which the current record was restored. | |||||||||
Action | Action type. Available options:
| |||||||||
Record policy | Current record protection policy after the transaction is over. Available options:
| |||||||||
Is strong overwrite | When the checkbox is selected, the current record will be written over the existing version with the Protected policy. |
All the changes are stored in the local pack selected in the Local pack field of the Admin preferences menu. You can also set the local pack as current on the form of that pack. To learn more, see Managing VCS recordsin theAssembling Local Packsarticle.
The VCS records can also be imported from another instance. See the Importing Configuration Packages article to learn how to import and preview the imported VSC records.
Protection policy
The Protection policy attribute is responsible for data protection. After a new record is created in a versioned table, its Protection policy is set to Open. Once the record is updated, the Protection Policy field value becomes Changed. These values are transferred to the Record policy field in the related VCS record, that is, the record version has the same Policy as the record itself.
Admin can only update the Local pack and Is strong overwrite fields of the records with any protection policy.
During the importing process, the records that can be overwritten, can also be updated. Both record policy values set in the system and in the configuration pack are taken into account. All possible policy combinations are described in the table below.
Source record protection policy | Target record protection policy | Result |
---|---|---|
Protected | Protected | Success |
Open | Success | |
Changed | Success | |
Changed | Protected | Failed. Use Strong overwrite to proceed. |
Open | Success | |
Changed | Success | |
Open | Protected | Failed. Use Strong overwrite to proceed. |
Open | Success | |
Changed | Failed. Use Strong overwrite to proceed. |
See the Development Recommendationsarticle, to know more about the Record Policy.
Client company identification
To enable a client company identification when the update is implemented, a vendor sets a client prefix on the instance. This prefix is added to the names of tables created by the client. This measure eliminates the confusion in case when a client creates a table with a name similar to the one existing in the application by default. So the application prefix follows the client prefix. For example, there is a table Work Schedule, that exists in the Simple application (its prefix is sys), and a client (whose prefix is client) creates a table with the same name Work Schedule in the same application. As a result, the client's table name appears as sys_client_work_schedule.
The general table name pattern is:
Code Block |
---|
applicationPrefix_clientPrefix_tableName |
To get a client prefix from a table name, use the ss.getTablePrefix()method in your scripts.
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Record policy
After development is over, make sure about two points:
- No redundant changes were added to the local pack.
- No record versions have the Record Policy attribute value equal to Changed.
- If there are any, then you can fix such record versions automatically using the Export → As a New Application UI action located in the form hamburger menu on the top left
Image Removed.
- If there are any, then you can fix such record versions automatically using the Export → As a New Application UI action located in the form hamburger menu on the top left
When building up local packs containing changes for any application objects provided by the vendor, do not change the Record Policy attribute value for related record versions to Open. It may lead to the version state missing when the application update is delivered.
To avoid conflicts when updating application versions provided by the vendor, do not change the OOB-configuration. In this way, follow the guidelines below:

- Return to the form of this configuration.
- Unselect the Active checkbox.
- Click Save or Save and Exit to apply changes.