cpee 2.1.130 → 2.1.132

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/FEATURES.md +9 -19
  3. data/cockpit/compliance-view.html +313 -0
  4. data/cockpit/compliance.html +34 -23
  5. data/cockpit/config.json.example +7 -6
  6. data/cockpit/css/compliance.css +70 -2
  7. data/cockpit/css/llm.css +9 -1
  8. data/cockpit/css/llmmodel.css +3 -0
  9. data/cockpit/css/ui.css +9 -30
  10. data/cockpit/edit.html +1 -1
  11. data/cockpit/graph.html +1 -1
  12. data/cockpit/index.html +6 -1
  13. data/cockpit/js/compliance.js +925 -10
  14. data/cockpit/js/instance.js +19 -9
  15. data/cockpit/js/parameters.js +37 -5
  16. data/cockpit/js/ui.js +10 -40
  17. data/cockpit/js/wfadaptor.js +4 -5
  18. data/cockpit/llm.html +24 -26
  19. data/cockpit/llmmodel.html +27 -25
  20. data/cockpit/model.html +1 -1
  21. data/cockpit/only_llm.html +5 -5
  22. data/cockpit/rngs/attributes.rng +2 -2
  23. data/cockpit/rngs/dataelements.rng +2 -2
  24. data/cockpit/rngs/documents.rng +8 -0
  25. data/cockpit/rngs/endpoints.rng +2 -2
  26. data/cockpit/rngs/requirements.rng +2 -2
  27. data/cockpit/themes/THEMES.MD +419 -0
  28. data/cockpit/themes/preset_model/symbols/critical.svg +13 -3
  29. data/cockpit/track.html +1 -1
  30. data/cpee.gemspec +1 -1
  31. data/lib/cpee/implementation.rb +3 -1
  32. data/lib/cpee/implementation_properties.rb +6 -5
  33. data/lib/cpee/persistence.rb +6 -7
  34. data/lib/properties/documents.rng +10 -0
  35. data/lib/properties/properties.rng +2 -0
  36. data/lib/properties/set-properties.rng +2 -0
  37. data/lib/properties/set-some-properties.rng +4 -0
  38. data/lib/properties/set-testset.rng +3 -0
  39. data/lib/properties/t_documents.rng +7 -0
  40. data/lib/properties.xml +22 -0
  41. data/server/executionhandlers/eval/connection.rb +1 -0
  42. data/server/executionhandlers/eval/execution.rb +2 -0
  43. data/server/executionhandlers/ruby/connection.rb +1 -0
  44. data/server/executionhandlers/ruby/controller.rb +4 -8
  45. data/server/executionhandlers/ruby/execution.rb +2 -0
  46. data/server/resources/properties.empty +1 -0
  47. data/server/resources/properties.init +1 -0
  48. data/server/routing/end.pid +1 -1
  49. data/server/routing/forward-events-00.pid +1 -1
  50. data/server/routing/forward-votes.pid +1 -1
  51. data/server/routing/persist.pid +1 -1
  52. data/server/routing/persist.rb +2 -1
  53. data/tools/cpee +1 -1
  54. metadata +7 -2
  55. data/lib/cpee/attributes_helper.rb +0 -41
@@ -4,6 +4,7 @@
4
4
  <include href="executionhandler.rng"/>
5
5
  <include href="positions.rng"/>
6
6
  <include href="dataelements.rng"/>
7
+ <include href="documents.rng"/>
7
8
  <include href="endpoints.rng"/>
8
9
  <include href="attributes.rng"/>
9
10
  <include href="description.rng"/>
@@ -16,6 +17,7 @@
16
17
  <ref name="executionhandler"/>
17
18
  <ref name="positions"/>
18
19
  <ref name="dataelements"/>
20
+ <ref name="documents"/>
19
21
  <ref name="endpoints"/>
20
22
  <ref name="attributes"/>
21
23
  <ref name="description"/>
@@ -4,6 +4,7 @@
4
4
  <include href="executionhandler.rng"/>
5
5
  <include href="positions.rng"/>
6
6
  <include href="dataelements.rng"/>
7
+ <include href="documents.rng"/>
7
8
  <include href="endpoints.rng"/>
8
9
  <include href="attributes.rng"/>
9
10
  <include href="description.rng"/>
@@ -27,6 +28,9 @@
27
28
  <optional>
28
29
  <ref name="dataelements"/>
29
30
  </optional>
31
+ <optional>
32
+ <ref name="documents"/>
33
+ </optional>
30
34
  <optional>
31
35
  <ref name="endpoints"/>
32
36
  </optional>
@@ -31,6 +31,9 @@
31
31
  <optional>
