Action Type

Each step can take one of the types of actions listed in the following table. For any of these actions, an appropriate value must be specified or selected before the action can be saved.

For example, if Script is selected, a BeanShell script must be entered in the box. If you choose the Subprocess object, a subprocess must be selected from the list. If the value is not specified, the step is saved with no associated action. Developers who use subprocesses must write the subprocesses before they can complete the step definition of steps in the master process.

Note: Because all processing options should end with the stop step, every workflow should end with a step that transitions to Stop.

Object

Usage

Script

Executes a segment of Java BeanShell code that is included in the step.

Rule

Executes a workflow Rule – a block of Java BeanShell code encapsulated in a reusable rule.

Subprocess

Launches another defined workflow, passing control to it until it completes. When you select this option, the list of available subprocesses – workflows of type Subprocess – displays and you are given the option to enable step replication.

Call Method

Calls a compiled java method in the IdentityIQ workflow library, exposed through the standard workflow handler. When you select this option, the list of available methods displays.

The Enable Monitoring flag on this window turns on metrics tracking for the step. See Process Metrics Tab for more information on process monitoring and metrics.

Step Arguments

When arguments need to be passed to the script, rule, subprocess, or library method launched by a step, you must specify the argument on Arguments tab for the step. Arguments can be specified in the following ways:

Type

Usage

Basic View

Some steps copied from the step library include a configuration form to simplify the specification of arguments. When a step has a configuration form, this is called the Basic View and is shown by default. The Basic View allows you to set arguments using literal values.

Advanced View

The advanced view gives you more control over how the argument values is calculated.

Return Variables

Each step can return only one result variable, which can be specified through the user interface. When a step has an action that launches a subprocess, you can also use return variables. Multiple values can then be passed back from the subprocess to the main workflow. Because the user interface does not provide a vehicle for declaring return variables, You must specify the return variables directly in the XML.

Type

Usage

String

A literal value. For example, the name of an email template to use.

Reference

A reference to one of the workflow's process variables.

Script

A segment of Java BeanShell code that returns a value.

Rule

A workflow rule that returns a value. This functions similar to Script except BeanShell is contained within a reusable rule.

Call Method

A call to a workflow library method that returns a value.

When a script, rule, or library method is used to calculate an argument value, the configuration can be more complex. If the argument definition needs data to be passed in, you can pass the data by:

  • Providing all the current values of workflow variables.

    OR

  • Declaring the value of step arguments above an argument.

If desired, you can use ordered step arguments instead of workflow variables if the only use for the value is within this step.

For example, when these two step arguments are declared in this order, the method called to populate Identity_mgr can use the value in Identity_name in its processing if needed.

Argument Name

Value Type

Value Source

Identity_name

Reference

IdentityName

Identity_mgr

Rule

getManagerRule

More on Start and Stop Steps

Similar to other steps, start and stop steps can contain actions that launch scripts, rules, subprocesses, or calls to workflow library methods. By convention, these steps are included in every workflow but are used only to designate a clear starting and ending point for the workflow. These steps are generally empty steps with no action. Occasionally, debugging messages can be printed from these steps to trace workflow progress during development.