Brainstorm needed: 10 users 1 document

1
0
-1

Hello everybody!

I was hoping to get some ideas here how to implement this system. The case is as follows:

The process has 10 users, which work in different departments, but are equal. The idea is that any user can start this process by uploading a document (.doc(x)) and then select a recipient. This recipient receveis the document and reviews. He has 2 options:
1: Approve document. The process stops here.
2: Deny document. In case of Denial the user re-uploads the document and selects another user to send the document to. So the thing is, it doesn't necessarily has to go back to the user it originally came from, it can be any of the 9 users.

The process stops when somebody approves the document.

What in general, are the steps to implement this in Bonita? I think this question can be split in 2:

A) How to make this 'send and receive' system. How do I get a list of users, and make somebody receive this?
B) How to implement this Deny / Approval when working with 10 users?

Any help is much appreciated!

Comments

Submitted by renaud.pichot on Wed, 03/26/2014 - 10:00

Hi stijn,

in your 2:, "it can be any of the 9 others", can it be again the person that denied the first uploaded document ?

2 answers

1
+1
-1

Hi stijn,

In a first model you would have one lane two tasks. First human task "upload document" and second human task "review document". Then a XOR gate to check whether document has been approved or not. If disapproved, you would have a flow back to "upload document", if approved you would have a flow going to an end event.

Now, let's consider that in your first task, you have a drop down list which allow the user to chose the recipient. Then on the review task, you would configure a filter (here a single-user one should be enough).

The drop down list content can be initialized through a java list, coming from the bonita BPM internal organization (see identityAPI ) or from an external source using a connector (for instance a db connector, more likely to be filling a transient data, but that is something else ;))

Thinking about the "receive" thing, the second user would connect to the Bonita Portal and will be able to see that a document is waiting for a review. It is also possible to use a email connector to send a notification email to this user telling him that a new review task has to be done.

Then this first model has a inner problem: we do not control how many iteration you can do, so there is no limit over the number of loop your document can be refused. To resolve this, you can think about using a BPMN loop and BPMN call activity. Take this first model as a "child process", and create a new "main process", which would be a single task one, looped call-activity. This would allow you repeat the "child process" many times, adding a control on a maximum number of possible iteration. Then you have you 10 (or more) users.

Cheers,

Renaud

Comments

Submitted by stijn on Wed, 03/26/2014 - 15:30

At this point i'm stuck at the actor filter point. My user list is working, but how do I configure the actor filter?

The selected username is stored in a Text variable called 'selecteduser'. How do I map the corresponding actor?

1
0
-1

Hi Renaud, thank you very much for your input! I created this process with your input. I managed to create the dropdown list with all the users. To awnser your question: yes it can be same person as the document originally came from. Now the remaining step is to assign the Review document task to the chosen user. If this works I'm going to start working on the child process, that would be a good exercise for me!

Huge thanks, it is very much appreciated!

Notifications