Versioning*

CamlinConnect project versioning allows you to create, use, modify, and publish a version. You can switch to different versions to inspect the changes. Versioning allows you to create a new version from any existing version. There can be different reasons to create a version of a project, such as enhancements or experimentation.

Benefits of Versioning

  • Create/maintain different versions of your project

  • Create as many versions as you like for enhancement or experimentation

  • Switch versions to work on them or to inspect the differences between the versions

  • Lock a project version to make an immutable copy of your project. No changes are allowed on a locked version.

  • Unlock a project version, just in case you need to.

  • Export/Import a version from one environment to another.

Versioning process

  • Fork a version of your project. This operation is analogous to create a branch of code. You can fork a version from any existing version.

  • Switch/select your working version. This operation is analogous to checking out a branch

  • Lock your version to avoid making an accidental change. This is like committing a version to stop any more changes on it.

How to fork a version

  1. After open the project from the project list, select “Settings” from left menu to open settings of the project

  2. Select “Version” tab to show version control

  3. Select an existing version to fork from

  4. Enter an identifier (number or text value) for the new version that you want to create

  5. Click “Create” button, your new version should be created and appear in the working version list below to switch to.

How to switch to/checkout a version

  1. After open the project from the project list, select “Settings” from left menu to open settings of the project

  2. Select “Version” tab to show version control

  3. Select an existing version to checkout / switch to

  4. Click “OK” button, wait for a few minutes.

  5. Refresh the browser, your project should now be switch to the target version, as indicated on the top bar (new version name is attached as suffix on the project name). If you open the project list you will see your project now appear with new name, token and version.

How to lock a version

  1. Follow steps above to checkout / switch to a version that you want to lock, then click to turn lock on

  2. Click “OK” button. The selected version should now be locked and you will not be able to make any change to the project. But you can unlock a locked version to make change to it.

Saving project in a version control system

Camlin Versioning gives you an ability to create, switch, inspect different versions. CamlinConnect versioning is not an equivalent of a Version control system but it provides an ability to easily version control your projects. Camlin Project versions can be exported or imported as a zip file, which can be put in any version control system of your choice like Git. The zip file contains different metadata files and also the project assets(uploaded in your project). The metadata files contain the definition of your project and associated items like variables, interactions, plumbs, API call, etc. Here are the steps to version control a Camlin project

  • Export project from the project settings. This downloads a zip file on your local computer.

  • Explode the zip on your local computer and commit in the version control system of your choice like git, CVS, etc. You can also commit the exploded directory in hosted version control systems like Github, Bitbucket, etc. It is highly recommended to store the exploded contents as this gives an ability to diff the metadata or asset files for any changes.

  • If you want to bring a project from your version control system, then simply take the zip file and use the import project button in Camlin console

  • You can import a project as a standalone project or you can import it as a version within an existing project.

  • When a project is imported as a standalone project, it is imported as version 1.0. But if you import it as a version, then the version is taken from the zip file. In the case of a version conflict, a random identifier is used to import the version.