A correlation rule can generate a list of user names based on values of the attributes of the resource account. A correlation rule may also generate a list of attribute conditions (referring to queryable attributes of a user object) that will be used to select users.
A correlation rule is run once for each unclaimed account.
A correlation rule should be relatively “inexpensive” but as selective as possible. If possible, defer expensive processing to a confirmation rule.
Waveset predefines several correlation rules in sample/reconRules.xml:
User Name Matches AccountId. Returns the value of the accountId attribute. It selects as a possible owner any Waveset user with a name that matches the resource account ID. This is the default correlation rule.
User Owns Matching AccountId. Returns a list of attribute conditions. This will select as a possible owner any Waveset user that owns a resource account that matches the same accountId value.
User Email Matches Account Email. Returns a list of attribute conditions that will select Waveset users based on the account’s email attribute.
Input for any correlation rule is a map of the account attributes. Output must be one of:
String (containing user name or ID)
List of String elements (each a user name or ID)
List of WSAttribute elements
List of AttributeCondition elements
A more complicated rule might combine or manipulate account attribute values to generate a list of names or a list of attribute conditions.
Attribute conditions must refer to queryable attributes, which are configured as QueryableAttrNames in the UserUIConfig object.
For example, reconRules.xml contains a fourth sample correlation rule, User FullName Matches Account FullName. XML comments disable this rule, because it will not work correctly without additional configuration. This rule looks for Waveset users based on fullname, but this attribute is not queryable by default.
Correlating on an extended attribute requires special configuration:
The extended attribute must be specified as queryable in UserUIConfig (added to the list of QueryableAttrNames).
The Waveset application (or the application server) may need to be restarted for the UserUIConfig change to take effect.