Need an input on Modelling/Tasklist customization. Hope you can clarify.
We want to control the actions of a group of task list users. The idea here is to restrict one group of users to have only one task assigned to them at any point in time. Once the user completes his task, he has to click on “Get next task” which should ideally pick up the next task (from a group?) and assign it to him.
Not quite sure if this is something we can model in BPMN process itself using jobs or if this needs
Any suggestions are more than welcome. Thanks for your time.
Heres a couple more thoughts on how you could model this…
Option 1 - Push driven assignment:
In your process model you could have a business rule task which determines who the task should be assigned to. For example the rules could use a ‘round robin’ approach to assign to the next assignee. The downside of this approach is maintaining the set of current resources, eg think about staff away, leaving, new starters etc. In addition, this may not lead to best throughput as its not really ‘load balancing’, eg a staff member could have a really long task, however they still get assigned more tasks…
Option 2 - Pull driven process:
Again you could have all the tasks assigned to a group which no user has access to. Hence when a user is wanting a new task, they run the get next task process. This process can interrogate the unassigned tasks via a service task and thus assign that task to the current user. Hence they would then find it in their tasklist assigned tasks. You could add some logic or business rules to control how many tasks a person can have assigned etc. Hence in this case rather than using tasklist filters to show group tasks, you are relying on your users to ‘pull the next can off the rank’ via running this little ‘get next task’ process.
Spot On! Yes the easiest path for option 2 is you just start the assign process from the start menu in tasklist. Hence on running this, one or more tasks could appear in the user’s assigned tasks.
Not the greatest operator experience, but probably the smallest amount of development. You could of course build a custom tasklist to perform this experience seamlessly, however the option I describe is minimalist in terms of development effort.