... Please click [here|User Selector DSC] for full reference on User Selector DSC.
h2. Using Avoka User Selector DSC
|
h3. Scenario
|
| It is likely when come to assign a task to a user, there is a group of user in a particular department that the task can be assigned to anyone 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. |
| 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 with this regard. For example, we would like to make sure each employee in a particular department (group) to have a fair amount of works(tasks) to do, not over-stretching one particular employee while the other is waiting for tasks to do. On the other possible scenario, for critical task, we would like 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. |
| 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 user current workload
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. |
h3. 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. |
| \\
!operation.jpg! |
| *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
consideration, for user
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.
!services.jpg!
|
h3. The Process
|
| \\
!process.jpg!\\ |
| |
| 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 file|^AssignDummyTasks.xml]for 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. |
\\
h3. Setting Properties for "Select Least Busy User In Group" Operation
|
| \\
!leastBusyUserProperties.jpg!\\ |
| |
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 shown above. |
| |
You will need to specify the group for the user selection, via the "..." button. Once clicked, it will pop up a dialog as shown below for group search and select. \\ !groupSearch.jpg!\\ |
| 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. |
| |
| Then depends on your situation, you might want to include shared tasks into consideration. If that's the case, you will need to check the box for "Include Shared Tasks". |
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. \\ !groupSearch.jpg!\\ |
| |
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".
|
| Lastly, you
Also you
need to specify a process variable to store the nominated user identifier (Principal ID) for later use in User AssignTask operation. |
\\
h3. Setting Properties for "Select Most Experienced User In Group" Operation
|
| \\
!mostExperienceUserProperties.jpg! |
\\
|
| 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.
|
| Lastly,
Finally,
you need to specify a process variable to store the nominated user identifier (Principal ID) for later use in User AssignTask operation. |
\\ \\ |
... h3. Setting Properties for User "AssignTask" Operation to Assign Task to Nominated User
!user.jpg! 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.
|
| |
\\ \\ |