cancel
Showing results for 
Search instead for 
Did you mean: 

some explanation required

vbossica
Champ in-the-making
Champ in-the-making
Hi all,

First of all, I am very impressed by the project and how fast new features are implemented.

I'm coming from the JPDL world and I am trying to make sense of Activiti.  I am particularly interested in seeing how Activiti can be embedded into an existing application. After having read the doc and written some test cases, I still have a few questions:

  • is it possible to execute several UserTasks while having claimed a Task? (like "charge credit card, book seat, prepare email".)  Should it be done with a sub-workflow?

  • is it possible to see the "transitions" that are available while being in a certain state in the workflow?  This is very "state-machine" oriented and I don't know if BPMN is the right abstraction for this kind of problems
Any pointer would be very appreciated

Thanks,

-Vladimir
2 REPLIES 2

tombaeyens
Champ in-the-making
Champ in-the-making
thanks for the compliment!

could you elaborate on your first question about UserTask, claiming and sub workflow?

we'll add getActivity() to DelegateExecution before the release on friday.  from there you'll be able to call .getOutgoingTransitions().

falko_menge
Champ in-the-making
Champ in-the-making
Hi all,
  • is it possible to see the "transitions" that are available while being in a certain state in the workflow?  This is very "state-machine" oriented and I don't know if BPMN is the right abstraction for this kind of problems

we'll add getActivity() to DelegateExecution before the release on friday. from there you'll be able to call .getOutgoingTransitions().

Well, in BPMN say in a User Task or Service Task you cannot like in jBPM take one of multiple outgoing Sequence Flows (that's how BPMN calls Transitions). Typically, BPMN Tasks have only one outgoing Sequence Flow. If you have multiple of them, they are just a short cut for a parallel split, i.e., all of them are taken upon completion of the task.

Routing decisions in BPMN are always done by Gateways. So, if you want to take different path's in a process, let's say based on a decision by a user, an according User Task would just store the decision result in a process variable. After that, a Data-based Exclusive Gateway would route the execution by evaluating so-called Condition Expressions on its outgoing Sequence Flows. In Activiti these Condition Expression are by default UEL expressions and can refer to all process variables.

However, it is still possible to traverse the process model down to the next Gateway using Tom's hint and have a look on which ways are possible.