@5minds/node-red-contrib-processcube 0.15.0-fix-error-in-process-instance-query-f9f0d2-lz03zzg4 → 0.15.0-fix-error-in-process-instance-query-8fa811-lz054xqa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dockerfile +1 -1
- package/docker-compose.yml +12 -0
- package/examples/External-Task-Sample.json +252 -0
- package/externaltask-error.html +16 -2
- package/externaltask-error.js +11 -13
- package/externaltask-input.html +19 -2
- package/externaltask-input.js +107 -60
- package/externaltask-output.html +12 -2
- package/externaltask-output.js +8 -7
- package/message-event-trigger.js +6 -14
- package/nodered/node-red-contrib-processcube-flows.json +216 -132
- package/nodered/package.json +1 -0
- package/package.json +2 -2
- package/process-start.js +1 -13
- package/processcube-engine-config.js +14 -0
- package/processdefinition-query.js +6 -16
- package/processes/External-Task-Sample.bpmn +94 -0
- package/processinstance-query.js +6 -17
- package/signal-event-trigger.js +2 -12
- package/usertask-finished-listener.js +24 -27
- package/usertask-input.js +12 -26
- package/usertask-new-listener.js +5 -16
- package/usertask-output.js +8 -17
- package/processes/CheckError.bpmn +0 -78
- package/processes/NodeRedExternalTask.bpmn +0 -77
- package/processes/SampleUserTask.bpmn +0 -95
@@ -0,0 +1,94 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="External-Task-Sample_Definition" targetNamespace="http://bpmn.io/schema/bpmn" exporter="5Minds Studio" exporterVersion="1">
|
3
|
+
<bpmn:collaboration id="Collaboration_1cidyxu" name="">
|
4
|
+
<bpmn:participant id="Participant_0px403d" name="External-Task-Sample" processRef="External-Task-Sample_Process" />
|
5
|
+
<bpmn:textAnnotation id="TextAnnotation_0lbjt7p">
|
6
|
+
<bpmn:text>Will be executed at the boundary event</bpmn:text>
|
7
|
+
</bpmn:textAnnotation>
|
8
|
+
<bpmn:association id="Association_0ivfgz1" associationDirection="None" sourceRef="Activity_0ma3kzt" targetRef="TextAnnotation_0lbjt7p" />
|
9
|
+
</bpmn:collaboration>
|
10
|
+
<bpmn:process id="External-Task-Sample_Process" name="External-Task-Sample" isExecutable="true">
|
11
|
+
<bpmn:laneSet />
|
12
|
+
<bpmn:startEvent id="StartEvent_1" name="Start">
|
13
|
+
<bpmn:outgoing>Flow_0qmxzxk</bpmn:outgoing>
|
14
|
+
</bpmn:startEvent>
|
15
|
+
<bpmn:sequenceFlow id="Flow_0qmxzxk" sourceRef="StartEvent_1" targetRef="Activity_02ykwt2" />
|
16
|
+
<bpmn:sequenceFlow id="Flow_16dfeac" sourceRef="Activity_02ykwt2" targetRef="Activity_0ma3kzt" />
|
17
|
+
<bpmn:endEvent id="Event_05wpeos">
|
18
|
+
<bpmn:incoming>Flow_0mo4oek</bpmn:incoming>
|
19
|
+
</bpmn:endEvent>
|
20
|
+
<bpmn:sequenceFlow id="Flow_0mo4oek" sourceRef="Activity_0ma3kzt" targetRef="Event_05wpeos" />
|
21
|
+
<bpmn:endEvent id="Event_0yn9mzh">
|
22
|
+
<bpmn:incoming>Flow_0y6es1p</bpmn:incoming>
|
23
|
+
</bpmn:endEvent>
|
24
|
+
<bpmn:sequenceFlow id="Flow_0y6es1p" sourceRef="Event_0o7qlkd" targetRef="Event_0yn9mzh" />
|
25
|
+
<bpmn:serviceTask id="Activity_02ykwt2" name="Topic "Test"" camunda:type="external" camunda:topic="Test">
|
26
|
+
<bpmn:incoming>Flow_0qmxzxk</bpmn:incoming>
|
27
|
+
<bpmn:outgoing>Flow_16dfeac</bpmn:outgoing>
|
28
|
+
</bpmn:serviceTask>
|
29
|
+
<bpmn:serviceTask id="Activity_0ma3kzt" name="Topic "SampleError"" camunda:type="external" camunda:topic="SampleError">
|
30
|
+
<bpmn:incoming>Flow_16dfeac</bpmn:incoming>
|
31
|
+
<bpmn:outgoing>Flow_0mo4oek</bpmn:outgoing>
|
32
|
+
</bpmn:serviceTask>
|
33
|
+
<bpmn:boundaryEvent id="Event_0o7qlkd" attachedToRef="Activity_0ma3kzt">
|
34
|
+
<bpmn:outgoing>Flow_0y6es1p</bpmn:outgoing>
|
35
|
+
<bpmn:errorEventDefinition id="ErrorEventDefinition_1lr8fha" errorRef="Error_3O8wBFQi" />
|
36
|
+
</bpmn:boundaryEvent>
|
37
|
+
</bpmn:process>
|
38
|
+
<bpmn:error id="Error_3O8wBFQi" errorCode="MyErrorCode" />
|
39
|
+
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
40
|
+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1cidyxu">
|
41
|
+
<bpmndi:BPMNShape id="Participant_0px403d_di" bpmnElement="Participant_0px403d" isHorizontal="true">
|
42
|
+
<dc:Bounds x="5" y="30" width="635" height="320" />
|
43
|
+
</bpmndi:BPMNShape>
|
44
|
+
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
|
45
|
+
<dc:Bounds x="92" y="152" width="36" height="36" />
|
46
|
+
<bpmndi:BPMNLabel>
|
47
|
+
<dc:Bounds x="98" y="195" width="24" height="14" />
|
48
|
+
</bpmndi:BPMNLabel>
|
49
|
+
</bpmndi:BPMNShape>
|
50
|
+
<bpmndi:BPMNShape id="Event_05wpeos_di" bpmnElement="Event_05wpeos">
|
51
|
+
<dc:Bounds x="502" y="152" width="36" height="36" />
|
52
|
+
</bpmndi:BPMNShape>
|
53
|
+
<bpmndi:BPMNShape id="Event_0yn9mzh_di" bpmnElement="Event_0yn9mzh">
|
54
|
+
<dc:Bounds x="482" y="272" width="36" height="36" />
|
55
|
+
</bpmndi:BPMNShape>
|
56
|
+
<bpmndi:BPMNShape id="Activity_1vxcs04_di" bpmnElement="Activity_02ykwt2">
|
57
|
+
<dc:Bounds x="180" y="130" width="100" height="80" />
|
58
|
+
<bpmndi:BPMNLabel />
|
59
|
+
</bpmndi:BPMNShape>
|
60
|
+
<bpmndi:BPMNShape id="Activity_1b7fiqp_di" bpmnElement="Activity_0ma3kzt">
|
61
|
+
<dc:Bounds x="340" y="130" width="100" height="80" />
|
62
|
+
<bpmndi:BPMNLabel />
|
63
|
+
</bpmndi:BPMNShape>
|
64
|
+
<bpmndi:BPMNShape id="Event_134k5nt_di" bpmnElement="Event_0o7qlkd">
|
65
|
+
<dc:Bounds x="392" y="192" width="36" height="36" />
|
66
|
+
</bpmndi:BPMNShape>
|
67
|
+
<bpmndi:BPMNEdge id="Flow_0qmxzxk_di" bpmnElement="Flow_0qmxzxk">
|
68
|
+
<di:waypoint x="128" y="170" />
|
69
|
+
<di:waypoint x="180" y="170" />
|
70
|
+
</bpmndi:BPMNEdge>
|
71
|
+
<bpmndi:BPMNEdge id="Flow_16dfeac_di" bpmnElement="Flow_16dfeac">
|
72
|
+
<di:waypoint x="280" y="170" />
|
73
|
+
<di:waypoint x="340" y="170" />
|
74
|
+
</bpmndi:BPMNEdge>
|
75
|
+
<bpmndi:BPMNEdge id="Flow_0mo4oek_di" bpmnElement="Flow_0mo4oek">
|
76
|
+
<di:waypoint x="440" y="170" />
|
77
|
+
<di:waypoint x="502" y="170" />
|
78
|
+
</bpmndi:BPMNEdge>
|
79
|
+
<bpmndi:BPMNEdge id="Flow_0y6es1p_di" bpmnElement="Flow_0y6es1p">
|
80
|
+
<di:waypoint x="410" y="228" />
|
81
|
+
<di:waypoint x="410" y="290" />
|
82
|
+
<di:waypoint x="482" y="290" />
|
83
|
+
</bpmndi:BPMNEdge>
|
84
|
+
<bpmndi:BPMNShape id="TextAnnotation_0lbjt7p_di" bpmnElement="TextAnnotation_0lbjt7p">
|
85
|
+
<dc:Bounds x="370" y="50" width="169.99387960829492" height="39.99855990783411" />
|
86
|
+
<bpmndi:BPMNLabel />
|
87
|
+
</bpmndi:BPMNShape>
|
88
|
+
<bpmndi:BPMNEdge id="Association_0ivfgz1_di" bpmnElement="Association_0ivfgz1">
|
89
|
+
<di:waypoint x="401" y="130" />
|
90
|
+
<di:waypoint x="413" y="90" />
|
91
|
+
</bpmndi:BPMNEdge>
|
92
|
+
</bpmndi:BPMNPlane>
|
93
|
+
</bpmndi:BPMNDiagram>
|
94
|
+
</bpmn:definitions>
|
package/processinstance-query.js
CHANGED
@@ -1,31 +1,20 @@
|
|
1
|
-
const
|
2
|
-
const EventEmitter = require('node:events');
|
3
|
-
|
4
|
-
const engine_client = require('@5minds/processcube_engine_client');
|
1
|
+
const EventEmitter = require("node:events");
|
5
2
|
|
6
3
|
module.exports = function (RED) {
|
7
4
|
function ProcessinstanceQuery(config) {
|
8
5
|
RED.nodes.createNode(this, config);
|
9
6
|
var node = this;
|
10
7
|
var flowContext = node.context().flow;
|
11
|
-
var nodeContext = node.context();
|
12
8
|
|
13
9
|
this.engine = this.server = RED.nodes.getNode(config.engine);
|
14
10
|
|
15
|
-
const
|
16
|
-
|
17
|
-
var client = nodeContext.get('client');
|
11
|
+
const client = this.engine.getEngineClient();
|
18
12
|
|
19
|
-
|
20
|
-
nodeContext.set('client', new engine_client.EngineClient(engineUrl));
|
21
|
-
client = nodeContext.get('client');
|
22
|
-
}
|
23
|
-
|
24
|
-
var eventEmitter = flowContext.get('emitter');
|
13
|
+
var eventEmitter = flowContext.get("emitter");
|
25
14
|
|
26
15
|
if (!eventEmitter) {
|
27
|
-
flowContext.set(
|
28
|
-
eventEmitter = flowContext.get(
|
16
|
+
flowContext.set("emitter", new EventEmitter());
|
17
|
+
eventEmitter = flowContext.get("emitter");
|
29
18
|
}
|
30
19
|
|
31
20
|
node.on('close', async () => {
|
@@ -39,7 +28,6 @@ module.exports = function (RED) {
|
|
39
28
|
client.processInstances
|
40
29
|
.query(query, { identity: node.server.identity })
|
41
30
|
.then((matchingInstances) => {
|
42
|
-
console.log(matchingInstances);
|
43
31
|
msg.payload = matchingInstances;
|
44
32
|
|
45
33
|
node.send(msg);
|
@@ -49,5 +37,6 @@ module.exports = function (RED) {
|
|
49
37
|
});
|
50
38
|
});
|
51
39
|
}
|
40
|
+
|
52
41
|
RED.nodes.registerType('processinstance-query', ProcessinstanceQuery);
|
53
42
|
};
|
package/signal-event-trigger.js
CHANGED
@@ -1,23 +1,12 @@
|
|
1
|
-
const process = require('process');
|
2
|
-
|
3
|
-
const engine_client = require('@5minds/processcube_engine_client');
|
4
1
|
|
5
2
|
module.exports = function (RED) {
|
6
3
|
function SignalEventTrigger(config) {
|
7
4
|
RED.nodes.createNode(this, config);
|
8
5
|
var node = this;
|
9
|
-
var nodeContext = node.context();
|
10
6
|
|
11
7
|
this.engine = this.server = RED.nodes.getNode(config.engine);
|
12
8
|
|
13
|
-
const
|
14
|
-
|
15
|
-
var client = nodeContext.get('client');
|
16
|
-
|
17
|
-
if (!client) {
|
18
|
-
nodeContext.set('client', new engine_client.EngineClient(engineUrl));
|
19
|
-
client = nodeContext.get('client');
|
20
|
-
}
|
9
|
+
const client = this.engine.getEngineClient();
|
21
10
|
|
22
11
|
node.on('input', function (msg) {
|
23
12
|
client.events
|
@@ -37,5 +26,6 @@ module.exports = function (RED) {
|
|
37
26
|
});
|
38
27
|
});
|
39
28
|
}
|
29
|
+
|
40
30
|
RED.nodes.registerType('signal-event-trigger', SignalEventTrigger);
|
41
31
|
};
|
@@ -1,31 +1,20 @@
|
|
1
|
-
const
|
2
|
-
const EventEmitter = require('node:events');
|
3
|
-
|
4
|
-
const engine_client = require('@5minds/processcube_engine_client');
|
1
|
+
const EventEmitter = require("node:events");
|
5
2
|
|
6
3
|
module.exports = function (RED) {
|
7
4
|
function UserTaskFinishedListener(config) {
|
8
5
|
RED.nodes.createNode(this, config);
|
9
6
|
var node = this;
|
10
7
|
var flowContext = node.context().flow;
|
11
|
-
var nodeContext = node.context();
|
12
8
|
|
13
9
|
this.engine = this.server = RED.nodes.getNode(config.engine);
|
14
10
|
|
15
|
-
const
|
16
|
-
|
17
|
-
var client = nodeContext.get('client');
|
18
|
-
|
19
|
-
if (!client) {
|
20
|
-
nodeContext.set('client', new engine_client.EngineClient(engineUrl));
|
21
|
-
client = nodeContext.get('client');
|
22
|
-
}
|
11
|
+
const client = this.engine.getEngineClient();
|
23
12
|
|
24
|
-
var eventEmitter = flowContext.get(
|
13
|
+
var eventEmitter = flowContext.get("emitter");
|
25
14
|
|
26
15
|
if (!eventEmitter) {
|
27
|
-
flowContext.set(
|
28
|
-
eventEmitter = flowContext.get(
|
16
|
+
flowContext.set("emitter", new EventEmitter());
|
17
|
+
eventEmitter = flowContext.get("emitter");
|
29
18
|
}
|
30
19
|
|
31
20
|
const register = async () => {
|
@@ -34,35 +23,43 @@ module.exports = function (RED) {
|
|
34
23
|
(userTaskFinishedNotification) => {
|
35
24
|
node.send({
|
36
25
|
payload: {
|
37
|
-
flowNodeInstanceId:
|
38
|
-
|
39
|
-
|
26
|
+
flowNodeInstanceId:
|
27
|
+
userTaskFinishedNotification.flowNodeInstanceId,
|
28
|
+
action: "finished",
|
29
|
+
type: "usertask",
|
40
30
|
},
|
41
31
|
});
|
42
32
|
},
|
43
|
-
{ identity: currentIdentity }
|
33
|
+
{ identity: currentIdentity }
|
44
34
|
);
|
45
35
|
|
46
36
|
node.server.registerOnIdentityChanged(async (identity) => {
|
47
|
-
client.userTasks.removeSubscription(
|
37
|
+
client.userTasks.removeSubscription(
|
38
|
+
subscription,
|
39
|
+
currentIdentity
|
40
|
+
);
|
48
41
|
currentIdentity = identity;
|
49
42
|
|
50
43
|
subscription = await client.userTasks.onUserTaskFinished(
|
51
44
|
(userTaskFinishedNotification) => {
|
52
45
|
node.send({
|
53
46
|
payload: {
|
54
|
-
flowNodeInstanceId:
|
55
|
-
|
56
|
-
|
47
|
+
flowNodeInstanceId:
|
48
|
+
userTaskFinishedNotification.flowNodeInstanceId,
|
49
|
+
action: "finished",
|
50
|
+
type: "usertask",
|
57
51
|
},
|
58
52
|
});
|
59
53
|
},
|
60
|
-
{ identity: currentIdentity }
|
54
|
+
{ identity: currentIdentity }
|
61
55
|
);
|
62
56
|
});
|
63
57
|
|
64
|
-
node.on(
|
65
|
-
client.userTasks.removeSubscription(
|
58
|
+
node.on("close", async () => {
|
59
|
+
client.userTasks.removeSubscription(
|
60
|
+
subscription,
|
61
|
+
currentIdentity
|
62
|
+
);
|
66
63
|
client.dispose();
|
67
64
|
client = null;
|
68
65
|
});
|
package/usertask-input.js
CHANGED
@@ -1,40 +1,20 @@
|
|
1
|
-
const
|
2
|
-
const EventEmitter = require('node:events');
|
3
|
-
|
4
|
-
const engine_client = require('@5minds/processcube_engine_client');
|
5
|
-
|
6
|
-
function showStatus(node, msgCounter) {
|
7
|
-
if (msgCounter >= 1) {
|
8
|
-
node.status({ fill: 'blue', shape: 'dot', text: `handling tasks ${msgCounter}` });
|
9
|
-
} else {
|
10
|
-
node.status({ fill: 'blue', shape: 'ring', text: `subcribed ${msgCounter}` });
|
11
|
-
}
|
12
|
-
}
|
1
|
+
const EventEmitter = require("node:events");
|
13
2
|
|
14
3
|
module.exports = function (RED) {
|
15
4
|
function UserTaskInput(config) {
|
16
5
|
RED.nodes.createNode(this, config);
|
17
6
|
var node = this;
|
18
|
-
var msgCounter = 0;
|
19
7
|
var flowContext = node.context().flow;
|
20
|
-
var nodeContext = node.context();
|
21
8
|
|
22
9
|
this.engine = this.server = RED.nodes.getNode(config.engine);
|
23
10
|
|
24
|
-
const
|
25
|
-
|
26
|
-
var client = nodeContext.get('client');
|
11
|
+
const client = this.engine.getEngineClient();
|
27
12
|
|
28
|
-
|
29
|
-
nodeContext.set('client', new engine_client.EngineClient(engineUrl));
|
30
|
-
client = nodeContext.get('client');
|
31
|
-
}
|
32
|
-
|
33
|
-
var eventEmitter = flowContext.get('emitter');
|
13
|
+
var eventEmitter = flowContext.get("emitter");
|
34
14
|
|
35
15
|
if (!eventEmitter) {
|
36
|
-
flowContext.set(
|
37
|
-
eventEmitter = flowContext.get(
|
16
|
+
flowContext.set("emitter", new EventEmitter());
|
17
|
+
eventEmitter = flowContext.get("emitter");
|
38
18
|
}
|
39
19
|
|
40
20
|
node.on('close', async () => {
|
@@ -44,10 +24,12 @@ module.exports = function (RED) {
|
|
44
24
|
|
45
25
|
node.on('input', function (msg) {
|
46
26
|
let query = RED.util.evaluateNodeProperty(config.query, config.query_type, node, msg);
|
27
|
+
|
47
28
|
query = {
|
48
29
|
...query,
|
49
30
|
identity: node.server.identity,
|
50
31
|
};
|
32
|
+
|
51
33
|
client.userTasks.query(query).then((matchingFlowNodes) => {
|
52
34
|
if (
|
53
35
|
!config.force_send_array &&
|
@@ -61,7 +43,11 @@ module.exports = function (RED) {
|
|
61
43
|
node.send(msg);
|
62
44
|
} else {
|
63
45
|
if (!config.force_send_array) {
|
64
|
-
if (
|
46
|
+
if (
|
47
|
+
config.multisend &&
|
48
|
+
matchingFlowNodes.userTasks &&
|
49
|
+
matchingFlowNodes.userTasks.length > 1
|
50
|
+
) {
|
65
51
|
matchingFlowNodes.userTasks.forEach((userTask) => {
|
66
52
|
msg.payload = { userTask: userTask };
|
67
53
|
node.send(msg);
|
package/usertask-new-listener.js
CHANGED
@@ -1,31 +1,20 @@
|
|
1
|
-
const
|
2
|
-
const EventEmitter = require('node:events');
|
3
|
-
|
4
|
-
const engine_client = require('@5minds/processcube_engine_client');
|
1
|
+
const EventEmitter = require("node:events");
|
5
2
|
|
6
3
|
module.exports = function (RED) {
|
7
4
|
function UserTaskNewListener(config) {
|
8
5
|
RED.nodes.createNode(this, config);
|
9
6
|
var node = this;
|
10
7
|
var flowContext = node.context().flow;
|
11
|
-
var nodeContext = node.context();
|
12
8
|
|
13
9
|
this.engine = this.server = RED.nodes.getNode(config.engine);
|
14
10
|
|
15
|
-
const
|
16
|
-
|
17
|
-
var client = nodeContext.get('client');
|
18
|
-
|
19
|
-
if (!client) {
|
20
|
-
nodeContext.set('client', new engine_client.EngineClient(engineUrl));
|
21
|
-
client = nodeContext.get('client');
|
22
|
-
}
|
11
|
+
const client = this.engine.getEngineClient();
|
23
12
|
|
24
|
-
var eventEmitter = flowContext.get(
|
13
|
+
var eventEmitter = flowContext.get("emitter");
|
25
14
|
|
26
15
|
if (!eventEmitter) {
|
27
|
-
flowContext.set(
|
28
|
-
eventEmitter = flowContext.get(
|
16
|
+
flowContext.set("emitter", new EventEmitter());
|
17
|
+
eventEmitter = flowContext.get("emitter");
|
29
18
|
}
|
30
19
|
|
31
20
|
const register = async () => {
|
package/usertask-output.js
CHANGED
@@ -1,7 +1,4 @@
|
|
1
|
-
const
|
2
|
-
const EventEmitter = require('node:events');
|
3
|
-
|
4
|
-
const engine_client = require('@5minds/processcube_engine_client');
|
1
|
+
const EventEmitter = require("node:events");
|
5
2
|
|
6
3
|
module.exports = function (RED) {
|
7
4
|
function UserTaskOutput(config) {
|
@@ -9,24 +6,16 @@ module.exports = function (RED) {
|
|
9
6
|
|
10
7
|
var node = this;
|
11
8
|
var flowContext = node.context().flow;
|
12
|
-
var nodeContext = node.context();
|
13
9
|
|
14
10
|
this.engine = this.server = RED.nodes.getNode(config.engine);
|
15
11
|
|
16
|
-
const
|
17
|
-
|
18
|
-
var client = nodeContext.get('client');
|
19
|
-
|
20
|
-
if (!client) {
|
21
|
-
nodeContext.set('client', new engine_client.EngineClient(engineUrl));
|
22
|
-
client = nodeContext.get('client');
|
23
|
-
}
|
12
|
+
const client = this.engine.getEngineClient();
|
24
13
|
|
25
|
-
var eventEmitter = flowContext.get(
|
14
|
+
var eventEmitter = flowContext.get("emitter");
|
26
15
|
|
27
16
|
if (!eventEmitter) {
|
28
|
-
flowContext.set(
|
29
|
-
eventEmitter = flowContext.get(
|
17
|
+
flowContext.set("emitter", new EventEmitter());
|
18
|
+
eventEmitter = flowContext.get("emitter");
|
30
19
|
}
|
31
20
|
|
32
21
|
node.on('input', function (msg) {
|
@@ -44,7 +33,9 @@ module.exports = function (RED) {
|
|
44
33
|
node.error(error);
|
45
34
|
});
|
46
35
|
} else {
|
47
|
-
node.error(
|
36
|
+
node.error(
|
37
|
+
`No UserTask found in message: ${JSON.stringify(msg.payload)}`
|
38
|
+
);
|
48
39
|
}
|
49
40
|
});
|
50
41
|
}
|
@@ -1,78 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="CheckError_Definition" targetNamespace="http://bpmn.io/schema/bpmn" exporter="5Minds Studio" exporterVersion="1">
|
3
|
-
<bpmn:collaboration id="Collaboration_1cidyxu" name="">
|
4
|
-
<bpmn:participant id="Participant_0px403d" name="CheckError" processRef="CheckError_Process" />
|
5
|
-
</bpmn:collaboration>
|
6
|
-
<bpmn:process id="CheckError_Process" name="CheckError" isExecutable="true">
|
7
|
-
<bpmn:laneSet>
|
8
|
-
<bpmn:lane id="Lane_1xzf0d3" name="Lane">
|
9
|
-
<bpmn:flowNodeRef>StartEvent_1</bpmn:flowNodeRef>
|
10
|
-
<bpmn:flowNodeRef>Event_0kmuys0</bpmn:flowNodeRef>
|
11
|
-
<bpmn:flowNodeRef>Activity_09zn4t5</bpmn:flowNodeRef>
|
12
|
-
<bpmn:flowNodeRef>Event_1gy657v</bpmn:flowNodeRef>
|
13
|
-
<bpmn:flowNodeRef>Event_1w4tivm</bpmn:flowNodeRef>
|
14
|
-
</bpmn:lane>
|
15
|
-
</bpmn:laneSet>
|
16
|
-
<bpmn:startEvent id="StartEvent_1" name="Start">
|
17
|
-
<bpmn:outgoing>Flow_14izvt0</bpmn:outgoing>
|
18
|
-
</bpmn:startEvent>
|
19
|
-
<bpmn:sequenceFlow id="Flow_14izvt0" sourceRef="StartEvent_1" targetRef="Activity_09zn4t5" />
|
20
|
-
<bpmn:endEvent id="Event_0kmuys0">
|
21
|
-
<bpmn:incoming>Flow_1ukmuxb</bpmn:incoming>
|
22
|
-
</bpmn:endEvent>
|
23
|
-
<bpmn:sequenceFlow id="Flow_1ukmuxb" sourceRef="Activity_09zn4t5" targetRef="Event_0kmuys0" />
|
24
|
-
<bpmn:serviceTask id="Activity_09zn4t5" name="ETW with error" camunda:type="external" camunda:topic="SampleError">
|
25
|
-
<bpmn:incoming>Flow_14izvt0</bpmn:incoming>
|
26
|
-
<bpmn:outgoing>Flow_1ukmuxb</bpmn:outgoing>
|
27
|
-
</bpmn:serviceTask>
|
28
|
-
<bpmn:sequenceFlow id="Flow_0tgf785" sourceRef="Event_1w4tivm" targetRef="Event_1gy657v" />
|
29
|
-
<bpmn:endEvent id="Event_1gy657v">
|
30
|
-
<bpmn:incoming>Flow_0tgf785</bpmn:incoming>
|
31
|
-
</bpmn:endEvent>
|
32
|
-
<bpmn:boundaryEvent id="Event_1w4tivm" attachedToRef="Activity_09zn4t5">
|
33
|
-
<bpmn:outgoing>Flow_0tgf785</bpmn:outgoing>
|
34
|
-
<bpmn:errorEventDefinition id="ErrorEventDefinition_0nesf0j" />
|
35
|
-
</bpmn:boundaryEvent>
|
36
|
-
</bpmn:process>
|
37
|
-
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
38
|
-
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1cidyxu">
|
39
|
-
<bpmndi:BPMNShape id="Participant_0px403d_di" bpmnElement="Participant_0px403d" isHorizontal="true">
|
40
|
-
<dc:Bounds x="5" y="4" width="525" height="346" />
|
41
|
-
</bpmndi:BPMNShape>
|
42
|
-
<bpmndi:BPMNShape id="Lane_1xzf0d3_di" bpmnElement="Lane_1xzf0d3" isHorizontal="true">
|
43
|
-
<dc:Bounds x="35" y="4" width="495" height="346" />
|
44
|
-
</bpmndi:BPMNShape>
|
45
|
-
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
|
46
|
-
<dc:Bounds x="92" y="152" width="36" height="36" />
|
47
|
-
<bpmndi:BPMNLabel>
|
48
|
-
<dc:Bounds x="98" y="195" width="24" height="14" />
|
49
|
-
</bpmndi:BPMNLabel>
|
50
|
-
</bpmndi:BPMNShape>
|
51
|
-
<bpmndi:BPMNShape id="Event_0kmuys0_di" bpmnElement="Event_0kmuys0">
|
52
|
-
<dc:Bounds x="332" y="152" width="36" height="36" />
|
53
|
-
</bpmndi:BPMNShape>
|
54
|
-
<bpmndi:BPMNShape id="Activity_04h2kr7_di" bpmnElement="Activity_09zn4t5">
|
55
|
-
<dc:Bounds x="180" y="130" width="100" height="80" />
|
56
|
-
</bpmndi:BPMNShape>
|
57
|
-
<bpmndi:BPMNShape id="Event_1gy657v_di" bpmnElement="Event_1gy657v">
|
58
|
-
<dc:Bounds x="362" y="272" width="36" height="36" />
|
59
|
-
</bpmndi:BPMNShape>
|
60
|
-
<bpmndi:BPMNShape id="Event_0s7ur9g_di" bpmnElement="Event_1w4tivm">
|
61
|
-
<dc:Bounds x="222" y="192" width="36" height="36" />
|
62
|
-
</bpmndi:BPMNShape>
|
63
|
-
<bpmndi:BPMNEdge id="Flow_14izvt0_di" bpmnElement="Flow_14izvt0">
|
64
|
-
<di:waypoint x="128" y="170" />
|
65
|
-
<di:waypoint x="180" y="170" />
|
66
|
-
</bpmndi:BPMNEdge>
|
67
|
-
<bpmndi:BPMNEdge id="Flow_1ukmuxb_di" bpmnElement="Flow_1ukmuxb">
|
68
|
-
<di:waypoint x="280" y="170" />
|
69
|
-
<di:waypoint x="332" y="170" />
|
70
|
-
</bpmndi:BPMNEdge>
|
71
|
-
<bpmndi:BPMNEdge id="Flow_0tgf785_di" bpmnElement="Flow_0tgf785">
|
72
|
-
<di:waypoint x="240" y="228" />
|
73
|
-
<di:waypoint x="240" y="290" />
|
74
|
-
<di:waypoint x="362" y="290" />
|
75
|
-
</bpmndi:BPMNEdge>
|
76
|
-
</bpmndi:BPMNPlane>
|
77
|
-
</bpmndi:BPMNDiagram>
|
78
|
-
</bpmn:definitions>
|
@@ -1,77 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="NodeRedExternalTask_Definition" targetNamespace="http://bpmn.io/schema/bpmn" exporter="5Minds Studio" exporterVersion="1">
|
3
|
-
<bpmn:collaboration id="Collaboration_1cidyxu" name="">
|
4
|
-
<bpmn:participant id="Participant_0px403d" name="NodeRedExternalTask" processRef="NodeRedExternalTask_Process" />
|
5
|
-
</bpmn:collaboration>
|
6
|
-
<bpmn:process id="NodeRedExternalTask_Process" name="NodeRedExternalTask" isExecutable="true">
|
7
|
-
<bpmn:laneSet>
|
8
|
-
<bpmn:lane id="Lane_1xzf0d3">
|
9
|
-
<bpmn:flowNodeRef>StartEvent_1</bpmn:flowNodeRef>
|
10
|
-
<bpmn:flowNodeRef>Activity_1h843f0</bpmn:flowNodeRef>
|
11
|
-
<bpmn:flowNodeRef>Activity_1duxvq1</bpmn:flowNodeRef>
|
12
|
-
<bpmn:flowNodeRef>Event_0z1wtnd</bpmn:flowNodeRef>
|
13
|
-
</bpmn:lane>
|
14
|
-
</bpmn:laneSet>
|
15
|
-
<bpmn:startEvent id="StartEvent_1" name="Start">
|
16
|
-
<bpmn:outgoing>Flow_1xfzejj</bpmn:outgoing>
|
17
|
-
</bpmn:startEvent>
|
18
|
-
<bpmn:sequenceFlow id="Flow_1xfzejj" sourceRef="StartEvent_1" targetRef="Activity_1h843f0" />
|
19
|
-
<bpmn:serviceTask id="Activity_1h843f0" name="Node Red Flow" camunda:type="external" camunda:topic="Test">
|
20
|
-
<bpmn:extensionElements>
|
21
|
-
<camunda:properties>
|
22
|
-
<camunda:property name="payload" value="{ test: 1 }" />
|
23
|
-
</camunda:properties>
|
24
|
-
</bpmn:extensionElements>
|
25
|
-
<bpmn:incoming>Flow_1xfzejj</bpmn:incoming>
|
26
|
-
<bpmn:outgoing>Flow_110cohh</bpmn:outgoing>
|
27
|
-
</bpmn:serviceTask>
|
28
|
-
<bpmn:sequenceFlow id="Flow_110cohh" sourceRef="Activity_1h843f0" targetRef="Activity_1duxvq1" />
|
29
|
-
<bpmn:serviceTask id="Activity_1duxvq1" name="SampleError" camunda:type="external" camunda:topic="SampleError">
|
30
|
-
<bpmn:incoming>Flow_110cohh</bpmn:incoming>
|
31
|
-
<bpmn:outgoing>Flow_1u1afua</bpmn:outgoing>
|
32
|
-
</bpmn:serviceTask>
|
33
|
-
<bpmn:sequenceFlow id="Flow_1u1afua" sourceRef="Activity_1duxvq1" targetRef="Event_0z1wtnd" />
|
34
|
-
<bpmn:endEvent id="Event_0z1wtnd">
|
35
|
-
<bpmn:incoming>Flow_1u1afua</bpmn:incoming>
|
36
|
-
</bpmn:endEvent>
|
37
|
-
</bpmn:process>
|
38
|
-
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
39
|
-
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1cidyxu">
|
40
|
-
<bpmndi:BPMNShape id="Participant_0px403d_di" bpmnElement="Participant_0px403d" isHorizontal="true">
|
41
|
-
<dc:Bounds x="5" y="4" width="695" height="346" />
|
42
|
-
</bpmndi:BPMNShape>
|
43
|
-
<bpmndi:BPMNShape id="Lane_1xzf0d3_di" bpmnElement="Lane_1xzf0d3" isHorizontal="true">
|
44
|
-
<dc:Bounds x="35" y="4" width="665" height="346" />
|
45
|
-
</bpmndi:BPMNShape>
|
46
|
-
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
|
47
|
-
<dc:Bounds x="92" y="152" width="36" height="36" />
|
48
|
-
<bpmndi:BPMNLabel>
|
49
|
-
<dc:Bounds x="98" y="195" width="24" height="14" />
|
50
|
-
</bpmndi:BPMNLabel>
|
51
|
-
</bpmndi:BPMNShape>
|
52
|
-
<bpmndi:BPMNShape id="Activity_0sg2du2_di" bpmnElement="Activity_1h843f0">
|
53
|
-
<dc:Bounds x="180" y="130" width="100" height="80" />
|
54
|
-
<bpmndi:BPMNLabel />
|
55
|
-
</bpmndi:BPMNShape>
|
56
|
-
<bpmndi:BPMNShape id="Activity_1ohliek_di" bpmnElement="Activity_1duxvq1">
|
57
|
-
<dc:Bounds x="370" y="130" width="100" height="80" />
|
58
|
-
<bpmndi:BPMNLabel />
|
59
|
-
</bpmndi:BPMNShape>
|
60
|
-
<bpmndi:BPMNShape id="Event_0z1wtnd_di" bpmnElement="Event_0z1wtnd">
|
61
|
-
<dc:Bounds x="562" y="152" width="36" height="36" />
|
62
|
-
</bpmndi:BPMNShape>
|
63
|
-
<bpmndi:BPMNEdge id="Flow_1xfzejj_di" bpmnElement="Flow_1xfzejj">
|
64
|
-
<di:waypoint x="128" y="170" />
|
65
|
-
<di:waypoint x="180" y="170" />
|
66
|
-
</bpmndi:BPMNEdge>
|
67
|
-
<bpmndi:BPMNEdge id="Flow_110cohh_di" bpmnElement="Flow_110cohh">
|
68
|
-
<di:waypoint x="280" y="170" />
|
69
|
-
<di:waypoint x="370" y="170" />
|
70
|
-
</bpmndi:BPMNEdge>
|
71
|
-
<bpmndi:BPMNEdge id="Flow_1u1afua_di" bpmnElement="Flow_1u1afua">
|
72
|
-
<di:waypoint x="470" y="170" />
|
73
|
-
<di:waypoint x="562" y="170" />
|
74
|
-
</bpmndi:BPMNEdge>
|
75
|
-
</bpmndi:BPMNPlane>
|
76
|
-
</bpmndi:BPMNDiagram>
|
77
|
-
</bpmn:definitions>
|