The “Activity” tab determines the type of activity, and possible the instructions and duration of the activity. The duration of the activity can be configured in various time units. Configuration and functionality details for specific activity types are documented for each activity type.
Start When Tab
The “Start When” tab determines when the activity will run, i.e. what must happen before the activity starts. The activity’s start time can depend on the state of other activities, or via arbitrary conditions. Activity dependencies can be added via the “Add Dependency” button, and the dependence specified via a dropdown. Arbitrary conditions allowing the activity to start can be configured via the condition builder by click on the “Click to create condition …” link.
Clicking the “Recurring Activity” check box allows you to configure the time interval at which the activity repeats. The activity will not recur if the box is unchecked.
Completed When Tab
The “Completed When” tab determines when the activity is completed. The dropdown determines whether the activity is completed when all users have completed the activity or when the first user has completed the activity. Arbitrary conditions for completion can be configured using the condition builder by clicking the “Click to create condition …” link.
Needed When Tab
The “Needed When” tab determines when the activity is enabled or when it is ignored. Conditions for enabling the activity can be configured using the condition builder by clicking the “Click to create condition…” link.
Due Date Tab
The “Due Date” tab determines the due date for the activity. The due date can be set in three ways. It can be calculated relative to the start of the activity. Using the dropdown menu, it can be calculated relative to the actual start of the activity, the configured start of the activity, or can be set via other means. The “Set due date from form field” field allows the determination of the due date from a form field, and the “Set due date from system variable” field allows the determination of the due date from a system variable.
The “Notifications” tab determines when users are notified about the task. Checking the “Notify participants when activity starts” checkbox will notify the participants when the activity starts using the email template specified in the “Using email template” field.
Additional notifications can be added with the “Add Notification” button. The occurrence of the notification is specified using the “Choose Notification Time” dropdown, which allows the creation of a one-time notification or a recurring notification.
Advanced Options Tab
The “Advanced Option” tab determines whether the activity is required to complete for the parent activity to complete, and whether a late start or finish date in the activity should show as an error in reports.
The user task is any actionable item assigned to a user. If a user task has been assigned to a user, a Task will appear in their Task List. They must complete the task before it can be removed from the task list. A user who is assigned a task will be automatically given permission to any object in the Process Timeline package so they may complete the task. Examples of this task can be an approval task or update task.
When a Process Timeline Activity is assigned to a user with an invalid UID or user ID, Process Director will immediately stop the process, and place the Process Timeline Activity into an error state. This is also true for anonymous user assignments if the email address is not a valid format (Process Director cannot validate the email address itself, only the format).
The participants tab of the User activity determines which users are a part of the user task. Users can be added via the “add participant” button, and the participants can be specified via the participant type dropdown.
Due Date Tab
The "If Time Limit Expires" property shows dropdown items specific to this activity type, as described in the Due Date Tab section.
Advanced Options Tab
The advanced options tab contains miscellaneous options for configuring a user activity. It contains many more configuration options than the generic Advanced Options tab. It determines if the activity is required to complete the parent activity, and whether the activity’s late start or finish should show as an error in reports. The activity can also prompt for signature comments and be completed from email. Additional users can be invited to the task via email if the “Enable email invitations” checkbox is checked.
Participants can be assigned this task in series (i.e. each user is assigned the task after the previous one completes it) or in parallel (i.e. all participants are assigned at once).
Using the “After a user completes this task” dropdown, users will be shown their next task either if it’s in the processor, if it’s not in the process but is a part of this step, or never.
The possible results for the participants (i.e. the buttons that will appear at the bottom of the eForm) can be specified using a comma-separated list of possible results.
The task’s users can be restarted according to arbitrary conditions configurable by the “Restart All Users When” link. The specific users that will be restarted are determined via the “Restart Users” dropdown.
The eForm used for the activity is specified in the “Use eForm for Activity” field.
The notify task allows you to notify users or groups during a process. The Notify Task options are configured via the generic configuration options for an activity. See the “Activity Configuration Tabs” documentation for details on the generic configuration options.
The Process task allows you to specify a process to run. This can be a workflow or Process Timeline. Process Tab
The “Process” tab in a Process task determines the process that the activity starts. It also allows objects in the child process to be copied to the parent and vice versa. The objects copied can be limited to a specified group.
The Script task supports the ability to call custom script functions. For more information on the custom scripts refer to the Scripting section of this guide.
The script tab determines the script to be run. The script file is determined via contest list object picker. The script parameters are passed to the script as a string.
This allows you to use a custom task as the activity.
Custom Task Tab
The “Custom Task” tab specifies the custom tasks to be run for this activity. For details on how to configure custom tasks, see the Custom Tasks documentation.
eForm Actions Task
This task configures which eForm will be the default within the process, and allows new forms to be attached.
eForm Options Tab
The “Form Definition” field specifies the form definition to be attached to the process. The form can optionally be set as the default eForm for the Process Timeline instance.
The “Add new eForm Instance” dropdown specifies the conditions under which a new instance of the form definition is created and then attached to the process.
The “Group Name” field assigns a group name to the added form instance.
This allows you to terminate the running Process Timeline.
This allows an activity to jump or branch to another activity in the running Process Timeline. Branch Tab
The Branch tab determines where the activity goes, as specified by the “Branch Type” dropdown. The Branch can either roll back to the activity on which it depends or start or jump to a new activity. Jumping to a new activity skips all the activities in between; they will not be started this process instance. Starting a new activity allows the steps in between to start as they normally would.
- Rollback – This will branch back to an earlier activity and proceed normally from there. This branch can only be configured to roll back to an activity preceding this activity on the dependency hierarchy.
The activity must be dependent on the activity to which this activity rolls back, or it must be dependent on an activity dependent on that activity, and so on.
- Start – This will start the defined activity, complete this branch activity, and then continue processing normally from this point.
- Jump – This will transfer control from this branch activity to the activity we want to jump to, any activity “dependent” on this branch activity will NOT get run.
As mentioned previously, Parent activities are containers for other activities, referred to as “Children”. Parent activities have a generic configuration as described in the Activity Configuration Tabs documentation page. You should not use any other type of activity as a Parent Activity.
In Process Director versions 3.45 and higher, additional functionality has been added to Parent activity types: Results concatenation and looping.
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 will not 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" will not be included.
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”—that is, 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.
Selecting the Parent activity type will display a Looping tab in the designer, from which the iteration conditions can be specified.
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.
Repeat Loop Until
Each time Process Director prepares to execute the looping segment, this condition will be evaluated to determine whether or not to do so. If the condition is not met, the looping segment will start again. If the condition is met, however, the loop will not be repeated, and the parent activity will be marked as complete. Any successive activities in the timeline will now be eligible to run.
The remaining methods of controlling the loop rely on conditions that are evaluated each time any child activity completes. When the relevant condition is met, execution of the loop will be interrupted.
Jump back to the top of the loop when
When the specified condition is met, the current loop will be immediately stopped, and the loop will restart with the first child activity.
Cancel the remainder of the loop when
When the condition specified by the user is met, the current loop will be immediately stopped, and the parent activity will be marked as complete. Any successive activities in the timeline will now be eligible to run.
It is quite possible that you will need to configure all three methods. As an example, let's consider a simple approval process for a request. Suppose that each level of approval can end in one of three results: Approve, Reject, and Terminate. In this case, we might want to configure the segment as follows:
- Stop repeating the loop when all approvers approve the request
- Exit the segment any time an approver chooses the terminate option
- Jump back to the top of the segment when any approver chooses the reject option, to give earlier reviewers a chance to make changes.
The first method for controlling the loop relies on a condition that is evaluated when your Process Timeline first runs the parent activity, and then again each time the looping segment completes (that is, each time all of the activities in the loop have completed).
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:
- Any Child Activity Result
- All Children Activity Results
- Last Child Activity Result
- Parent Activity Iterated
- Parent Activity Restarted
Follow the links above to see a detailed explanation of each System Variable in the System Variables Reference Guide.
A parent activity that implements iteration will display a unique icon in the Process Timeline definition.
Wait tasks cause the Process Timeline to pause for a specified amount of time.
The wait time is configured in the "Duration of Activity" field of the Activity tab.
Due Date Tab
The "If Time Limit Expires" property shows dropdown items specific to this activity type, as described in the Due Date Tab section.
Process Timeline Package
When a Process Timeline process is started, a Process Timeline Package is created. This is what is routed to the participants of the Process Timeline. The Process Timeline Package contains the routing slip, the Process Timeline objects (documents, eForms, etc.), optional references, and administrative controls. The Process Timeline Package can be viewed by authorized users for running and completed Process Timelines.
Authorized users have access to the routing slip in the Process Timeline Package by clicking on the Process Timeline Status Tab. This page displays a routing slip that shows the progress of the route. It displays all users that are participating in this Process Timeline and how far it has progressed in the routing process, including all iterations of an activity.
Only authorized users will see this button displayed. The user must have Modify permission for the running Process Timeline or have Modify Children permission for the Process Timeline Definition. The Administration button in the Process Timeline Package allows users to modify the running Process Timeline. From this screen, authorized users can change the running Process Timeline by adding users to an activity, removing them from an activity, or jumping to a new activity.
The Process Timeline administration page displays information about the state of the running Process Timeline instance. It can tell you when tasks are expected to complete, and indicates if that means they will be late. It can compare the configured run time of an activity to its actual and predicted run times. To view analyses of average Process Timeline performance, go to the Analyze Timeline page on the Process Timeline definition.
The triangles represent due dates. They can be dragged along the Process Timeline to change the configured due date for a single Process Timeline instance.
The green bar indicates the current date and time, juxtaposed onto the configured dates and times for the Process Timeline.
Green arrows will appear to the left of activities that are currently running.
A checkbox next to an Activity name indicates that that activity has been completed.
Administering Process Timeline Activities
You can access the properties for a timeline activity displayed in the Administration/Timeline screen by right- clicking on the activity, and selecting "Properties" from the pop-up menu.
In the Activity Properties screen, you can access the full range of activity and user properties by checking the box next to the activity's user name in the Participants column of the Activity routing slip.
With the user check box checked, you now have access to the full range of Timeline and User Actions available for the activity, displayed in a list of links marked "Actions:". The full list of actions are described in the table below:
Cancels this activity in the timeline.
Restarts this activity in the timeline. User, Wait, Custom Task, or Script Activities may all be restarted.
Cancels the entire running timeline instance.
Adds additional users to the workflow step.
Add Me to This Task
Adds you to the workflow step as a participant.
Cancels the user's participation in the task.
Complete User Task
Sets the user's task as complete.
Remove the user from the task.
Restart this user task.
Resend the task notification email to the user.
Assign a different user to the task.
When cancelling a Parent activity in a Process Timeline, all child activities will also be canceled.
When viewing a Process Timeline definition, there will be an option to analyze the Process Timeline. This will display data about average predicted run times and start and end dates compared to the configured run times and start and end dates.
To return from the Analysis view to the Process Timeline Definition view, click the Process Timeline Definition button.
A Timeline Analysis page will display the tasks in the Process Timeline definition, and will overlay average times and dates on the times and dates configured in the Process Timeline definition.
Triangles represent start and end dates for each process. If a triangle is red, it means that the start or end date for an activity is happening after it was configured to. It does not mean that the activity is taking longer than it was configured to. If a triangle is blue, it means that the start or end date is happening approximately when it was configured to happen, and if it is green, it means that it is happening before it was configured to happen.
A line between two triangles indicates the expected (weighted average historical) duration of the activity, while its color denotes whether it is generally finishing late, early, or as planned. A red line means that the activity is finishing later than planned; a blue line means that it is finishing as planned, and a green line means that it is finishing earlier than planned. A percentage number on an activity bar indicates the percentage of time longer that the activity takes to run than was planned. For example, a number of 80% indicates that the activity takes 80% longer to run than planned, and a number of -24% indicates that the activity completes in a time 24% shorter than planned.
Additional options are available by right-clicking the individual bars on the timeline to bring up a pop-up menu.
Selecting the Properties menu item will display the normal Properties screen for this timeline activity.
Selecting the Show Dependencies menu item will display the color-coded view of the timeline activity's predecessors and successors.
Analyze Tasks/Users in this Activity
The menu item will change slightly to analyze either tasks or users depending upon the activity type. For example, a user activity will display a user analysis option, while a parent activity will display a task analysis option. In either case, selecting the menu item will display an analysis screen that provides a snapshot of how the selected activity is performing.
Process Timeline Items
The Process Timeline Items page is what is presented to users that are participating in a Process Timeline activity. This page displays all of the objects being routed in this Process Timeline (e.g. documents, eForms, etc.). A Process Timeline Package can contain multiple objects of any type. If the eForm has an attach button, users in that activity will be able to add objects to the Process Timeline Package. Each new object added is added to the Process Timeline Items page. If a user has Delete permission to the running Process Timeline they will be able to remove objects from the Process Timeline package.
Process Timelines in the Content List
Process Timeline Definitions are stored in the content list just like any other object in the database. When a Process Timeline is started, an entry will be created under the Process Timeline Definition in the Content List as a child object. It will remain there even after the Process Timeline has completed. To view the running and completed Process Timelines for a Process Timeline Definition, users can click on the view children ) icon next to the Process Timeline Definition name in the content list.
Viewing Running and Completed Process Timelines
If users have View Children permission to the Process Timeline Definition, they will automatically be given View permission to any running and completed Process Timelines for that definition. The running and completed Process Timelines are displayed in the content list showing status, what activity is running and the user that initiated the Process Timeline. Users can view the Process Timeline Package for any of the running
or completed Process Timelines by clicking on the name or the icon in the content list. To view the objects that are part of a Process Timeline Package, click on the icon for the appropriate Process Timeline name.
Running and completed Process Timelines can also be made available to users through a Knowledge View. For example, if users have a need to see only certain types of running Process Timelines, a Knowledge View filter can show a list of the Process Timelines making the actual location of them in the content list transparent.
Attaching New Process Timeline Objects
A running Process Timeline can allow users to add new objects (e.g. documents, eForms). If a user has an attach button on an eForm they will be able to add new objects to the running Process Timeline. When a new document is added under the Process Timeline Package it will only be contained under the Process Timeline. The document will not exist anywhere else in the Content List.
When a reference (e.g. shortcut) to an existing object in the database is added, only a reference to the object will be created in the Process Timeline. A reference, or shortcut, is a symbolic link to the original object. Any changes made to the reference will also update the object it is pointing to, except in the case of an eForm. If a reference to an eForm is added to the running Process Timeline, an instance of the eForm will be created and placed under the Process Timeline Items button.
Automatic Process Timelines for Folders
Process Director Process Timeline engine supports the ability to automatically start Process Timelines for certain document events within a folder. Automatic Process Timeline Definitions can be specified for any folder. A Process Timeline Definition can be associated with one of the following document actions:
When a new document is added to a folder;
When a document in a folder is updated and checked in; When a document is moved into a folder.
If one of these conditions is met, the appropriate Process Timeline will automatically be started against that document.
Running Process Timelines
A Process Timeline can be started by selecting one or more objects in the Content List and choosing the Start Process Timeline link. This will display a popup with a list of Process Timeline Definitions the user has permission to start. Changes to the Process Timeline Definition will affect all running Process Timelines.
Task Lists (To Do Lists)
Task lists are fundamental to Process Timeline management systems. The Process Director Process Timeline engine supports an integrated Task List that provides each user with a list of their assigned tasks, according to priority and due date. As a user completes an assigned task, the item is automatically removed from their Task List.
Permissions and Running Process Timelines
A running Process Timeline will temporarily override the permissions for any object (document, eForm, etc.) contained within it, giving the user the necessary access to perform the requested task. When users are assigned to a Process Timeline task, they will automatically be given Modify permission to the objects until their task is completed. This prevents the object permissions from effecting running Process Timelines.