@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 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).
@@ -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© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
137
- - [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in 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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
140
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
139
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
140
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
141
141
  </script>
@@ -45,6 +45,6 @@ Waiting for end events that are finished.
45
45
 
46
46
  ### References
47
47
 
48
- - [The ProcessCube&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
49
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
48
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
49
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
50
50
  </script>
@@ -46,6 +46,6 @@ handling within _Error-Boundary-Events_.
46
46
 
47
47
  ### References
48
48
 
49
- - [The ProcessCube&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
50
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
49
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
50
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
56
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
55
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
56
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
57
57
  </script>
@@ -131,6 +131,6 @@ the connected ProcessCube Engine for processing.
131
131
 
132
132
  ### References
133
133
 
134
- - [The ProcessCube&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
135
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
134
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
135
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
136
136
  </script>
@@ -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
- if (node._step) {
431
- this.status({ fill: 'blue', shape: 'dot', text: `tasks(${msgCounter}) ->'${node._step}'` });
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: `subcribed` });
440
- this.sendStatus('Ok', `subcribed`);
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: 'subcribed' });
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)}`);
@@ -31,6 +31,6 @@ engine as the result of the external task.
31
31
 
32
32
  ### References
33
33
 
34
- - [The ProcessCube&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
35
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
34
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
35
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
47
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
46
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
47
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
48
48
  </script>
package/package.json CHANGED
@@ -1,77 +1,78 @@
1
1
  {
2
- "name": "@5minds/node-red-contrib-processcube",
3
- "version": "1.16.3",
4
- "license": "MIT",
5
- "description": "Node-RED nodes for ProcessCube",
6
- "scripts": {
7
- "lint": "prettier --write --config ./.prettierrc.json \"**/*.{html,js}\""
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
- "authors": [
10
- {
11
- "name": "Martin Moellenbeck",
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
- "bugs": {
28
- "url": "https://github.com/5minds/node-red-contrib-processcube/issues",
29
- "email": "processcube@5minds.de"
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
- "engines": {
32
- "node": ">=14",
33
- "npm": ">=8.0.0"
34
- },
35
- "node-red": {
36
- "version": ">=3.1.9",
37
- "nodes": {
38
- "checkAuthorization": "check-authorization.js",
39
- "DataobjectInstanceQuery": "dataobject-instance-query.js",
40
- "EndEventFinishedListener": "endevent-finished-listener.js",
41
- "externaltaskInput": "externaltask-input.js",
42
- "externaltaskOutput": "externaltask-output.js",
43
- "externaltaskError": "externaltask-error.js",
44
- "externaltaskEventListener": "externaltask-event-listener.js",
45
- "processStart": "process-start.js",
46
- "processTerminate": "process-terminate.js",
47
- "processEventListener": "process-event-listener.js",
48
- "processcubeEngineConfig": "processcube-engine-config.js",
49
- "ProcessinstanceQuery": "processinstance-query.js",
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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
170
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
169
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
170
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
171
171
  </script>
@@ -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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
64
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
63
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
64
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
65
65
  </script>
@@ -40,6 +40,6 @@ Terminate an instance of a process model in the ProcessCube.
40
40
 
41
41
  ### References
42
42
 
43
- - [The ProcessCube&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
44
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
43
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
44
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
45
45
  </script>
@@ -99,6 +99,6 @@ The configuration for the ProcessCube engine.
99
99
 
100
100
  ### References
101
101
 
102
- - [The ProcessCube&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
103
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
102
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
103
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
104
104
  </script>
@@ -145,6 +145,6 @@ Becomes:
145
145
 
146
146
  ## References
147
147
 
148
- - [The ProcessCube Developer Network](https://processcube.io) – All documentation for the ProcessCube&copy; platform
149
- - [Node-RED Integration in ProcessCube&copy;](https://processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
148
+ - [The ProcessCube Network](https://www.processcube.io) – All information for the ProcessCube&copy; platform (videos, docs and co.)
149
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
43
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
42
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
43
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
87
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
86
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
87
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
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 Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
81
- - [Node-RED Integration in ProcessCube&copy;](https://processcube.io/docs/node-red) - Node-RED integration in ProcessCube&copy;
80
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
81
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) Node-RED integration in ProcessCube&copy;
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 Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
109
- - [Node-RED Integration in ProcessCube&copy;](https://processcube.io/docs/node-red) - Node-RED integration in ProcessCube&copy;
108
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
109
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) Node-RED integration in ProcessCube&copy;
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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
184
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
183
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
184
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
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 emmits a signal event to the Engine.
36
+ A node which emits a signal event to the Engine.
37
37
 
38
- From the config the `signalname` and the `processInstanceId` must be set.
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 an new token payload.
43
- : processInstanceId (string) : The process instance where the signal event should be triggered.
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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
48
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
47
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
48
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
49
49
  </script>
@@ -15,12 +15,17 @@ module.exports = function (RED) {
15
15
  return;
16
16
  }
17
17
 
18
- client.events
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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
202
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
201
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
202
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
203
203
  </script>
@@ -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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
190
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
189
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
190
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
191
191
  </script>
@@ -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&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
60
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
59
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
60
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
61
61
  </script>
@@ -188,6 +188,6 @@ Waiting for Usertasks of the connected ProcessCube Engine.
188
188
 
189
189
  ### References
190
190
 
191
- - [The ProcessCube&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform
192
- - [ProcessCube&copy; LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube&copy;
191
+ - [The ProcessCube Network](https://www.processcube.io) All information for the ProcessCube&copy; platform (videos, docs and co.)
192
+ - [Node-RED Integration in ProcessCube&copy;](https://docs.processcube.io/docs/node-red) – Node-RED integration in ProcessCube&copy;
193
193
  </script>