cpee 1.4.28 → 1.4.29

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cb0566c97a5e94d22d7514cec30e8aedb3a1f869a58f9db36e2101395bb23f35
4
- data.tar.gz: 76766b11cfe15848f0c1b072f20c0fe5d8b5b33cb672d4bca97a525e7c497c6c
3
+ metadata.gz: 69167cf7972c5d782e186b52c9bc447b01ca491c3c711a483d6abf50249d9f46
4
+ data.tar.gz: e8354ec5bdd70105d979acf467de51d3368b050add7e86e3e6bf848c789bb89e
5
5
  SHA512:
6
- metadata.gz: b7803a310214036f8381239be726703c80afa69757b278dfac2e17eac42d2f00e6c094407549c3bbd0ae206a8422dcf96924125bb3e0bffc493a8f113d102a46
7
- data.tar.gz: 4748f4903496f66c666f6ed2b2d01834ad1bbf0f11fbbf8ce3f9533fb94c9b995d76220cadc5f5d4c618a85b3c53ce551024daed8f9b3234c0ecded0c67d8a12
6
+ metadata.gz: 046a33c964cccb7ea6ec83b52abcc2ac9ae44b648c9a45ebf0b8922666493b001df6a6191b0c4cee00720e837cf14d6b171104362aa517223bac393dff4a6079
7
+ data.tar.gz: d4ff60f1b32c7df91303848dac2dc410f02f672dd3c4ee4c7459d82a40cb6b74c7b6a8e5fdfa0b00f0670ec545c8682fdfe62000f49e5b87ee9dd7dd6658f6ea
@@ -0,0 +1,41 @@
1
+ #trackfull {
2
+ display: flex;
3
+ flex-direction:row;
4
+ align-items: stretch;
5
+ height: 100vh;
6
+ }
7
+ #graphcolumn {
8
+ flex: 0 0 auto;
9
+ overflow: auto;
10
+ min-width: 35em;
11
+ border-right: 0 none;
12
+ }
13
+ #trackcolumn {
14
+ flex: 1 1 auto;
15
+ display: flex;
16
+ flex-direction:column;
17
+ align-items: stretch;
18
+ }
19
+
20
+ #trackcolumn iframe {
21
+ flex: 1 1 auto;
22
+ border: 0 none;
23
+ padding: 0;
24
+ margin: 0;
25
+ border-left: 0.1em solid var(--x-ui-border-color);
26
+ border-bottom: 0.1em solid var(--x-ui-border-color);
27
+ }
28
+
29
+ #usage {
30
+ line-height: 2em;
31
+ margin-left: 2em;
32
+ margin-right: 1em;
33
+ }
34
+ #usage button{
35
+ width: 2em;
36
+ height: 2em;
37
+ vertical-align: center;
38
+ }
39
+ #current-instance[href]:after {
40
+ content: "";
41
+ }
data/cockpit/css/ui.css CHANGED
@@ -14,7 +14,7 @@ body {
14
14
  #areanew input {
15
15
  width: 100%;
16
16
  padding: 0.1em 0.5em;
17
- border: 0.1em solid #a1a1a1;
17
+ border: 0.1em solid var(--x-ui-border-color);
18
18
  border-radius: 0;
19
19
  box-sizing: border-box;
20
20
  -moz-box-sizing: border-box;
@@ -49,9 +49,9 @@ ui-tabbed ui-tabbar ui-behind button {
49
49
 
50
50
  #areainstance input[type=file] { display: none; }
51
51
  #areainstance div.section { display: table-cell; vertical-align: middle; }
52
- #areainstance div.section:nth-child(1) { padding: 0 0.5em 0 0; white-space: nowrap; }
53
- #areainstance div.section:nth-child(2) { border-left: 1px solid #a1a1a1; padding: 0 0.5em; white-space: nowrap; }
54
- #areainstance div.section:nth-child(3) { border-left: 1px solid #a1a1a1; padding: 0 0 0 0.5em; white-space: nowrap; }
52
+ #areainstance div.section:nth-child(1) { padding: 0 0.5em 0 0; white-space: nowrap; }
53
+ #areainstance div.section:nth-child(2) { border-left: 1px solid var(--x-ui-border-color); padding: 0 0.5em; white-space: nowrap; }
54
+ #areainstance div.section:nth-child(3) { border-left: 1px solid var(--x-ui-border-color); padding: 0 0 0 0.5em; white-space: nowrap; }
55
55
 
56
56
  #areainstance div.section:nth-child(1) div { white-space: normal; vertical-align: middle; margin: 0; padding: 0; }
57
57
  #areainstance div.section:nth-child(1) button { white-space: normal; vertical-align: middle; margin: 0; padding: 0; }
@@ -71,7 +71,7 @@ ui-tabbed ui-tabbar ui-behind button {
71
71
  #areaexecution table.x-ui-compact tbody.debug tr:last-child td { padding-bottom: 0.5em; }
72
72
  #areaexecution table.x-ui-compact tbody.debug tr:last-child td input { vertical-align: middle; }
73
73
  #areaexecution table.x-ui-compact tbody.exe tr:first-child td { padding-top: 0.5em; }
74
- #areaexecution table.x-ui-compact tbody.exe { border-top: 1px solid #a1a1a1; }
74
+ #areaexecution table.x-ui-compact tbody.exe { border-top: 1px solid var(--x-ui-border-color); }
75
75
 
76
76
  #areaexecution table.x-ui-compact tbody.exe td { height: 2.2em; }
77
77
 
@@ -125,7 +125,7 @@ span.vote {
125
125
  #graphcolumn {
126
126
  margin: 0;
127
127
  padding: 0;
128
- border-right: 1px solid #a1a1a1;
128
+ border-right: 1px solid var(--x-ui-border-color);
129
129
  min-width: 9em;
130
130
  }
131
131
  #detailcolumn {
@@ -35,6 +35,8 @@ var sub_more = 'topic' + '=' + 'activity' + '&' +// {{{
35
35
  'events' + '=' + 'change' + '&' +
36
36
  'topic' + '=' + 'attributes' + '&' +
37
37
  'events' + '=' + 'change' + '&' +
38
+ 'topic' + '=' + 'task' + '&' +
39
+ 'events' + '=' + 'instantiation' + '&' +
38
40
  'topic' + '=' + 'transformation' + '&' +
39
41
  'events' + '=' + 'change' + '&' +
40
42
  'topic' + '=' + 'handlerwrapper' + '&' +
@@ -55,6 +57,8 @@ var sub_less = 'topic' + '=' + 'activity' + '&' +// {{{
55
57
  'events' + '=' + 'change' + '&' +
56
58
  'topic' + '=' + 'attributes' + '&' +
57
59
  'events' + '=' + 'change' + '&' +
60
+ 'topic' + '=' + 'task' + '&' +
61
+ 'events' + '=' + 'instantiation' + '&' +
58
62
  'topic' + '=' + 'transformation' + '&' +
59
63
  'events' + '=' + 'change' + '&' +
60
64
  'topic' + '=' + 'handlerwrapper' + '&' +
@@ -90,7 +94,7 @@ function cockpit() { //{{{
90
94
  }
91
95
  if (q.monitor && q.load) {
92
96
  if (q.load.match(/https?:\/\//)) {
93
- $("#predefinedtestsets").attr('data-other',q.load);
97
+ $('body').attr('load-testset',q.load);
94
98
  } else {
95
99
  $("#predefinedtestsets div.menuitem").each(function(k,v){
96
100
  if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
@@ -100,7 +104,7 @@ function cockpit() { //{{{
100
104
  monitor_instance(q.monitor,$("body").attr('current-repo'),true,false);
101
105
  } else if (q.load) {
102
106
  if (q.load.match(/https?:\/\//)) {
103
- $("#predefinedtestsets").attr('data-other',q.load);
107
+ $('body').attr('load-testset',q.load);
104
108
  } else {
105
109
  $("#predefinedtestsets div.menuitem").each(function(k,v){
106
110
  if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
@@ -116,7 +120,7 @@ function cockpit() { //{{{
116
120
  monitor_instance(q.monitor,$("body").attr('current-repo'),false,false);
117
121
  } else if (q.exec) {
118
122
  if (q.exec.match(/https?:\/\//)) {
119
- $("#predefinedtestsets").attr('data-other',q.load);
123
+ $('body').attr('load-testset',q.load);
120
124
  } else {
121
125
  $("#predefinedtestsets div.menuitem").each(function(k,v){
122
126
  if ($(v).text() == q.exec) { $(v).attr('data-selected','selected'); }
@@ -234,6 +238,12 @@ function websocket() { //{{{
234
238
  monitor_graph_change(true);
235
239
  }
236
240
  break;
241
+ case 'task':
242
+ if ($('#trackcolumn').length > 0) {
243
+ var details = JSON.parse($('event > notification',data).text());
244
+ $('#trackcolumn').append($('<iframe src="track.html?monitor=' + details.received['CPEE-INSTANCE-URL'].replace(/\/*$/,'/') + '"></iframe>'));
245
+ }
246
+ break;
237
247
  case 'state':
238
248
  monitor_instance_state_change(JSON.parse($('event > notification',data).text()).state);
239
249
  break;
@@ -372,7 +382,9 @@ function monitor_instance_values(val) {// {{{
372
382
  });
373
383
  });
374
384
  } else if(val == "attributes") {
375
- document.title = $(" > value > info",res).text() + " (" + url.replace(/\/$/,'').split(/[\\/]/).pop() + ")";
385
+ var text = $(" > value > info",res).text() + " (" + url.replace(/\/$/,'').split(/[\\/]/).pop() + ")";
386
+ $('#title').text(text);
387
+ document.title = text;
376
388
  }
377
389
  }
378
390
  });
@@ -515,9 +527,15 @@ function monitor_instance_running(notification,event) {// {{{
515
527
  format_visual_remove(parts.activity,"active")
516
528
  } // }}}
517
529
  function monitor_instance_state_change(notification) { //{{{
530
+ if ($('#trackcolumn').length > 0) {
531
+ if (notification == "finished") {
532
+ parent.closeIFrame(window.location.search);
533
+ }
534
+ }
518
535
  if (notification == "ready" || notification == "stopped" || notification == "running") {
519
536
  $("#state button").removeAttr('disabled');
520
537
  }
538
+
521
539
  // sometimes, out of sheer network routingness, stopping comes after stopped, which fucks the UI hard
522
540
  // thus, we are having none of it
523
541
  if (notification == 'stopping' && save['state'] == 'stopped')
@@ -537,9 +555,9 @@ function monitor_instance_state_change(notification) { //{{{
537
555
 
538
556
  var but = "";
539
557
  if (notification == "ready" || notification == "stopped") {
540
- but = " ⇒ <button onclick='$(this).attr(\"disabled\",\"disabled\");start_instance();'>start</button> / <button onclick='$(this).attr(\"disabled\",\"disabled\");sim_instance();'>simulate</button> / <button onclick='aba_instance();'>abandon</button>";
558
+ but = " ⇒ <button onclick='$(this).attr(\"disabled\",\"disabled\");start_instance();' title='start'>⏵</button> / <button onclick='$(this).attr(\"disabled\",\"disabled\");sim_instance();' title='simulate'>🎜</button> / <button onclick='aba_instance();' title='abandon'>⛌</button>";
541
559
  } else if (notification == "running") {
542
- but = " ⇒ <button onclick='$(this).attr(\"disabled\",\"disabled\");stop_instance();'>stop</button>";
560
+ but = " ⇒ <button onclick='$(this).attr(\"disabled\",\"disabled\");stop_instance();' title='stop'>⏸</button>";
543
561
  }
544
562
 
545
563
  // disable all input, also check themes
@@ -710,7 +728,7 @@ function save_svg() {// {{{
710
728
  if (x && x.href && x.href.match(/wfadaptor\.css$/)) {
711
729
  $(x.cssRules).each(function(j,y){
712
730
  var loc = $(gc).find(y.selectorText.replace(/^svg /,''));
713
- loc.attr('style',y.style.cssText);
731
+ loc.attr('style',y.style.cssText + loc.attr('style') + ';');
714
732
  });
715
733
  var loc = $(gc).find('text.super');
716
734
  loc.attr('style',loc.attr('style') + ' display: none');
@@ -854,7 +872,9 @@ function load_testset(exec) {// {{{
854
872
  if (name) {
855
873
  url = $('body').attr('current-testsets') + name + ".xml";
856
874
  } else {
857
- url = $("#predefinedtestsets").attr('data-other');
875
+ if ($('body').attr('load-testset').length > 0) {
876
+ url = $('body').attr('load-testset');
877
+ }
858
878
  }
859
879
  if (url) {
860
880
  $.ajax({
@@ -0,0 +1,8 @@
1
+ function closeIFrame(srch) {
2
+ $('iframe').each(function(i,val){
3
+ if ($(val).attr('src') == 'track.html' + srch) {
4
+ $(val).remove();
5
+ }
6
+ });
7
+ }
8
+
data/cockpit/track.html CHANGED
@@ -44,75 +44,30 @@
44
44
  <link rel="stylesheet" href="/js_libs/ui.css" type="text/css"/>
45
45
 
46
46
  <link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
47
- <script>
48
- var lines;
49
- var ws;
50
- var acts = {};
51
- var transitions = [];
52
- var lastpos;
53
47
 
54
- var sub = 'topic' + '=' + 'activity' + '&' +// {{{
55
- 'events' + '=' + 'receiving';// }}}
48
+ <!-- modelling ui -->
49
+ <script type="text/javascript" src="js/wfadaptor.js"></script>
50
+ <link rel="stylesheet" href="css/wfadaptor.css" type="text/css"/>
56
51
 
57
- function websocket(what) { //{{{
58
- var url = $('body').attr('current-instance');
59
- var Socket = "MozWebSocket" in window ? MozWebSocket : WebSocket;
60
- if (ws) ws.close();
61
- ws = new Socket(url.replace(/http/,'ws') + "/notifications/subscriptions/" + what + "/ws/");
62
- ws.onopen = function() {
63
- console.log("monitoring", "opened", "");
64
- };
65
- ws.onmessage = function(e) {
66
- data = $.parseXML(e.data);
67
- if ($('event > topic',data).length > 0) {
68
- switch($('event > topic',data).text()) {
69
- case 'activity':
70
- var data = JSON.parse($('event > notification',data).text());
71
- if (data.endpoint == "https://centurio.work/flow/start/url/") {
72
- var num = parseInt(data.received[0].data.match(/\d+$/)[0]);
73
- console.log(num);
74
- $('#bla1').attr('src','https://centurio.work/flow/graph.html?monitor=' + data.received[0].data);
75
- setTimeout(function(){ $('#bla2').attr('src','https://centurio.work/flow/graph.html?monitor=' + data.received[0].data.replace(/\d+$/,num+1)); }, 2000);
76
- setTimeout(function(){ $('#bla3').attr('src','https://centurio.work/flow/graph.html?monitor=' + data.received[0].data.replace(/\d+$/,num+2)); }, 4000);
77
- }
78
- break;
79
- }
80
- }
81
- if ($('vote > topic',data).length > 0) {
82
- }
83
- };
84
- ws.onclose = function() {
85
- console.log("monitoring", "closed", "server down i assume.");
86
- };
87
- } //}}}
88
-
89
- $(document).ready(function(){
90
- var url = "https://centurio.work/flow/engine/11/";
91
- $('body').attr('current-instance',url);
92
- $.ajax({
93
- type: "POST",
94
- url: url + "/notifications/subscriptions/",
95
- data: sub,
96
- success: function(res){
97
- res = res.unserialize();
98
- $.each(res,function(a,b){
99
- if (b[0] == 'key') {
100
- websocket(b[1]);
101
- }
102
- });
103
- }
104
- });
105
- });
106
- </script>
52
+ <!-- custom stuff, play arround -->
53
+ <script type="text/javascript" src="js/ui.js"></script>
54
+ <script type="text/javascript" src="js/instance.js"></script>
55
+ <script type="text/javascript" src="js/details.js"></script>
56
+ <script type="text/javascript" src="js/parameters.js"></script>
57
+ <script type="text/javascript" src="js/track.js"></script>
58
+ <link rel="stylesheet" href="css/ui.css" type="text/css"/>
59
+ <link rel="stylesheet" href="css/track.css" type="text/css"/>
107
60
  </head>
108
- <body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui" style="display: flex; flex-direction:row; align-items: stretch; height: 100vh;">
109
- <div style="flex: 1 1 auto; display: flex; flex-direction:column; align-items: stretch; height: 100vh">
110
- <iframe style="flex: 1 1 auto;" src="graph.html?monitor=https://centurio.work/flow/engine/11/"></iframe>
111
- <iframe id="bla1" style="flex: 1 1 auto;" src=""></iframe>
112
- </div>
113
- <div style="flex: 1 1 auto; display: flex; flex-direction:column; align-items: stretch; height: 100vh">
114
- <iframe id="bla2" style="flex: 1 1 auto;" src=""></iframe>
115
- <iframe id="bla3" style="flex: 1 1 auto;" src=""></iframe>
116
- </div>
61
+ <body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui">
62
+ <div id="trackfull">
63
+ <div id='graphcolumn'>
64
+ <div id="usage">
65
+ <span id="title"></span> | <span id='state'></span>
66
+ </div>
67
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' width='1' height='1'></svg>
68
+ </div>
69
+ <div id='trackcolumn'>
70
+ </div>
71
+ </div>
117
72
  </body>
118
73
  </html>
data/cpee.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "1.4.28"
3
+ s.version = "1.4.29"
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). If you just need workflow execution, without a rest/xmpp service exposing it, then use WEEL"
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: 1.4.28
4
+ version: 1.4.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -118,6 +118,7 @@ files:
118
118
  - cockpit/contrib/transformation1.xsl
119
119
  - cockpit/contrib/transformation2.xsl
120
120
  - cockpit/contrib/tree_example.svg
121
+ - cockpit/css/track.css
121
122
  - cockpit/css/ui.css
122
123
  - cockpit/css/wfadaptor.css
123
124
  - cockpit/graph.html
@@ -125,6 +126,7 @@ files:
125
126
  - cockpit/js/details.js
126
127
  - cockpit/js/instance.js
127
128
  - cockpit/js/parameters.js
129
+ - cockpit/js/track.js
128
130
  - cockpit/js/ui.js
129
131
  - cockpit/js/wfadaptor.js
130
132
  - cockpit/js_libs.zip