Participant Resolvers

Participant resolvers are swimlane properties that define how swimlanes assign an activity node or approval nodes.

  • The Participant Resolver property describes where to find assignees, such as in a Data Connection or Active Directory Group.
  • Participant Resolver Arguments define how to find assignees. For example, you can specify an assignee that is a single person, or a person from a team, or a person based upon their role in an organization.

Changing participant resolvers

  1. Go to the Workflow tab.
  2. Click the swim lane.
  3. In the Properties pane, edit the Participant Resolver properties.

Participant resolvers are validated by the Workflow whenever a form or task is launched. If a user cannot be assigned, an error will be displayed stating that no participant could be found.

Notes: Users are resolved with one of the following: UserID, Email, UserName, or FirstName + " " + LastName. Users cannot be resolved with DisplayName.

However, if your DisplayName is the combination of the FirstName and the LastName, you can use it to resolve users.

Provide the Decimal Field value in single quotes when the decimal field column is used in a filter such as in Participant Resolvers, the Set Column plug-in, or an External Data Connection.

Participant resolvers

For further information about each participant resolver, refer to the respective sections below.

Resolver Description
ADGroup Uses an Active Directory Security Group to find assignees.
Data Connection Uses a Data Connection to find assignees.
Solution Fields Uses Solution Fields present in the solution to find assignees.

ADGroup

The ADGroup participant resolver uses an Active Directory Security Group to find assignees. If the Type property of the swim lane is set to Person from Role, a single person (depending upon the Random property of the swim lane) will be assigned. If Type is set to Team from Role, the entire list of members of the security group will be assigned.

ADGroup is useful when you want assignees to be automatically available based on IT management of the user’s Active Directory accounts. For example, when a new user is hired and IT adds their account to a Master Data Management security group. If ADGroup is used for the swim lane, the user is automatically available as a selection on the form without having to update and republish the solution.

Active Directory Security Groups are typically managed solely by IT departments, so you will likely need to engage your IT department for any group membership changes. If you prefer more direct control over group membership, you can use the SolutionFields or DataConnection participant resolvers.

Name Description Mandatory

Domain

The name of the specific domain containing the security group within the corporate domain forest.

If the group is located in the corp.mycompany.global Fully Qualified Domain Address (FQDN), the domain value for this parameter would be “corp" - the last part of the FQDN.

Example
Direct value: corp
Value from form field: [/my:myFields/my:field2]
Value from solution field: [field1]

Yes

Groupname

The name of the Active Directory Security Group containing the members to be assigned.

Example
Direct value: managers
Value from form field: [/my:myFields/my:field2]
Value from solution field: [field1]

Yes

Recursive

Whether to load users recursively from the group if the group contains other groups.

Active Directory Security Groups often contain other Active Directory Security Groups. If the list of assignees needs to contain not only the explicit members of the group, but also the members of all nested security groups, then this parameter should be set to true.

The parameter is set to false by default to reduce performance cost. Recursive listing can tax system resources depending on how many groups are nested within groups.

The default value is false.

Yes

Username

In some cases, the Application Pool service account may not be able to read Active Directory and get the security group membership. For example, this might occur if you are targeting a domain that is not setup in the Evolve server.

This parameter allows you to specify an account that can read the information and generate a list of assignees. The value should be in the [domain]\[username] format, such as corp\johndoe.

To note, you can also specify the name of global configuration key from which the username can be selected.

Example 
Direct value: corp\user1
Value from form field: [/my:myFields/my:field2]
Value from solution field: [field1]

No

Password

If the username parameter is used, the password of that must be specified in this parameter.

To note, you can also specify the name of global configuration key from which the password can be selected.

No

Data connection

The Data Connection participant resolver uses a Data Connection to find assignees.

Note: When creating Data Connections for PR, always set to async by unchecking Automatically retrieve data when form is opened.

In the Data Connection, use only those fields which are used on the form. For example, for an LDAP Data Connection, if the 'Manager' field is not required, do not use it when creating the data connection.

Name Description Mandatory

ConnectionName

The connection name which will contain the list of users to be assigned to swim lane. It includes a drop-down list of all connections defined at the global level or current app level.

Yes

Column

The name of the column in the data connection which will contain the list of users to be assigned to a swim lane. The column can contain Username, DisplayName, Email, UserID or FirstName LastName of the user.

Yes

Filter

The Query to run to initially populate the potential workflow participants from which the users can be selected.

Note: To use solution fields and form fields in a filter, add them within single quotes (').

It is not mandatory to use [] brackets in the Data Connection Column. For example, if you have a table: T1

Column1 int
Column2 int
In the PR filter: Column1 = '1' or you can use [Column1] = '1'

If you use brackets (for the solution field name or the form field name), the resolver will look for the solution field and the form field with that name - and the value present in the form field/solution field will be used in the filter.

No

RawQuery

A Yes/No value that indicates whether the Filter parameter is a raw query or not.

Can be set to Yes or No. If set to Yes, the filter value along with the query will run as it is run in the database.

If set to No, the query created by operators will be converted to a suitable format and then will be run in the database.

Example

If Raw Query is Yes:
Title = 'abc' and Created_Date = '2009-12-23'
or
Title = ‘[Col_Title]’ and Created_Date = '[col_created_date]'

If Raw Query is No:
Title == 'abc' && Created_Date == '2009-12-23'
or
Title == ‘[Col_Title]’ && Created_Date == '[col_created_date]'

Please note: here ‘[Col_Title]’ and '[col_created_date]' are solution fields.

No

Solution fields

The Solution Fields participant resolver is another way to assign a participant of a Workflow swim lane. If you want to use a Form field to assign users to a swim lane, first promote the Form field to a Solution Field. Then, use that Solution Field in the column parameter of this participant resolver.

Note: If you use the Solution Fields participant resolver, you will be unable to edit or select users from the form even when the swimlane Display property is set to Allow Edit. It will be Read Only. If you use both the Solution Fields participant resolver and Process Control on the form, the swimlane Display Property settings below will have the below results: 

Allow Edit - The user list displayed in Process Control in read-only format.
Read Only - The user list displayed in Process Control in read-only format.
False - The user list will not be displayed in Process Control.

Name Description Mandatory

Column

Specifies the name of the Solution Field from which the user is retrieved to assign to the swim lane. The specified solution field can contain Username, DisplayName, Email, UserID or FirstName LastName of the user.

Note: For team assignments, provide user details separated by commas. For example: domain\user1,domain\user2,domain\user3

Example
Direct value : [field1] where field1 is solution field name

Yes