Parent Activity

Parent activities are parent containers for other activities, which are referred to as “Children” or "child activities".

Important You shouldn't use any other type of Activity as a Parent Activity.

In Process Director versions 3.45 and higher, additional functionality is available to Parent Activity Types: Results Concatenation and Looping.

In addition to the common properties tabs that appear for all Timeline activities, the configuration settings below are unique to this Activity Type.

Results and Result Concatenation

By default, the result of a parent Activity is set to the result of the child task whose completion resulted in the completion of the parent (this behavior is implemented in Process Director v3.45 and up. In previous versions, the parent never has a result.). Parent activities have the option of setting the result of the Parent Activity to a comma-separated list of all the child results. This list will contain only the results from the immediate child activities of the Parent Activity; it won't use results from any Parent activities that have been created under the top-level Parent. If the parent is configured to loop, only the results from the final iteration will be included. If the parent contains other parent activities, only the results from the direct children of that parent will be included; the results from the children of "subparents" won't be included.

Looping Tab

Parent activities can also be used to create loops within your Process Timeline. When configured this way, the children are referred to as a “looping segment”, i.e., a segment of your Process Timeline that iterates, or loops. A looping segment will continuously loop through the child activities until a user-defined condition, or set of conditions, is satisfied.

Iteration Loop

Selecting the Parent Activity Type will display a Looping tab in the designer, from which the iteration conditions can be specified.

A parent Activity that implements iteration will also display a unique icon in the Process Timeline definition.

The Looping tab contains three methods for controlling iteration through the child activities, each of which controls some aspect of how the looping segment will work by determining the conditions under which the following actions will occur:

  • Stop repeating the loop
  • Jump back to the top of the loop
  • Cancel the remaining activities within the segment and stop repeating the loop.

Here’s how these three methods work.

Advanced Options Tab

Related System Variables

The looping functionality is normally predicated on the results of the Child Activities. Specific System Variables have been implemented to make accessing the results of the Child Activities easier.

The Iteration SysVars are available from the Timeline Activity branch of the Condition Builder's System Variables menu, and consist of:

Follow the links above to see a detailed explanation of each System Variable.

Documentation Example #

The example below uses software simulation to walk through the process of creating a Parent Activity to create an iterating, escapable approval loop.

Other Activity Types

To view the documentation for other Activity Types, you can navigate to them using the Table of Contents displayed in the upper right corner of the page, or by using one of the links below.

User: This Activity Type assigns a task to a user or users, which must be completed to end the task.

Notify: This Activity Type sends email notifications to users who aren't participants in the process.

Process: This Activity Type invokes a different process that will run as a separate, synchronous subprocess.

Script: This Activity Type enables you to invoke a custom script.

Custom Task: This Activity Type invokes a Custom Task to run when the Activity starts.

Form Actions: This Activity Type enables you to manipulate the Form used for the process.

Branch: This Activity Type enables you to change the operation of the Process Timeline to invoke a specified Activity.

End Process: This Activity Type enables you to conditionally end a process.

Wait: This Activity Type enables you to pause a Process Timeline.

Case: This Activity Type enables you to manipulate the Case instance that is associated with the Process Timeline.