Flow is a visual programming language tool that uses graphical blocks (steps) to develop algorithms.
To describe the logic of a flow it is required to do a drag and drop of steps and connect them together. So a Flow is a series of predefined and configurable steps that can be used to execute a wide variety of business rules in different parts of an application.
The following table describes the general properties of the flows:
||This is a human-readable name of the flow. You can use spaces, special characters and mix upper case and lower case letters.|
||This is the internal name of the flow. It cannot hold special characters or spaces.|
||This is the description of the flow.|
||If enabled, will print the generated code in logs.|
The following list contains the rules that must be followed in all flows:
- The flow name must be unique in the app.
- Each step name must be unique in the flow.
- Start and end steps are mandatory.
- Start step should be unique.
- Inputs need to pass their own validation rules.
- Outputs need to pass their own validation rules.
- There can not be steps without any connection with the exception of the context step and expanded version of subflows.
- Every step except for start and end steps should be source or target of at least one connection.
- You can only select items from the context according to its scope.
Description of considerations to take into account when working with flows
- Right now the input values can only contain fixed values or references to variables available in the context.
- Condition expressions are expressed as scripts.
The flow editor contains the available steps, the steps can be dragged and connected to each other to build the flow.
Each step has a different function, it can have input parameters and generate output data that will be included in the context of the flow to be reused by other steps.
The steps can be connected to each other by connecting from the green rectangle of the source step to the destination step. Some steps have a red square that indicates the flow to follow in case an error occurs when executing the step.