Skip to content

Update Resources Activity

Nilesh Ghodekar edited this page Dec 26, 2015 · 18 revisions

Overview

Update Resources is the "bread and butter" activity of WAL. It is used to update MIM / FIM resources as well as populate WorkflowData dictionary. This activity completely eliminates the need for the out-of-box Function Evaluator activity.

Activity UI

Update Resources - General Settings

Activity Display Name

Optional. Name of the activity to be displayed on the MIM / FIM workflow designer.

Advanced Features

Query Resources

Optional. If this setting is selected, the activity can be configured to query resources which can be used in the update definitions as source value expressions or targets as well as in the activity execution condition and iteration.

Queries

Required when Query Resources setting is selected. Specify one or more XPath queries which should be run by the activity. e.g.


| Key 			| XPath Filter					|
| :-----------	| :----------------------------	|
| Terminations 	| /Person[EmployeeStatus = 'T']	|
| OnLeaves 		| /Person[EmployeeStatus = 'L']	|

The Queries can be referenced in source value expressions or targets using lookups with the [//Queries/Key/...] grammar. e.g. [//Queries/Terminations/Manager] for consumption in a source value expression or [//Queries/Terminations/Description] for consumption in a target lookup for mass update.

Note: The queries are executed in the order they are defined. Data from the first query could also be used in the filter criteria for the second query providing for the ability to further refine the result set.

Activity Execution Condition

Optional. The condition which must be satisfied for execution of this activity's core task (i.e. make updates to the specified targets). This can be any WAL function expression resolving to a boolean value.

Iteration

Optional. This is a lookup or expression returning a collection of values to iterate over. e.g. [//Delta/MembersToAdd/Added]. The instance value can be referenced in update definitions using lookup with the [//Value/..] grammar. e.g. [//Value/Manager].

Request Actor

Required. The user under whose context all the child requests (updates) are submitted. The possible values are:

  • Service Account
  • Requestor
  • Resolve From Expression
  • Search by Account Name
Actor Expression

Required when "Resolve From Expression" option is selected for Request Actor. Specify a lookup or expression which will resolve to the desired actor.

Actor Account Name

Required when "Search by Account Name" option is selected for Request Actor. Specify a account name of the desired actor. The domain name can optionally be specified using the Domain\AccountName syntax.

Apply Authorization Policy

Optional. When this setting is selected, the child update requests will be subjected to any authorization MPRs configured.

Updates

Required. Specify the updates to be performed by the activity. Lookups are used in the value expressions and are also used to represent target resources and attributes. Variables may also be specified as a target and then used in the value expression for subsequent update definitions. The "Allow Null" option enforces the deletion of target values when the source resolves to a null value.

Implementation Guidance

Do not use this activity simply to avoid coding of classic management agent rules extensions. Running workflows to do attribute transformations is orders of magnitude slower than executing rules extensions code.

If you think you can avoid developing your own custom activity if a feature were added to WAL, please post the feedback on the WAL project forum.

When developing your own additional custom activity when you must, simplify the development by focusing on the business task at hand and let the Update Resources activity do all the grammar resolution and FIM lookup and prepare the input data for your activity and make any MIM / FIM resource updates for you.

Examples

The following Update Resources activity strips a permanent leaver [//Target] of membership of all static groups.

Activity Display Name Remove Permanent Leaver from All Static Groups
**Queries**
**Key** **XPath Filter**
Groups /Group[MembershipLocked = False and ExplicitMember = '[//Target]']
**Updates**
**Value Expression** **Target** **Allow Null**
RemoveValues([//Target]) [//Queries/Groups/ExplicitMember]
Clone this wiki locally