cpee 2.1.1 → 2.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/config.json +1 -1
  3. data/cockpit/css/ui.css +14 -7
  4. data/cockpit/edit.html +27 -23
  5. data/cockpit/graph.html +1 -0
  6. data/cockpit/index.html +26 -22
  7. data/cockpit/js/edit.js +8 -1
  8. data/cockpit/js/instance.js +103 -39
  9. data/cockpit/js/modifiers.js +188 -0
  10. data/cockpit/model.html +1 -8
  11. data/cockpit/themes/compact/rngs/call.rng +17 -8
  12. data/cockpit/themes/compact/rngs/callmanipulate.rng +18 -9
  13. data/cockpit/themes/compact/rngs/start.rng +9 -9
  14. data/cockpit/themes/compact/theme.js +1 -1
  15. data/cockpit/themes/control/rngs/call.rng +17 -8
  16. data/cockpit/themes/control/rngs/callmanipulate.rng +18 -9
  17. data/cockpit/themes/control/rngs/start.rng +9 -9
  18. data/cockpit/themes/default/rngs/call.rng +17 -8
  19. data/cockpit/themes/default/rngs/callmanipulate.rng +18 -9
  20. data/cockpit/themes/default/rngs/start.rng +9 -9
  21. data/cockpit/themes/extended/rngs/call.rng +17 -8
  22. data/cockpit/themes/extended/rngs/callmanipulate.rng +18 -9
  23. data/cockpit/themes/extended/rngs/start.rng +9 -9
  24. data/cockpit/themes/extended/theme.js +1 -1
  25. data/cockpit/themes/packed/rngs/call.rng +17 -8
  26. data/cockpit/themes/packed/rngs/callmanipulate.rng +18 -9
  27. data/cockpit/themes/packed/rngs/start.rng +9 -9
  28. data/cockpit/themes/packed/theme.js +1 -1
  29. data/cockpit/themes/preset/rngs/call.rng +17 -8
  30. data/cockpit/themes/preset/rngs/callmanipulate.rng +18 -9
  31. data/cockpit/themes/preset/rngs/start.rng +9 -9
  32. data/cockpit/track.html +1 -0
  33. data/cpee.gemspec +2 -2
  34. data/lib/cpee/implementation_notifications.rb +5 -5
  35. data/lib/properties/executionhandler.rng +1 -1
  36. data/server/routing/end.pid +1 -0
  37. data/server/routing/forward-events.pid +1 -0
  38. data/server/routing/forward-votes.pid +1 -0
  39. data/server/routing/persist.pid +1 -0
  40. data/tools/cpee +7 -7
  41. metadata +10 -6
  42. data/lib/instantiation.xml +0 -125
@@ -1154,7 +1154,7 @@ function WFAdaptorManifestation(adaptor) {
1154
1154
  },
1155
1155
  'svg': self.adaptor.theme_dir + 'symbols/start.svg'
1156
1156
  },//}}}
