Process Indicator

An IPA process can be complex since it models an actual customer business process. The workunit, which represents an instance of the process, could run for hours or more due to long running activities and the wait for users to perform approval actions. Users require a high level view of the overall progress of the workunit that they initiated, without having to go through IPA Admin screens and workunit log files to see where the execution is currently at or who it is waiting an action from.

The Process Indicator is represented as JSON data which is generated by IPA for every workunit that has been configured to display milestone information. The model is dynamically updated by IPA as the workunit progresses through various points identified by a milestone. At any point during the life of the workunit, a user can see a graphical highlight of its current state.

Milestone nodes

Each milestone displays a status and information specific to the IPA activity node marked as a milestone. An example of milestones are UserAction milestones. These milestones display UserAction specific information such as a list of approvers. However, any IPA activity node can be a milestone, with the exception of an iteration end node, and can display information specific to that activity node.

Run mode

Activity nodes can be configured to execute in one of these execution phases:
  • Pre-run only

    This activity node executes only during the pre-run phase. Start will always be a pre-run node if milestones exist in the process. Other activity nodes can be configured in IPD to be Pre-run only if needed.

  • Runtime only

    This activity node executes only during the normal execution phase. End, Return, and Wait will always be a Runtime only node and can never be Pre-run only nor Both.

    All other nodes default to Runtime only, unless configured otherwise in IPD.

  • Both

    This activity node runs during both pre-run and normal execution phase. Branch, User Action, and HR User Action will always run during both pre-run and normal execution phases.

    Other activity nodes can be configured in IPD to be Both if needed.

Take note of these special considerations:
  • Run mode of an Iteration End node cannot be changed and will match the run mode of its corresponding Iteration Start node.
  • Run mode of a Branch node will be Both, unless it is in a sub-process, at which point it will match the run mode of the sub-process it belongs to.
  • The activity nodes in a Sub-process will inherit the Run Mode of the Sub-process. One way to organize pre-run nodes is to place them in a Sub-process, configure the Sub-process as Pre-run only, and call the Sub-process from the main process.

During the pre-run execution phase, activity nodes configured as either Pre-run only or Both are used to query or compute data that will be used by the Branch node and User Action nodes in order to follow the default path. If the query or computation could take some time, and therefore should not be executed again during the normal execution phase, then the node should be configured as Pre-run only.

Execution

Workunits that do not have any milestones will execute without any behavioral changes. When a workunit that has a milestone runs, it goes through these execution phases:
  1. Pre-run phase
  2. Normal execution phase

This diagram shows the execution behavior:

Workunit execution with milestones

These are the execution behaviors of workunits containing milestones:
  1. Pre-run phase
    Activity nodes in the flow are traversed in the same way as that of normal execution, but according to these rules:
    • Only activity nodes configured with a Run mode of Pre-run only or Both will get executed during the pre-run phase.
    • Nodes configured as Runtime only will be skipped.
    • Branch nodes will execute, taking the path determined by evaluation of the branch conditions.
    • User Action and HR User Action nodes will execute to take the path determined by the configured default action.
      • The work assignments are also determined but only to the point of populating the model so that the list of approvers can be shown in the Process Indicator UI.
      • All other work normally performed by the User Action, such as sending emails, etc., will not happen in this pre-run phase, but instead will happen as expected in the normal execution phase.
    • Milestone nodes will be added to the Process Indicator model, and contain activity specific information. For example, User Action node will add approver information to the model.
    • The pre-run phase is intended to be used for the generation of the Process Indicator model. Therefore, only activity nodes necessary to accomplish that should be configured to run during this phase.
  2. Normal execution phase
    1. Execute activity nodes configured with a Run mode of Runtime only or Both.
    2. Milestone nodes will update the model to indicate its status when it starts and update again when it finishes.
    3. When an approver takes an action and the workunit resumes execution:
      • If the default action was taken, the workunit resumes normal execution.
      • If a non-default action was taken or Timeout happened:
        • If the branched to node is in the original path as determined by the default action, the Process Indicator is updated to show the current milestone, while any milestones skipped over will be marked as such.
        • If the branched to node is not in the original path, then all downstream milestones will be updated with an invalid status. This is because the path taken is no longer part of the default path.