Dynamically Defining Who Gets Work

The solution designer can create a participant and use a query language to define an expression that will be resolved dynamically to a relevant user at runtime.

Procedure

  1. Right-click Participants at the process package level, and select New > Participant. The New Participant dialog is displayed.
  2. Enter the new participant’s Label as French speaking representative.
  3. Select the new participant’s type as Basic Type, select Organization Model Query and click Finish.
  4. Go to the General tab on the Properties view for this participant. In the Script Defined As: field, note that the RQL (Resource Query Language) query script is selected by default.

    Enter the following query in the Describe Organization Model Query Script box:

    capability(name="FrenchSpeaker") intersect group(name="CustomerServicesRepresentatives")

    Make sure you do not have a space in either name, or you will get an error.

    The query states that the task is to be assigned to a user who is a member of the group Customer Services Representatives, AND who has the capability French Speaker.

  5. View the French Customer Services process in the Process Editor. You will see that is has errors marked against each user task.

    Click on the Complete product enquiry form user task. In the Properties view in the General tab, click and you will be shown the Select Participants dialog which will allow you to select participants from a list of those already defined. Select French speaking representative and click Add and OK.

  6. Now repeat the preceding step to add the same participant to the Issue response to customer task.

    You can now see that the process does not have any errors marked against the user tasks. In the Properties view, General tab, for the Complete product enquiry form and Issue response to customer user tasks, French speaking representative displays under Participants in each case.

  7. Press CTRL + S to save the changes you have made.