An If-Else activity is intended to select exactly one branch of the activity from a given set of branches. For each branch, the activity checks the branch conditions and executes the first of the branches whose condition evaluates to TRUE.
The Workflow Designer provides a condition builder for configuring branch conditions, located in the If-Else Branch Activity Properties dialog.
To access the condition builder for an If-Else branch
-
Right-click the name of the branch and click Properties.
-
Go to the Conditions box in the If-Else Branch Activity Properties dialog that opens.
When you configure an If-Else branch, you need to add at least one condition. By default, a single, implied condition group is created when you add a branch condition. You can create additional condition groups to group a set of conditions and nest grouped conditions within other condition groups.
A condition group contains one or more conditions connected by the same logical operator. By grouping conditions, you specify that those conditions should be evaluated as a single unit. The effect is the same as if you put parentheses around an expression in a mathematical equation or logic statement.
To add a condition to a condition group
-
In the Search options box, under Filter, click the name of the condition group and then click Insert condition.
Click the plus sign (+) next to the name of the condition group.
You can remove a condition, if needed, by clicking X on the right side of the list item representing the condition in the Conditions box.
To add a condition group into another condition group
-
In the Conditions box, click the name of the condition group, point to Insert condition group, and then click an option to specify the logical operator:
-
AND group: The condition group evaluates to TRUE if all conditions in the group are TRUE.
-
OR group: The condition group evaluates to TRUE if any condition in the group is TRUE.
-
NOT AND group: The condition group evaluates to TRUE if any condition in the group evaluates to FALSE.
-
NOT OR group: The condition group evaluates to TRUE if all conditions in the group evaluate to FALSE.
By default, AND is the logical operator between the conditions in a condition group. It is possible to change the logical operator by converting the condition group to a different group type: Click the name of the group, point to Convert condition group to, and then click the option appropriate to the desired logical operator.
You can remove an entire condition group, if needed, by clicking the name of the group and then clicking Delete condition group.
Once you have added a condition to a condition group, you can use the following steps to configure the condition.
To configure a condition
-
Click Configure condition to evaluate, and then choose from the following options to specify the entity or field you want the condition to evaluate:
-
Property of workflow target object: Evaluate the value of a certain property of the target object of the request that started the workflow. The condition builder prompts you to choose the desired property. This option is unavailable in case of automation workflows.
-
Property of workflow initiator: Evaluate the value of a certain property of the user whose request started the workflow. The condition builder prompts you to choose the desired property.
-
Changed value of workflow target object property: Evaluate the value that is requested to be assigned to a certain property of the workflow target object, which represents the requested change to the property of the target object of the request that started the workflow. The condition builder prompts you to choose the desired property. This option is unavailable in case of automation workflows.
-
Activity execution status: Evaluate whether Active Roles encountered an error when running a certain activity. The condition builder prompts you to select the desired activity.
NOTE: This option requires the activity configuration to allow the workflow to continue even if the activity encounters an error.
-
Approver action choice: Evaluate the name of the action button applied by the approver to complete the approval task created by a certain Approval activity. Use this option to determine which action button the approver applied to allow the operation that was subject to approval. The condition builder prompts you to select the desired Approval activity. This option is unavailable in case of automation workflows.
-
Workflow parameter value: Evaluate the value of a certain parameter of the workflow. The condition builder prompts you to select the desired parameter from the workflow definition.
-
Property of object from workflow data context: Evaluate the value of a certain property of the object that will be selected by the If-Else activity on the basis of the data found in the workflow environment at the time of executing the workflow. The condition builder prompts you to choose the desired property and specify which object you want the activity to select upon evaluating the condition at workflow run time.
-
Click the current comparison operator, if needed, and then click the operator you want the condition to use.
-
Click Define value to compare to, and then choose an option to specify the desired comparison value.
The list of options that are available to specify a comparison value depends upon the entity or field you have configured the condition to evaluate. The following table summarizes the comparison value options.
Table 60: Comparision value options
-
Property of workflow target object
-
Property of workflow initiator
-
Changed value of workflow target object property
-
Workflow parameter value
-
Property of object from workflow data context
-
Value generated by rule expression |
-
Text string
-
Property of workflow target object
-
Property of workflow initiator
-
Changed value of workflow target object property
-
Workflow parameter value
-
Property of object from workflow data context
-
Value generated by rule expression |
Activity run status |
-
Not initialized
-
Completed successfully
-
Encountered an error |
Approver action choice |
|
For more information on comparison operators and comparison value options, see Search filter.
To configure a script-based condition, you need to create and apply a Script Module containing a function that analyzes the requested operation to determine whether to run the branch. The function could use the Active Roles ADSI Provider to access properties of objects involved in the operation, analyze the properties, and return TRUE or FALSE depending on the result of the analysis. The branch runs if the function returns TRUE.
To apply a script-based condition
-
Right-click the name of the branch and click Properties.
-
In the If-Else Branch Activity Properties dialog, under Conditions, do the following:
-
Click the title of the condition group and then click Insert condition.
-
Click Configure condition to evaluate and then click Value generated by rule expression.
-
In the Configure Rule Expression dialog, click Add entry and then click Value generated by script.
-
Use the Configure Entry dialog to select the appropriate Script Module and script function.
-
Click OK to close the Configure Entry dialog.
-
Click OK to close the Configure Rule Expression dialog.
-
In the If-Else Branch Activity Properties dialog, under Conditions, do the following:
-
Verify that comparison operator equals is selected.
-
Click Define value to compare to, and then click Text string.
-
In the Configure Entry dialog, under Text string, type TRUE.
-
Click OK to close the Configure Entry dialog.
-
Click OK to close the If-Else Branch Activity Properties dialog.
-
Save your changes to the workflow definition.
As a result of these steps, the If-Else Branch you have configured will be selected if the function specified in the Configure Entry dialog returns TRUE at workflow run time. For more information and instructions, see Developing Script Condition Functions in the Active Roles SDK documentation.
When configuring a Stop/Break activity, you can specify the text of an information message. The activity stops the workflow instance and reports the corresponding event to the Active Roles event log. The message is included in the event description. If possible, the activity also displays that message in the client user interface (such as the Active Roles Console or Web Interface) that was used to request the operation that started the workflow.
To configure a Stop/Break activity
-
In the Active Roles Console tree, expand Configuration > Policies > Workflow, and select the workflow containing the Stop/Break activity you want to configure.
This opens the Workflow Designer in the Details pane, representing the workflow definition as a process diagram.
-
In the process diagram, right-click the name of the activity and click Properties.
-
View and, if necessary, change the message text in the Information message box.
You can use an Add Report Section activity to add custom information to the change history report (in case of workflow started by an operation request) or run history report (in case of automation workflow). The activity adds a separate section to the Workflow activities and policy actions area of the report. The section consists of a header and a body. When you configure an Add Report Section activity, you specify what information you want the header and the body to contain.
To configure an Add Report Section Activity
-
In the Active Roles Console tree, expand Configuration > Policies > Workflow, and select the workflow containing the Add Report Section activity you want to configure.
This opens the Workflow Designer in the Details pane, representing the workflow definition as a process diagram.
-
In the process diagram, right-click the name of the activity and click Properties.
-
Under This report section is intended to display information about, select the Error condition option if you want the report to display the text of the header and the body of the report section in red. Otherwise, select the Successful operation option.
-
Under Header of the report section, click Define to compose the text of the header. The following options are available:
-
Text string: Specify a literal string of characters to be displayed as the header of the report section. The Workflow Designer prompts you to type the desired string.
-
Value generated by rule expression: Compose the header text of data entries to be calculated during execution of the activity. The Workflow Designer prompts you to configure a string of entries, and offers various entry types allowing the header text to include properties of objects involved in the workflow and related objects, date and time of activity execution, and workflow parameters.
-
Under Body of the report section, click Add text and choose from the following options to configure the body text of the report section:
-
Text string: Add a literal string of characters. The Workflow Designer prompts you to type the desired string.
-
Workflow date and time: Add a date/time string representing the date and time that the activity is started at workflow run time (referred to as the current date and time in the Workflow Designer). You can change the format of the date/time string and specify a time offset, in days, if needed.
-
Workflow parameter value: Add a text string specified by a particular parameter of the workflow. The Workflow Designer prompts you to select the desired parameter.
-
Newline character (CR/LF): Add the end-of-line code to start a new string.
-
Tab character: Add a tab character to the string.
-
Bullet character: Add a bullet point to the string. You can use a bullet point followed by a tab character at the beginning of a string to format the string as a bulleted list item.
-
Property of object from workflow data context: Add the value of a certain property of the object that will be selected by the activity on the basis of the data found in the workflow environment at the time of executing the workflow. The Workflow Designer prompts you to choose the desired property and specify which object you want the activity to select upon creating the report section at workflow run time.
In the Body of the report section box, you can modify, reorder, or remove text entries. To modify a text entry, click the text and then click Edit. To reorder or remove text entries, use the buttons on the right side of the list items representing the text entries in the Body of the report section box. Thus, to remove an entry, click X on the right side of the list item representing that entry in the Body of the report section box.