cancel
Showing results for 
Search instead for 
Did you mean: 

Vote Gateway?

pprikryl
Champ in-the-making
Champ in-the-making
Hello guys.
I'm sorry for silly question, but I'm newbie in BPM. I'm trying to design these 2 Use cases by Activity:
1) OR Gateway
   I have for example new Order this order has to be approved or declined be "Sale manager", "CEO" or "Cook". The first person, which will finish its task steps branch (forked) as first and then press OK/KO will decide if we should go to the left or to the right in diagram. Is it possible to do that in activiti (users have no common role)?
   ASCII:

         ->Sale Manager -> check something -> vote Y/N         |       —decided no ->
order    ->CEO -> check something other -> other -> vote Y/N   |  —>
         ->Cook -> salt soup -> vote Y/N                       |       —decided yes ->

2) Vote Gateway   
   The same problem. But at least XY% of users has to say Yes/No. Is it possible to design this behavior?

Or is it possible to design this use casse by another opensource BPM?
Thank you
PP
3 REPLIES 3

frederikherema1
Star Contributor
Star Contributor
You can use a multi-instance behavior for a similar behavior of what you're describing. This allows you to repeat certain activities (or subprocess) and specify a condition when the looping/multi-instance should stop. You could use this to assign a task to multiple users. After XX% ha approved, the completionCOndition triggers and flow moves on beyond the Multi-instance task. See the user guide for details.

pprikryl
Champ in-the-making
Champ in-the-making
Ad 1)
Isn't better to use following config? Is it valid usage of Activiti?
I think it is more human readable for Bussiness user compare to repeat task.
[img]http://www.imagehosting.cz/thumbs/orvote.png[/img]
Ad 2)
Yes, it is possible to repeat task this way, until expression is not true. You could assing these tasks to Cook, CEO, and manager.
But if the CEO fill finish its task, he will recieve the same task again. It's because he is still in Candidate Users.  Isn't it possible to define own Complexe merge gateway? Is there any example?

Thank you

jbarrez
Star Contributor
Star Contributor
I've implemented something similar a while ago: https://raw.github.com/Activiti/Activiti/master/modules/activiti-simple-workflow/src/main/resources/...

Here, the feed back providers see the task until a certain expression is met. Using a signal event the multi instance is stopped and the process continues.