Defining process variables at the process level

I would like to be able to define process variables (name, type etc) at the process level and be able to select them in nodes (tasks). Currently I have to copy-paste these definitions. Has this been discussed before?

Please provide us a bit more context.

  • Which tool do you use?
  • What exactly would you like to achieve how?

Thanks for your reply Nico. I installed https://github.com/bpmn-io/bpmn-js-examples/tree/master/properties-panel, so I can create/modify diagrams and use the properties panel for all nodes. For example in a usertask I can define a form with fields (process var) that have properties like name and datatype. I can define a servicetask with input and output fields. For example a process var that is used in a certain usertask can be needed as input for a servicetask and also f.e. in another usertask. To prevent copy-paste errors you could have f.e. a separate panel for process vars, these can be used in the diagram nodes.

What you ask for is not possible right now and won’t be our focus for future, either.

On the one hand it would surely be valuable if you combine it with auto-completion on variable referencing fields. On the other hand with stuff like variable scoping (execution / multi-instance, process level) as well as expression evaluation as an alternative for variables in many places it could become very challenging to implement right.

And even when implemented, we won’t assert correct process execution. However, a simple test cases that executes the modeled process end-to-end will do exactly that. I’d recommend everyone to write these test cases and ship them together with the modeled diagram.

Ok. I did a savvion (some expensive all-in bpm tool) course five years ago where I saw this. If you’re interested have a look at this document, the functionality I’m looking more or less for is covered under the subject “dataslots”: https://www.progress.com/docs/default-source/default-document-library/Progress/Documents/News-and-Events/Exchange2013/workshops/Workshop---OpenEdge-BPM---Labs-FINAL.pdf

Different tool, different focus.

We are open source with the Camunda Modeler, so you could technically contribute these awesome things to our modeling tools. (Just in case you got the time and resources necessary to wrap your head around our tools).

I would say it’s just user-friendlyness to implement such functionality. I’m a freelancer specializing in elixir (a language on top of erlang) at the moment, and writing a small bpms as an exercise at the moment, in my spare-time (I do not have a payed job right now). It is fully web-based and that (+ that it is open-source) is why I chose the camunda modeler. But when I have time I will dive into the modeler and contribute to bpmn.io. I like it.

1 Like