32
32
  <ref name="dataelements"/>
33
33
  </optional>
34
+ <optional>
35
+ <ref name="documents"/>
36
+ </optional>
34
37
  <optional>
35
38
  <ref name="endpoints"/>
36
39
  </optional>
@@ -0,0 +1,7 @@
1
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
+ <include href="documents.rng"/>
3
+
4
+ <start>
5
+ <ref name="documents"/>
6
+ </start>
7
+ </grammar>
data/lib/properties.xml CHANGED
@@ -103,6 +103,17 @@
103
103
  </parameter>
104
104
  </message> <!--}}}-->
105
105
 
106
+ <message name="document"> <!--{{{-->
107
+ <parameter name="document" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
108
+ <xi:include href="properties/t_simple.rng"/>
109
+ </parameter>
110
+ </message> <!--}}}-->
111
+ <message name="documents"> <!--{{{-->
112
+ <parameter name="documents" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
113
+ <xi:include href="properties/t_documents.rng"/>
114
+ </parameter>
115
+ </message> <!--}}}-->
116
+
106
117
  <message name="endpoint"> <!--{{{-->
107
118
  <parameter name="endpoint" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
108
119
  <xi:include href="properties/t_simple.rng"/>
@@ -199,6 +210,17 @@
199
210
  <delete/>
200
211
  </resource>
201
212
  </resource> <!--}}}-->
