Script activities are typically used to perform automated steps in a workflow process. A Script activity is defined by a Script Module created in Active Roles. Each Script Module contains script code implementing certain functions. New Script Module can freely be added and the Script contained in a Script can be developed and revised as necessary. This provides a mechanism for creating custom functions, enabling the extensibility of actions performed by a workflow.
The Script activity has the following basic configuration settings:
-
Script to use: Identifies the Script Module to be used by the activity. Normally, the script held in the Script Module implements at least two functions: the function that will be run by the activity and the function that defines the activity parameters.
-
Function to run: Identifies the script function that will be run by the activity.
-
Function to declare parameters: Identifies the Script function that defines the activity parameters. For each parameter, this function defines the name of the parameter and other characteristics, such as a description, a list of possible values, the default value, and whether a value is required. Normally, the parameters are declared by a function named onInit.
-
Parameter values: When Active Roles executes a Script activity, it passes the parameter values to the script function being run by that activity. The actions performed by the activity, and the results of those actions, depend upon the parameter values.
You can configure a Script activity to subscribe recipients to the notifications of the following events:
-
Activity completed successfully: When configured to notify of this event, the activity causes Active Roles to send a notification email if no significant errors occurred during the run of this activity.
-
Activity encountered an error: When configured to notify of this event, the activity causes Active Roles to send a notification email if any significant errors occurred during the run of this activity.
The notification settings specify the notification events and recipients. When run by the workflow, the activity prepares a notification message appropriate to the specified event. Active Roles retains the message prepared by the activity, and sends the message to the specified recipients once that event occurs. The notification settings are similar to the notification settings of a Notification activity. For more information, see Notification activity.
When configuring a Script activity, you can choose whether to suppress errors encountered by that activity. The following option is available: Continue workflow even if this activity encounters an error. If this option is not selected (default setting), then an error condition encountered by the activity causes Active Roles to terminate the workflow. If you select this option, the workflow continues regardless of whether or not the activity encounters an error condition.
An If-Else activity is used to conditionally run one of two or more alternative branches depending on the conditions defined on the branches. It contains an ordered set of branches and runs the first branch whose condition evaluates to TRUE. You can add as many branches as you want to an If-Else activity, and you can add as many activities as you want to every branch.
Each branch of an If-Else activity may have an individual condition set on it. When an If-Else activity starts, if evaluates the condition on its first (leftmost) branch. If that condition is met, Active Roles runs the activities of that branch; otherwise, Active Roles evaluates the condition on the next branch (from left to right), and so on.
When configuring If-Else branch conditions, consider the following:
-
Active Roles runs only the first branch whose condition is evaluated to TRUE.
-
An If-Else activity can finish without any of its branches being initiated, if the condition of each branch is evaluated as FALSE.
If no condition is defined for a branch, Active Roles considers that branch to be always TRUE. Therefore, the final (rightmost) branch normally must have no condition, so that it is always evaluated as TRUE. This way, the final branch acts as the Else branch that runs if the conditions on the other branches are not fulfilled.
TIP: To ensure that at least one activity is run from a branch, make sure that you define no running condition for the last branch of an If-Else activity.