Local pack is a record in the VCS Local Pack (sys_vcs_local_pack) table compiling relevant records from the VCS Record (sys_vcs_record) table. This allows associating VCS records with a particular pack and exporting them as a complete set. Local packs allow developing application configurations on a separate instance, exporting it as a .SOP file, and implementing it to the main another instance.
See the Configuration Packs article to learn more.
For configuration pack export, the following elements are used:
- Local Pack – compiles all relevant VCS records so that they are associated as a whole, a complete set. Then these records can be implemented as one configuration pack in another instance. In other words, local pack collects references to records that will be changed, inserted, or deleted on the target instance.
- VCS Record – contains the version of a record.
- .SOP file – physical file in the .SOP format. It contains all record versions from the completed local pack. Implement it on any other SimpleOne instance.
Developing a local pack
Local pack configuration and export includes the following important stages:
- Configuring VCS records in a local pack:
- Merging several local packs (optional).
- Exporting a .SOP file.

In brief, in order to facilitate the team development process, you need to perform the following steps:
- Every team member creates a separate local pack and works within it collecting necessary records. The results go into this separate local pack.
- When the development is over, these local packs must be merged into the main one.
Create a local pack 
To create a local pack, complete the steps below:
- Navigate to Configuration → Local Packs.
- Click New and fill in the fields.
- There are two ways to apply changes and continue local pack development:
- click Save
or Save and Exit. Then click Set current to switch the local pack in the Admin Preferences menu and start working on it. - click Set current and Save to switch the local pack in the Admin Preferences menu and apply changes and start working on it.
VCS Local Pack form fields
Field | Mandatory | Description |
---|
Name | Y | Name of the local pack. | Is Default | N | Select this checkbox to set the local pack as default. When moving version from other local packs, selected VCS records will moved to this default pack. | State | Y | Local pack state. Available options: - In progress
- Completed
- Ignored
- Rollback Previewed
- Rollbacked.
| Application | N | Application to which this local packs relates to and which records contains. One local pack cannot contain records belonging to different applications. | Description | N | Local pack description. |
|
|
Managing VCS records

Configure the set of record versions in the VCS Records related list to build the local pack. Restore and records to collect only those you need.
Restoring a VCS record
If you need to restore one of previous record versions, you need to make . Actual records are marked with the Is current checkbox selected. Thus, restoring is available only to the VCS records with the Is current checkbox.
To restore a record version, :
- Open the record you need.
- Scroll down to the Related Lists area and open the VCS Records tab.
- Open the record version you need to restore.
- Click Restore Version.
Another way to restore a record version is the following: - Navigate to Configuration → VCS Records.
- Find the record to be recovered. You can use list search boxes or the Condition Builder.
- Open the record you need.
- Click Restore Version.
|
After that, a new VCS record is created in the current local pack.
Removing a VCS record 
VCS records cannot be r in the sense of "deleted"; therefore, they are moved to the default local pack. If your local pack contains a VCS record that should not be there (created accidentally or belonging to another configuration pack), you can remove it from this local pack.
To move a VCS record, perform the following steps:
- Navigate to Configuration → Local Packs.
- Open the VCS Local Pack containing the VCS record you need to move.
- Scroll down to the Related Lists area and open the VCS Record tab.
- Select record or records to be moved using the checkboxes and click Move to Default.
- These records will be moved to the default local pack of the same application.
As a result:
- All selected record versions are moved to the default pack.
- All record versions with the same Record ID as the selected ones are moved to the default pack, too. That is, all previous and current versions of the same record are moved.
Changing local pack for a VCS record 
If a version was created in a wrong local pack by mistake (for example, in the default local pack), then you can move it to the required local pack. For this, complete the steps below:
- Navigate to Configuration → VCS Records.
- Find a record to recover. You can use list search or the Condition Builder.
- Open the record you need.
- Click the magnifier icon
by the Local Pack field and choose the desired local pack. - Click Save or Save and Exit to apply changes.

Local Pack Merging 
Sometimes you need to combine two or more local packs together, for example, in case of team development. Merged local packs speed up implementation process and help to arrange updates and development in one pack.
Before merging local packs, make sure that: - Both local packs are in the Completed state.
- Both local packs belong to the same application.
|
To merge local packs, complete the steps below:
- Navigate to Configuration → Local Packs.
- Choose local packs you need to merge by selecting the checkboxes, then click Merge.
- Define the name and description of the consequent local pack.
- Click Merge.
As a result:
- A new local pack is created. It contains latest versions of the VCS Record (sys_vcs_record) from merged local packs.
- This new local pack state is In Progress.
- The original local packs are removed.
- VCS records will have the name of the merged local pack in the Local Pack field (instead of removed once).
Exporting a local pack 
After you completed collecting record versions, you need to export the changes for further import to other instances. For this, please complete the steps below:
- Navigate to Configuration → Local Packs.
- Find the local pack to export. You can use list search boxes or the Condition Builder.
- Open the desired local pack.
Change the state value to Completed.
- Export the local pack as a .SOP file:
- at the top of the form, click Export Local Pack.
- in the hamburger menu
, select Export → As a New Application.

The downloaded .SOP file will be named automatically as this: Local Pack name_2021-12-31 18:00:00 |
.SOP file export comparison
| Export Local Pack | Export → As a New Application |
---|
Protection Policy | Does not change. | The policy will be changed to Protected or Open depending on the protected.essences property: - if the table defined in the Table Name field is included into the property, the policy will change from Changed to Protected
- if such a table is not included into the property, the policy will change from Changed to Open
|
---|
| Use this export for minor record version changes. | Use this export for local pack containing a huge number of record versions. |
---|
It is a good practice to download your local pack straight away after the job is done; otherwise, the versions stored in it may go out of date. |
Snapshots
Snapshots restore record versions in the following cases:
- the current version of a record is outdated – when the JON Copy of this record version has later date than the Updated at field of the record itself.
In version control systems (VCS), snapshot is the fixed system or database status description.
There are two ways to create a table snapshot:
- via table managing form (table configurati
- with server-side API class SimpleVcs.
Option 1
- Navigate to System Definition → All Tables.
- Using the search bar and/or a Condition Builder, find the table for which you want to create a snapshot, and navigate to it.
- Open the hamburger menu and navigate to Configure → Table.
- Click the Create VCS snapshot button at the right top. This button is visible only when the versioning for this table is on (the Is VCS Enabled checkbox is selected).
Option 2
- Navigate to System Definition → Scripts.
- Write down a script and call createTableSnapshot(tableName) method in it.
/