1Integrate Repository Synchronisation Tool

The 1Integrate Repository Synchronisation Tool can be used to synchronise your 1Integrate repository with a filesystem. This will enable you to:

  • Work in collaboration with others by having the files saved in a code version control system.

  • Use a code version control system to detect and resolve conflicts between users.

  • Push 1Integrate configuration between environments in a controlled way.

You can elect to perform synchronisation on specific folders or an entire 1Integrate repository.

For example, you might have a team collaborating on building Rules for one project, each with their own local 1Integrate repository. By using the 1Integrate Repository Synchronisation Tool and a version control tool such as Git, team members can push changes they have made, and pull any changes that other team members have made.

The 1Integrate Repository Synchronisation Tool is a .jar file included within the 1Integrate release package: ms-integrate-sync-[version].jar

Configuration

Upon launching the tool for the first time, click the Configure button to set up the tool to point to your 1Integrate installation, and provide your Username and Password.

     Note: 1int-admin or 1int-user Group Permissions can be used, though only read and write permissions on Data Stores, Rules, Actions, Action Maps, and Sessions are the minimum requirement.

Configuration settings for the 1Integrate Repository Synchronisation Tool

You can optionally provide a comma separated list of 1Integrate folders that you want to synchronise or exclude from synchronisation (i.e. the 1Integrate folders to manage or ignore when using the Synchronisation Tool). You can specify sub-folders using forward slashes.

     Warning: Leaving these parameters blank will mean the entire repository is synchronised, and is the equivalent of running a full backup/restore from the admin page (see Backup and Restore).

You may have a personal work area for a specific project, and you only want to manage resources relating to this project. Entering "Production/Philadelphia" as your 1Integrate Folder will mean the Synchronisation Tool will only look at Data Stores, Rules, Actions and Sessions within a folder called "Philadelphia", which itself sits within the top-level folder "Production", within each part of the 1Integrate interface.

     Note: 1Integrate treats the folders within each tab independently, but if they have the same name then the sync tool will represent these with a single central folder on the file system.

Click Save to save your configuration. This will create a sync.properties file in the same location as your tool.

ClosedConfiguration Parameters

Using the 1Integrate Repository Synchronisation Tool

1Integrate Repository Synchronisation Tool interface

Set your Checkout Folder to the central location from which you want to download or upload a 1Integrate repository.

  • Force Update Filesystem downloads your 1Integrate repository and writes to the defined Checkout Folder location, overwriting anything held there.

  • Force Update 1Integrate uploads files from your defined Checkout Folder to your 1Integrate repository, overwriting anything currently in the repository.

     Warning: Data will be deleted if it does not match the location you are force updating against.

Integrating with a Code Version Control System

The tool allows you to keep the contents of a 1Integrate repository synchronised with a local file system folder. This could enable you to store the contents in a version control system, such as Git.

In order to configure this, apply the version control system of your choice (e.g. Git) to the file system synchronised version of the repository.

     Note: The Synchronisation Tool will exclude information from the synchronised resources that could lead to unnecessary conflict (e.g. timestamps).

Using the Tool from the Command Line

The sync tool can be accessed from the command line with the following command:

java -jar ms-integrate-sync-version.jar <action> <folder> <properties>

Replace <action>, <folder>, and <properties> with the required arguments as outlined below.

<action>

DOWN

Force update the filesystem from 1Integrate

UP

Force update 1Integrate from the filesystem

<folder>

Optional folder to work in, or the current folder. The folder can contain sync.properties.

<properties> can be added with individual arguments:

-url=http://localhost:8080/1Integrate/rest

-username=usr

-password=psw

-folders=foldertomanage1,foldertomanage2,etc (leave blank to manage all folders)

Alternatively, <properties> can be added together in sync.properties, which requires the following contents:

url=http://localhost:8080/1Integrate/rest

username=usr

password=psw

folders=foldertomanage1,foldertomanage2,etc (leave blank to manage all folders)