HomeGuidesRecipesAPI
HomeGuidesAPILog In
Guides
These docs are for v16. Click to read the latest docs for v31.

Parallel Workflows

This feature allows Workflow states to be assigned to users simultaneously, and for the workflow to progress only once all concurrent states have been completed. Question references are resolved concurrently across all states in a parallel section. Parallel sections can optionally be exited from without requiring consensus between assignees, and tasks can be reassigned without affecting the other parallel tasks. However, termination of a parallel task will result in the termination of all tasks in the same parallel section.

Additionally, concurrent editing can be blocked to ensure that no submissions are overwritten.

Consider the following example for a Workflow:

118

In this example, the flow of control is simple with single expectations at each state. Now consider the example below:

113

In this case, a “2-step authorization” process is involved. The issue with this is that if one of the authorizers in not available, the allocated task is held and can only be progressed by the actions of an administrator.

Parallel Workflows

Parallel Workflows allow some part of the workflow to run in parallel. We will alter the process above as follows:

  1. Remove authorization sections 1 and 2.
  2. Drag and drop the “Parallel Section” onto the work area.
  3. Disable or enable the Block Concurrent Editing option.
  4. Drag and drop two states into the parallel field.
  5. Name these state “Authorize 1" and "Authorize 2”.
  6. Now select the previous calling state – in this case, its “Process”.
  7. Add a transition from “Process” to “Authorize 1” and "Authorize 2".
  8. Then add a Transition from “Authorize 1” and "Authorize 2" to “(Finish)”.

You will get the structure as shown below:

439

Now “Authorize 2” does not need to wait for “Authorize 1” to transition the workflow first.

At the finish tab, both outcomes of the parallel workflows will be required in order to successfully complete the task.

Block Concurrent Editing

This settings allows only one person to work on the task at a time. Other users will be able to open the form but in read-only mode. The form will only be released if the first person either submits the task, returns to the Produce home page or if they close the browser window/tab.

The default setting is set to On for new parallel sections. Existing parallel sections will retain their current settings.

828

Priority Parallel Exit

In Case “Authorize 1” is allowed to authorize the workflow task without waiting for “Authorization 2”, then perform the following steps:

As per the screenshot above, select the transition from “Authorize 1” to “Finish” and then check the flag “Priority Parallel Exit”;

880

In this case, “Authorize 1” has a higher weighting that “Authorize 2” and can complete the task without waiting for “Authorize 2”.

Adding Actions to a workflow

Actions can be added to a workflow to execute when all exit transitions from a parallel section have completed. i.e. If there are 3 parallel states, the submission of the first two will not cause any Actions to trigger, however, when the third state is submitted, then the actions will trigger.

These actions are added to the line that comes out of "Finish Parallel 1" (or whatever the name of the parallel section is).

If a priority exit is turned off, any actions that existed on that priority exit will be removed.

📘

Note:

Actions that execute at the end of a workflow are not displayed in App Design.

635

Parallel Workflow Sections

This feature allows Workflow states to be assigned to users simultaneously, and for the workflow to progress only once all concurrent states have been completed. Question references are resolved concurrently across all states in a parallel section. Parallel sections can optionally be exited from without requiring consensus between assignees, and tasks can be reassigned without affecting the other parallel tasks. However, termination of a parallel task will result in the termination of all tasks in the same parallel section.

Parallel Execution

All valid States within a parallel workflow section - that is, those with valid Conditions - will be assigned to the relevant users simultaneously when the parallel section is entered. Parallel tasks can be completed by their assignees in any order; the workflow will only progress past the parallel section once all tasks are submitted.

User Specification

Assignment of parallel tasks to users must be specified in Design, or by question reference - "search" assignment to users and groups is not supported. Similarly, as states within a parallel section do not have a "Finish" page, user assignment for the transition out of a parallel section must be specified in Design, or by question reference.

Concurrent Question Reference Resolution

Once all tasks in a parallel section have been completed, the transition out of the parallel section executes for all the parallel tasks concurrently, including resolution of question references. This means that even if, for example, State X is completed last - triggering the transition to another State - it could be State Y that includes the question defining the assignee for the new State.

Parallel Priority Exit

A transition from a state within a parallel workflow section can be specified as a "Parallel Priority Exit" transition. If the conditions for this transition are met when the task is submitted, the transition executes immediately, and any tasks parallel to the submitted task will be aborted. This allows, for example, for the workflow to be returned to the initiator without requiring consensus among parallel assignees.

Termination and Reassignment of Tasks

If a parallel workflow task is terminated by an administrator, all other tasks within the same parallel section will also be terminated. This is to ensure that parallel tasks which rely on each other are not left in an unrecoverable state when some are terminated and some are not.

Reassignment of a parallel workflow task will affect only the selected task, leaving the other tasks in the parallel section alone. The parallel section will still complete as normal once all tasks (including reassigned tasks) are completed