6 Replies Latest reply on Jul 23, 2008 11:35 AM by kukeltje

    Difference pooled-actors and swimlanes

    coolex

      Hi!

      After I've read the docu I'm more confused about pooled-actors, swimlanes, roles, groupActorID.
      Especially I don't really understand the difference between swimlane and pooled-actor (actor groups).

      For my application I'm using a simple user-role concept. Every user can have many roles. For now I'm using pooled-actors but I am not sure whether using swimlanes is better or not.

      Another problem I have that I've read in the docu that a user must be assigned to a pooled task to execute it. I have many users with roles and don't to assign explicitly a user to a task to execute it. So, what is wrong?

      Thanks for all replies.
      Alex

        • 1. Re: Difference pooled-actors and swimlanes
          kukeltje

          pooled actors (which can contain a groupname, groupnames, individual actors etc) are what you have in your identity model from which to select one actor to act upon the task. A swimlane is the bpm concept keeping track of who is selected, so in subsequent tasks in the same swimlane the originally assigned actor is chosen again.

          Regarding the last question, you have to indeed assign an individual actor when acting upon it, but leave the pooled-actors as they are. That way, you can always reassign back to the pool by making the actor-id null

          • 2. Re: Difference pooled-actors and swimlanes
            coolex

            Many thanks. You are answering very fast.

            ... of who is selected ...

            Where should the user be selected?

            ...the originally assigned actor is chosen again.

            Sorry, I don't understand this part. What do you mean by "originally assigned"?

            Regarding the last question, you have to indeed assign an individual actor when acting upon it, but leave the pooled-actors as they are. That way, you can always reassign back to the pool by making the actor-id null

            Sorry, but this part is also not easy to understand. So at any time I have to assign an individual actor explicitly to a task? I mean, my application is still doing what I expect by not assigning the user explicitly.



            • 3. Re: Difference pooled-actors and swimlanes
              coolex

              Additional question.
              We have this assignment:

              <assignment pooled-actors="user, admin"/>

              That means that users can execute this task which are in one of this groups (user OR admin). How can I enforce that the user has to be in both groups (user AND admin)?

              This question is very important for me.
              Thanks in advance.

              Alex

              • 4. Re: Difference pooled-actors and swimlanes
                kukeltje

                 

                Where should the user be selected?

                In your own webapp or some other way (rules engine, whatever)

                "originally assigned"?

                The one that is selected e.g. by your webapp above

                Sorry, but this part is also not easy to understand. So at any time I have to assign an individual actor explicitly to a task? I mean, my application is still doing what I expect by not assigning the user explicitly.

                That is because you have to think differently. Look at some of the testcases in the source about taskmanagement and much will be clearer.

                - Task is created and assigned to pooled actors
                - Task is visible in pooled tasklist
                - Task is done by one person e.g. in 1 day
                - Task should not be visible in pooled tasklist since someone is working on it
                - Therefor assign to actor, but leave the pooled actors also assigned
                - If User gets sick, make actor 'null' and task is visible again in pooled tasklist



                • 5. Re: Difference pooled-actors and swimlanes
                  coolex

                  WOW!
                  Now I understand it very well. Cool. I've a book about jbpm and the docu but none of them describes this part of jbpm this way, like you. Perfect!
                  Many thanks.

                  Still one question left about the AND issue. This was my example

                  <assignment pooled-actors="user, admin"/>

                  Is it possible to make clear that a user can only execute this task if he has the "user" AND the "admin" role?
                  This example is not that good, but anyway I'm interested in the AND issue of roles.

                  Thanks again.

                  • 6. Re: Difference pooled-actors and swimlanes
                    kukeltje

                     

                    Now I understand it very well. Cool. I've a book about jbpm and the docu but none of them describes this part of jbpm this way, like you. Perfect!
                    I think the jBPM docs themselves do

                    But this should probably also contain the last alinea of the 3.1 docs
                    /taskmanagement.html

                    you have to write your own assignment handler for the 'and' stuff and pass the groupnames to it.