Introduction to Primary Resources#

primary resources are Rulex Platform’s main resources.

Rulex Platform consists of several components: each one of them is dedicated to control/modify/customize one of the primary resources of the Platform.

Although these resources are closely related to the characteristic of the component they refer to, they nonetheless share some general properties.

In this page, we’ll focus on these common properties, while the complete description of the various primary resources can be found on separate pages.

The primary resources introduced so far are:

  • Flow, primary resource of the Rulex Factory component.


Variables#

All primary resources allow users to define internal variables to parametrize their internal options and configurations. As explained in the Rulex Platform overview, Rulex Platform is a self-coding system that converts drag-and-drop operations into pieces of GOLD code.

Due to its coding structure, it is possible for the user to take advantage of this coding parametrization feature (written in GOLD language), thus increasing the possibility of customizing of one’s own solution within the Platform.

Coding parametrization means that most of the fillable forms in Rulex Platform have two different visualization modes:

  • Standard Visualization, where the user interacts with the form in the usual graphical way



  • Parametric Visualization, where the task interface changes into a coding text area and a piece of GOLD code can be inserted to parametrize the option.



A formula formulaIcon button located in the top right corner of each form allows the user to switch between the two visualizations.

Without the need to write a full string of code - just by simply configuring the corresponding task in the self-coding GUI that does it automatically for you - your coding needs are reduced, due to the opportunity to insert coding inputs into options and configurations only to customize your solution.

The most common way to parametrize options in tasks is by using variables, which may include GOLD code or a procedure to evaluate the chosen value. For more information on variables and the procedure to create/delete/manage them, see page: Rulex Platform Variables.


Versioning#

Warning

Only available in Factory Personal and Enterprise licenses.

All primary resources can be versioned using the Rulex Platform version control system (VCS). Platform VCS is based on Git technology and requires a repository connection to work. To discover how to configure a repository, see page: Repository Resource. Some configuration options can be used in the panel described below when choosing a Custom connection.

Note

To fully understand content of this page a standard terminology of Git versioning is needed. The concepts of repository, branch, commit, tag, push and pull operation are taken as granted. For more information about Git versioning, see this standard guide.

Versioning operations on a primary resource are the following:

  • Add: it allows to add a new primary resource to the version control system.

  • Clone: it allows to create a new primary resource connected to a versioned resource on the version control system.

  • Mergethis operation performs a different operation according to the state of the selected resource:
    • it creates a new primary resource if performed on an environment: this new resource is versioned on a different branch with respect to the original one, aligned with the tagged commit specified (the latest commit if the tag option not specified).

    • it merges two different branches if performed on a versioned primary resource. The version branch of the selected resource is merged with the remote branch indicated at the level of the tagged commit specified (the latest commit if the tag option not specified).

  • Info: it returns the branch identifier for the versioned resource.

  • Pull: it performs a pull operation on a versioned resource, retrieving editing from the repository and applying them to the resource.

  • Push: it performs a push operation on a versioned resource, aligning repository version with the version stored locally.

  • Log: it returns the latest commit history entries of the versioned resource.

  • Revert: it rolls back to a selected commit the local status of the versioned resource.

  • Tag: it associates a tag to the current history status of the versioned resource.

  • Update Repository: it changes the properties of the associated repository connection of the versioned resource.

As described in this list, only three operations (Add, Clone, Merge) are available on a not versioned object: the Add operation is available on a not versioned primary resource and the Clone and Merge directly on an environment. You can find these operations in the context menu of these two objects (primary resource and environment).

Prerequisites

Procedure

You can add a new primary resource to the Version Control System from different interface elements of the Factory:

  • By right-clicking on a primary resource in the Explorer pane, then hover over Versioning and select Add.

  • Directly from the Add Versioning icon located in the stage’s toolbar. This operation is only available when the primary resource is selected; it is then opened and displayed on the stage.

  • In the open window, create a Repository connection as explained here.

Once the chosen primary resource is added to or cloned from a repository all the other operations become available.

Tip

If the resource is versioned, when the primary resource is opened you will find a button in the bottom right-hand corner of the stage containing the entire list of Versioning operations, which can be accessed for the currently opened resource directly from the main stage.


Versioning status on the interface#

The status of the primary resource which has been added to the versioning system is easily identifiable by a set of icons, which can be found in the Explorer pane at the left of the flow name.

You can find a list of the status icons available below:

Versioning status

Description

https://cdn.rulex.ai/docs/Factory/asterisk.svg

The resource has been modified and no commits/pushes have been performed yet. The local copy of the resource is no longer aligned with the one on the repository.

https://cdn.rulex.ai/docs/Factory/tick.svg

The resource has been added to the repository. If this operation has already been performed, it means that your changes have been pushed and the resource is now up-to-date.

You can find a detailed description of all the possible versioning operations in the page: Versioning operations.