Request to enable loop characteristics and boundary events in templates


#1

Hello,

templates are a great tool for us, however two functionalities are missed in my organization:

1) loop characteristics
E.g. we use sequential multi-instance external service tasks to send e-mails. It’s possible to define implementation, topic, input and output variables in the template. When the template is used however, it’s no longer possible to configure the multi instance characteristics, namely the “Collection” and “Element Variable”. It’s also impossible to define those in the template.

Effectively, we can’t use templates for our e-mail tasks. Which is a pity.

2) boundary events
Less critical but still nice to have would be the possibility to define boundary events in the template. We want to make sure, that certain boundary events are not forgotten, e.g. an error event on a database-query-call activity. It would also make the template more useful in general.

We would really appreciate if the mentioned functionalities could be implemented in future versions of the modeler. We would write something ourselves, but don’t posses the necessary resources.

Best regards


#2

+1. Check out https://github.com/camunda/camunda-modeler/issues/951 let’s hope we can get it prioritized.


#3

Hi @Damarowsky

the first point you are refering to is actually possible at the moment. In your template you can simply use the attribute

entriesVisible": {“element1”: true, …}

to specify which things shall be shown in the properties panel.

With this template you can display the normal multi-instance-characteristics:

{
  "name": "Test",
  "id": "com.example.Test",
  "appliesTo": [
    "bpmn:ServiceTask"
  ],
  "entriesVisible": {
	"multiInstance": true,
    "multiInstance-errorMessage": true,
   	"multiInstance-loopCardinality": true,
	"multiInstance-collection": true,
	"multiInstance-elementVariable": true,
	"multiInstance-completionCondition": true,
	"multiInstance-asyncBefore": true,
	"multiInstance-asyncAfter": true,
	"multiInstance-exclusive": true,
	"multiInstance-retryTimeCycle": true
  },
  "properties": [
   {
      "label": "Implementation Type",
      "type": "String",
      "value": "...",
      "editable": false,
      "binding": {
        "type": "property",
        "name": "camunda:class"
      }
    }
  ]
}

This is possible with every element in the properties panel. Hope this helps.

Regards
Michael


#4

Thank you @MichiDahm, I overlooked that possibility. This enables us to use the templates for the external mail task afterall, which is great!

However, it’s unfortunate that it’s not possible to preassign values to the multi-instance fields, which would enhance the workflow/knowledge transfer.

In this context, I support the suggestion of @StephenOTT for some kind of “dynamic” solution.