Process user task using initiator pattern

557 views
Skip to first unread message

Cristian Cerb

unread,
Feb 17, 2015, 11:39:27 AM2/17/15
to camunda-...@googlegroups.com
Hi there,

Generally, when a user task is somewhere in the middle of a process, the moment process instance advances to that specific user task, a task gets created on some group task list or on someone's task list and they react to it (maybe claim it), complete it (hopefully) and process instance advances. How would you model the case where a user initiates a process? Is it only through a process start form? Oracle, for example, uses what they call "initiator pattern". Something like: 

The initiator task is one among the many human task interactive patterns in Oracle BPM. It's used to trigger a BPM process flow from the defined human task user interaction interface. When you are using the initiator task to initiate a BPM process, the process always starts with the none start event. The none start event will not trigger the process; however, the human task initiator will initiate the process. It's the role associated with the swim lane that defines the process participant, and that process participant/assignee is the one the initiator task gets assigned to etc.

Thank you,

Cristian



thorben....@camunda.com

unread,
Feb 18, 2015, 4:30:39 AM2/18/15
to camunda-...@googlegroups.com
Hi Cristian,

If I understand the pattern correctly, there is no out-of-the-box support for it in Camunda. Of course, you can model an explicit user task after the start event in the process that the initiator has to complete before the process continues. However, this would require you to change all process models you have.

You could create a feature request in the JIRA: https://app.camunda.com/jira/secure/Dashboard.jspa
If you do so, please also add some motivation for this use case.

As a solution, I could think of using standalone tasks that instantiate a process on completion. However, at the moment it is not possible to execute custom logic when a standalone task completes, so you can't implement the instantiation part.

Cheers,
Thorben

Bernd Rücker (camunda)

unread,
Feb 18, 2015, 5:47:15 AM2/18/15
to camunda-...@googlegroups.com

Hi Christian.

 

Let me quickly comment on this – from a BPMN & best practice perspective I would never use the pattern Oracle describes here but always use a form defined on the start event. As the process instance should not get kicked off until the form is completed this is the only way to model that correctly in BPMN. As soon as you have a UserTask this can only be active after the process instance has started – everything else is not valid BPMN – and hence not a good workaround. You could even think of extension attributes you can set on the start event (or maybe use the lane the event is placed in ) for defining who is allowed to start the process instance – however, this is not a build in feature camunda provides (but can be added in a project specific way).

 

Cheers

Bernd

--
You received this message because you are subscribed to the Google Groups "camunda BPM users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to camunda-bpm-us...@googlegroups.com.
To post to this group, send email to camunda-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/camunda-bpm-users/5df59b64-3f12-493f-bf00-1f6b32eed20d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Cristian Cerb

unread,
Feb 18, 2015, 11:17:37 AM2/18/15
to camunda-...@googlegroups.com
Hi there,

Yes, of course I was aware this is a chicken or egg situation. That's why I posted this here. I would not create a feature request at this time, cause I am still researching this, but it has bugged me for some time and I thought about sharing with you, guys. If you read Bruce Silver's second edition of his book, on page 29, last paragraph he discusses the case of a process initiated "manually" by a user, in which case process starts with a None start event followed by a User Task. It wasn't clear to me if this applies to automated processes as well, but when I found the Initiator pattern in Oracle's implementation of BPM, it got me thinking it is applicable for executable processes too. 

Cristian Cerb

unread,
Feb 18, 2015, 11:22:01 AM2/18/15
to camunda-...@googlegroups.com
Thank you, Bernd. Regarding you comment about lanes, you know well lanes only have relevance for User Tasks. Even though some people use lanes to designate, for example, a system executing a service task placed in that lane, I personally only use it for User Tasks. It is interesting to debate these things, any time.

Bernd Rücker (camunda)

unread,
Feb 20, 2015, 2:23:58 AM2/20/15
to camunda-...@googlegroups.com

Hi Christian.

 

From a BPMN spec perspective c lanes do not have a fixed execution semantics – so I don’t see a problem of using them for adding information to a start event.

 

Cheers

Bernd

Cristian Cerb

unread,
Feb 20, 2015, 11:40:29 AM2/20/15
to camunda-...@googlegroups.com
Yes, I know. It is just a personal preference. Actually, I try to avoid lanes almost completely, considering there is little semantic to them, anyway. In the past, when I began modeling, I started to use lanes, they are so easy to use and it gave me the impression that I am progressing with my modeling skills. Then, I realized that this makes me focus first on performers, rather than on the activities and my model becomes lane-driven rather than activities driven, so to speak. After all, the main thing are the activities in a process, not the performers, so better give activities preeminence over everything else, a process if firstly about what (activities) and only secondly about who (performers of user tasks) and process data flow. This is my position today, anyway.

But I know clearly what you mean by adding a lane for start none event when process is initiated by user thru process start form and I understand this would be a way of indicating the initiator, since a user task may not be used in this case. 

Bernd Rücker (camunda)

unread,
Feb 23, 2015, 4:02:09 AM2/23/15
to camunda-...@googlegroups.com

I like the view on „Lane driven“ vs. “activity driven”. We see also another advantage of not using lanes: Almost all process models get more compact and easier to read – as the lanes force you to use a lot of space and sometimes very long sequence flows…

Cristian Cerb

unread,
Feb 23, 2015, 5:20:17 PM2/23/15
to camunda-...@googlegroups.com
Thank you, Bernd. Yes, compactness matters as well, easier to follow.

Cristian Cerb

unread,
Feb 26, 2015, 5:37:19 PM2/26/15
to camunda-...@googlegroups.com
You might want to look at this discussion as well: https://www.linkedin.com/grp/post/111271-5971679905295925252?trk=groups-post-b-title
You need to become a member of BPM Group first.

Cristian Cerb

unread,
Mar 5, 2015, 3:07:33 PM3/5/15
to camunda-...@googlegroups.com
And more: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.stardust.docs.dev%2Fhtml%2Fhandbooks%2Fmodelling%2Fmg-defdesk-11.htm

Look at the manual trigger and liken it to initiator. There are other interesting triggers as well in Stardust...
Reply all
Reply to author
Forward
0 new messages