With the support I've been receiving from the community members & developers, I have involved myself into this wonderful phenomenon of exploring and making the best use of jBPM5 & BPMN2.0
My current experiment is to combine User Task with Multiple Instances construct involving looping mechanism for an iterative execution. I'm good with generation of multiple task items (User task in my case) sequentially and its completion synchrounously and execution out of Multiple Instances construct is also fine.
Objective of my above depicted design is to reduce a lot of manual effort in placing multiple user tasks to achieve a approval workflow of multi levels with more than an user task at every level.
1) To serve the horizontal purpose I'm simply using Multiple Instances node to create concurrent user task assignments.
2) To carry out the vertical level I have manually introduced the looping mechanism.
Concerns & Queries about what I'm trying to achieve is
1) If at all I have placed separate User Tasks across the BPMN, associating the name of the tasks with User Task node would have become simple since I would have given the names separately. But in case of my design the User Task which takes the input with the help of Multiple Instances node's collection expression(list) it gets the User (Approver) name alone. I'm wondering how can I associate the name of the task with the User Task node. For Eg:- HR Approval, Admin Approval etc., If the multiple instances node is capable of taking Map object we could have set the Task Name as key and the User name as value.
2) Is there any tweak available for Multiple Instances node with which we can set its property to "Async" because the construct behaves in a synchronized manner meaning only after all the Task assignments(User task in my case) are completed the construct moves forward its control. But there are situations in which I really need to keep the User Tasks triggered out of Multiple Instances be independent of each other.
3) Is it possible to customize the User Task to associate it with an WorkItemHandler. This question should make sense if my understanding about the Domain specific WorkItemHandlers are not wrong.
Guys, please throw me some light on these things as I'm struct and not able to move forward with the other things..
Thanks in Advance,