The Other tab listed on the properties dialog box of each activity and smart service allows you to configure multiple instances (running more than one copy of the same node) set deadlines for node completion, and manage node execution options.
Multiple Executions of a Single Node
In your Process Model, you can run the same task multiple times (one at a time – or all at once).
- There is no set limit on the number of times that the task can be spawned. The default limit on the number of times a node can execute is 1000.
See also: Multiple Node Instances
Spawning Copies of a Task
- Select Automatically run multiple instances of this node. The following options are enabled.
- Select Run [ ] instances… to enter an exact number of copies of the task to be spawned.
- Select Run [pulldown list] instances to select a Process Variable (pv) that indicates the number of copies of the task to be spawned. This option is only available if a number or integer pv has already been created.
- Select Run one instance for each item in [pulldown list] to select a multiple-value process variable that indicates the number of copies of the task to be spawned. This option is only available if a multiple-value pv exists in the process model.
- With this option you can select either Spawn all or Spawn new.
- When the Spawn all option is selected, a node instance is generated for every element in the process variable, each time the node executes.
- The Spawn New option generates an activity instance for each new element in the process variable (for each element that did not exist the last time the node was executed).
- If you select Spawn New, you cannot use the Run instances one at a time option.
- Select Run one instance for each assignee if you want the task to be duplicated for each user who receives it.
- Select Run this many [Expression field] to type an expression that calculates the number of copies of the task that are spawned. You can also click the Expression Editor button to build an expression for this field.
- Select Run instances one at a time to make each task wait for any prior task to be completed. The flow moves on when every task is completed. — or —
- Select Run all instances at the same time to allow multiple tokens to Move on when one of the following conditions is met.
- Select Each time an instance finishes to not place any restrictions on moving the flow past this node. Each token will advance as the task is completed.
- Select The first instance is done to allow the process to flow to the next node after one task is completed.
- Select All instances are done to keep the process token from moving to the next activity in the flow until every copy of the task is completed.
- Select When [ ] instance(s) finish to specify an expression that calculates a number of tasks that must be completed before moving the flow past this node.
- Use the Advanced Options on the Assignment Tab to distribute task assignment to each user.
If you spawn copies of a task where each task stores information in the same process variable, it is possible for subsequent instances of a task to overwrite the values saved by prior nodes. See Protecting Process Variable Values in Parallel Flows for additional details on how to avoid this potential issue.
When a process activity or smart service activity is set to spawn multiple times, the following marker (|||) appears on the activity on the designer canvas.
Multiple activity instances can be executed sequentially or in parallel. Re-execution of an activity creates a new instance, even if the previous instance is not finished processing.
- Parallel Execution
- All instances are activated simultaneously. They do not have to complete in the same order they were activated.
- Sequential Execution
- The instances must be completed in the same order that they were activated.
(Sequential execution is not available when executing an activity once for each item in a process variable, when the spawn new option is selected.) See the Other Tab help topic for additional details.
Distributing Tasks to Assignees
You can distribute the spawned instances of a node evenly across all assignees by selecting the one-to-one assignment of task instances-to-assignees option. This option is only available, if the Show Advanced Options checkbox is selected on the Assignment tab.
When a user selects the option to run multiple activity instances at the same time, they are executed in parallel as depicted in the following figure.
Activity B is set to spawn two instances in parallel when activated.
When a user selects the option to run multiple activity instances one at a time, they are executed in series (as depicted in the following diagram).
Activity B is set to spawn two instances in sequence when activated.
When a node is set to spawn multiple instances, process designers can distribute the tasks evenly across all assignees by selecting the There should be one-to-one assignment of task instances to assignees option. This option is only made available if the Show Advanced Options check box is selected on the Assignment tab. This distributes the available task assignments to each user in the selected group, if this option is not selected then a single user in the assignee pool can complete all the generated tasks.
Distributing Values Across Instances
When multiple instances of an activity are spawned, each instance is assigned a unique instance index. The instance index is a task property that can be viewed on the Data tab of the Expression Editor under Task Properties. The instance index property enables the user to store a single value parameter at a particular index within a multiple value array.
For example, consider a User Input Task where a user is expected to input a number. Let us assume that three instances of this task are spawned, and in each instance the number is configured to be stored in a number array. In this case, the number entered in the task with instance index 1 is stored in the array at index 1. Similarly, the number entered in the task with instance index 2 is stored in the array at index 2.
The array can hold as many values as the number of instances of the task (up to 1000). If no value is entered in a certain instance, a null value is passed to the array to be stored at the corresponding index. The value passed from an instance of an activity to an array can be either a node input or output. Data of any type can be passed to an array of the same type.
You can set deadlines on each activity in a process model. This information is mainly used in reporting. For example, in a task report, a new data element can be added that lists the deadline of a task.
When a deadline is set within a node that is configured to run multiple instances, the deadline is applied to each instance of the node.
Enabling Task Deadlines
- Select the Enable deadlines checkbox.
A deadline can be relative to when a task was issued, or it can be set to a specific date.
Setting a Deadline Relative to When a Task is Issued
- Select The deadline for all tasks is…
- Enter a time-limit in the field provided.
- Select the units of time [minutes/hours/days/weeks/months] from the list.
Seting a Date for the Deadline
- Select Use this expression:  to determine the date/time of the deadline…
- Type a date and time in the field provided, or use the Expression Editor to calculate a date and time value.
You can configure various runtime and data-retention options for a node, in the Execution Options group box.
You can set the activity to refresh any calculations or variables displayed in the task form whenever it is opened.
- Select the Refresh default values every time the task form is viewed checkbox.
- When this option is set, the default values in a task form are re-evaluated each time the task is viewed.
- If this checkbox remains cleared, the default values in the task form display the data only as it was evaluated when the task was first issued.
You can forward users to a web page upon task completion by typing a URL in the Confirmation URL field.
- Intuitive URLs (such as
/page/0) can only be used when submitting tasks within the Application Designer environment.
- Application shortcut URLs cannot be used.
- Only fully qualified URLs can be used when tasks are submitted in a popup window.
- Confirmation pages are not displayed for activities that are completed on Tempo of mobile forms..
Releasing the System Memory Used by Completed Nodes
- Select the When this node is completed: delete previously completed/canceled instances checkbox.
- All active instances are deleted, except the current (most-recently activated) one.
- Once deleted, prior instance data can no longer be used for reporting or for the auditing of completed processes.
- If the node is a synchronous Sub-Process Node, this option also deletes the process instance that was started by the Sub-Process node.
- It is possible to create process applications that consume too much memory. Release system memory used by completed activities whenever possible. Also, run memory-intensive nodes in a subprocess that gets deleted immediately (or soon after) completion.
Keeping a Copy of a Form
- Select the Keep a record of the form as submitted for future reference checkbox. Select this option if the form needs to be kept for audit purposes. Stored forms can be viewed from the Completed Tasks report, for example. If this option is not selected, the task metadata is available, but the user is not able to view the details of the form (the fields and the data that the user filled in). Enabling this option is rarely needed. Generally, we recommend against doing so. In high-transaction systems, the amount of memory need to keep a duplicate copy of each form as it appeared for each transaction can be significant. Please contact Appian Technical Support for guidance before enabling this option. Another way to retain important information from a process (for archival purposes) is to save the relevant data into process variables. This allows you to create a report or view the process history to examine the data.
When this option is selected, the node inputs and node outputs are saved for future reference (such as auditing an exact copy of the form that was submitted). If this option is not selected, the node inputs and node outputs are deleted upon node completion.
Displaying a Previous Button on Activity-Chained Forms
- Select Allow users to step back to this node from the next attended activity checkbox.
You must select this option to enable a Previous button on an Activity-Chained form. When this checkbox is selected, the
Keep a record of the form as submitted for future reference option is selected automatically and cannot be cleared.
(For Process Start Forms, a similar option appears on the General tab of the Start Event properties.)
Restricting Duplicate Tasks
- Select the When this node is re-executed: do not create if active instances exist checkbox.
If a node is reactivated (such as in a looping process flow) additional copies of the task only start if there are no other active copies of the task.
Terminating Duplicate Tasks
- Select the When this node is re-executed: Delete previous instances that are still active. checkbox.
If this option is selected, relaunching a task causes all prior instances of the selected task to be removed from the system.