@5minds/node-red-contrib-processcube 1.16.3 → 1.16.5
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/README.md +1 -1
- package/check-authorization.html +2 -2
- package/dataobject-instance-query.html +2 -2
- package/endevent-finished-listener.html +2 -2
- package/externaltask-error.html +2 -2
- package/externaltask-event-listener.html +2 -2
- package/externaltask-input.html +2 -2
- package/externaltask-input.js +6 -186
- package/externaltask-output.html +2 -2
- package/message-event-trigger.html +2 -2
- package/package.json +74 -73
- package/process-event-listener.html +2 -2
- package/process-start.html +2 -2
- package/process-terminate.html +2 -2
- package/processcube-engine-config.html +2 -2
- package/processcube-google-docs-mail-template.html +2 -2
- package/processdefinition-deploy.html +2 -2
- package/processdefinition-query.html +2 -2
- package/processinstance-delete-advanced.html +2 -2
- package/processinstance-delete.html +2 -2
- package/processinstance-query.html +2 -2
- package/signal-event-trigger.html +6 -6
- package/signal-event-trigger.js +9 -4
- package/usertask-event-listener.html +2 -2
- package/usertask-input.html +2 -2
- package/usertask-output.html +2 -2
- package/wait-for-usertask.html +2 -2
package/README.md
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
|
|
3
3
|
This repository contains some nodes to integrate the ProcessCube Engine into the ProcessCube LowCode component (Node-RED).
|
|
4
4
|
|
|
5
|
-
Details see @ [ProcessCub.io - LowCode Integration Nodes](https://processcube.io/docs/node-red/integration-nodes) and [ProcessCub.io - LowCode Event Nodes](https://processcube.io/docs/node-red/event-nodes).
|
|
5
|
+
Details see @ [ProcessCub.io - LowCode Integration Nodes](https://docs.processcube.io/docs/node-red/integration-nodes) and [ProcessCub.io - LowCode Event Nodes](https://docs.processcube.io/docs/node-red/event-nodes).
|
package/check-authorization.html
CHANGED
|
@@ -133,6 +133,6 @@ A Node that checks if a user has the specified claims
|
|
|
133
133
|
|
|
134
134
|
### References
|
|
135
135
|
|
|
136
|
-
- [The ProcessCube
|
|
137
|
-
- [ProcessCube©
|
|
136
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
137
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
138
138
|
</script>
|
|
@@ -136,6 +136,6 @@ As soon as the engine supports querying for the newest dataObject values, this f
|
|
|
136
136
|
|
|
137
137
|
### References
|
|
138
138
|
|
|
139
|
-
- [The ProcessCube
|
|
140
|
-
- [ProcessCube©
|
|
139
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
140
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
141
141
|
</script>
|
|
@@ -45,6 +45,6 @@ Waiting for end events that are finished.
|
|
|
45
45
|
|
|
46
46
|
### References
|
|
47
47
|
|
|
48
|
-
- [The ProcessCube
|
|
49
|
-
- [ProcessCube©
|
|
48
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
49
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
50
50
|
</script>
|
package/externaltask-error.html
CHANGED
|
@@ -46,6 +46,6 @@ handling within _Error-Boundary-Events_.
|
|
|
46
46
|
|
|
47
47
|
### References
|
|
48
48
|
|
|
49
|
-
- [The ProcessCube
|
|
50
|
-
- [ProcessCube©
|
|
49
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
50
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
51
51
|
</script>
|
|
@@ -52,6 +52,6 @@ A node which listens for events triggered by externaltasks
|
|
|
52
52
|
|
|
53
53
|
### References
|
|
54
54
|
|
|
55
|
-
- [The ProcessCube
|
|
56
|
-
- [ProcessCube©
|
|
55
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
56
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
57
57
|
</script>
|
package/externaltask-input.html
CHANGED
|
@@ -131,6 +131,6 @@ the connected ProcessCube Engine for processing.
|
|
|
131
131
|
|
|
132
132
|
### References
|
|
133
133
|
|
|
134
|
-
- [The ProcessCube
|
|
135
|
-
- [ProcessCube©
|
|
134
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
135
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
136
136
|
</script>
|
package/externaltask-input.js
CHANGED
|
@@ -144,110 +144,6 @@ module.exports = function (RED) {
|
|
|
144
144
|
|
|
145
145
|
node._subscribed = true;
|
|
146
146
|
node._subscribed_error = null;
|
|
147
|
-
node._trace = '';
|
|
148
|
-
node._step = '';
|
|
149
|
-
node._tracking_nodes = {};
|
|
150
|
-
node._join_inputs = {};
|
|
151
|
-
node._tracking_for_etw = {};
|
|
152
|
-
|
|
153
|
-
node.isHandling = () => {
|
|
154
|
-
return Object.keys(node.started_external_tasks).length > 0;
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
node.ownMessage = (msg) => {
|
|
158
|
-
return msg.etw_input_node_id === node.id;
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
node.clearTracking = (msg) => {
|
|
162
|
-
if (msg.flowNodeInstanceId) {
|
|
163
|
-
node._tracking_for_etw[msg.flowNodeInstanceId].forEach((theNode) => {
|
|
164
|
-
node.decrMsgOnNode(theNode, msg);
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
node.incMsgOnNode = (theNode, msg) => {
|
|
170
|
-
if (node.id === theNode.id) {
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
if (!node._tracking_nodes[theNode.id]) {
|
|
175
|
-
node._tracking_nodes[theNode.id] = {
|
|
176
|
-
node: theNode,
|
|
177
|
-
count: 1,
|
|
178
|
-
};
|
|
179
|
-
} else {
|
|
180
|
-
node._tracking_nodes[theNode.id].count++;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// bei nodes vom type 'join' müssen die eingänge gezählt werden,
|
|
184
|
-
// dass diese dann wieder beim verlassen am ausgang gesamt entfernt werden müssem
|
|
185
|
-
if (theNode.type === 'join') {
|
|
186
|
-
if (!node._join_inputs[theNode.id]) {
|
|
187
|
-
node._join_inputs[theNode.id] = {};
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
if (!node._join_inputs[theNode.id][msg.flowNodeInstanceId]) {
|
|
191
|
-
node._join_inputs[theNode.id][msg.flowNodeInstanceId] = 1;
|
|
192
|
-
} else {
|
|
193
|
-
node._join_inputs[theNode.id][msg.flowNodeInstanceId]++;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
if (!node._tracking_for_etw[msg.flowNodeInstanceId]) {
|
|
198
|
-
node._tracking_for_etw[msg.flowNodeInstanceId] = [];
|
|
199
|
-
node._tracking_for_etw[msg.flowNodeInstanceId].push(theNode);
|
|
200
|
-
} else {
|
|
201
|
-
node._tracking_for_etw[msg.flowNodeInstanceId].push(theNode);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
theNode.status({ fill: 'blue', shape: 'dot', text: `tasks(${node._tracking_nodes[theNode.id].count})` });
|
|
205
|
-
};
|
|
206
|
-
|
|
207
|
-
node.decrMsgOnNode = (theNode, msg) => {
|
|
208
|
-
if (node.id === theNode.id) {
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// bei nodes vom type 'join' müssen die eingänge gezählt werden,
|
|
213
|
-
// dass diese dann wieder beim verlassen am ausgang gesamt entfernt werden müssen
|
|
214
|
-
let dec_count = 1;
|
|
215
|
-
|
|
216
|
-
if (theNode.type === 'join') {
|
|
217
|
-
if (!node._join_inputs[theNode.id]) {
|
|
218
|
-
node._join_inputs[theNode.id] = {};
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
if (node._join_inputs[theNode.id][msg.flowNodeInstanceId]) {
|
|
222
|
-
dec_count = node._join_inputs[theNode.id][msg.flowNodeInstanceId];
|
|
223
|
-
delete node._join_inputs[theNode.id][msg.flowNodeInstanceId];
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
if (!node._tracking_nodes[theNode.id]) {
|
|
228
|
-
node._tracking_nodes[theNode.id] = {
|
|
229
|
-
node: theNode,
|
|
230
|
-
count: 0,
|
|
231
|
-
};
|
|
232
|
-
} else {
|
|
233
|
-
//node._tracking_nodes[theNode.id].count--;
|
|
234
|
-
node._tracking_nodes[theNode.id].count =- dec_count;
|
|
235
|
-
|
|
236
|
-
if (node._tracking_nodes[theNode.id].count <= 0) {
|
|
237
|
-
node._tracking_nodes[theNode.id].count = 0;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
if (node._tracking_for_etw[msg.flowNodeInstanceId]) {
|
|
242
|
-
const count_nodes = node._tracking_for_etw[msg.flowNodeInstanceId].filter(item => item !== theNode)
|
|
243
|
-
|
|
244
|
-
if (count_nodes <= 0) {
|
|
245
|
-
delete node._tracking_for_etw[msg.flowNodeInstanceId];
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
theNode.status({ fill: 'blue', shape: 'dot', text: `tasks(${node._tracking_nodes[theNode.id].count})` });
|
|
250
|
-
};
|
|
251
147
|
|
|
252
148
|
node.traceExecution = (msg) => {
|
|
253
149
|
if ((node._traces || []).includes(msg.event)) {
|
|
@@ -266,70 +162,6 @@ module.exports = function (RED) {
|
|
|
266
162
|
}
|
|
267
163
|
};
|
|
268
164
|
|
|
269
|
-
const onPreDeliver = (sendEvent) => {
|
|
270
|
-
try {
|
|
271
|
-
if (node.isHandling() && node.ownMessage(sendEvent.msg)) {
|
|
272
|
-
|
|
273
|
-
const sourceNode = sendEvent?.source?.node;
|
|
274
|
-
const destinationNode = sendEvent?.destination?.node;
|
|
275
|
-
|
|
276
|
-
node._step = `${destinationNode.name || destinationNode.type}`;
|
|
277
|
-
|
|
278
|
-
node.showStatus();
|
|
279
|
-
|
|
280
|
-
const debugMsg = {
|
|
281
|
-
event: 'enter',
|
|
282
|
-
sourceName: sourceNode.name,
|
|
283
|
-
sourceType: sourceNode.type,
|
|
284
|
-
destinationNodeName: destinationNode.name,
|
|
285
|
-
destinationNodeType: destinationNode.type,
|
|
286
|
-
timestamp: new Date().toISOString(),
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
node.traceExecution(debugMsg);
|
|
290
|
-
|
|
291
|
-
if (process.env.NODE_RED_ETW_STEP_LOGGING == 'true' || process.env.NODERED_ETW_STEP_LOGGING == 'true') {
|
|
292
|
-
node._trace = `'${sourceNode.name || sourceNode.type}'->'${destinationNode.name || destinationNode.type}'`;
|
|
293
|
-
node.log(`preDeliver: ${node._trace}`);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
} catch (error) {
|
|
297
|
-
node.error(`Error in onPreDeliver: ${error?.message}`, { error: error });
|
|
298
|
-
}
|
|
299
|
-
};
|
|
300
|
-
RED.hooks.add(`preDeliver.etw-input-${node.id}`, onPreDeliver);
|
|
301
|
-
|
|
302
|
-
const onPostDeliver = (sendEvent) => {
|
|
303
|
-
try {
|
|
304
|
-
if (node.isHandling() && node.ownMessage(sendEvent.msg)) {
|
|
305
|
-
const sourceNode = sendEvent?.source?.node;
|
|
306
|
-
const destinationNode = sendEvent?.destination?.node;
|
|
307
|
-
|
|
308
|
-
node.decrMsgOnNode(sourceNode, sendEvent.msg);
|
|
309
|
-
node.incMsgOnNode(destinationNode, sendEvent.msg);
|
|
310
|
-
|
|
311
|
-
const debugMsg = {
|
|
312
|
-
event: 'exit',
|
|
313
|
-
sourceName: sourceNode.name,
|
|
314
|
-
sourceType: sourceNode.type,
|
|
315
|
-
destinationNodeName: destinationNode.name,
|
|
316
|
-
destinationNodeType: destinationNode.type,
|
|
317
|
-
timestamp: new Date().toISOString(),
|
|
318
|
-
};
|
|
319
|
-
|
|
320
|
-
node.traceExecution(debugMsg);
|
|
321
|
-
|
|
322
|
-
if (process.env.NODE_RED_ETW_STEP_LOGGING == 'true' || process.env.NODERED_ETW_STEP_LOGGING == 'true') {
|
|
323
|
-
node._trace = `'${sourceNode.name || sourceNode.type}'->'${destinationNode.name || destinationNode.type}'`;
|
|
324
|
-
node.log(`postDeliver: ${node._trace}`);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
} catch (error) {
|
|
328
|
-
node.error(`Error in onPostDeliver: ${error?.message}`, { error: error });
|
|
329
|
-
}
|
|
330
|
-
};
|
|
331
|
-
RED.hooks.add(`postDeliver.etw-input-${node.id}`, onPostDeliver);
|
|
332
|
-
|
|
333
165
|
node.setSubscribedStatus = () => {
|
|
334
166
|
this._subscribed = true;
|
|
335
167
|
this._subscribed_error = null;
|
|
@@ -367,8 +199,6 @@ module.exports = function (RED) {
|
|
|
367
199
|
node.setFinishHandlingTaskStatus = (externalTask) => {
|
|
368
200
|
if (externalTask.flowNodeInstanceId) {
|
|
369
201
|
delete this.started_external_tasks[externalTask.flowNodeInstanceId];
|
|
370
|
-
node._trace = '';
|
|
371
|
-
node._step = '';
|
|
372
202
|
}
|
|
373
203
|
|
|
374
204
|
this._subscribed = true;
|
|
@@ -383,7 +213,6 @@ module.exports = function (RED) {
|
|
|
383
213
|
|
|
384
214
|
node.traceExecution(debugMsg);
|
|
385
215
|
|
|
386
|
-
this.clearTracking(externalTask); // as msg
|
|
387
216
|
this.showStatus();
|
|
388
217
|
};
|
|
389
218
|
|
|
@@ -423,22 +252,15 @@ module.exports = function (RED) {
|
|
|
423
252
|
|
|
424
253
|
if (this._subscribed === false) {
|
|
425
254
|
this.status({ fill: 'red', shape: 'ring', text: `subscription failed (${msgCounter})` });
|
|
426
|
-
|
|
427
255
|
this.sendStatus('NotOk', `subscription failed (${msgCounter})`);
|
|
428
256
|
} else {
|
|
429
257
|
if (msgCounter >= 1) {
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
this.sendStatus('Ok', `tasks(${msgCounter}) ->'${node._step}'.`);
|
|
433
|
-
} else {
|
|
434
|
-
this.status({ fill: 'blue', shape: 'dot', text: `tasks(${msgCounter})` });
|
|
435
|
-
this.sendStatus('Ok', `tasks(${msgCounter})`);
|
|
436
|
-
}
|
|
437
|
-
this.log(`handling tasks ${msgCounter}.`);
|
|
258
|
+
this.status({ fill: 'blue', shape: 'dot', text: `tasks(${msgCounter})` });
|
|
259
|
+
this.sendStatus('Ok', `tasks(${msgCounter})`);
|
|
438
260
|
} else {
|
|
439
|
-
this.status({ fill: 'green', shape: 'ring', text: `
|
|
440
|
-
this.sendStatus('Ok', `
|
|
441
|
-
}
|
|
261
|
+
this.status({ fill: 'green', shape: 'ring', text: `subscribed` });
|
|
262
|
+
this.sendStatus('Ok', `subscribed`);
|
|
263
|
+
}
|
|
442
264
|
}
|
|
443
265
|
};
|
|
444
266
|
|
|
@@ -560,7 +382,7 @@ module.exports = function (RED) {
|
|
|
560
382
|
client.externalTasks
|
|
561
383
|
.subscribeToExternalTaskTopic(topic, etwCallback, options)
|
|
562
384
|
.then(async (externalTaskWorker) => {
|
|
563
|
-
node.status({ fill: 'blue', shape: 'ring', text: '
|
|
385
|
+
node.status({ fill: 'blue', shape: 'ring', text: 'subscribed' });
|
|
564
386
|
|
|
565
387
|
node.etw = externalTaskWorker;
|
|
566
388
|
|
|
@@ -614,8 +436,6 @@ module.exports = function (RED) {
|
|
|
614
436
|
node.on('close', () => {
|
|
615
437
|
try {
|
|
616
438
|
externalTaskWorker.stop();
|
|
617
|
-
RED.hooks.remove(`preDeliver.etw-input-${node.id}`);
|
|
618
|
-
RED.hooks.remove(`postDeliver.etw-input-${node.id}`);
|
|
619
439
|
node.log('External Task Worker closed.');
|
|
620
440
|
} catch (error) {
|
|
621
441
|
node.error(`Client close failed: ${JSON.stringify(error)}`);
|
package/externaltask-output.html
CHANGED
|
@@ -31,6 +31,6 @@ engine as the result of the external task.
|
|
|
31
31
|
|
|
32
32
|
### References
|
|
33
33
|
|
|
34
|
-
- [The ProcessCube
|
|
35
|
-
- [ProcessCube©
|
|
34
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
35
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
36
36
|
</script>
|
|
@@ -43,6 +43,6 @@ From the config the `messagename` and the `processInstanceId` must be set.
|
|
|
43
43
|
|
|
44
44
|
### References
|
|
45
45
|
|
|
46
|
-
- [The ProcessCube
|
|
47
|
-
- [ProcessCube©
|
|
46
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
47
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
48
48
|
</script>
|
package/package.json
CHANGED
|
@@ -1,77 +1,78 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
"name": "@5minds/node-red-contrib-processcube",
|
|
3
|
+
"version": "1.16.5",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"description": "Node-RED nodes for ProcessCube",
|
|
6
|
+
"authors": [
|
|
7
|
+
{
|
|
8
|
+
"name": "Martin Moellenbeck",
|
|
9
|
+
"email": "Martin.Moellenbeck@5Minds.de"
|
|
8
10
|
},
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"email": "Martin.Moellenbeck@5Minds.de"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"name": "Robin Lenz",
|
|
16
|
-
"email": "Robin.Lenz@5Minds.de"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"name": "André Siebelist",
|
|
20
|
-
"email": "Andre.Siebelist@5Minds.de"
|
|
21
|
-
}
|
|
22
|
-
],
|
|
23
|
-
"repository": {
|
|
24
|
-
"type": "git",
|
|
25
|
-
"url": "https://github.com/5minds/node-red-contrib-processcube"
|
|
11
|
+
{
|
|
12
|
+
"name": "Robin Lenz",
|
|
13
|
+
"email": "Robin.Lenz@5Minds.de"
|
|
26
14
|
},
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
{
|
|
16
|
+
"name": "André Siebelist",
|
|
17
|
+
"email": "Andre.Siebelist@5Minds.de"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "https://github.com/5minds/ProcessCube.LowCode.git",
|
|
23
|
+
"directory": "packages/node-red-contrib-processcube"
|
|
24
|
+
},
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/5minds/node-red-contrib-processcube/issues",
|
|
27
|
+
"email": "processcube@5minds.de"
|
|
28
|
+
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=14",
|
|
31
|
+
"npm": ">=8.0.0"
|
|
32
|
+
},
|
|
33
|
+
"node-red": {
|
|
34
|
+
"version": ">=3.1.9",
|
|
35
|
+
"nodes": {
|
|
36
|
+
"checkAuthorization": "check-authorization.js",
|
|
37
|
+
"DataobjectInstanceQuery": "dataobject-instance-query.js",
|
|
38
|
+
"EndEventFinishedListener": "endevent-finished-listener.js",
|
|
39
|
+
"externaltaskInput": "externaltask-input.js",
|
|
40
|
+
"externaltaskOutput": "externaltask-output.js",
|
|
41
|
+
"externaltaskError": "externaltask-error.js",
|
|
42
|
+
"externaltaskEventListener": "externaltask-event-listener.js",
|
|
43
|
+
"processStart": "process-start.js",
|
|
44
|
+
"processTerminate": "process-terminate.js",
|
|
45
|
+
"processEventListener": "process-event-listener.js",
|
|
46
|
+
"processcubeEngineConfig": "processcube-engine-config.js",
|
|
47
|
+
"ProcessinstanceQuery": "processinstance-query.js",
|
|
48
|
+
"ProcessinstanceDelete": "processinstance-delete.js",
|
|
49
|
+
"ProcessinstanceDeleteAdvanced": "processinstance-delete-advanced.js",
|
|
50
|
+
"ProcessdefinitionDeploy": "processdefinition-deploy.js",
|
|
51
|
+
"ProcessdefinitionQuery": "processdefinition-query.js",
|
|
52
|
+
"messageEventTrigger": "message-event-trigger.js",
|
|
53
|
+
"signalEventTrigger": "signal-event-trigger.js",
|
|
54
|
+
"userTaskEventListener": "usertask-event-listener.js",
|
|
55
|
+
"UserTaskInput": "usertask-input.js",
|
|
56
|
+
"UserTaskOutput": "usertask-output.js",
|
|
57
|
+
"WaitForUsertask": "wait-for-usertask.js",
|
|
58
|
+
"ProcesssCubeGoogleDocsMailTemplate": "processcube-google-docs-mail-template.js"
|
|
30
59
|
},
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"ProcessinstanceDelete": "processinstance-delete.js",
|
|
51
|
-
"ProcessinstanceDeleteAdvanced": "processinstance-delete-advanced.js",
|
|
52
|
-
"ProcessdefinitionDeploy": "processdefinition-deploy.js",
|
|
53
|
-
"ProcessdefinitionQuery": "processdefinition-query.js",
|
|
54
|
-
"messageEventTrigger": "message-event-trigger.js",
|
|
55
|
-
"signalEventTrigger": "signal-event-trigger.js",
|
|
56
|
-
"userTaskEventListener": "usertask-event-listener.js",
|
|
57
|
-
"UserTaskInput": "usertask-input.js",
|
|
58
|
-
"UserTaskOutput": "usertask-output.js",
|
|
59
|
-
"WaitForUsertask": "wait-for-usertask.js",
|
|
60
|
-
"ProcesssCubeGoogleDocsMailTemplate": "processcube-google-docs-mail-template.js"
|
|
61
|
-
},
|
|
62
|
-
"examples": "examples"
|
|
63
|
-
},
|
|
64
|
-
"dependencies": {
|
|
65
|
-
"@5minds/processcube_engine_client": "^6.1.4",
|
|
66
|
-
"adm-zip": "^0.5.16",
|
|
67
|
-
"jwt-decode": "^4.0.0",
|
|
68
|
-
"openid-client": "^5.5.0"
|
|
69
|
-
},
|
|
70
|
-
"keywords": [
|
|
71
|
-
"node-red",
|
|
72
|
-
"processcube",
|
|
73
|
-
"workflow",
|
|
74
|
-
"bpmn",
|
|
75
|
-
"low-code"
|
|
76
|
-
]
|
|
77
|
-
}
|
|
60
|
+
"examples": "examples"
|
|
61
|
+
},
|
|
62
|
+
"dependencies": {
|
|
63
|
+
"@5minds/processcube_engine_client": "6.2.1-develop-5ee5c8-mlf0gcna",
|
|
64
|
+
"adm-zip": "^0.5.16",
|
|
65
|
+
"jwt-decode": "^4.0.0",
|
|
66
|
+
"openid-client": "^5.5.0"
|
|
67
|
+
},
|
|
68
|
+
"keywords": [
|
|
69
|
+
"node-red",
|
|
70
|
+
"processcube",
|
|
71
|
+
"workflow",
|
|
72
|
+
"bpmn",
|
|
73
|
+
"low-code"
|
|
74
|
+
],
|
|
75
|
+
"scripts": {
|
|
76
|
+
"lint": "prettier --write --config ./.prettierrc.json \"**/*.{html,js}\""
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -166,6 +166,6 @@ A node which listens for events triggered by processes
|
|
|
166
166
|
|
|
167
167
|
### References
|
|
168
168
|
|
|
169
|
-
- [The ProcessCube
|
|
170
|
-
- [ProcessCube©
|
|
169
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
170
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
171
171
|
</script>
|
package/process-start.html
CHANGED
|
@@ -60,6 +60,6 @@ The `processModelId` and `startEventId` can be set in the message object to over
|
|
|
60
60
|
|
|
61
61
|
### References
|
|
62
62
|
|
|
63
|
-
- [The ProcessCube
|
|
64
|
-
- [ProcessCube©
|
|
63
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
64
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
65
65
|
</script>
|
package/process-terminate.html
CHANGED
|
@@ -40,6 +40,6 @@ Terminate an instance of a process model in the ProcessCube.
|
|
|
40
40
|
|
|
41
41
|
### References
|
|
42
42
|
|
|
43
|
-
- [The ProcessCube
|
|
44
|
-
- [ProcessCube©
|
|
43
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
44
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
45
45
|
</script>
|
|
@@ -99,6 +99,6 @@ The configuration for the ProcessCube engine.
|
|
|
99
99
|
|
|
100
100
|
### References
|
|
101
101
|
|
|
102
|
-
- [The ProcessCube
|
|
103
|
-
- [ProcessCube©
|
|
102
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
103
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
104
104
|
</script>
|
|
@@ -145,6 +145,6 @@ Becomes:
|
|
|
145
145
|
|
|
146
146
|
## References
|
|
147
147
|
|
|
148
|
-
- [The ProcessCube
|
|
149
|
-
- [Node-RED Integration in ProcessCube©](https://processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
148
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
149
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
150
150
|
</script>
|
|
@@ -39,6 +39,6 @@ A node to deploy process definition to the ProcessCube Engine.
|
|
|
39
39
|
|
|
40
40
|
### References
|
|
41
41
|
|
|
42
|
-
- [The ProcessCube
|
|
43
|
-
- [ProcessCube©
|
|
42
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
43
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
44
44
|
</script>
|
|
@@ -83,6 +83,6 @@ Only models can be queried by setting the `models_only` flag.
|
|
|
83
83
|
- Description: The maximum number of ProcessDefinitions to include.
|
|
84
84
|
### References
|
|
85
85
|
|
|
86
|
-
- [The ProcessCube
|
|
87
|
-
- [ProcessCube©
|
|
86
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
87
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
88
88
|
</script>
|
|
@@ -77,6 +77,6 @@ In both cases the node supports the following fields in the query:
|
|
|
77
77
|
|
|
78
78
|
### References
|
|
79
79
|
|
|
80
|
-
- [The ProcessCube
|
|
81
|
-
- [Node-RED Integration in ProcessCube©](https://processcube.io/docs/node-red)
|
|
80
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
81
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
82
82
|
</script>
|
|
@@ -105,6 +105,6 @@ If an error occurs during the processing of a batch, all Id's of this batch are
|
|
|
105
105
|
|
|
106
106
|
### References
|
|
107
107
|
|
|
108
|
-
- [The ProcessCube
|
|
109
|
-
- [Node-RED Integration in ProcessCube©](https://processcube.io/docs/node-red)
|
|
108
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
109
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
110
110
|
</script>
|
|
@@ -180,6 +180,6 @@ A node to query process instances on the ProcessCube Engine.
|
|
|
180
180
|
|
|
181
181
|
### References
|
|
182
182
|
|
|
183
|
-
- [The ProcessCube
|
|
184
|
-
- [ProcessCube©
|
|
183
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
184
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
185
185
|
</script>
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
</script>
|
|
34
34
|
|
|
35
35
|
<script type="text/markdown" data-help-name="signal-event-trigger">
|
|
36
|
-
A node which
|
|
36
|
+
A node which emits a signal event to the Engine.
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
A signal is a broadcast event — it is sent to all waiting listeners. If a `processInstanceId` is provided, the signal is sent only to that specific process instance.
|
|
39
39
|
|
|
40
40
|
## Inputs
|
|
41
41
|
|
|
42
|
-
: payload (Object) : Will sent to the event and used
|
|
43
|
-
: processInstanceId (string) :
|
|
42
|
+
: payload (Object) : Will be sent to the event and used as new token payload.
|
|
43
|
+
: processInstanceId (string) : _Optional._ If set, the signal is sent only to this specific process instance. If omitted, the signal is broadcast to all listeners.
|
|
44
44
|
|
|
45
45
|
### References
|
|
46
46
|
|
|
47
|
-
- [The ProcessCube
|
|
48
|
-
- [ProcessCube©
|
|
47
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
48
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
49
49
|
</script>
|
package/signal-event-trigger.js
CHANGED
|
@@ -15,12 +15,17 @@ module.exports = function (RED) {
|
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
.triggerSignalEvent(config.signalname, {
|
|
20
|
-
processInstanceId: msg.processinstanceid,
|
|
18
|
+
const options = {
|
|
21
19
|
payload: msg.payload,
|
|
22
20
|
identity: userIdentity
|
|
23
|
-
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
if (msg.processinstanceid) {
|
|
24
|
+
options.processInstanceId = msg.processinstanceid;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
client.events
|
|
28
|
+
.triggerSignalEvent(config.signalname, options)
|
|
24
29
|
.then((result) => {
|
|
25
30
|
msg.payload = result;
|
|
26
31
|
|
|
@@ -198,6 +198,6 @@ A node which listens for events triggered by usertasks
|
|
|
198
198
|
|
|
199
199
|
### References
|
|
200
200
|
|
|
201
|
-
- [The ProcessCube
|
|
202
|
-
- [ProcessCube©
|
|
201
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
202
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
203
203
|
</script>
|
package/usertask-input.html
CHANGED
|
@@ -186,6 +186,6 @@ A node which sends a payload to a usertask in the ProcessCube.
|
|
|
186
186
|
|
|
187
187
|
### References
|
|
188
188
|
|
|
189
|
-
- [The ProcessCube
|
|
190
|
-
- [ProcessCube©
|
|
189
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
190
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
191
191
|
</script>
|
package/usertask-output.html
CHANGED
|
@@ -56,6 +56,6 @@ A node which sends the result of a usertask to the ProcessCube.
|
|
|
56
56
|
|
|
57
57
|
### References
|
|
58
58
|
|
|
59
|
-
- [The ProcessCube
|
|
60
|
-
- [ProcessCube©
|
|
59
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
60
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
61
61
|
</script>
|
package/wait-for-usertask.html
CHANGED
|
@@ -188,6 +188,6 @@ Waiting for Usertasks of the connected ProcessCube Engine.
|
|
|
188
188
|
|
|
189
189
|
### References
|
|
190
190
|
|
|
191
|
-
- [The ProcessCube
|
|
192
|
-
- [ProcessCube©
|
|
191
|
+
- [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube© platform (videos, docs and co.)
|
|
192
|
+
- [Node-RED Integration in ProcessCube©](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube©
|
|
193
193
|
</script>
|