@5minds/node-red-contrib-processcube 1.4.0-feature-d2cbe1-m2dh23ei → 2.0.0-feature-629c78-m2dq1ygt

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.
@@ -58,11 +58,26 @@
58
58
  Waiting for external tasks that correspond to the `Topic` configured in
59
59
  the connected ProcessCube Engine for processing.
60
60
 
61
+ ## Configs
62
+
63
+ : name (string) : The name of the node
64
+ : engine (string) : The ProcessCube Engine to connect to
65
+ : topic (string) : The topic of the external task
66
+ : workerConfig (object) : The configuration for the worker
67
+
68
+ ### workerConfig
69
+
70
+ - workerId (string): The id of the worker
71
+ - lockDuration (number): The duration in milliseconds the external task is locked for execution
72
+ - maxTasks (number): The maximum number of tasks that can be fetched at once
73
+ - longpollingTimeout (number): The duration in milliseconds the external task is locked for execution
74
+ - payloadFilter (Req-Expression): The filter for the payload of the external task
75
+
61
76
  ## Outputs
62
77
 
63
78
  : payload (string) : The payload the external task was started with.
64
79
  : task (object) : The external task object
65
- : flowNodeInstanceId : The unique identifier of the external task, which is needed to complete the task
80
+ : flowNodeInstanceId (string) : The unique identifier of the external task, which is needed to complete the task
66
81
 
67
82
  ### Details
68
83
 
@@ -109,8 +109,14 @@ module.exports = function (RED) {
109
109
  });
110
110
  };
111
111
 
112
+ let options = {};
113
+
114
+ if (!!config.workerConfig) {
115
+ options = RED.util.evaluateNodeProperty(config.workerConfig, 'json', node);
116
+ }
117
+
112
118
  client.externalTasks
113
- .subscribeToExternalTaskTopic(config.topic, etwCallback, RED.util.evaluateNodeProperty(config.workerConfig, 'json', node))
119
+ .subscribeToExternalTaskTopic(config.topic, etwCallback, options)
114
120
  .then(async (externalTaskWorker) => {
115
121
  node.status({ fill: 'blue', shape: 'ring', text: 'subcribed' });
116
122
 
@@ -136,7 +142,8 @@ module.exports = function (RED) {
136
142
  showStatus(node, Object.keys(started_external_tasks).length);
137
143
  break;
138
144
  default:
139
- node.error(`Worker error ${errorType}: ${error.message}`);
145
+ // reduce noise error logs
146
+ // node.error(`Worker error ${errorType}: ${error.message}`);
140
147
  break;
141
148
  }
142
149
  });
@@ -71,6 +71,22 @@
71
71
  "info": "",
72
72
  "env": []
73
73
  },
74
+ {
75
+ "id": "76c047e0d8770a20",
76
+ "type": "tab",
77
+ "label": "Other Events",
78
+ "disabled": false,
79
+ "info": "",
80
+ "env": []
81
+ },
82
+ {
83
+ "id": "2766c40d84283368",
84
+ "type": "tab",
85
+ "label": "Placeholder",
86
+ "disabled": false,
87
+ "info": "",
88
+ "env": []
89
+ },
74
90
  {
75
91
  "id": "4c59118134081e05",
76
92
  "type": "group",
@@ -467,6 +483,52 @@
467
483
  "w": 572,
468
484
  "h": 142
469
485
  },