213
+ <resource relative="documents"> <!--{{{-->
214
+ <get out="documents"/>
215
+ <post in="document" out="id"/>
216
+ <patch in="documents"/>
217
+ <put in="documents"/>
218
+ <resource>
219
+ <get out="string"/>
220
+ <put in="string"/>
221
+ <delete/>
222
+ </resource>
223
+ </resource> <!--}}}-->
202
224
  <resource relative="endpoints"> <!--{{{-->
203
225
  <get out="endpoints"/>
204
226
  <post in="endpoint" out="id"/>
@@ -85,6 +85,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
85
85
  def additional #{{{
86
86
  {
87
87
  :attributes => @controller.attributes,
88
+ :documents => @controller.documents,
88
89
  :cpee => {
89
90
  'base' => @controller.base_url,
90
91
  'instance' => @controller.instance_id,
@@ -40,6 +40,7 @@ module CPEE
40
40
  endpoints = CPEE::Persistence::extract_list(id,opts,'endpoints')
41
41
  dataelements = CPEE::Persistence::extract_list(id,opts,'dataelements')
42
42
  attributes = CPEE::Persistence::extract_list(id,opts,'attributes').to_h
43
+ documents = CPEE::Persistence::extract_list(id,opts,'documents').to_h
43
44
  positions = CPEE::Persistence::extract_set(id,opts,'positions')
44
45
  positions.map! do |k, v|
45
46
  [ k, v, CPEE::Persistence::extract_item(id,opts,File.join('positions',k,'@passthrough')) ]
@@ -60,6 +61,7 @@ module CPEE
60
61
  iopts[:global_executionhandlers] = opts[:global_executionhandlers]
61
62
  end
62
63
  iopts[:attributes] = attributes
64
+ iopts[:documents] = documents
63
65
  iopts[:votes] = {}
64
66
  CPEE::Persistence::extract_handlers(id,opts).each do |de|
65
67
  if de[1] && de[1]&.empty?.!
@@ -85,6 +85,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
85
85
  def additional #{{{
86
86
  {
87
87
  :attributes => @controller.attributes,
88
+ :documents => @controller.documents,
88
89
  :cpee => {
89
90
  'base' => @controller.base_url,
90
91
  'instance' => @controller.instance_id,
@@ -18,7 +18,6 @@ require 'redis'
18
18
  require 'securerandom'
19
19
  require 'riddl/client'
20
20
  require 'cpee/value_helper'
21
- require 'cpee/attributes_helper'
22
21
  require 'cpee/message'
23
22
  require 'cpee/redis'
24
23
  require 'get_process_mem'
@@ -42,7 +41,7 @@ class Controller
42
41
  @id = id
43
42
 
44
43
  @attributes = opts[:attributes]
45
- @attributes_helper = AttributesHelper.new
44
+ @documents = opts[:documents]
46
45
 
47
46
  @thread = nil
48
47
  @opts = opts
@@ -94,12 +93,9 @@ class Controller
94
93
 
95
94
  attr_reader :id
96
95
  attr_reader :attributes
96
+ attr_reader :documents
97
97
  attr_reader :loop_guard
98
98
 
99
- def attributes_translated
100
- @attributes_translated || @attributes_translated = @attributes_helper.translate(attributes,dataelements,endpoints)
101
- end
102
-
103
99
  def uuid
104
100
  @attributes['uuid']
105
101
  end
@@ -170,7 +166,7 @@ class Controller
170
166
  end
171
167
 
172
168
  def notify(what,content={})
173
- content[:attributes] = attributes_translated
169
+ content[:attributes] = attributes
174
170
  CPEE::Message::send(:event,what,base,@id,uuid,info,content,@redis)
175
171
  end
176
172
 
@@ -182,7 +178,7 @@ class Controller
182
178
  @opts[:votes][handler]&.each do |client|
183
179
  voteid = SecureRandom.hex(16)
184
180
  content[:key] = voteid
185
- content[:attributes] = attributes_translated
181
+ content[:attributes] = attributes
186
182
  content[:subscription] = client
187
183
  votes << voteid
188
184
  CPEE::Message::send(:vote,what,base,@id,uuid,info,content,@redis)
@@ -40,6 +40,7 @@ module CPEE
40
40
  endpoints = CPEE::Persistence::extract_list(id,opts,'endpoints')
41
41
  dataelements = CPEE::Persistence::extract_list(id,opts,'dataelements')
42
42
  attributes = CPEE::Persistence::extract_list(id,opts,'attributes').to_h
43
+ documents = CPEE::Persistence::extract_list(id,opts,'documents').to_h
43
44
  positions = CPEE::Persistence::extract_set(id,opts,'positions')
44
45
  positions.map! do |k, v|
45
46
  [ k, v, CPEE::Persistence::extract_item(id,opts,File.join('positions',k,'@passthrough')) ]
@@ -60,6 +61,7 @@ module CPEE
60
61
  iopts[:global_executionhandlers] = opts[:global_executionhandlers]
61
62
  end
62
63
  iopts[:attributes] = attributes
64
+ iopts[:documents] = documents
63
65
  iopts[:votes] = {}
64
66
  CPEE::Persistence::extract_handlers(id,opts).each do |de|
65
67
  if de[1] && de[1]&.empty?.!
@@ -25,6 +25,7 @@
25
25
  <executionhandler>ruby</executionhandler>
26
26
  <positions/>
27
27
  <dataelements/>
28
+ <documents/>
28
29
  <endpoints/>
29
30
  <attributes/>
30
31
  <dsl/>
@@ -25,6 +25,7 @@
25
25
  <executionhandler>ruby</executionhandler>
26
26
  <positions/>
27
27
  <dataelements/>
28
+ <documents/>
28
29
  <endpoints>
29
30
  <user>https-post://cpee.org/services/timeout-user.php</user>
30
31
  <auto>https-post://cpee.org/services/timeout-auto.php</auto>
@@ -1 +1 @@
1
- 2691960
1
+ 1227262
@@ -1 +1 @@
1
- 2691978
1
+ 1227280
@@ -1 +1 @@
1
- 2691972
1
+ 1227274
@@ -1 +1 @@
1
- 2691966
1
+ 1227268
@@ -39,6 +39,7 @@ Daemonite.new do |opts|
39
39
  'event:' + ('%02i' % w) + ':executionhandler/change',
40
40
  'event:' + ('%02i' % w) + ':description/change',
41
41
  'event:' + ('%02i' % w) + ':dataelements/change',
42
+ 'event:' + ('%02i' % w) + ':documents/change',
42
43
  'event:' + ('%02i' % w) + ':endpoints/change',
43
44
  'event:' + ('%02i' % w) + ':attributes/change',
44
45
  'event:' + ('%02i' % w) + ':transformation/change',
@@ -86,7 +87,7 @@ Daemonite.new do |opts|
86
87
  multi.set("instance:#{instance}/dslx",mess.dig('content','dslx'))
87
88
  multi.set("instance:#{instance}/dsl",mess.dig('content','dsl'))
88
89
  end
89
- when /event:\d+:dataelements\/change/, /event:\d+:endpoints\/change/, /event:\d+:attributes\/change/
90
+ when /event:\d+:dataelements\/change/, /event:\d+:documents\/change/, /event:\d+:endpoints\/change/, /event:\d+:attributes\/change/
90
91
  topic = mess.dig('topic')
91
92
  max = opts[:redis].zrange("instance:#{instance}/#{topic}", -1, -1, :withscores => true)&.dig(0,1).to_i
92
93
  if (eles = mess.dig('content','sort'))&.any?
data/tools/cpee CHANGED
@@ -91,7 +91,7 @@ def js_libs(cockpit)
91
91
  end
92
92
  true
93
93
  else
94
- puts 'Internet access required to download javascript libs from "http://cpee.org/js_libs/js_libs.zip".'
94
+ puts 'Internet access required to download javascript libs from "https://cpee.org/js_libs/js_libs.zip".'
95
95
  false
96
96
  end
97
97
  end
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.130
4
+ version: 2.1.132
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -242,6 +242,7 @@ files:
242
242
  - cockpit/CPEE.xml
243
243
  - cockpit/README
244
244
  - cockpit/Signavio.xml
245
+ - cockpit/compliance-view.html
245
246
  - cockpit/compliance.html
246
247
  - cockpit/config.json
247
248
  - cockpit/config.json.example
@@ -258,6 +259,7 @@ files:
258
259
  - cockpit/css/llm.css
259
260
  - cockpit/css/llm_active.svg
260
261
  - cockpit/css/llm_inactive.svg
262
+ - cockpit/css/llmmodel.css
261
263
  - cockpit/css/mode_active.svg
262
264
  - cockpit/css/mode_inactive.svg
263
265
  - cockpit/css/model.css
@@ -285,6 +287,7 @@ files:
285
287
  - cockpit/only_llm.html
286
288
  - cockpit/rngs/attributes.rng
287
289
  - cockpit/rngs/dataelements.rng
290
+ - cockpit/rngs/documents.rng
288
291
  - cockpit/rngs/endpoints.rng
289
292
  - cockpit/rngs/requirements.rng
290
293
  - cockpit/templates.legacy/Async.xml
@@ -354,6 +357,7 @@ files:
354
357
  - cockpit/templates/instantiate/Take_Perf.xml
355
358
  - cockpit/templates/instantiate/Take_Sub.xml
356
359
  - cockpit/templates/instantiate/Take_X.xml
360
+ - cockpit/themes/THEMES.MD
357
361
  - cockpit/themes/base.js
358
362
  - cockpit/themes/control/rngs/alternative.rng
359
363
  - cockpit/themes/control/rngs/call.rng
@@ -1104,7 +1108,6 @@ files:
1104
1108
  - lib/callbacks.xml
1105
1109
  - lib/callbacks/callbacks.rng
1106
1110
  - lib/cpee.xml
1107
- - lib/cpee/attributes_helper.rb
1108
1111
  - lib/cpee/constants.rb
1109
1112
  - lib/cpee/fail.rb
1110
1113
  - lib/cpee/implementation.rb
@@ -1125,6 +1128,7 @@ files:
1125
1128
  - lib/properties/attributes.rng
1126
1129
  - lib/properties/dataelements.rng
1127
1130
  - lib/properties/description.rng
1131
+ - lib/properties/documents.rng
1128
1132
  - lib/properties/dsl.rng
1129
1133
  - lib/properties/dslx.rng
1130
1134
  - lib/properties/endpoints.rng
@@ -1141,6 +1145,7 @@ files:
1141
1145
  - lib/properties/subscriptions.rng
1142
1146
  - lib/properties/t_attributes.rng
1143
1147
  - lib/properties/t_dataelements.rng
1148
+ - lib/properties/t_documents.rng
1144
1149
  - lib/properties/t_endpoints.rng
1145
1150
  - lib/properties/t_position.rng
1146
1151
  - lib/properties/t_positions.rng
@@ -1,41 +0,0 @@
1
- # This file is part of CPEE.
2
- #
3
- # CPEE is free software: you can redistribute it and/or modify it under the terms
4
- # of the GNU General Public License as published by the Free Software Foundation,
5
- # either version 3 of the License, or (at your option) any later version.
6
- #
7
- # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
- # PARTICULAR PURPOSE. See the GNU General Public License for more details.
10
- #
11
- # You should have received a copy of the GNU General Public License along with
12
- # CPEE (file COPYING in the main directory). If not, see
13
- # <http://www.gnu.org/licenses/>.
14
-
15
- require 'weel'
16
-
17
- class AttributesHelper
18
- def translate(__attributes__,__dataelements__,__endpoints__)
19
- @data = WEEL::ReadHash.new(__dataelements__)
20
- @endpoints = WEEL::ReadHash.new(__endpoints__)
21
- @attributes = WEEL::ReadHash.new(__attributes__)
22
- __attributes__.transform_values do |v|
23
- v.gsub(/(!(attributes|data|endpoints)\.[\w_]+)/) do |m|
24
- eval(m[1..-1])
25
- end
26
- end
27
- end
28
-
29
- def data
30
- @data
31
- end
32
-
33
- def endpoints
34
- @endpoints
35
- end
36
-
37
- def attributes
38
- @attributes
39
- end
40
- end
41
-