 | Loading… |
|
|
Workflow blocks (default)
The default workflow blocks contain all the common elements in a workflow where work is performed: decisions, tasks, transitions, scripts, approvals etc.
Tasks define what work is performed, while transitions and decisions define the process.
You can also select and create transitions between blocks, for example a simple transition, a fork etc.
These blocks can be accessed from the menu Settings | Documentation | Workflow Design by clicking the Design panel.
 |
WARNING
Workflow elements/blocks have a different number of allowed inputs and outputs.
Some blocks, like start, do not allow inputs and allow only 1 output, while some blocks allow multiple transitions as outputs.
Each transition must be labeled, so that the diagram knows which transition must be used according to a specified condition.
|

- Every workflow begins with a start block. There can be only one start block in a workflow diagram.
- Allowed inputs: 0. Allowed outputs: 1.
- Every workflow ends with an end block. There can be only one end block in a workflow diagram.
- Allowed inputs: many. Allowed outputs: 0.
- An error handler block is executed when an error occurs while executing the workflow diagram. There can be only one error handler block in a workflow diagram.
- Whenever an error occurs during the execution of a workflow diagram, the execution flow goes to the error handler block and then follows the path specified by it – the next block after the error handler block.
 |
HINT
For example, you can use an error block to perform clean up and finish the execution of a workflow diagram.
|
Allowed inputs: 0. Allowed outputs: 1.
- A source connector is a passthrough element to increase the readability of a diagram, e. g. if a diagram is too big to fit one page and needs to be split onto two pages. A source connector makes the execution flow to a target connector, so it defines the jump to target.
- If the execution flow reaches a source connector, the diagram jumps to a target connector that is related to the source connector. The "relation" between the source and the target connector is defined by the text inside them. If the text is the same, a connection is established. For example, when execution reaches a source connector labeled "A", it jumps to the target connector labeled "A". This way, you can have several source-target connections in a single diagram.
- Allowed inputs: many. Allowed outputs: 0.
- A target connector is a passthrough element to increase the readability of a diagram. It receives the execution flow from a related source connector. It presents the target for a jump, whereby the name of the source and the target connects the jump.
- If the execution flow reaches a source connector, the diagram jumps to a target connector that is related to the source connector. The "relation" between the source and the target connector is defined by the text inside them. If the text is the same, a connection is established. For example, when execution reaches a source connector labeled "A", it jumps to the target connector labeled "A". This way, you can have several source-target connections in a single diagram.
- Allowed inputs: many. Allowed outputs: 0.
- A line jointer connects several transitions into one.
- A transition block connects one block to another, indicating with the arrow the execution flow of a diagram. A transition goes from the source block to the target block.
- You can create a regular (straight) transition, a side transition, or an arc transition. There is only a visual difference, while they all perform the same function.
- To create a transition, first select it in the elements. Then drag it with the mouse from a link point (marked with blue "x" on blocks) on the source block and drop (release) it at a link point on the target block.
- You might not be able to attach a transition to a block, depending on the allowed number of inputs and outputs for specific blocks. For example, if you try to create a transition that targets a start block, it will not be possible, because a start block does not allow inputs.
- Some blocks allow multiple transitions as outputs. In this case, each transition must be labeled so that the diagram knows which transition must be used according to a specified condition. Only one transition is used for leaving a block. So, for example, two transitions might be connected to the output of a Decision block, but one should be labeled "Yes" and the other should be labeled "No", so the diagram will know which transition to take according to the result of the decision condition.
- You can also specify a script for a transition, so that if the execution goes through a transition, the script is executed. You can write the script to be executed in the transition pop-up editor under the Script tab. When the transition has a script associated to it, a small lightning bolt icon is displayed at the beginning of the transition line.
- A fork creates parallel execution paths.
- When a workflow instance of a diagram starts with a fork, there is a single execution path (started from the start block). When the execution reaches a fork, the flow splits into several parallel paths, depending on the number of outputs in the fork, which execute simultaneously. At the end, all execution paths must finish at the same Join, otherwise there is an error in the diagram. Once all parallel execution paths finish, the main execution path starts again from the Join.
- Allowed inputs: many. Allowed outputs: many.
- A join ends and joins parallel execution paths created by a fork element.
- When a workflow instance of a diagram starts with a fork, there is a single execution path (started from the start block). When the execution reaches a fork, the flow splits into several parallel paths, depending on the number of outputs in the fork, which execute simultaneously. At the end, all execution paths must finish at the same join, otherwise there is an error in the diagram. Once all parallel execution paths finish, the main execution path starts again from the join and goes to the next block connected to the join’s output.
- The main execution path will not restart until all execution paths created by the fork are finished.
- Allowed inputs: many. Allowed outputs: 1.
- Creates task instances for users based on its task definition.
- The task block is one of the more important block types in a diagram. With it, you can specify task definitions to be created for users. When the execution flow reaches a task block, it creates task instances for each task definition.
- The task block itself is a set of task definitions. To use the task block, create one or more task definitions and set their properties. The workflow execution will stop at the task block until all task instances are finished. A task instance is finished when its status changes to completed. After all task instances are finished, the execution flow continues according to the rules:
- The task has only one output: the execution flow goes through that only path.
- The task has two or more outputs: each output transition must be labeled with the name of a completion status. The execution path goes through the transition labeled with the same text as the task output, which is the completion status of the task instance; i. e. if the task instance was completed as "approved" (a valid completion status, for example), then the execution path goes through the transition labeled "approved". If more than one task instance was created by the task, either from the same task definition or from different task definitions, then the task output will be the most common completion status among the task instances. For example, if two task instances finish as "rejected" and one task instance finishes as "approved", then the task output will be "rejected" and the execution path will follow the transition labeled the same.
- Allowed inputs: many. Allowed outputs: many (restricted to status list).
- An approval block is a special task block that has a single approval task definition.
- This is a regular task definition with the difference that some properties are already initialized with the subject, description, and especially with the status list. The approval task comes with three valid statuses in the status list: "opened", "approved" and "rejected". “Approved” and “rejected” are completion statuses for the task. You can change the approval task definition properties as you want. The only difference compared to task is that, in approval, you can only create one task.
- Allowed inputs: many (restricted to status list). Allowed outputs: many (restricted to status list).
- A decision block changes the execution flow according to workflow variables, e. g. a Boolean condition.
- When execution flow reaches a decision, the condition of the block is evaluated. If it is true, the execution path goes through the transition labeled "yes". If it is false, it goes through the transition labeled "no".
- Allowed inputs: many. Allowed outputs: 2 ("yes" and "no").
- A run workflow block allows running a new workflow (subworkflow), separated from the current instance in a synchronous or asynchronous way.
- To exchange information between workflow instances, a variable mapping should be specified in the block definition. If the Wait until finished checkbox is checked, the current workflow will wait for the subworkflow to finish in order to continue. In this case, the variable mapping is bidirectional. If the Wait until finished checkbox in unchecked, the current workflow will continue the execution normally regardless of the subworkflow status. Variable mapping is unidirectional only.
- The variable mapping lists which variables in the sub workflow will be updated. For example, the variable "Company" in the Shipment subworkflow will receive the value of variable "CompanyName" in the current workflow. In the case of a bidirectional mapping, when "Shipment" workflow finishes, the value "CompanyName" will be updated again with the value of variable "Company".
- Allowed inputs: many. Allowed outputs: 1.
- The comment block shows a comment in the diagram.
- It adds a visual element to the diagram containing a fixed text. This block does not affect the behavior of the diagram and is only used for a visual indication. If you want to add text that supports expressions, use the text block.
- Allowed inputs: 0. Allowed outputs: 0.
- The text block displays a dynamic text in the diagram.
- Use this block in any place of the diagram to display text that can change according to the workflow context. You can use it to display dates, variable values, etc., overlaying or near to any other diagram element.
The main difference between the text block and the comment block is that the first supports expressions and has no other visual elements besides the text itself.
- Allowed inputs: 0. Allowed outputs: 0.
- A script block executes a script code.
- In most cases, the script will have only one output, but you can also use multiple outputs from a script block and it will affect the script result. You can define the script result by using a result variable: result := 'result1'
If you have more than one output, each leaving transition should have a label and the execution flow will take the transition to where the label is the same as the script result. In the example above, you must have a transition labeled "result1", so that execution will follow that path.
- Allowed inputs: many. Allowed outputs: one (if the script does not return any value) or many (depending on possible script results).
- The database block runs an SQL query in the database (DB).
- It can read/write data from/to the database and allows you to specify an SQL query in the database using expressions if needed. The SQL query is then executed in the database.
- Example: insert into tPA_Log (acvalue, acName) values ('[DocumentKey]', 'test')
- Allowed inputs: many. Allowed outputs: 1.
- This is a Datalab block for running a workflow. Workflows can be run with variables.
 | Loading… |
 | Loading… |
|
|
|