How to intelligently select a user in a group to assign task to, based on certain considerations

Added by Kendy Yus, last edited by David Glen on Oct 18, 2007  (view change)

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

Please click here for full reference on User Selector DSC.

Using Avoka User Selector DSC

Scenario

When it comes to assigning a task to a user, there can be a group of users in a particular department where the task could be assigned to any one of them.  One way of achieving this is to assign the task to the group and everyone in the group can go and claim the task, or alternatively the task is assigned to a randomly picked user from the group.

However, if we would like to have more control to whom the task should be assigned to, based on the current workloads of each individual in the group, the current User "assignTask" operation provides no assistance in this regard.  For example, we would like to ensure each employee in a particular department (group) has a fair amount of work (tasks) to do, by not over-stretching one particular employee while others are waiting for tasks to do. Another possible scenario, for a critical task, would be to give it to the user who is the most experienced and has handled the same task numerous time in the past, to ensure the task is carried out successfully.

Avoka User Selector DSC provides an intelligent way to work out whom the next task should be assigned to based on current user workload and past history of completing tasks, and returns a nominated user for the next user task assignment.  Once the nominated user is selected, the identifier of the nominated user is used in the User "assignTask" operation to be assigned the next task.

The User Selector Service

This is developed by Avoka Technologies, containing a number of useful XML Utilities operations to manipulate XML data, from which two of them will be discussed in the following to cover the scenario discussed above.

1. Select Least Busy User In Group
This operation finds the least busy user in a group, judged by the least amount of active tasks currently assigned to the user. It also provides the option as to whether to include shared tasks into the consideration, as users can choose to share tasks with others.
2. Select Most Experienced User In Group
This operation finds the most experienced user in a group, judged by the most number of tasks completed by the user.  This operation optionally allows the search to be narrowed down to apply to a task of a particular process (if specified) and step name (if specified).

To obtain an evaluation copy of the XML Utilities Service, go to the Avoka Website: http://www.avoka.com and follow the links.
The User Selector DSC, once installed, will appear as a new service under the category Avoka in your LiveCycle WorkBench.


 

The Process



As shown in the figure above, the operation of User Selector service should be called first to find out the nominated user, and then the User assignTask in the next step, will use the nominated user identifier to assign the next task to.

For demonstration purposes, we have provided the exported process XML filefor the process described above, as an attachment to this article. You can import it as a process to your LiveCycle ES via workbench for guidance in setting up property values for those User Selector operation steps.

Setting Properties for "Select Least Busy User In Group" Operation



To configure the properties of the "Select Least Busy User In Group" operation step, click on that step, and click on "Properties" view on your Workbench. It will show a dialog box as shown above.

You will need to specify the group for the user selection, via the "..." button. Once clicked, it will pop up a dialog box as shown below for group search and select the appropriate entry and click OK.

Then depending on your situation, you might want to include shared tasks into the consideration. If that is the case, you will need to check the box for "Include Shared Tasks". 

Also you need to specify a process variable to store the nominated user identifier (Principal ID) for later use in User AssignTask operation.  

Setting Properties for "Select Most Experienced User In Group" Operation



 

To configure the properties of the "Select Most Experienced User In Group" operation step, click on that step, and click on "Properties" view on your Workbench. It will show a dialog box shown above.

For this operation, you also need to specify the group for the user selection with the same interface provided as in "Select Least Busy User In Group" operation.

Then optionally, you can narrow down the scope of the search by restricting it to apply to a particular process and a particular action name / step name if they are specified. 

Finally, you need to specify a process variable to store the nominated user identifier (Principal ID) for later use in User AssignTask operation. 

Setting Properties for User "AssignTask" Operation to Assign Task to Nominated User


 
On configuring User AssignTask operation properties, on "Initial User Selection", make sure you select "XPath expression" radio button and specify the XPath expression to point to the process variable you have set earlier to store the nominated user identifier (Principal ID) to make sure the task is assigned to the nominated user.

Configure the rest of the properties of this operation according to your other requirements, such as "Form Data Mappings", Escalation, Deadline, etc. 



You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account. You can also Sign Up for a new account.