jemmerling [
https://community.jboss.org/people/jemmerling] created the discussion
"Re: User Task Group Assignment"
To view the discussion, visit:
https://community.jboss.org/message/649479#649479
--------------------------------------------------------------
Charlie,
I have spent some time evaluating jBPM5 and I would say that, in general, jBPM5 mostly
allows the application to determine how users are associated with groups.
Of course, I don't know how you are planning to use jBPM5, if you are planning to run
everything in the Console and not implement your own application, you may not find my
advice so useful and will have to rely on somebody else's response.
Although the ActorId parameter in a Human Task can be "hard-coded" to specify a
particular individual (although I suppose "actor" does not necessarily have to
indicate a specific individual in real life) in most practical situations, if you are
going to use the ActorId parameter it will be determined at run time and this will be
indicated in your model via some sort of expression, typically an expression that
references a process variable. If ActorId is specified and GroupId is not specified, then
the task will be immediately assigned to that actor (but not if GroupId is also specified,
from what I have personally observed).
So in this situation, as I see it, it would be the responsibility of the application to
determine whether an actor has the necessary group membership. If you want to specify the
actor for a particular task when creating a new process, or at some later point during the
lifecycle of that process, you should be able to determine this based on your own
requirements. So if the actor for "Task One" is has to satisfy some criteria
(such as membership in a group) then if you want to designate them when creating the
process, you first perform some test on your side that determines this. If this will be
determined downstream, then it gets more complicated. Probably the actor will be
determined as a side effect of completing an upstream task, captured as a task variable,
then mapped back to the process instance. So when completing this upstream task, the logic
used to identify this actor will ensure this actor is in the appropriate group along with
any other criteria needed to designate a specific actor.
An important mechanism whereby the application determines group membership is when
implementing org.jbpm.task.service.UserGroupCallback, particular the getGroupsForUser
method. You should be able to find some discussion of this in the User Manual.
I have avoided going into too much detail on this, but I hope this brings you somewhat
closer to the answer you need, cheers!
--JE
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/649479#649479]
Start a new discussion in jBPM at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]