1157
- 'description': null,
1157
+ 'description': self.adaptor.theme_dir + 'rngs/start.rng',
1158
1158
  'permissible_children': function(node,mode) { //{{{
1159
1159
  var func = null;
1160
1160
  if (mode == 'into') { func = self.adaptor.description.insert_first_into }
@@ -25,19 +25,28 @@
25
25
  </element>
26
26
  </zeroOrMore>
27
27
  </element>
28
- <element name="stream" rngui:header="Data Stream Handling" rngui:fold="closed">
28
+ <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
29
29
 
30
- <element name="sensors" rngui:header="Sensor Data Streams" rngui:fold="closed">
31
- <zeroOrMore rngui:label="Add Sensor">
32
- <element name="sensor">
30
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
31
+ <zeroOrMore rngui:label="Add Probe">
32
+ <element name="probe">
33
33
  <element name="name" rngui:label="Label">
34
34
  <data type="string" rngui:label="Label"/>
35
35
  </element>
36
- <element name="extractor_url" rngui:label="Extractor Url">
36
+ <element name="extractor_type" rngui:label="Extractor Type">
37
+ <choice>
38
+ <value id='code'>Code</value>
39
+ <value id='service'>Service</value>
40
+ </choice>
41
+ </element>
42
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For extrinsic data'>
43
+ <text rngui:label="Code"/>
44
+ </element>
45
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For extrinsic &amp; discrete data'>
37
46
  <data type="string" rngui:label="Service Url"/>
38
47
  </element>
39
- <element name="extractor_params" rngui:label="Extractor Arguments:">
40
- <zeroOrMore rngui:label="Create Extractor Argument Pairs">
48
+ <element name="extractor_params" rngui:label="Extractor Service Arguments:">
49
+ <zeroOrMore rngui:label="Create Argument Pairs">
41
50
  <element rngui:label="Name">
42
51
  <anyName/>
43
52
  <data type="string" rngui:label="Value / Json"/>
@@ -48,7 +57,7 @@
48
57
  <data type="string" rngui:label="Service Url"/>
49
58
  </element>
50
59
  <element name="visualizer_params" rngui:label="Visualizer Arguments">
51
- <zeroOrMore rngui:label="Create Visualizer Argument Pairs">
60
+ <zeroOrMore rngui:label="Create Argument Pairs">
52
61
  <element rngui:label="Name">
53
62
  <anyName/>
54
63
  <data type="string" rngui:label="Value / Json"/>
@@ -25,19 +25,28 @@
25
25
  </element>
26
26
  </zeroOrMore>
27
27
  </element>
28
- <element name="stream" rngui:header="Data Stream Handling" rngui:fold="closed">
28
+ <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
29
29
 
30
- <element name="sensors" rngui:header="Sensor Data Streams" rngui:fold="closed">
31
- <zeroOrMore rngui:label="Add Sensor">
32
- <element name="sensor">
30
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
31
+ <zeroOrMore rngui:label="Add Probe">
32
+ <element name="probe">
33
33
  <element name="name" rngui:label="Label">
34
34
  <data type="string" rngui:label="Label"/>
35
35
  </element>
36
- <element name="extractor_url" rngui:label="Extractor Url">
36
+ <element name="extractor_type" rngui:label="Extractor Type">
37
+ <choice>
38
+ <value id='code'>Code</value>
39
+ <value id='service'>Service</value>
40
+ </choice>
41
+ </element>
42
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For extrinsic data'>
43
+ <text rngui:label="Code"/>
44
+ </element>
45
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For extrinsic &amp; discrete data'>
37
46
  <data type="string" rngui:label="Service Url"/>
38
47
  </element>
39
- <element name="extractor_params" rngui:label="Extractor Arguments:">
40
- <zeroOrMore rngui:label="Create Extractor Argument Pairs">
48
+ <element name="extractor_params" rngui:label="Extractor Service Arguments:">
49
+ <zeroOrMore rngui:label="Create Argument Pairs">
41
50
  <element rngui:label="Name">
42
51
  <anyName/>
43
52
  <data type="string" rngui:label="Value / Json"/>
@@ -47,8 +56,8 @@
47
56
  <element name="visualizer_url" rngui:label="Visualizer Url">
48
57
  <data type="string" rngui:label="Service Url"/>
49
58
  </element>
50
- <element name="visualizer_params" rngui:header="Visualizer Arguments">
51
- <zeroOrMore rngui:label="Create Visualizer Argument Pairs">
59
+ <element name="visualizer_params" rngui:label="Visualizer Arguments">
60
+ <zeroOrMore rngui:label="Create Argument Pairs">
52
61
  <element rngui:label="Name">
53
62
  <anyName/>
54
63
  <data type="string" rngui:label="Value / Json"/>
@@ -1,7 +1,7 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="description" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
- <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data elements (internal context) in the process can be used as input for context data probes. All probes can be the basis for impact factors. Please go to individual tasks to define deal with data that is ">
2
+ <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All changes to data elements in the process as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to individual tasks to define more restricted data probes.">
3
3
 
4
- <element name="probes" rngui:header="Context Data Extraction" rngui:fold="closed">
4
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
5
5
  <zeroOrMore rngui:label="Add Probe">
6
6
  <element name="probe">
7
7
  <element name="name" rngui:label="Label">
@@ -9,18 +9,18 @@
9
9
  </element>
10
10
  <element name="extractor_type" rngui:label="Extractor Type">
11
11
  <choice>
12
- <value id='code'>Extractor Code</value>
13
- <value id='service'>Extractor Service</value>
12
+ <value id='code'>Code</value>
13
+ <value id='service'>Service</value>
14
14
  </choice>
15
15
  </element>
16
- <element name="extractor_code" rngui:label="Extractor Code">
17
- <text rngui:label="Service Url"/>
16
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic data'>
17
+ <text rngui:label="Code"/>
18
18
  </element>
19
- <element name="extractor_url" rngui:label="Extractor Service">
19
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For intrinsic &amp; discrete data'>
20
20
  <data type="string" rngui:label="Service Url"/>
21
21
  </element>
22
22
  <element name="extractor_params" rngui:label="Extractor Service Arguments:">
23
- <zeroOrMore rngui:label="Create Extractor Argument Pairs">
23
+ <zeroOrMore rngui:label="Create Argument Pairs">
24
24
  <element rngui:label="Name">
25
25
  <anyName/>
26
26
  <data type="string" rngui:label="Value / Json"/>
@@ -31,7 +31,7 @@
31
31
  <data type="string" rngui:label="Service Url"/>
32
32
  </element>
33
33
  <element name="visualizer_params" rngui:label="Visualizer Arguments">
34
- <zeroOrMore rngui:label="Create Visualizer Argument Pairs">
34
+ <zeroOrMore rngui:label="Create Argument Pairs">
35
35
  <element rngui:label="Name">
36
36
  <anyName/>
37
37
  <data type="string" rngui:label="Value / Json"/>
data/cockpit/track.html CHANGED
@@ -55,6 +55,7 @@
55
55
  <script type="text/javascript" src="js/details.js"></script>
56
56
  <script type="text/javascript" src="js/parameters.js"></script>
57
57
  <script type="text/javascript" src="js/track.js"></script>
58
+ <script type="text/javascript" src="js/modifiers.js"></script>
58
59
  <link rel="stylesheet" href="css/ui.css" type="text/css"/>
59
60
  <link rel="stylesheet" href="css/track.css" type="text/css"/>
60
61
  </head>
data/cpee.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "2.1.1"
3
+ s.version = "2.1.7"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Preliminary release of cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.email = 'juergen.mangler@gmail.com'
22
22
  s.homepage = 'http://cpee.org/'
23
23
 
24
- s.add_runtime_dependency 'riddl', '~> 0.108'
24
+ s.add_runtime_dependency 'riddl', '~> 0.114'
25
25
  s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.99'
26
26
  s.add_runtime_dependency 'highline', '~> 2.0'
27
27
  s.add_runtime_dependency 'json', '~>2.1'
@@ -26,10 +26,10 @@ module CPEE
26
26
  end
27
27
  on resource "subscriptions" do
28
28
  run CPEE::Notifications::Subscriptions, id, opts if get
29
- run CPEE::Notifications::CreateSubscription, id, opts if post 'subscribe'
29
+ run CPEE::Notifications::CreateSubscription, id, opts if post 'create_subscription'
30
30
  on resource do
31
31
  run CPEE::Notifications::Subscription, id, opts if get
32
- run CPEE::Notifications::UpdateSubscription, id, opts if put 'subscribe'
32
+ run CPEE::Notifications::UpdateSubscription, id, opts if put 'change_subscription'
33
33
  run CPEE::Notifications::DeleteSubscription, id, opts if delete
34
34
  on resource 'sse' do
35
35
  run CPEE::Notifications::SSE, id, opts if sse
@@ -92,7 +92,8 @@ module CPEE
92
92
  ret = XML::Smart::string <<-END
93
93
  <subscription xmlns='http://riddl.org/ns/common-patterns/notifications-producer/2.0'/>
94
94
  END
95
- url = CPEE::Persistence::extract_item(id,opts,File.join('handler',key,'url'))
95
+ url = CPEE::Persistence::extract_item(id,opts,File.join('handlers',key,'url'))
96
+ ret.root.attributes['id'] = key
96
97
  ret.root.attributes['url'] = url if url && !url.empty?
97
98
  items = {}
98
99
  CPEE::Persistence::extract_handler(id,opts,key).each do |h|
@@ -121,8 +122,7 @@ module CPEE
121
122
  id = @a[0]
122
123
  opts = @a[1]
123
124
 
124
- key = Digest::MD5.hexdigest(Kernel::rand().to_s)
125
-
125
+ key = @p[0].name == 'id' ? @p.shift.value : Digest::MD5.hexdigest(Kernel::rand().to_s)
126
126
  url = @p[0].name == 'url' ? @p.shift.value : nil
127
127
  values = []
128
128
  while @p.length > 0
@@ -2,7 +2,7 @@
2
2
  <define name="executionhandler">
3
3
  <element name="executionhandler" ns="http://cpee.org/ns/properties/2.0">
4
4
  <data type="string">
5
- <param name="pattern">[A-Z][a-zA-Z]*</param>
5
+ <param name="pattern">[a-zA-Z]+</param>
6
6
  </data>
7
7
  </element>
8
8
  </define>
@@ -0,0 +1 @@
1
+ 742413
@@ -0,0 +1 @@
1
+ 742401
@@ -0,0 +1 @@
1
+ 742405
@@ -0,0 +1 @@
1
+ 742409
data/tools/cpee CHANGED
@@ -94,13 +94,13 @@ if command == 'ui'
94
94
  s.start
95
95
  end
96
96
  elsif command == 'cpui'
97
- if !File.exists?(p1)
98
- FileUtils.cp_r(cockpit,p1)
99
- else
100
- FileUtils.cp_r(Dir.glob(File.join(cockpit,'*')).delete_if{|e| e =~ /\.json/ || e=~ /legacy/ })
101
- puts "Directory already exists, updating ..."
102
- end
103
- js_libs(p1)
97
+ if !File.exists?(p1)
98
+ FileUtils.cp_r(cockpit,p1)
99
+ else
100
+ FileUtils.cp_r(Dir.glob(File.join(cockpit,'*')).delete_if{|e| e =~ /\.json/ || e=~ /legacy/ },p1,remove_destination: true)
101
+ puts "Directory already exists, updating ..."
102
+ end
103
+ js_libs(p1)
104
104
  elsif command == 'convert'
105
105
  Dir['*.xml'].each do |f|
106
106
  XML::Smart.modify(f) do |doc|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: tools
12
12
  cert_chain: []
13
- date: 2021-05-20 00:00:00.000000000 Z
13
+ date: 2021-06-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '0.108'
21
+ version: '0.114'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '0.108'
28
+ version: '0.114'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: weel
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +139,7 @@ files:
139
139
  - cockpit/js/edit.js
140
140
  - cockpit/js/instance.js
141
141
  - cockpit/js/model.js
142
+ - cockpit/js/modifiers.js
142
143
  - cockpit/js/parameters.js
143
144
  - cockpit/js/replay.js
144
145
  - cockpit/js/track.js
@@ -586,7 +587,6 @@ files:
586
587
  - lib/engine.xml
587
588
  - lib/engine/instance-info.rng
588
589
  - lib/engine/instances.rng
589
- - lib/instantiation.xml
590
590
  - lib/properties.xml
591
591
  - lib/properties/arbitrary.rng
592
592
  - lib/properties/attributes.rng
@@ -630,9 +630,13 @@ files:
630
630
  - server/resources/states.xml
631
631
  - server/resources/topics.xml
632
632
  - server/resources/transformation.xml
633
+ - server/routing/end.pid
633
634
  - server/routing/end.rb
635
+ - server/routing/forward-events.pid
634
636
  - server/routing/forward-events.rb
637
+ - server/routing/forward-votes.pid
635
638
  - server/routing/forward-votes.rb
639
+ - server/routing/persist.pid
636
640
  - server/routing/persist.rb
637
641
  - server/server.conf
638
642
  - server/server.rb
@@ -659,7 +663,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
659
663
  - !ruby/object:Gem::Version
660
664
  version: '0'
661
665
  requirements: []
662
- rubygems_version: 3.1.4
666
+ rubygems_version: 3.1.6
663
667
  signing_key:
664
668
  specification_version: 4
665
669
  summary: Preliminary release of cloud process execution engine (cpee.org). If you
@@ -1,125 +0,0 @@
1
- <description datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://riddl.org/ns/description/1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
2
- <message name="xmlsimple">
3
- <parameter name="xml" mimetype="*/xml"/>
4
- </message>
5
- <message name="xml">
6
- <parameter name="behavior" type="string">
7
- <choice>
8
- <value>fork_ready</value>
9
- <value>fork_running</value>
10
- <value>wait_ready</value>
11
- <value>wait_running</value>
12
- </choice>
13
- </parameter>
14
- <parameter name="xml" mimetype="*/xml"/>
15
- <optional>
16
- <parameter name="init" type="string"/>
17
- </optional>
18
- </message>
19
- <message name="url_info">
20
- <parameter name="info" type="string"/>
21
- <parameter name="behavior" type="string">
22
- <choice>
23
- <value>fork_ready</value>
24
- <value>fork_running</value>
25
- <value>wait_ready</value>
26
- <value>wait_running</value>
27
- </choice>
28
- </parameter>
29
- <parameter name="url" type="string"/>
30
- <optional>
31
- <parameter name="init" type="string"/>
32
- </optional>
33
- <optional>
34
- <parameter name="endpoints" type="string"/>
35
- </optional>
36
- <optional>
37
- <parameter name="stream" type="string"/>
38
- </optional>
39
- </message>
40
- <message name="url">
41
- <parameter name="behavior" type="string">
42
- <choice>
43
- <value>fork_ready</value>
44
- <value>fork_running</value>
45
- <value>wait_ready</value>
46
- <value>wait_running</value>
47
- </choice>
48
- </parameter>
49
- <parameter name="url" type="string"/>
50
- <optional>
51
- <parameter name="init" type="string"/>
52
- </optional>
53
- <optional>
54
- <parameter name="endpoints" type="string"/>
55
- </optional>
56
- <optional>
57
- <parameter name="stream" type="string"/>
58
- </optional>
59
- </message>
60
- <message name="git">
61
- <parameter name="behavior" type="string">
62
- <choice>
63
- <value>fork_ready</value>
64
- <value>fork_running</value>
65
- <value>wait_ready</value>
66
- <value>wait_running</value>
67
- </choice>
68
- </parameter>
69
- <parameter name="repo" type="string"/>
70
- <parameter name="branch" type="string"/>
71
- <parameter name="path" type="string"/>
72
- <optional>
73
- <parameter name="init" type="string"/>
74
- </optional>
75
- <optional>
76
- <parameter name="endpoints" type="string"/>
77
- </optional>
78
- <optional>
79
- <parameter name="stream" type="string"/>
80
- </optional>
81
- </message>
82
- <message name="instance">
83
- <parameter name="behavior" type="string">
84
- <choice>
85
- <value>fork_ready</value>
86
- <value>fork_running</value>
87
- <value>wait_ready</value>
88
- <value>wait_running</value>
89
- <value>wait_stopped_running</value>
90
- <value>wait_finished_running</value>
91
- </choice>
92
- </parameter>
93
- <parameter name="instance" type="integer"/>
94
- <optional>
95
- <parameter name="init" type="string"/>
96
- </optional>
97
- </message>
98
-
99
- <message name="result">
100
- <parameter name="instance" mimetype="application/json"/>
101
- </message>
102
-
103
- <resource>
104
- <post in="xmlsimple" out="result"/>
105
- <resource relative="xml">
106
- <post in="xml" out="result"/>
107
- </resource>
108
- <resource relative="instance">
109
- <post in="instance" out="result"/>
110
- </resource>
111
- <resource relative="url">
112
- <post in="url" out="result"/>
113
- <post in="url_info" out="result"/>
114
- </resource>
115
- <resource relative="git">
116
- <post in="git" out="result"/>
117
- </resource>
118
- <resource relative="callback">
119
- <resource>
120
- <post/>
121
- </resource>
122
- </resource>
123
- </resource>
124
-
125
- </description>