lib-bpmn-engine icon indicating copy to clipboard operation
lib-bpmn-engine copied to clipboard

change task handler to allow input and output parameter as in BPMN

Open nitram509 opened this issue 4 years ago • 1 comments
trafficstars

bpmn service tasks can be configured with input and output parameters. currently, the engine can't handle such. thus, it would be cool to have this feature implemented

nitram509 avatar Oct 08 '21 21:10 nitram509

must be moved to milestone 0.3, because this requires expression language support

nitram509 avatar Jan 17 '22 22:01 nitram509

Is this feature developing? It's a useful feature and I'm interested in helping implement it.

lastchiliarch avatar Sep 06 '22 11:09 lastchiliarch

Is this feature developing? It's a useful feature and I'm interested in helping implement it.

As the label says: "help wanted". You're very welcome to implement it.

When you're working on it, may I ask you to "assign on this ticket" - just that I and others know you picked it up

nitram509 avatar Sep 07 '22 07:09 nitram509

I'd like to have a try.

I'd like to implements this feature like what camunda behavior (https://docs.camunda.io/docs/components/concepts/variables/), but since bpmn does not have expression I will still use antonmedv/expr to evaluate expression and set output variable to variableContext.

Do you have any suggestions?

lastchiliarch avatar Sep 07 '22 08:09 lastchiliarch

Good point about using 'expr' ... that should work, since it can handle strings etc.

About the variable resolution ... you might can split this feature to

  • first only support global/single scope (per instance)
  • second introduce scoping, as described on camunda's page you linked.

nitram509 avatar Sep 07 '22 17:09 nitram509

Agreed, since we don't support sub-process now, I'll support global scope in the first version. When somebody really needs scope control or supporting sub-process by the engineer, it's a good time to discuss about introducing scope again.

lastchiliarch avatar Sep 08 '22 07:09 lastchiliarch

supported, but with using regular instance scope

nitram509 avatar Sep 11 '22 20:09 nitram509