Error handling – CRUD activities
When configuring a CRUD 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), an error encountered by the activity causes Active Roles to stop the workflow.
If you configure a CRUD activity so that the workflow is allowed to continue in case of an error encountered by that activity, then you can have the workflow take an appropriate compensation action. This could be accomplished by using an If-Else activity with a branch condition that evaluates the Encountered an error execution status of the CRUD activity. Add an If-Else activity following the CRUD activity and configure a condition on an If-Else branch to detect theEncountered an error execution status of that CRUD activity. Then, configure that If-Else branch to contain the activities you want to perform the compensation action. As a result, once the CRUD activity has encountered an error, theEncountered an error branch condition evaluates to TRUE, causing the workflow to execute the activities intended to perform the compensation action.
"Run as" options
By default, Active Roles runs CRUD activities under the user account specified with the Workflow options and start conditions > Configure > "Run as" options setting. This user account can be the service account of the Active Roles Administration Service or the account of the user who caused the workflow to start. You can configure the activity to override the default "Run as" options setting by choosing to run the activity under the service account or the account of the user who caused the workflow to start. The account under which the activity is running determines the access rights of the activity in the directory.
One more option determines whether to apply approval rules to the operation requested by the activity if the activity is executed under a privileged account, such as the Active Roles service account, an Active Roles Admin account, or the account of the user who is designated as an approver. By default, the activity uses the option setting specified in the workflow options and start conditions. However, the workflow-wide option setting can be overridden on a per-activity basis.
When you configure a CRUD activity, you can enable or disable the Enforce approval option for that activity. When enabled, this option causes the approval rules to be applied, submitting the operation for approval regardless of the account under which the activity is executed. Otherwise, the operation requested by the activity bypasses approval rules if the activity is executed under the Active Roles service account, an Active Roles Admin account, or the account of the user who is designated as an approver, so the operation is not submitted for approval.
Additional settings – CRUD activities
A CRUD activity has the following additional configuration options:
-
Use this text instead of the original operation reason text: If the operation requested by the CRUD activity is subject to approval, you can specify the operation reason text to be shown to the approver instead of the reason text specified in the operation request that started the workflow. The Use only if the operation reason is not originally specified sub-option configures the activity to replace the reason text only if the operation request that started the workflow does not have any reason text specified.
-
Allow the request created by this activity to start a new instance of the workflow containing this activity: This option is normally disabled to prevent recurrent execution of the CRUD activity in the situation where the operation requested by that activity within a given workflow matches the start conditions of that same workflow. Enabling this option could result in a loop of workflow instances executing the same activity again and again, and eventually would cause an overflow condition.
-
Exclude or include request controls from the activity operation request: Request controls are certain pieces of data in an operation request that can be used to pass additional information to Active Roles on how to process the request. Request controls are optional. If no request controls are added to a request, then Active Roles determines how to process the request based solely on the type of the request. You can configure the activity to add certain controls to its operation requests (include request controls) or to ensure that certain controls never occur in the activity operation requests (exclude request controls). For information about Active Roles request controls, see the Active Roles SDK documentation.
Save Object Properties activity
The Save Object Properties activity is used to save properties of a particular object at workflow execution time. The properties are saved in the workflow data context, and can be retrieved by other activities before or after the object has changed. This capability is instrumental in situations that require knowing not only the changed object state or properties but also the previous or old values of certain properties. Old values may be required to determine the previous state of an object in order to make some decision or perform a certain action based on those values. For example, to notify of object deletions, you can create a workflow that starts when deletion of an object is requested, saves the object’s name, and then, after the object is deleted, sends a notification message that includes the saved name of the deleted object.
This activity has the following configuration options:
-
Activity target: This option lets you specify the object whose properties you want the activity to save. You can choose to specify:
-
Workflow target object: In a change workflow, the target object of the request that started the workflow. For example, in a workflow that starts upon a deletion request, this choice causes the activity to save the properties of the object whose deletion is requested.
-
Fixed object in directory: A particular object you select from Active Directory.
-
Object identified by workflow parameter: The object specified by the value of a certain parameter of the workflow. You can choose the parameter from the workflow definition.
-
Object from workflow data context: The object will be selected by the activity on the basis of the data found in the workflow environment at the time of running the workflow. You can specify which object you want the activity to select at the time of running the workflow.
-
Object identified by DN-value rule expression: The object whose Distinguished Name (DN) is specified by the string value of a certain rule expression. By using a rule expression, you can compose a string value based on properties of various objects found in the workflow environment at the time of running the workflow. You can create the rule expression when you configure the activity.
-
Target properties: This option lets you specify the object properties you want the activity to save. The Workflow Designer proposes the default list of properties, and allows you to change the list as needed. By default, the activity saves all single-value non-constructed attributes found in the directory schema for the target object, including custom virtual attributes added to the directory schema by Active Roles.
-
Notification: You can configure the 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.
-
Error handling: You can choose whether to suppress errors encountered by the 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.