Versioning Flows

Not available in Factory Lite license.

Rulex versioning allows you to save, update, merge and retrieve specific versions of a flow, and is based on the Git version control system.

This way, you can not only avoid human errors in collaborative working by constantly exporting and importing flows, but also minimize memory occupation.


Prerequisites

  • you must have added a repository to the environment (Saved source), or

  • you must provide the repository details (if you choose to use a Custom source).

The following details must be provided:

Preference

Details

Repository

Enter the URL of your Git repository.

Username

Enter the username required to access to Git repository (it can be your access Token).

Password

Enter the password paired to the email required to access to Git repository

Repo type

The type of the repo used. As Rulex Platform supports Git, Git is displayed as default repo type and cannot be changed.

Mail

Enter the email address of the user associated to the repository to commit activities.


Procedure

Versioning can be accessed from two different points in the Factory:

  1. By right-clicking a flow in the Explorer and selecting Versioning.

  2. Directly from the Add Versioning icons located in the stage’s toolbar. This operation is available only when the flow is opened on the stage.

  3. Then, choose the versioning option required.

Versioning options can be accessed both in the Explorer, by right clicking on the flow and selecting Versioning, or on the stage, as the Versioning icon appears on the stage’s lower-right corner.

The following versioning options are available:

Name

Description

Add

Adds the flow to version control.

When you want to version your flow, click on the Add icon in the toolbar. A tick sign will be added to the versioned flow in the flows list in the Explorer. When you make and commit changes to the flow this icon will become an asterisk, indicating that the current and versioned flows are no longer aligned, at which point you need to push your changes to align the local and server versions.

Once the flow has been added to version control, the hash name is provided. Make sure you copy and save it, as you may need it if someone wants to clone it and helps you locating the flow in the repo.

Clone

Clones a flow which has already been versioned. 

To clone an existing flow click the Clone icon, then enter the hash name of the flow and a new name for the copied flow. The hash name of the flow is provided once the flow has been added to version control. Make sure you have it.

Pull

Retrieves the latest version of a flow from the version control system. In case of conflicts a warning message is displayed, allowing you to decide how to continue.

Push

Aligns your local files with those on the server. 

Click the Push icon to align the server files with those of the current flow with the latest modifications, adding a description of the changes made.

Info

Retrieves the hash name of the flow.

Click the Info icon, and then click on the copy to clipboard button to make it easier to save the hash name or pass it on to a co-worker, who wants to clone the flow. 

Log

Retrieves a list of all the commit operations performed on the current flow, together with any corresponding tags.

Revert

Reverts to a previous version of the flow.

Click the Revert icon, and select the flow you want to return to.

Tag

Adds a specified tag to your flow, to make it consequently easier to identify. 

Click the Tag icon, and enter a name and description for the tag.

Merge

Merges two different flows.

The merge flow is as follows:

  1. Click the Merge icon.

  2. Specify whether you want to merge the flows together using your current flow, or create a totally new flow. If you want to create a new flow you'll have to enter a new unique name for it.

  3. Enter the hash name of the flow you want to merge your current flow with.

  4. If required, you can tag the operation to make it easier to identify later on.

  5. Specify the merge policy you want to adopt. Current options available are:

    • Default - ours (flow variables) + theirs (all the rest) - resolves any merge conflicts by using the flow variables present in the current flow, and taking all other elements from the flow you have selected with the hash tag.

    • Local first - ours (everything) - resolves any merge conflicts by taking all conflicting elements from the current flow.

    • Remote first - theirs (everything) - resolves any merge conflicts by taking all conflicting elements from the flow you have selected with the hash tag.