How do I connect CallActivity shapes in different pools?

Hello,

is there a rule to allow connecting CallActivity shapes in different pools? So far, I’ve tested connection.create which doesn’t seem to have any effect on programatically creating connections with modeling.connect. My rule looks like this (simplified)

this.addRule('connection.create', 1500, context => {
  return { type: 'bpmn:MessageFlow' };
});
Also, when using the global connect tool the Connection is drawn with the following error:
bpmn-modeler.development.js:1514 Error: <path> attribute d: Expected number, "…0 L458,200 L458,NaN L458,NaN L45…".
setAttribute @ bpmn-modeler.development.js:1514
setAttributes @ bpmn-modeler.development.js:1523
attr$1 @ bpmn-modeler.development.js:1545
drawPath @ bpmn-modeler.development.js:15550
bpmn:MessageFlow @ bpmn-modeler.development.js:16635
push.1872.BpmnRenderer.drawConnection @ bpmn-modeler.development.js:17066
(anonymous) @ bpmn-modeler.development.js:2474
invokeFunction @ bpmn-modeler.development.js:5532
push.1872.EventBus._invokeListener @ bpmn-modeler.development.js:5383
push.1872.EventBus._invokeListeners @ bpmn-modeler.development.js:5364
push.1872.EventBus.fire @ bpmn-modeler.development.js:5325
push.1872.GraphicsFactory.drawConnection @ bpmn-modeler.development.js:5770
push.1872.ConnectionPreview.drawPreview @ bpmn-modeler.development.js:30013
(anonymous) @ bpmn-modeler.development.js:29840
invokeFunction @ bpmn-modeler.development.js:5532
push.1872.EventBus._invokeListener @ bpmn-modeler.development.js:5383
push.1872.EventBus._invokeListeners @ bpmn-modeler.development.js:5364
push.1872.EventBus.fire @ bpmn-modeler.development.js:5325
fire @ bpmn-modeler.development.js:27129
move @ bpmn-modeler.development.js:27204
invokeTask @ zone.js:406
onInvokeTask @ core.js:28654
invokeTask @ zone.js:405
runTask @ zone.js:178
invokeTask @ zone.js:487
invokeTask @ zone.js:1600
globalZoneAwareCallback @ zone.js:1626
Trying to update the waypoints (with an updated connection.updateWaypoints rule) results in not having visual feedback and the following error messages:
bpmn-modeler.development.js:5397 unhandled error in event listener
push.1872.EventBus._invokeListener @ bpmn-modeler.development.js:5397
push.1872.EventBus._invokeListeners @ bpmn-modeler.development.js:5364
push.1872.EventBus.fire @ bpmn-modeler.development.js:5325
fire @ bpmn-modeler.development.js:27129
move @ bpmn-modeler.development.js:27204
invokeTask @ zone.js:406
onInvokeTask @ core.js:28654
invokeTask @ zone.js:405
runTask @ zone.js:178
invokeTask @ zone.js:487
invokeTask @ zone.js:1600
globalZoneAwareCallback @ zone.js:1626
bpmn-modeler.development.js:5398 Error: no shape type specified
    at ElementFactory$1.push.1872.ElementFactory$1.createBpmnElement (bpmn-modeler.development.js:48289)
    at ElementFactory$1.push.1872.ElementFactory$1.create (bpmn-modeler.development.js:48276)
    at ElementFactory$1.push.1872.ElementFactory.createConnection (bpmn-modeler.development.js:4999)
    at ConnectionPreview.push.1872.ConnectionPreview.getConnection (bpmn-modeler.development.js:30083)
    at bpmn-modeler.development.js:29974
    at bpmn-modeler.development.js:30152
    at ConnectionPreview.push.1872.ConnectionPreview.drawPreview (bpmn-modeler.development.js:29979)
    at BendpointMovePreview.<anonymous> (bpmn-modeler.development.js:28859)
    at invokeFunction (bpmn-modeler.development.js:5532)
    at EventBus.push.1872.EventBus._invokeListener (bpmn-modeler.development.js:5383)
push.1872.EventBus._invokeListener @ bpmn-modeler.development.js:5398
push.1872.EventBus._invokeListeners @ bpmn-modeler.development.js:5364
push.1872.EventBus.fire @ bpmn-modeler.development.js:5325
fire @ bpmn-modeler.development.js:27129
move @ bpmn-modeler.development.js:27204
invokeTask @ zone.js:406
onInvokeTask @ core.js:28654
invokeTask @ zone.js:405
runTask @ zone.js:178
invokeTask @ zone.js:487
invokeTask @ zone.js:1600
globalZoneAwareCallback @ zone.js:1626

Having read the BPMN 2.0.2 spec, I don’t see a reason to disallow Message Flows starting from or targeting a Call Activity. I believe this is a bug which should be fixed within the libraries. I’ve created an issue for that Cannot connect Message Flows to Call Activities · Issue #1467 · bpmn-io/bpmn-js · GitHub

Regarding the errors, your rule is just too lenient. It allows Message Flow in any context between any elements, e.g. Process to Group.

I am on the bug so soon you will probably not need any custom extension to handle this case.

1 Like

We’ve fixed this one with bpmn-js@8.7.1. :tada:

2 Likes