486
+ {
487
+ "id": "865723b71ced9418",
488
+ "type": "group",
489
+ "z": "76c047e0d8770a20",
490
+ "style": {
491
+ "stroke": "#999999",
492
+ "stroke-opacity": "1",
493
+ "fill": "none",
494
+ "fill-opacity": "1",
495
+ "label": true,
496
+ "label-position": "nw",
497
+ "color": "#a4a4a4"
498
+ },
499
+ "nodes": [
500
+ "930624edc6169c55",
501
+ "2f2ec1cc0213eab5",
502
+ "bde205e77cd20558"
503
+ ],
504
+ "x": 34,
505
+ "y": 39,
506
+ "w": 502,
507
+ "h": 142
508
+ },
509
+ {
510
+ "id": "9081b057a931f0cf",
511
+ "type": "group",
512
+ "z": "2766c40d84283368",
513
+ "style": {
514
+ "stroke": "#999999",
515
+ "stroke-opacity": "1",
516
+ "fill": "none",
517
+ "fill-opacity": "1",
518
+ "label": true,
519
+ "label-position": "nw",
520
+ "color": "#a4a4a4"
521
+ },
522
+ "nodes": [
523
+ "03ac7bc273197c45",
524
+ "bb734a85d4b37728",
525
+ "3d03550f7d93bfd3"
526
+ ],
527
+ "x": 54,
528
+ "y": 39,
529
+ "w": 422,
530
+ "h": 142
531
+ },
470
532
  {
471
533
  "id": "42e6796dddd9d4db",
472
534
  "type": "processcube-engine-config",
@@ -798,6 +860,8 @@
798
860
  "name": "Test_Auth",
799
861
  "engine": "b78932d162d8d468",
800
862
  "topic": "Test_Auth",
863
+ "workerConfig": "{}",
864
+ "workerConfigType": "json",
801
865
  "x": 120,
802
866
  "y": 180,
803
867
  "wires": [
@@ -861,6 +925,8 @@
861
925
  "name": "SampleError_Auth",
862
926
  "engine": "b78932d162d8d468",
863
927
  "topic": "SampleError_Auth",
928
+ "workerConfig": "{}",
929
+ "workerConfigType": "json",
864
930
  "x": 150,
865
931
  "y": 360,
866
932
  "wires": [
@@ -1387,7 +1453,7 @@
1387
1453
  "g": "a71a168415778e2c",
1388
1454
  "name": "",
1389
1455
  "engine": "42e6796dddd9d4db",
1390
- "query": "{\"includeXml\":false}",
1456
+ "query": "{\"includeXml\":false,\"processDefinitionId\":\"External-Task-Sample_Definition\"}",
1391
1457
  "query_type": "json",
1392
1458
  "x": 320,
1393
1459
  "y": 140,
@@ -1996,5 +2062,95 @@
1996
2062
  "x": 760,
1997
2063
  "y": 60,
1998
2064
  "wires": []
2065
+ },
2066
+ {
2067
+ "id": "930624edc6169c55",
2068
+ "type": "process-event-listener",
2069
+ "z": "76c047e0d8770a20",
2070
+ "g": "865723b71ced9418",
2071
+ "name": "",
2072
+ "engine": "42e6796dddd9d4db",
2073
+ "processmodel": "External-Task-Sample_Process",
2074
+ "eventtype": "starting",
2075
+ "query": "{}",
2076
+ "query_type": "json",
2077
+ "x": 160,
2078
+ "y": 140,
2079
+ "wires": [
2080
+ [
2081
+ "2f2ec1cc0213eab5"
2082
+ ]
2083
+ ]
2084
+ },
2085
+ {
2086
+ "id": "2f2ec1cc0213eab5",
2087
+ "type": "debug",
2088
+ "z": "76c047e0d8770a20",
2089
+ "g": "865723b71ced9418",
2090
+ "name": "debug 34",
2091
+ "active": true,
2092
+ "tosidebar": true,
2093
+ "console": false,
2094
+ "tostatus": false,
2095
+ "complete": "false",
2096
+ "statusVal": "",
2097
+ "statusType": "auto",
2098
+ "x": 430,
2099
+ "y": 140,
2100
+ "wires": []
2101
+ },
2102
+ {
2103
+ "id": "bde205e77cd20558",
2104
+ "type": "comment",
2105
+ "z": "76c047e0d8770a20",
2106
+ "g": "865723b71ced9418",
2107
+ "name": "Hört auf die Events der Processe",
2108
+ "info": "",
2109
+ "x": 190,
2110
+ "y": 80,
2111
+ "wires": []
2112
+ },
2113
+ {
2114
+ "id": "03ac7bc273197c45",
2115
+ "type": "process-terminate",
2116
+ "z": "2766c40d84283368",
2117
+ "g": "9081b057a931f0cf",
2118
+ "name": "",
2119
+ "engine": "42e6796dddd9d4db",
2120
+ "x": 170,
2121
+ "y": 140,
2122
+ "wires": [
2123
+ [
2124
+ "bb734a85d4b37728"
2125
+ ]
2126
+ ]
2127
+ },
2128
+ {
2129
+ "id": "bb734a85d4b37728",
2130
+ "type": "debug",
2131
+ "z": "2766c40d84283368",
2132
+ "g": "9081b057a931f0cf",
2133
+ "name": "debug 35",
2134
+ "active": true,
2135
+ "tosidebar": true,
2136
+ "console": false,
2137
+ "tostatus": false,
2138
+ "complete": "false",
2139
+ "statusVal": "",
2140
+ "statusType": "auto",
2141
+ "x": 370,
2142
+ "y": 140,
2143
+ "wires": []
2144
+ },
2145
+ {
2146
+ "id": "3d03550f7d93bfd3",
2147
+ "type": "comment",
2148
+ "z": "2766c40d84283368",
2149
+ "g": "9081b057a931f0cf",
2150
+ "name": "Event for Terminating a Process",
2151
+ "info": "",
2152
+ "x": 210,
2153
+ "y": 80,
2154
+ "wires": []
1999
2155
  }
2000
2156
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/node-red-contrib-processcube",
3
- "version": "1.4.0-feature-d2cbe1-m2dh23ei",
3
+ "version": "2.0.0-feature-629c78-m2dq1ygt",
4
4
  "license": "MIT",
5
5
  "description": "Node-RED nodes for ProcessCube",
6
6
  "scripts": {
@@ -29,9 +29,10 @@
29
29
  <script type="text/markdown" data-help-name="process-terminate">
30
30
  Terminate an instance of a process model in the ProcessCube.
31
31
 
32
- ## Inputs
32
+ ## Configs
33
33
 
34
- : payload (string): The id of the processinstance that is going to be terminated.
34
+ : name (string): name of the node
35
+ : engine (string): the engine to connect to
35
36
 
36
37
  ## Outputs
37
38
 
@@ -50,13 +50,127 @@ A node to query process instances on the ProcessCube Engine.
50
50
 
51
51
  ## Inputs
52
52
 
53
- : payload (Object | JSON) : Will be used as the input for the query or can be directly set as JSON.
53
+ : msg (Object | JSON) : The selected field of the *msg*, eg *payload*, will be used as the input for the query or can be directly set as JSON.
54
+ : query (Object) : The query that was used.
54
55
 
55
56
  ## Outputs
56
57
 
57
58
  : processInstances (Array) : The process instances that matched the query.
58
59
  : totalCount (number) : The number of matches.
59
60
 
61
+ ### Query fields
62
+
63
+ **Summary**:
64
+
65
+ **Description**: Gets all ProcessInstances that match the given query.
66
+
67
+ #### Parameters:
68
+ - Name: `offset` Required: `false`
69
+ - Type: number
70
+ - Description: The index of the first ProcessInstance to include in the result set.
71
+ - Name: `limit` Required: `false`
72
+ - Type: number
73
+ - Description: The maximum number of ProcessInstances to return.
74
+ - Name: `correlationId` Required: `false`
75
+ - Type: Array&lt;string&gt; | string | SearchQuery
76
+ - string: myCorrelationId
77
+ - Array&lt;string&gt;: myCorrelationId1,myCorrelationId2
78
+ - object:
79
+ - Description: Filter by the CorrelationId of the ProcessInstances.
80
+ - Name: `processInstanceId` Required: ``
81
+ - Type: Array&lt;string&gt; | string | SearchQuery
82
+ - string: myProcessInstance_12345678
83
+ - Array&lt;string&gt;: myProcessInstance_12345678,myProcessInstance_87654321
84
+ - object:
85
+ - Description: Filter by the ID of the ProcessInstances.
86
+ - Name: `processDefinitionId` Required: ``
87
+ - Type: Array&lt;string&gt; | string | SearchQuery
88
+ - string: myProcess_12345678
89
+ - Array&lt;string&gt;: myProcess_12345678,myProcess_87654321
90
+ - object:
91
+ - Description: Filter by the ID of the ProcessDefinition that the ProcessInstances belong to.
92
+ - Name: `processModelId` Required: ``
93
+ - Type: Array&lt;string&gt; | string | SearchQuery
94
+ - string: myProcessModel_12345678
95
+ - Array&lt;string&gt;: myProcessModel_12345678,myProcessModel_87654321
96
+ - object:
97
+ - Description: Filter by the ID of the ProcessModel that the ProcessInstances belong to.
98
+ - Name: `processModelName` Required: ``
99
+ - Type: Array&lt;string&gt; | string | SearchQuery
100
+ - string: My Process Model
101
+ - Array&lt;string&gt;: My Process Model,My Other Process Model
102
+ - object:
103
+ - Description: Filter by the name of the ProcessModel that the ProcessInstances belong to.
104
+ - Name: `processModelHash` Required: ``
105
+ - Type: Array&lt;string&gt; | string | SearchQuery
106
+ - string: 12345678
107
+ - Array&lt;string&gt;: 12345678,87654321
108
+ - object:
109
+ - Description: Filter by the hash of the ProcessModel that the ProcessInstances belong to.
110
+ - Name: `ownerId` Required: ``
111
+ - Type: Array&lt;string&gt; | string | SearchQuery
112
+ - string: 12345678
113
+ - Array&lt;string&gt;: 12345678,87654321
114
+ - object:
115
+ - Description: Filter by the ID of the User that owns the ProcessInstances.
116
+ - Name: `state` Required: ``
117
+ - Type: Array&lt;string&gt; | string | SearchQuery
118
+ - string: running
119
+ - Array&lt;string&gt;: running,finished
120
+ - object:
121
+ - Description: Filter by the state of the ProcessInstances.
122
+ - Name: `parentProcessInstanceId` Required: ``
123
+ - Type: Array&lt;string&gt; | string | SearchQuery
124
+ - string: myParentProcessInstance_12345678
125
+ - Array&lt;string&gt;: myParentProcessInstance_12345678,myParentProcessInstance_87654321
126
+ - object:
127
+ - Description: Filter by the ID of the parent ProcessInstance.
128
+ - Name: `terminatedByUserId` Required: ``
129
+ - Type: Array&lt;string&gt; | string | SearchQuery
130
+ - string: 12345678
131
+ - Array&lt;string&gt;: 12345678,87654321
132
+ - object:
133
+ - Description: Filter by the ID of the User that terminated the ProcessInstances.
134
+ - Name: `createdBefore` Required: ``
135
+ - Type: string
136
+ - Description: The maximum created date of the ProcessInstances to include in the results.
137
+ - Name: `createdAt` Required: ``
138
+ - Type: Array&lt;string&gt; | string
139
+ - string: 2021-01-01T00:00:00.000Z
140
+ - array: 2021-01-01T00:00:00.000Z,2021-01-02T00:00:00.000Z
141
+ - Description: The minimum created date of the ProcessInstances to include in the results.
142
+ - Name: `createdAfter` Required: ``
143
+ - Type: string
144
+ - Description: The minimum created date of the ProcessInstances to include in the results.
145
+ - Name: `updatedBefore` Required: ``
146
+ - Type: string
147
+ - Description: The maximum updated date of the ProcessInstances to include in the results.
148
+ - Name: `updatedAt` Required: ``
149
+ - Type: Array&lt;string&gt; | string
150
+ - string: 2021-01-01T00:00:00.000Z
151
+ - array: 2021-01-01T00:00:00.000Z,2021-01-02T00:00:00.000Z
152
+ - Description: The exact updated date of the ProcessInstances to include in the results.
153
+ - Name: `updatedAfter` Required: ``
154
+ - Type: string
155
+ - Description: The minimum updated date of the ProcessInstances to include in the results.
156
+ - Name: `finishedBefore` Required: ``
157
+ - Type: string
158
+ - Description: The maximum finished date of the ProcessInstances to include in the results.
159
+ - Name: `finishedAt` Required: ``
160
+ - Type: Array&lt;string&gt; | string
161
+ - string: 2021-01-01T00:00:00.000Z
162
+ - array: 2021-01-01T00:00:00.000Z,2021-01-02T00:00:00.000Z
163
+ - Description: The exact finished date of the ProcessInstances to include in the results.
164
+ - Name: `finishedAfter` Required: ``
165
+ - Type: string
166
+ - Description: The minimum finished date of the ProcessInstances to include in the results.
167
+ - Name: `triggeredByFlowNodeInstance` Required: ``
168
+ - Type: Array&lt;string&gt; | string | SearchQuery
169
+ - string: myFlowNodeInstance_12345678
170
+ - array: myFlowNodeInstance_12345678,myFlowNodeInstance_87654321
171
+ - object:
172
+ - Description: Filter by the ID of the FlowNodeInstance that triggered the ProcessInstance.
173
+
60
174
  ### References
61
175
 
62
176
  - [The ProcessCube&copy; Developer Network](https://processcube.io) - All documentation for the ProcessCube&copy; platform