@5minds/node-red-contrib-processcube 1.1.4-feature-b953ba-m17k0vnb → 1.1.5-develop-ea4932-m1aok5mh
Sign up to get free protection for your applications and to get access to all the features.
- package/endevent-finished-listener.html +2 -2
- package/examples/Endevent-Finished-Sample.json +46 -0
- package/examples/Externaltask-Event-Sample.json +48 -0
- package/examples/Message-Event-Trigger-Sample.json +47 -0
- package/examples/Process-Event-Listener.json +50 -0
- package/examples/Process-Start-Sample.json +48 -0
- package/examples/Process-Terminate-Sample.json +75 -0
- package/examples/Signal-Event-Trigger-Sample.json +47 -0
- package/examples/User-Task-Sample.json +92 -67
- package/externaltask-error.html +2 -2
- package/externaltask-event-listener.html +2 -2
- package/externaltask-input.html +2 -2
- package/externaltask-output.html +2 -2
- package/message-event-trigger.html +2 -3
- package/package.json +1 -2
- package/process-event-listener.html +2 -2
- package/process-start.html +2 -3
- package/process-terminate.html +2 -3
- package/processcube-engine-config.html +2 -3
- package/processdefinition-query.html +2 -3
- package/processinstance-query.html +2 -4
- package/signal-event-trigger.html +2 -3
- package/usertask-event-listener.html +2 -2
- package/usertask-input.html +10 -31
- package/usertask-input.js +15 -36
- package/usertask-output.html +2 -2
- package/processinstance-delete.html +0 -58
- package/processinstance-delete.js +0 -55
@@ -45,6 +45,6 @@ Waiting for end events that are finished.
|
|
45
45
|
|
46
46
|
### References
|
47
47
|
|
48
|
-
-
|
49
|
-
-
|
48
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
49
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
50
50
|
</script>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": "e0221ca7bcc43410",
|
4
|
+
"type": "tab",
|
5
|
+
"label": "Flow 1",
|
6
|
+
"disabled": false,
|
7
|
+
"info": "",
|
8
|
+
"env": []
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"id": "99c103764aa0dd67",
|
12
|
+
"type": "endevent-finished-listener",
|
13
|
+
"z": "e0221ca7bcc43410",
|
14
|
+
"name": "",
|
15
|
+
"engine": "4cd9b529f03e5d07",
|
16
|
+
"x": 350,
|
17
|
+
"y": 360,
|
18
|
+
"wires": [
|
19
|
+
[
|
20
|
+
"ddcbcb47a30846cc"
|
21
|
+
]
|
22
|
+
]
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"id": "ddcbcb47a30846cc",
|
26
|
+
"type": "debug",
|
27
|
+
"z": "e0221ca7bcc43410",
|
28
|
+
"name": "debug 1",
|
29
|
+
"active": true,
|
30
|
+
"tosidebar": true,
|
31
|
+
"console": false,
|
32
|
+
"tostatus": false,
|
33
|
+
"complete": "false",
|
34
|
+
"statusVal": "",
|
35
|
+
"statusType": "auto",
|
36
|
+
"x": 680,
|
37
|
+
"y": 360,
|
38
|
+
"wires": []
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"id": "4cd9b529f03e5d07",
|
42
|
+
"type": "processcube-engine-config",
|
43
|
+
"name": "",
|
44
|
+
"url": "http://engine:8000"
|
45
|
+
}
|
46
|
+
]
|
@@ -0,0 +1,48 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": "e0221ca7bcc43410",
|
4
|
+
"type": "tab",
|
5
|
+
"label": "Flow 1",
|
6
|
+
"disabled": false,
|
7
|
+
"info": "",
|
8
|
+
"env": []
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"id": "ddcbcb47a30846cc",
|
12
|
+
"type": "debug",
|
13
|
+
"z": "e0221ca7bcc43410",
|
14
|
+
"name": "debug 1",
|
15
|
+
"active": true,
|
16
|
+
"tosidebar": true,
|
17
|
+
"console": false,
|
18
|
+
"tostatus": false,
|
19
|
+
"complete": "false",
|
20
|
+
"statusVal": "",
|
21
|
+
"statusType": "auto",
|
22
|
+
"x": 680,
|
23
|
+
"y": 360,
|
24
|
+
"wires": []
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"id": "bdafbeab35606a9f",
|
28
|
+
"type": "externaltask-event-listener",
|
29
|
+
"z": "e0221ca7bcc43410",
|
30
|
+
"name": "",
|
31
|
+
"engine": "4cd9b529f03e5d07",
|
32
|
+
"externaltask": "",
|
33
|
+
"eventtype": "created",
|
34
|
+
"x": 350,
|
35
|
+
"y": 360,
|
36
|
+
"wires": [
|
37
|
+
[
|
38
|
+
"ddcbcb47a30846cc"
|
39
|
+
]
|
40
|
+
]
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"id": "4cd9b529f03e5d07",
|
44
|
+
"type": "processcube-engine-config",
|
45
|
+
"name": "",
|
46
|
+
"url": "http://engine:8000"
|
47
|
+
}
|
48
|
+
]
|
@@ -0,0 +1,47 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": "e0221ca7bcc43410",
|
4
|
+
"type": "tab",
|
5
|
+
"label": "Flow 1",
|
6
|
+
"disabled": false,
|
7
|
+
"info": "",
|
8
|
+
"env": []
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"id": "ddcbcb47a30846cc",
|
12
|
+
"type": "debug",
|
13
|
+
"z": "e0221ca7bcc43410",
|
14
|
+
"name": "debug 1",
|
15
|
+
"active": true,
|
16
|
+
"tosidebar": true,
|
17
|
+
"console": false,
|
18
|
+
"tostatus": false,
|
19
|
+
"complete": "false",
|
20
|
+
"statusVal": "",
|
21
|
+
"statusType": "auto",
|
22
|
+
"x": 680,
|
23
|
+
"y": 360,
|
24
|
+
"wires": []
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"id": "4e6b50755428220b",
|
28
|
+
"type": "message-event-trigger",
|
29
|
+
"z": "e0221ca7bcc43410",
|
30
|
+
"name": "",
|
31
|
+
"engine": "4cd9b529f03e5d07",
|
32
|
+
"messagename": "My-Message-Event",
|
33
|
+
"x": 360,
|
34
|
+
"y": 360,
|
35
|
+
"wires": [
|
36
|
+
[
|
37
|
+
"ddcbcb47a30846cc"
|
38
|
+
]
|
39
|
+
]
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"id": "4cd9b529f03e5d07",
|
43
|
+
"type": "processcube-engine-config",
|
44
|
+
"name": "",
|
45
|
+
"url": "http://engine:8000"
|
46
|
+
}
|
47
|
+
]
|
@@ -0,0 +1,50 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": "e0221ca7bcc43410",
|
4
|
+
"type": "tab",
|
5
|
+
"label": "Flow 1",
|
6
|
+
"disabled": false,
|
7
|
+
"info": "",
|
8
|
+
"env": []
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"id": "ddcbcb47a30846cc",
|
12
|
+
"type": "debug",
|
13
|
+
"z": "e0221ca7bcc43410",
|
14
|
+
"name": "debug 1",
|
15
|
+
"active": true,
|
16
|
+
"tosidebar": true,
|
17
|
+
"console": false,
|
18
|
+
"tostatus": false,
|
19
|
+
"complete": "false",
|
20
|
+
"statusVal": "",
|
21
|
+
"statusType": "auto",
|
22
|
+
"x": 680,
|
23
|
+
"y": 360,
|
24
|
+
"wires": []
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"id": "8abe2d1336341797",
|
28
|
+
"type": "process-event-listener",
|
29
|
+
"z": "e0221ca7bcc43410",
|
30
|
+
"name": "",
|
31
|
+
"engine": "4cd9b529f03e5d07",
|
32
|
+
"processmodel": "",
|
33
|
+
"eventtype": "started",
|
34
|
+
"query": "{}",
|
35
|
+
"query_type": "json",
|
36
|
+
"x": 360,
|
37
|
+
"y": 360,
|
38
|
+
"wires": [
|
39
|
+
[
|
40
|
+
"ddcbcb47a30846cc"
|
41
|
+
]
|
42
|
+
]
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"id": "4cd9b529f03e5d07",
|
46
|
+
"type": "processcube-engine-config",
|
47
|
+
"name": "",
|
48
|
+
"url": "http://engine:8000"
|
49
|
+
}
|
50
|
+
]
|
@@ -0,0 +1,48 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": "e0221ca7bcc43410",
|
4
|
+
"type": "tab",
|
5
|
+
"label": "Flow 1",
|
6
|
+
"disabled": false,
|
7
|
+
"info": "",
|
8
|
+
"env": []
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"id": "ddcbcb47a30846cc",
|
12
|
+
"type": "debug",
|
13
|
+
"z": "e0221ca7bcc43410",
|
14
|
+
"name": "debug 1",
|
15
|
+
"active": true,
|
16
|
+
"tosidebar": true,
|
17
|
+
"console": false,
|
18
|
+
"tostatus": false,
|
19
|
+
"complete": "false",
|
20
|
+
"statusVal": "",
|
21
|
+
"statusType": "auto",
|
22
|
+
"x": 680,
|
23
|
+
"y": 360,
|
24
|
+
"wires": []
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"id": "f028b3204b89f89f",
|
28
|
+
"type": "process-start",
|
29
|
+
"z": "e0221ca7bcc43410",
|
30
|
+
"name": "",
|
31
|
+
"engine": "4cd9b529f03e5d07",
|
32
|
+
"processmodel": "My_Process",
|
33
|
+
"startevent": "StartEvent_1",
|
34
|
+
"x": 390,
|
35
|
+
"y": 360,
|
36
|
+
"wires": [
|
37
|
+
[
|
38
|
+
"ddcbcb47a30846cc"
|
39
|
+
]
|
40
|
+
]
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"id": "4cd9b529f03e5d07",
|
44
|
+
"type": "processcube-engine-config",
|
45
|
+
"name": "",
|
46
|
+
"url": "http://engine:8000"
|
47
|
+
}
|
48
|
+
]
|
@@ -0,0 +1,75 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": "e0221ca7bcc43410",
|
4
|
+
"type": "tab",
|
5
|
+
"label": "Flow 1",
|
6
|
+
"disabled": false,
|
7
|
+
"info": "",
|
8
|
+
"env": []
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"id": "ddcbcb47a30846cc",
|
12
|
+
"type": "debug",
|
13
|
+
"z": "e0221ca7bcc43410",
|
14
|
+
"name": "debug 1",
|
15
|
+
"active": true,
|
16
|
+
"tosidebar": true,
|
17
|
+
"console": false,
|
18
|
+
"tostatus": false,
|
19
|
+
"complete": "false",
|
20
|
+
"statusVal": "",
|
21
|
+
"statusType": "auto",
|
22
|
+
"x": 820,
|
23
|
+
"y": 360,
|
24
|
+
"wires": []
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"id": "7bf175249a1e4191",
|
28
|
+
"type": "process-terminate",
|
29
|
+
"z": "e0221ca7bcc43410",
|
30
|
+
"name": "",
|
31
|
+
"engine": "4cd9b529f03e5d07",
|
32
|
+
"x": 570,
|
33
|
+
"y": 360,
|
34
|
+
"wires": [
|
35
|
+
[
|
36
|
+
"ddcbcb47a30846cc"
|
37
|
+
]
|
38
|
+
]
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"id": "0a92212597eeb5b8",
|
42
|
+
"type": "inject",
|
43
|
+
"z": "e0221ca7bcc43410",
|
44
|
+
"name": "",
|
45
|
+
"props": [
|
46
|
+
{
|
47
|
+
"p": "payload"
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"p": "topic",
|
51
|
+
"vt": "str"
|
52
|
+
}
|
53
|
+
],
|
54
|
+
"repeat": "",
|
55
|
+
"crontab": "",
|
56
|
+
"once": false,
|
57
|
+
"onceDelay": 0.1,
|
58
|
+
"topic": "",
|
59
|
+
"payload": "TheProcessInstanceIdGoesHere",
|
60
|
+
"payloadType": "str",
|
61
|
+
"x": 310,
|
62
|
+
"y": 360,
|
63
|
+
"wires": [
|
64
|
+
[
|
65
|
+
"7bf175249a1e4191"
|
66
|
+
]
|
67
|
+
]
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"id": "4cd9b529f03e5d07",
|
71
|
+
"type": "processcube-engine-config",
|
72
|
+
"name": "",
|
73
|
+
"url": "http://engine:8000"
|
74
|
+
}
|
75
|
+
]
|
@@ -0,0 +1,47 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": "e0221ca7bcc43410",
|
4
|
+
"type": "tab",
|
5
|
+
"label": "Flow 1",
|
6
|
+
"disabled": false,
|
7
|
+
"info": "",
|
8
|
+
"env": []
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"id": "ddcbcb47a30846cc",
|
12
|
+
"type": "debug",
|
13
|
+
"z": "e0221ca7bcc43410",
|
14
|
+
"name": "debug 1",
|
15
|
+
"active": true,
|
16
|
+
"tosidebar": true,
|
17
|
+
"console": false,
|
18
|
+
"tostatus": false,
|
19
|
+
"complete": "false",
|
20
|
+
"statusVal": "",
|
21
|
+
"statusType": "auto",
|
22
|
+
"x": 680,
|
23
|
+
"y": 360,
|
24
|
+
"wires": []
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"id": "ad5b5c56dc748337",
|
28
|
+
"type": "signal-event-trigger",
|
29
|
+
"z": "e0221ca7bcc43410",
|
30
|
+
"name": "",
|
31
|
+
"engine": "4cd9b529f03e5d07",
|
32
|
+
"signalname": "My_Event",
|
33
|
+
"x": 370,
|
34
|
+
"y": 360,
|
35
|
+
"wires": [
|
36
|
+
[
|
37
|
+
"ddcbcb47a30846cc"
|
38
|
+
]
|
39
|
+
]
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"id": "4cd9b529f03e5d07",
|
43
|
+
"type": "processcube-engine-config",
|
44
|
+
"name": "",
|
45
|
+
"url": "http://engine:8000"
|
46
|
+
}
|
47
|
+
]
|
@@ -21,15 +21,16 @@
|
|
21
21
|
"color": "#a4a4a4"
|
22
22
|
},
|
23
23
|
"nodes": [
|
24
|
-
"f7a9604a17188737",
|
25
24
|
"020d34cd4ab43900",
|
26
|
-
"
|
27
|
-
"
|
25
|
+
"127bc6e092c5724e",
|
26
|
+
"6ebfe52c79b7f0cd",
|
27
|
+
"2760e94c2824a5a4",
|
28
|
+
"8d17d660fce14104"
|
28
29
|
],
|
29
30
|
"x": 34,
|
30
|
-
"y":
|
31
|
-
"w":
|
32
|
-
"h":
|
31
|
+
"y": 59,
|
32
|
+
"w": 572,
|
33
|
+
"h": 222
|
33
34
|
},
|
34
35
|
{
|
35
36
|
"id": "72d3db13edc2486b",
|
@@ -45,41 +46,24 @@
|
|
45
46
|
"color": "#a4a4a4"
|
46
47
|
},
|
47
48
|
"nodes": [
|
48
|
-
"ae0583e83c762956",
|
49
49
|
"f7c7682e3a6adaaa",
|
50
50
|
"a2fb6369b16c12fa",
|
51
51
|
"8ef39e83173d41e3",
|
52
52
|
"f524b8cc35d56849",
|
53
|
-
"9fb4017c1d0ac7c9"
|
53
|
+
"9fb4017c1d0ac7c9",
|
54
|
+
"a1c3526b6fa21903"
|
54
55
|
],
|
55
56
|
"x": 34,
|
56
|
-
"y":
|
57
|
-
"w":
|
58
|
-
"h":
|
59
|
-
},
|
60
|
-
{
|
61
|
-
"id": "f7a9604a17188737",
|
62
|
-
"type": "usertask-new-listener",
|
63
|
-
"z": "fd3c725340de4f74",
|
64
|
-
"d": true,
|
65
|
-
"g": "887f3fb69ad1d1fb",
|
66
|
-
"name": "New User Task",
|
67
|
-
"engine": "42e6796dddd9d4db",
|
68
|
-
"multisend": false,
|
69
|
-
"x": 160,
|
70
|
-
"y": 120,
|
71
|
-
"wires": [
|
72
|
-
[
|
73
|
-
"020d34cd4ab43900"
|
74
|
-
]
|
75
|
-
]
|
57
|
+
"y": 319,
|
58
|
+
"w": 972,
|
59
|
+
"h": 142
|
76
60
|
},
|
77
61
|
{
|
78
62
|
"id": "020d34cd4ab43900",
|
79
63
|
"type": "debug",
|
80
64
|
"z": "fd3c725340de4f74",
|
81
65
|
"g": "887f3fb69ad1d1fb",
|
82
|
-
"name": "
|
66
|
+
"name": "New User Task",
|
83
67
|
"active": true,
|
84
68
|
"tosidebar": true,
|
85
69
|
"console": false,
|
@@ -88,20 +72,34 @@
|
|
88
72
|
"targetType": "msg",
|
89
73
|
"statusVal": "",
|
90
74
|
"statusType": "auto",
|
91
|
-
"x":
|
92
|
-
"y":
|
75
|
+
"x": 420,
|
76
|
+
"y": 160,
|
77
|
+
"wires": []
|
78
|
+
},
|
79
|
+
{
|
80
|
+
"id": "127bc6e092c5724e",
|
81
|
+
"type": "comment",
|
82
|
+
"z": "fd3c725340de4f74",
|
83
|
+
"g": "887f3fb69ad1d1fb",
|
84
|
+
"name": "User Task Events",
|
85
|
+
"info": "",
|
86
|
+
"x": 140,
|
87
|
+
"y": 100,
|
93
88
|
"wires": []
|
94
89
|
},
|
95
90
|
{
|
96
|
-
"id": "
|
97
|
-
"type": "usertask-
|
91
|
+
"id": "6ebfe52c79b7f0cd",
|
92
|
+
"type": "usertask-event-listener",
|
98
93
|
"z": "fd3c725340de4f74",
|
99
94
|
"g": "887f3fb69ad1d1fb",
|
100
|
-
"name": "
|
95
|
+
"name": "",
|
101
96
|
"engine": "42e6796dddd9d4db",
|
102
|
-
"
|
103
|
-
"
|
104
|
-
"
|
97
|
+
"usertask": "",
|
98
|
+
"eventtype": "new",
|
99
|
+
"query": "{}",
|
100
|
+
"query_type": "json",
|
101
|
+
"x": 160,
|
102
|
+
"y": 160,
|
105
103
|
"wires": [
|
106
104
|
[
|
107
105
|
"020d34cd4ab43900"
|
@@ -109,33 +107,42 @@
|
|
109
107
|
]
|
110
108
|
},
|
111
109
|
{
|
112
|
-
"id": "
|
113
|
-
"type": "
|
110
|
+
"id": "2760e94c2824a5a4",
|
111
|
+
"type": "usertask-event-listener",
|
114
112
|
"z": "fd3c725340de4f74",
|
115
113
|
"g": "887f3fb69ad1d1fb",
|
116
|
-
"name": "User Task Events",
|
117
|
-
"info": "",
|
118
|
-
"x": 140,
|
119
|
-
"y": 60,
|
120
|
-
"wires": []
|
121
|
-
},
|
122
|
-
{
|
123
|
-
"id": "ae0583e83c762956",
|
124
|
-
"type": "usertask-new-listener",
|
125
|
-
"z": "fd3c725340de4f74",
|
126
|
-
"d": true,
|
127
|
-
"g": "72d3db13edc2486b",
|
128
114
|
"name": "",
|
129
115
|
"engine": "42e6796dddd9d4db",
|
130
|
-
"
|
116
|
+
"usertask": "",
|
117
|
+
"eventtype": "finished",
|
118
|
+
"query": "{}",
|
119
|
+
"query_type": "json",
|
131
120
|
"x": 160,
|
132
|
-
"y":
|
121
|
+
"y": 240,
|
133
122
|
"wires": [
|
134
123
|
[
|
135
|
-
"
|
124
|
+
"8d17d660fce14104"
|
136
125
|
]
|
137
126
|
]
|
138
127
|
},
|
128
|
+
{
|
129
|
+
"id": "8d17d660fce14104",
|
130
|
+
"type": "debug",
|
131
|
+
"z": "fd3c725340de4f74",
|
132
|
+
"g": "887f3fb69ad1d1fb",
|
133
|
+
"name": "A User Task was finished",
|
134
|
+
"active": true,
|
135
|
+
"tosidebar": true,
|
136
|
+
"console": false,
|
137
|
+
"tostatus": false,
|
138
|
+
"complete": "payload",
|
139
|
+
"targetType": "msg",
|
140
|
+
"statusVal": "",
|
141
|
+
"statusType": "auto",
|
142
|
+
"x": 450,
|
143
|
+
"y": 240,
|
144
|
+
"wires": []
|
145
|
+
},
|
139
146
|
{
|
140
147
|
"id": "f7c7682e3a6adaaa",
|
141
148
|
"type": "usertask-input",
|
@@ -145,9 +152,8 @@
|
|
145
152
|
"engine": "42e6796dddd9d4db",
|
146
153
|
"query": "payload",
|
147
154
|
"query_type": "msg",
|
148
|
-
"
|
149
|
-
"
|
150
|
-
"x": 380,
|
155
|
+
"sendtype": "first",
|
156
|
+
"x": 520,
|
151
157
|
"y": 420,
|
152
158
|
"wires": [
|
153
159
|
[
|
@@ -161,14 +167,14 @@
|
|
161
167
|
"z": "fd3c725340de4f74",
|
162
168
|
"g": "72d3db13edc2486b",
|
163
169
|
"name": "query",
|
164
|
-
"func": "msg.payload = {\n flowNodeInstanceId: msg.payload.flowNodeInstanceId,\n
|
170
|
+
"func": "msg.payload = {\n flowNodeInstanceId: msg.payload.flowNodeInstanceId,\n};\n\nreturn msg;",
|
165
171
|
"outputs": 1,
|
166
172
|
"timeout": 0,
|
167
173
|
"noerr": 0,
|
168
174
|
"initialize": "",
|
169
175
|
"finalize": "",
|
170
176
|
"libs": [],
|
171
|
-
"x":
|
177
|
+
"x": 350,
|
172
178
|
"y": 420,
|
173
179
|
"wires": [
|
174
180
|
[
|
@@ -189,8 +195,8 @@
|
|
189
195
|
"initialize": "",
|
190
196
|
"finalize": "",
|
191
197
|
"libs": [],
|
192
|
-
"x":
|
193
|
-
"y":
|
198
|
+
"x": 710,
|
199
|
+
"y": 420,
|
194
200
|
"wires": [
|
195
201
|
[
|
196
202
|
"f524b8cc35d56849"
|
@@ -206,8 +212,8 @@
|
|
206
212
|
"engine": "42e6796dddd9d4db",
|
207
213
|
"result": "payload.result",
|
208
214
|
"result_type": "msg",
|
209
|
-
"x":
|
210
|
-
"y":
|
215
|
+
"x": 900,
|
216
|
+
"y": 420,
|
211
217
|
"wires": [
|
212
218
|
[]
|
213
219
|
]
|
@@ -217,15 +223,34 @@
|
|
217
223
|
"type": "comment",
|
218
224
|
"z": "fd3c725340de4f74",
|
219
225
|
"g": "72d3db13edc2486b",
|
220
|
-
"name": "Demo to listen on a new usertask
|
226
|
+
"name": "Demo to listen on a new usertask and finish it",
|
221
227
|
"info": "",
|
222
|
-
"x":
|
223
|
-
"y":
|
228
|
+
"x": 230,
|
229
|
+
"y": 360,
|
224
230
|
"wires": []
|
225
231
|
},
|
232
|
+
{
|
233
|
+
"id": "a1c3526b6fa21903",
|
234
|
+
"type": "usertask-event-listener",
|
235
|
+
"z": "fd3c725340de4f74",
|
236
|
+
"g": "72d3db13edc2486b",
|
237
|
+
"name": "",
|
238
|
+
"engine": "42e6796dddd9d4db",
|
239
|
+
"usertask": "",
|
240
|
+
"eventtype": "new",
|
241
|
+
"query": "{}",
|
242
|
+
"query_type": "json",
|
243
|
+
"x": 160,
|
244
|
+
"y": 420,
|
245
|
+
"wires": [
|
246
|
+
[
|
247
|
+
"a2fb6369b16c12fa"
|
248
|
+
]
|
249
|
+
]
|
250
|
+
},
|
226
251
|
{
|
227
252
|
"id": "42e6796dddd9d4db",
|
228
253
|
"type": "processcube-engine-config",
|
229
254
|
"url": "http://engine:8000"
|
230
255
|
}
|
231
|
-
]
|
256
|
+
]
|
package/externaltask-error.html
CHANGED
@@ -41,6 +41,6 @@ handling within _Error-Boundary-Events_.
|
|
41
41
|
|
42
42
|
### References
|
43
43
|
|
44
|
-
-
|
45
|
-
-
|
44
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
45
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
46
46
|
</script>
|
@@ -52,6 +52,6 @@ A node which listens for events triggered by externaltasks
|
|
52
52
|
|
53
53
|
### References
|
54
54
|
|
55
|
-
-
|
56
|
-
-
|
55
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
56
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
57
57
|
</script>
|
package/externaltask-input.html
CHANGED
@@ -48,6 +48,6 @@ the connected ProcessCube Engine for processing.
|
|
48
48
|
|
49
49
|
### References
|
50
50
|
|
51
|
-
-
|
52
|
-
-
|
51
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
52
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
53
53
|
</script>
|
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
|
-
-
|
35
|
-
-
|
34
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
35
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
36
36
|
</script>
|
@@ -43,7 +43,6 @@ From the config the `messagename` and the `processInstanceId` must be set.
|
|
43
43
|
|
44
44
|
### References
|
45
45
|
|
46
|
-
-
|
47
|
-
-
|
48
|
-
|
46
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
47
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
49
48
|
</script>
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@5minds/node-red-contrib-processcube",
|
3
|
-
"version": "1.1.
|
3
|
+
"version": "1.1.5-develop-ea4932-m1aok5mh",
|
4
4
|
"license": "MIT",
|
5
5
|
"description": "Node-RED nodes for ProcessCube",
|
6
6
|
"scripts": {
|
@@ -45,7 +45,6 @@
|
|
45
45
|
"processEventListener": "process-event-listener.js",
|
46
46
|
"processcubeEngineConfig": "processcube-engine-config.js",
|
47
47
|
"ProcessinstanceQuery": "processinstance-query.js",
|
48
|
-
"ProcessinstanceDelete": "processinstance-delete.js",
|
49
48
|
"ProcessdefinitionQuery": "processdefinition-query.js",
|
50
49
|
"messageEventTrigger": "message-event-trigger.js",
|
51
50
|
"signalEventTrigger": "signal-event-trigger.js",
|
@@ -166,6 +166,6 @@ A node which listens for events triggered by processes
|
|
166
166
|
|
167
167
|
### References
|
168
168
|
|
169
|
-
-
|
170
|
-
-
|
169
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
170
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
171
171
|
</script>
|
package/process-start.html
CHANGED
@@ -54,7 +54,6 @@ The `processModelId` and `startEventId` can be set in the message object to over
|
|
54
54
|
|
55
55
|
### References
|
56
56
|
|
57
|
-
-
|
58
|
-
-
|
59
|
-
|
57
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
58
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
60
59
|
</script>
|
package/process-terminate.html
CHANGED
@@ -39,7 +39,6 @@ Terminate an instance of a process model in the ProcessCube.
|
|
39
39
|
|
40
40
|
### References
|
41
41
|
|
42
|
-
-
|
43
|
-
-
|
44
|
-
|
42
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
43
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
45
44
|
</script>
|
@@ -45,7 +45,6 @@ The configuration for the ProcessCube engine.
|
|
45
45
|
|
46
46
|
### References
|
47
47
|
|
48
|
-
-
|
49
|
-
-
|
50
|
-
|
48
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
49
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
51
50
|
</script>
|
@@ -78,7 +78,6 @@ Only models can be queried by setting the `models_only` flag.
|
|
78
78
|
|
79
79
|
### References
|
80
80
|
|
81
|
-
-
|
82
|
-
-
|
83
|
-
|
81
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
82
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
84
83
|
</script>
|
@@ -59,8 +59,6 @@ A node to query process instances on the ProcessCube Engine.
|
|
59
59
|
|
60
60
|
### References
|
61
61
|
|
62
|
-
- [The ProcessCube Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
63
|
-
- [
|
64
|
-
|
65
|
-
|
62
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
63
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
66
64
|
</script>
|
@@ -44,7 +44,6 @@ From the config the `signalname` and the `processInstanceId` must be set.
|
|
44
44
|
|
45
45
|
### References
|
46
46
|
|
47
|
-
-
|
48
|
-
-
|
49
|
-
|
47
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
48
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
50
49
|
</script>
|
@@ -76,6 +76,6 @@ A node which listens for events triggered by usertasks
|
|
76
76
|
|
77
77
|
### References
|
78
78
|
|
79
|
-
-
|
80
|
-
-
|
79
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
80
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
81
81
|
</script>
|
package/usertask-input.html
CHANGED
@@ -7,8 +7,7 @@
|
|
7
7
|
engine: { value: '', type: 'processcube-engine-config' },
|
8
8
|
query: { value: 'payload' },
|
9
9
|
query_type: { value: 'msg' },
|
10
|
-
|
11
|
-
multisend: { value: false },
|
10
|
+
sendtype: { value: 'array', required: true },
|
12
11
|
},
|
13
12
|
inputs: 1,
|
14
13
|
outputs: 1,
|
@@ -45,33 +44,13 @@
|
|
45
44
|
<label for="node-input-query"><i class="fa fa-tag"></i> Query</label>
|
46
45
|
<input type="text" id="node-input-query" />
|
47
46
|
</div>
|
48
|
-
<div class="form-row"
|
49
|
-
<label for="node-input-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
<
|
54
|
-
|
55
|
-
checked
|
56
|
-
id="node-input-force_send_array"
|
57
|
-
style="display: inline-block; width: auto; margin: 0px 0px 0px 4px;"
|
58
|
-
/>
|
59
|
-
<label style="width:auto" for="node-input-force_send_array"
|
60
|
-
>Alway send an array? Only works if <i>Send multi</i> is false.</label
|
61
|
-
>
|
62
|
-
</div>
|
63
|
-
</div>
|
64
|
-
<div class="form-row" style="display:flex; margin-bottom: 3px;">
|
65
|
-
<label for="node-input-multisend" style="vertical-align:top"><i class="fa fa-list-alt"></i> Send multi</label>
|
66
|
-
<div>
|
67
|
-
<input
|
68
|
-
type="checkbox"
|
69
|
-
checked
|
70
|
-
id="node-input-multisend"
|
71
|
-
style="display: inline-block; width: auto; margin: 0px 0px 0px 4px;"
|
72
|
-
/>
|
73
|
-
<label style="width:auto" for="node-input-multisend">Send one output of each usertask input?</label>
|
74
|
-
</div>
|
47
|
+
<div class="form-row">
|
48
|
+
<label for="node-input-sendtype"><i class="fa fa-sliders"></i> Result</label>
|
49
|
+
<select id="node-input-sendtype" style="width: 70%;">
|
50
|
+
<option value="array">Send as Array</option>
|
51
|
+
<option value="multi">Send Separately</option>
|
52
|
+
<option value="first">Send First Task</option>
|
53
|
+
</select>
|
75
54
|
</div>
|
76
55
|
</script>
|
77
56
|
|
@@ -88,6 +67,6 @@ A node which sends a payload to a usertask in the ProcessCube.
|
|
88
67
|
|
89
68
|
### References
|
90
69
|
|
91
|
-
-
|
92
|
-
-
|
70
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
71
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
93
72
|
</script>
|
package/usertask-input.js
CHANGED
@@ -4,7 +4,6 @@ module.exports = function (RED) {
|
|
4
4
|
var node = this;
|
5
5
|
|
6
6
|
node.on('input', function (msg) {
|
7
|
-
|
8
7
|
const engine = RED.nodes.getNode(config.engine);
|
9
8
|
|
10
9
|
const client = engine.engineClient;
|
@@ -17,46 +16,26 @@ module.exports = function (RED) {
|
|
17
16
|
let query = RED.util.evaluateNodeProperty(config.query, config.query_type, node, msg);
|
18
17
|
|
19
18
|
query = {
|
20
|
-
...query
|
19
|
+
...query,
|
21
20
|
};
|
22
21
|
|
23
|
-
client.userTasks
|
22
|
+
client.userTasks
|
23
|
+
.query(query, { identity: engine.identity })
|
24
24
|
.then((matchingFlowNodes) => {
|
25
|
-
if (
|
26
|
-
|
27
|
-
matchingFlowNodes &&
|
28
|
-
matchingFlowNodes.userTasks &&
|
29
|
-
matchingFlowNodes.userTasks.length == 1
|
30
|
-
) {
|
31
|
-
userTask = matchingFlowNodes.userTasks[0];
|
32
|
-
|
33
|
-
msg.payload = { userTask: userTask };
|
25
|
+
if (config.sendtype === 'array') {
|
26
|
+
msg.payload = { userTasks: matchingFlowNodes.userTasks || [] };
|
34
27
|
node.send(msg);
|
35
|
-
} else {
|
36
|
-
|
37
|
-
|
38
|
-
matchingFlowNodes.userTasks.forEach((userTask) => {
|
39
|
-
msg.payload = { userTask: userTask };
|
40
|
-
node.send(msg);
|
41
|
-
});
|
42
|
-
} else {
|
43
|
-
if (matchingFlowNodes.userTasks == 1) {
|
44
|
-
msg.payload = {
|
45
|
-
userTasks: matchingFlowNodes.userTasks,
|
46
|
-
};
|
47
|
-
node.send(msg);
|
48
|
-
} else {
|
49
|
-
node.log(`No user tasks found for query: ${JSON.stringify(query)}`);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
} else {
|
53
|
-
msg.payload = {
|
54
|
-
userTasks: matchingFlowNodes.userTasks || [],
|
55
|
-
};
|
28
|
+
} else if (config.sendtype === 'multi' && matchingFlowNodes?.userTasks?.length > 1) {
|
29
|
+
matchingFlowNodes.userTasks.forEach((userTask) => {
|
30
|
+
msg.payload = { userTask };
|
56
31
|
node.send(msg);
|
57
|
-
}
|
58
|
-
}
|
59
|
-
|
32
|
+
});
|
33
|
+
} else if (matchingFlowNodes?.userTasks?.length >= 1) {
|
34
|
+
msg.payload = { userTask: matchingFlowNodes.userTasks[0] };
|
35
|
+
node.send(msg);
|
36
|
+
} else node.log(`No user tasks found for query: ${JSON.stringify(query)}`);
|
37
|
+
})
|
38
|
+
.catch((error) => {
|
60
39
|
node.error(error);
|
61
40
|
});
|
62
41
|
});
|
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
|
-
-
|
60
|
-
-
|
59
|
+
- [The ProcessCube© Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
60
|
+
- [ProcessCube© LowCode Integration](https://processcube.io/docs/node-red) - LowCode integration in ProcessCube©
|
61
61
|
</script>
|
@@ -1,58 +0,0 @@
|
|
1
|
-
<script type="text/javascript">
|
2
|
-
RED.nodes.registerType('processinstance-delete', {
|
3
|
-
category: 'ProcessCube DevOps',
|
4
|
-
color: '#02AFD6',
|
5
|
-
defaults: {
|
6
|
-
name: { value: '' },
|
7
|
-
engine: { value: '', type: 'processcube-engine-config' },
|
8
|
-
time: { value: '', type: 'number' },
|
9
|
-
time_type: { value: 'hours' },
|
10
|
-
},
|
11
|
-
inputs: 1,
|
12
|
-
outputs: 1,
|
13
|
-
icon: 'font-awesome/fa-sign-in',
|
14
|
-
label: function () {
|
15
|
-
return this.name || 'processinstance-delete';
|
16
|
-
},
|
17
|
-
});
|
18
|
-
</script>
|
19
|
-
|
20
|
-
<script type="text/html" data-template-name="processinstance-delete">
|
21
|
-
<div class="form-row">
|
22
|
-
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
23
|
-
<input type="text" id="node-input-name" placeholder="Name" />
|
24
|
-
</div>
|
25
|
-
<div class="form-row">
|
26
|
-
<label for="node-input-engine"><i class="fa fa-tag"></i> Engine-URL</label>
|
27
|
-
<input type="text" id="node-input-engine" placeholder="Engine-URL" />
|
28
|
-
</div>
|
29
|
-
<div class="form-row">
|
30
|
-
<label for="node-input-time"><i class="fa fa-tag"></i> Time</label>
|
31
|
-
<input type="text" id="node-input-time" />
|
32
|
-
</div>
|
33
|
-
<div class="form-row">
|
34
|
-
<label for="node-input-time_type"><i class="fa fa-sliders"></i> Period</label>
|
35
|
-
<select id="node-input-time_type" style="width: 70%;">
|
36
|
-
<option value="hours">Hours</option>
|
37
|
-
<option value="days">Days</option>
|
38
|
-
</select>
|
39
|
-
</div>
|
40
|
-
</script>
|
41
|
-
|
42
|
-
<script type="text/markdown" data-help-name="processinstance-delete">
|
43
|
-
Delete old instances of a process model in the ProcessCube.
|
44
|
-
|
45
|
-
## Inputs
|
46
|
-
|
47
|
-
: payload.time (number): The number of given time periods.
|
48
|
-
: payload.time_type ('hours' | 'days'): The type of time period to use.
|
49
|
-
|
50
|
-
## Outputs
|
51
|
-
|
52
|
-
: payload (string[]): The ids of the processinstances that were deleted.
|
53
|
-
|
54
|
-
### References
|
55
|
-
|
56
|
-
- [The ProcessCube Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
57
|
-
- [Node-RED Integration in ProcessCube©](https://processcube.io/docs/node-red) - Node-RED integration in ProcessCube©
|
58
|
-
</script>
|
@@ -1,55 +0,0 @@
|
|
1
|
-
module.exports = function (RED) {
|
2
|
-
function ProcessInstanceDelete(config) {
|
3
|
-
RED.nodes.createNode(this, config);
|
4
|
-
var node = this;
|
5
|
-
|
6
|
-
node.on('input', async function (msg) {
|
7
|
-
const engine = RED.nodes.getNode(config.engine);
|
8
|
-
const client = engine.engineClient;
|
9
|
-
|
10
|
-
if (!client) {
|
11
|
-
node.error('No engine configured.');
|
12
|
-
return;
|
13
|
-
}
|
14
|
-
let timeMultiplier;
|
15
|
-
if (msg.payload.time_type) {
|
16
|
-
timeMultiplier = msg.payload.time_type == 'hours' ? 1 : 24;
|
17
|
-
} else {
|
18
|
-
timeMultiplier = config.time_type == 'hours' ? 1 : 24;
|
19
|
-
}
|
20
|
-
|
21
|
-
const timeToUse = msg.payload.time ? msg.payload.time : config.time;
|
22
|
-
|
23
|
-
try {
|
24
|
-
const fetchInstancesByState = async (state) => {
|
25
|
-
const result = await client.processInstances.query({ state });
|
26
|
-
return result.processInstances;
|
27
|
-
};
|
28
|
-
|
29
|
-
const finishedInstances = await fetchInstancesByState('finished');
|
30
|
-
const terminatedInstances = await fetchInstancesByState('terminated');
|
31
|
-
const errorInstances = await fetchInstancesByState('error');
|
32
|
-
|
33
|
-
let allInstances = [...finishedInstances, ...terminatedInstances, ...errorInstances];
|
34
|
-
|
35
|
-
const today = new Date();
|
36
|
-
|
37
|
-
const oldTasks = allInstances.filter((instance) => {
|
38
|
-
const finishedDate = new Date(instance.finishedAt);
|
39
|
-
const diffInHours = (today - finishedDate) / (1000 * 60 * 60);
|
40
|
-
return diffInHours > Number(timeToUse) * timeMultiplier;
|
41
|
-
});
|
42
|
-
|
43
|
-
const ids = oldTasks.map((obj) => obj.processInstanceId);
|
44
|
-
msg.payload = ids;
|
45
|
-
|
46
|
-
await client.processInstances.deleteProcessInstances(ids, engine.identity);
|
47
|
-
node.send(msg);
|
48
|
-
} catch (error) {
|
49
|
-
node.error(error);
|
50
|
-
}
|
51
|
-
});
|
52
|
-
}
|
53
|
-
|
54
|
-
RED.nodes.registerType('processinstance-delete', ProcessInstanceDelete);
|
55
|
-
};
|