cpee 2.1.110 → 2.1.111
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 +4 -4
- data/cockpit/css/extended_columns-label.css +1 -1
- data/cockpit/css/extended_columns-svg.css +18 -6
- data/cockpit/css/llm.css +1 -1
- data/cockpit/css/ui.css +1 -1
- data/cockpit/css/wfadaptor.css +3 -3
- data/cockpit/david.html +1 -1
- data/cockpit/edit.html +1 -1
- data/cockpit/graph.html +1 -1
- data/cockpit/index.html +1 -1
- data/cockpit/js/extended_columns.js +113 -26
- data/cockpit/js/instance.js +34 -8
- data/cockpit/js/wfadaptor.js +3 -2
- data/cockpit/llm.html +1 -1
- data/cockpit/llm_alternative.html +1 -1
- data/cockpit/model.html +1 -1
- data/cockpit/only_llm.html +1 -1
- data/cockpit/templates/Coopis 2010 Replay.xml +214 -0
- data/cockpit/templates/Coopis 2010.xml +16 -9
- data/cockpit/templates/Frames.xml +47 -23
- data/cockpit/templates/ML-pipe-multi.xml +0 -1
- data/cockpit/templates/Worklist Vote.xml +1 -1
- data/cockpit/templates/Worklist.xml +1 -1
- data/cockpit/themes/base.js +10 -15
- data/cockpit/track.html +1 -1
- data/cpee.gemspec +1 -1
- data/server/executionhandlers/eval/connection.rb +2 -1
- data/server/executionhandlers/ruby/connection.rb +2 -1
- data/server/executionhandlers/ruby/dsl_to_dslx.xsl +1 -1
- data/server/resources/topics.xml +2 -0
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2328b64e63f8cb6aa07f437e6eb74db8b887f9a19213dedca0b85a87d7ab78a9
|
|
4
|
+
data.tar.gz: e8b3d0b931d7c189c000bba2078b35f4a387e7ef256bcab8fd71d6d0253e7d60
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5cc21448cdaa794df412a1102a34a59f1d8c27cf75378596331821c0780984fe613a5214a5e854d9ae06037a8ba3260f4629fd9f66d122acdd58248fdde828cd
|
|
7
|
+
data.tar.gz: e1962692f65c3b65a3abcc195255705a630cecc53b00c33a852f5afb0bb0e9bf45add649cc63c9e1ebcba59d0bbf2391e4afbb9b9a39a9922962d5a9fb193290
|
|
@@ -4,17 +4,29 @@ svg rect.border {
|
|
|
4
4
|
svg .resource-point.read {
|
|
5
5
|
fill: green;
|
|
6
6
|
}
|
|
7
|
+
svg .resource-point.read text {
|
|
8
|
+
font-size: 11px;
|
|
9
|
+
fill: black;
|
|
10
|
+
}
|
|
7
11
|
svg .resource-point.write {
|
|
8
12
|
fill: orange;
|
|
9
13
|
}
|
|
14
|
+
svg .resource-point.write text {
|
|
15
|
+
font-size: 11px;
|
|
16
|
+
fill: black;
|
|
17
|
+
}
|
|
10
18
|
svg .resource-point.both {
|
|
11
19
|
fill: blue;
|
|
12
20
|
}
|
|
13
|
-
svg
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
svg .resource-point.both text {
|
|
22
|
+
font-size: 11px;
|
|
23
|
+
fill: black;
|
|
24
|
+
}
|
|
25
|
+
svg rect.resource-column {
|
|
26
|
+
fill: grey;
|
|
27
|
+
fill-opacity: 0.1;
|
|
16
28
|
}
|
|
17
|
-
svg
|
|
18
|
-
|
|
19
|
-
|
|
29
|
+
svg rect.resource-column:hover {
|
|
30
|
+
fill: red;
|
|
31
|
+
fill-opacity: 0.1;
|
|
20
32
|
}
|
data/cockpit/css/llm.css
CHANGED
data/cockpit/css/ui.css
CHANGED
data/cockpit/css/wfadaptor.css
CHANGED
|
@@ -42,7 +42,7 @@ svg {
|
|
|
42
42
|
display:inline;
|
|
43
43
|
margin:0;
|
|
44
44
|
padding:0;
|
|
45
|
-
font-family:
|
|
45
|
+
font-family: adwaita-sans;
|
|
46
46
|
user-select: none;
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -223,10 +223,10 @@ svg .grey {
|
|
|
223
223
|
stroke-dasharray:none;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
svg.
|
|
226
|
+
svg.labelscolumn text.label {
|
|
227
227
|
cursor: pointer;
|
|
228
228
|
}
|
|
229
|
-
svg.
|
|
229
|
+
svg.labelscolumn text.label:hover, svg.labelscolumn text.label.hover {
|
|
230
230
|
fill: var(--wfadaptor-selected-text);
|
|
231
231
|
}
|
|
232
232
|
|
data/cockpit/david.html
CHANGED
|
@@ -272,7 +272,7 @@
|
|
|
272
272
|
<div id="modelling">
|
|
273
273
|
<div id='graphgrid'>
|
|
274
274
|
<div class="resource-label" style="display: none"></div>
|
|
275
|
-
<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>
|
|
275
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
276
276
|
</div>
|
|
277
277
|
</div>
|
|
278
278
|
</ui-area>
|
data/cockpit/edit.html
CHANGED
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
<div id="modelling">
|
|
272
272
|
<div id='graphgrid'>
|
|
273
273
|
<div class="resource-label" style="display: none"></div>
|
|
274
|
-
<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>
|
|
274
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
275
275
|
</div>
|
|
276
276
|
</div>
|
|
277
277
|
</ui-area>
|
data/cockpit/graph.html
CHANGED
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
<div id="modelling">
|
|
80
80
|
<div id='graphgrid'>
|
|
81
81
|
<div class="resource-label" style="display: none"></div>
|
|
82
|
-
<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>
|
|
82
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
83
83
|
</div>
|
|
84
84
|
</div>
|
|
85
85
|
</div>
|
data/cockpit/index.html
CHANGED
|
@@ -272,7 +272,7 @@
|
|
|
272
272
|
<div id="modelling">
|
|
273
273
|
<div id='graphgrid'>
|
|
274
274
|
<div class="resource-label" style="display: none"></div>
|
|
275
|
-
<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>
|
|
275
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
276
276
|
</div>
|
|
277
277
|
</div>
|
|
278
278
|
</ui-area>
|
|
@@ -3,7 +3,7 @@ function show_dataflow_label(x,y,deg,text) {
|
|
|
3
3
|
|
|
4
4
|
let clone = $('svg',document.querySelector('#label').content.cloneNode(true));
|
|
5
5
|
$('text',clone).text(text);
|
|
6
|
-
|
|
6
|
+
$('body').append(clone);
|
|
7
7
|
let dim = $('text',clone)[0].getBBox();
|
|
8
8
|
let height = $('rect',clone).attr('height');
|
|
9
9
|
let width = dim.width + dim.x;
|
|
@@ -16,11 +16,16 @@ function show_dataflow_label(x,y,deg,text) {
|
|
|
16
16
|
|
|
17
17
|
let top = y-shift-top_y;
|
|
18
18
|
if (top < 0) top = 0;
|
|
19
|
+
if (top < window.scrollY) {
|
|
20
|
+
top = window.scrollY;
|
|
21
|
+
$(clone).attr('data-eq','true');
|
|
22
|
+
}
|
|
19
23
|
$(clone).css('left',x-top_x);
|
|
20
24
|
$(clone).css('top',top);
|
|
21
25
|
|
|
22
26
|
$(clone).attr('height',shift + shift_plus + 2);
|
|
23
27
|
$(clone).attr('width',neigh + 2);
|
|
28
|
+
$(clone).attr('width',neigh + 2);
|
|
24
29
|
$('g',clone).attr('transform',$('g',clone).attr('transform').replace(/%%1/, shift + 1).replace(/%%2/, deg));
|
|
25
30
|
$('rect',clone).attr('width',width);
|
|
26
31
|
}
|
|
@@ -29,13 +34,34 @@ function show_dataflow_row_label(data) {
|
|
|
29
34
|
let pos = data.getBoundingClientRect();
|
|
30
35
|
let pos_top = $('#graphgrid').parent()[0].getBoundingClientRect();
|
|
31
36
|
let pos_y;
|
|
32
|
-
let text = $('text',data).text();
|
|
37
|
+
let text = $('text.label',data).text();
|
|
33
38
|
if (pos.y < (pos_top.y + 10)) {
|
|
34
39
|
pos_y = pos_top.y + 10;
|
|
35
40
|
} else {
|
|
36
41
|
pos_y = pos.y;
|
|
37
42
|
}
|
|
38
|
-
show_dataflow_label(pos.x + 12, pos_y, 60, text);
|
|
43
|
+
show_dataflow_label(pos.x + window.scrollX + 12, pos_y + window.scrollY , 60, text);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function show_dataflow_row_labels() {
|
|
47
|
+
$('.displaylabel').remove();
|
|
48
|
+
let top = 0;
|
|
49
|
+
if (manifestation.adaptor.properties['always'] == 'true') {
|
|
50
|
+
$('.resource-column',manifestation.adaptor.illustrator.svg.label_container).each((_,ele)=>{
|
|
51
|
+
show_dataflow_row_label(ele);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
let height = 0;
|
|
55
|
+
$('svg.displaylabel').each((_,e)=>{
|
|
56
|
+
if ($(e).attr('data-eq') == 'true') {
|
|
57
|
+
if ($(e).attr('height') > height) { height = parseFloat($(e).attr('height')); }
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
$('svg.displaylabel').each((_,e)=>{
|
|
61
|
+
if ($(e).attr('data-eq') == 'true') {
|
|
62
|
+
$(e).css('top',window.scrollY + height - parseFloat($(e).attr('height')));
|
|
63
|
+
}
|
|
64
|
+
});
|
|
39
65
|
}
|
|
40
66
|
|
|
41
67
|
function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
@@ -49,7 +75,7 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
49
75
|
graphrealization.illustrator.svg.label_container.removeClass('striped');
|
|
50
76
|
}
|
|
51
77
|
|
|
52
|
-
$('.
|
|
78
|
+
$('.labelscolumn, .graphlast').remove();
|
|
53
79
|
let tcolumns = [];
|
|
54
80
|
let tcolumntype = {};
|
|
55
81
|
let tcolumncount = {}
|
|
@@ -87,7 +113,7 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
87
113
|
mapPoints.set(k, p);
|
|
88
114
|
}
|
|
89
115
|
|
|
90
|
-
let tsvg = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-row" element-row="' + (val.row-1) + '"></g>');
|
|
116
|
+
let tsvg = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-row" element-id="' + val.element_id + '" element-row="' + (val.row-1) + '"></g>');
|
|
91
117
|
|
|
92
118
|
var cx = space;
|
|
93
119
|
var count = 0;
|
|
@@ -100,14 +126,26 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
100
126
|
let inner;
|
|
101
127
|
|
|
102
128
|
if (p.AR == "Read") {
|
|
103
|
-
inner = $X('<
|
|
129
|
+
inner = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-point read" resource-column="' + count + '"><polygon class="target" points="' + (p.x) + ',' + pos + ' ' + (p.x + iconsize) + ',' + (pos + iconsize/2) + ' ' + (p.x + iconsize) + ',' + (pos - iconsize/2) + '"></polygon></g>');
|
|
130
|
+
if (manifestation.adaptor.properties['iolabels'] == 'true') {
|
|
131
|
+
inner.append($X('<text xmlns="http://www.w3.org/2000/svg" x="' + (p.x + 3) + '" y="' + (pos+12) + '">r</text>'));
|
|
132
|
+
}
|
|
104
133
|
if (pos == p.y0) { firstAssignFlag = true; }
|
|
105
134
|
} else if (p.AR == "Assign") { // Define points for a triangle pointing to the left
|
|
106
|
-
inner = $X('<
|
|
135
|
+
inner = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-point write" resource-column="' + count + '"><polygon class="target" points="' + (p.x + iconsize) + ',' + pos + ' ' + (p.x) + ',' + (pos + iconsize/2) + ' ' + (p.x) + ',' + (pos - iconsize/2) + '"></polygon></g>');
|
|
136
|
+
if (manifestation.adaptor.properties['iolabels'] == 'true') {
|
|
137
|
+
inner.append($X('<text xmlns="http://www.w3.org/2000/svg" x="' + (p.x) + '" y="' + (pos+12) + '">w</text>'));
|
|
138
|
+
}
|
|
107
139
|
} else if (p.AR == "AssignRead") {
|
|
108
|
-
inner = $X('<
|
|
140
|
+
inner = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-point both" resource-column="' + count + '"><circle class="target" cx="' + (p.x + iconsize/2) + '" cy="' + pos + '" r="' + (iconsize / 2) + '"></circle></g>');
|
|
141
|
+
if (manifestation.adaptor.properties['iolabels'] == 'true') {
|
|
142
|
+
inner.append($X('<text xmlns="http://www.w3.org/2000/svg" x="' + (p.x-1.5) + '" y="' + (pos+13) + '">rw</text>'));
|
|
143
|
+
}
|
|
109
144
|
} else if (p.AR == "ReadAssign") {
|
|
110
|
-
inner = $X('<
|
|
145
|
+
inner = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-point both" resource-column="' + count + '"><circle class="target" cx="' + (p.x + iconsize/2) + '" cy="' + pos + '" r="' + (iconsize / 2) + '"></circle></g>');
|
|
146
|
+
if (manifestation.adaptor.properties['iolabels'] == 'true') {
|
|
147
|
+
inner.append($X('<text xmlns="http://www.w3.org/2000/svg" x="' + (p.x-1.5) + '" y="' + (pos+13) + '">rw</text>'));
|
|
148
|
+
}
|
|
111
149
|
if (pos == p.y0) { firstAssignFlag = true; }
|
|
112
150
|
}
|
|
113
151
|
|
|
@@ -116,7 +154,7 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
116
154
|
p.ymax = pos;
|
|
117
155
|
}
|
|
118
156
|
|
|
119
|
-
inner.append($X('<text xmlns="http://www.w3.org/2000/svg"></text>').text(k));
|
|
157
|
+
inner.children().first().append($X('<text class="label" xmlns="http://www.w3.org/2000/svg"></text>').text(k));
|
|
120
158
|
tsvg.append(inner);
|
|
121
159
|
}
|
|
122
160
|
|
|
@@ -126,7 +164,12 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
126
164
|
if (tcolumnsvgs[col.column][1] == undefined) {
|
|
127
165
|
tcolumnsvgs[col.column][1] = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-row" element-row="' + 0 + '"></g>');
|
|
128
166
|
}
|
|
129
|
-
|
|
167
|
+
let i = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-point write" resource-column="' + count + '"><polygon class="target" points="' + (p.x + iconsize) + ',' + firstpos + ' ' + (p.x) + ',' + (firstpos + iconsize/2) + ' ' + (p.x) + ',' + (firstpos - iconsize/2) + '"></polygon></g>');
|
|
168
|
+
if (manifestation.adaptor.properties['iolabels'] == 'true') {
|
|
169
|
+
i.append($X('<text xmlns="http://www.w3.org/2000/svg" x="' + (p.x) + '" y="' + (firstpos+12) + '">w</text>'));
|
|
170
|
+
}
|
|
171
|
+
i.children().first().append($X('<text class="label" xmlns="http://www.w3.org/2000/svg"></text>').text(k));
|
|
172
|
+
tcolumnsvgs[col.column][1].append(i);
|
|
130
173
|
}
|
|
131
174
|
cx += iconsize + space;
|
|
132
175
|
count += 1;
|
|
@@ -136,11 +179,8 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
136
179
|
tcolumnsvgs[col.column][val.row] = tsvg;
|
|
137
180
|
}
|
|
138
181
|
} else {
|
|
139
|
-
tsvg = $X('<text class="label" element-id="' + val.element_id + '" x="' + space + '" y="' + (dimensions.height * val.row - dimensions.height_shift) + '" xmlns="http://www.w3.org/2000/svg"></text>')
|
|
182
|
+
tsvg = $X('<text class="label" element-row="' + (val.row - 1) + '" element-id="' + val.element_id + '" x="' + space + '" y="' + (dimensions.height * val.row - dimensions.height_shift) + '" xmlns="http://www.w3.org/2000/svg"></text>')
|
|
140
183
|
tsvg.text(col.value);
|
|
141
|
-
tsvg.mouseover(function(ev){ manifestation.events.mouseover($(ev.currentTarget).attr('element-id')); });
|
|
142
|
-
tsvg.mouseout(function(ev){ manifestation.events.mouseout($(ev.currentTarget).attr('element-id')); });
|
|
143
|
-
tsvg.click(function(ev){ manifestation.events.click($(ev.currentTarget).attr('element-id'),ev); });
|
|
144
184
|
tcolumnsvgs[col.column][val.row] = tsvg;
|
|
145
185
|
}
|
|
146
186
|
|
|
@@ -157,7 +197,7 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
157
197
|
|
|
158
198
|
tcolumns.forEach(h => {
|
|
159
199
|
if (Object.keys(tcolumnsvgs[h]).length > 0) {
|
|
160
|
-
const svgcolumn = $X('<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" class="
|
|
200
|
+
const svgcolumn = $X('<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" class="labelscolumn"></svg>');
|
|
161
201
|
const svgback = $X('<g xmlns="http://www.w3.org/2000/svg"></g>');
|
|
162
202
|
const svgfront = $X('<g xmlns="http://www.w3.org/2000/svg"></g>');
|
|
163
203
|
let xwidth = 0;
|
|
@@ -182,7 +222,7 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
182
222
|
if (tcolumntype[h] == 'resource' || tcolumntype[h] == 'bodsod') {
|
|
183
223
|
let count = 0;
|
|
184
224
|
for (const [k, p] of mapPoints) {
|
|
185
|
-
svgback.append($X('<
|
|
225
|
+
svgback.append($X('<rect xmlns="http://www.w3.org/2000/svg" resource-column="' + count + '" x="' + p.x + '" y="' + p.y0 + '" width="' + iconsize + '" height="' + (p.ymax - p.y0 + 0.01) + '" class="' + tcolumntype[h] + '-column"><text class="label">' + k + '</text></rect>'));
|
|
186
226
|
count += 1;
|
|
187
227
|
}
|
|
188
228
|
}
|
|
@@ -193,6 +233,8 @@ function draw_extended_columns(graphrealization,max,labels,dimensions,striped) {
|
|
|
193
233
|
}
|
|
194
234
|
});
|
|
195
235
|
|
|
236
|
+
show_dataflow_row_labels();
|
|
237
|
+
|
|
196
238
|
return tcolumns.length;
|
|
197
239
|
}
|
|
198
240
|
|
|
@@ -201,11 +243,25 @@ $(document).ready(function() {
|
|
|
201
243
|
var clicked_label;
|
|
202
244
|
$('#graphgrid').on('mouseout','svg .resource-column, svg .resource-point',(data)=>{
|
|
203
245
|
if (clicked_label != current_label) {
|
|
204
|
-
$(
|
|
246
|
+
let rc = $(current_label).attr('resource-column');
|
|
247
|
+
$('.resource-point[resource-column=' + rc + ']').each((_,e)=>{
|
|
248
|
+
let svgid = $(e).parent('g').attr('element-id');
|
|
249
|
+
manifestation.events.mouseout(svgid);
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
show_dataflow_row_labels();
|
|
205
253
|
clicked_label = undefined;
|
|
206
254
|
current_label = undefined;
|
|
207
255
|
}
|
|
208
256
|
});
|
|
257
|
+
$(window).scroll((data)=>{
|
|
258
|
+
if (current_label != undefined) {
|
|
259
|
+
$('.displaylabel').remove();
|
|
260
|
+
show_dataflow_row_label(current_label);
|
|
261
|
+
} else {
|
|
262
|
+
show_dataflow_row_labels();
|
|
263
|
+
}
|
|
264
|
+
});
|
|
209
265
|
$('#graphcolumn').scroll((data)=>{
|
|
210
266
|
if (current_label != undefined) {
|
|
211
267
|
$('.displaylabel').remove();
|
|
@@ -218,16 +274,47 @@ $(document).ready(function() {
|
|
|
218
274
|
clicked_label = data.target;
|
|
219
275
|
});
|
|
220
276
|
$('#graphgrid').on('mouseover','svg .resource-column',(data)=>{
|
|
277
|
+
$('.displaylabel').remove();
|
|
221
278
|
show_dataflow_row_label(data.target);
|
|
222
279
|
current_label = data.target;
|
|
280
|
+
|
|
281
|
+
let rc = $(data.target).attr('resource-column');
|
|
282
|
+
$('.resource-point[resource-column=' + rc + ']').each((_,e)=>{
|
|
283
|
+
let svgid = $(e).parent('g').attr('element-id');
|
|
284
|
+
manifestation.events.mouseover(svgid);
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
$('#graphgrid').on('mouseover','svg .resource-point',(data)=>{
|
|
288
|
+
$('.displaylabel').remove();
|
|
289
|
+
let tar = $(data.currentTarget);
|
|
290
|
+
let rc = tar.attr('resource-column');
|
|
291
|
+
let rct = $('.resource-column[resource-column=' + rc + ']')[0];
|
|
292
|
+
|
|
293
|
+
let pos = tar.find('.target')[0].getBoundingClientRect();
|
|
294
|
+
let text = $('text.label',tar).text();
|
|
295
|
+
show_dataflow_label(pos.x + window.scrollX + 12, pos.y + window.scrollY + 5, 60, text);
|
|
296
|
+
|
|
297
|
+
let svgid = tar.parent().attr('element-id');
|
|
298
|
+
manifestation.events.mouseover(svgid);
|
|
299
|
+
current_label = rct;
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
$('#graphgrid').on('mouseover','svg.labelscolumn text.label, svg.graphcolumn g.element',(ev)=>{
|
|
303
|
+
$('.displaylabel').remove();
|
|
304
|
+
let svgid = $(ev.currentTarget).attr('element-id');
|
|
305
|
+
manifestation.events.mouseover(svgid);
|
|
306
|
+
let er = manifestation.adaptor.illustrator.svg.container.find('[element-id = "' + svgid + '"][element-row]').attr('element-row');
|
|
307
|
+
$('.resource-row[element-row=' + er + '] .resource-point .target').each((_,e) => {
|
|
308
|
+
let pos = e.getBoundingClientRect();
|
|
309
|
+
let text = $('text.label',e).text();
|
|
310
|
+
show_dataflow_label(pos.x + window.scrollX + 12, pos.y + window.scrollY + 5, 60, text);
|
|
311
|
+
})
|
|
312
|
+
});
|
|
313
|
+
$('#graphgrid').on('mouseout','svg.labelscolumn text.label, svg.graphcolumn g.element',(ev)=>{
|
|
314
|
+
manifestation.events.mouseout($(ev.currentTarget).attr('element-id'));
|
|
315
|
+
show_dataflow_row_labels();
|
|
223
316
|
});
|
|
224
|
-
$('#graphgrid').on('
|
|
225
|
-
|
|
226
|
-
let data = $('.resource-column[resource-column=' + rc + ']')[0];
|
|
227
|
-
show_dataflow_row_label(data);
|
|
228
|
-
current_label = data;
|
|
229
|
-
// let pos = data.target.getBoundingClientRect();
|
|
230
|
-
// let text = $('text',data.target).text();
|
|
231
|
-
// show_dataflow_label(pos.x + 12, pos.y + 5, 60, text);
|
|
317
|
+
$('#graphgrid').on('click','svg.labelscolumn text.label, svg.graphcolumn g.element',(ev)=>{
|
|
318
|
+
manifestation.events.click($(ev.currentTarget).attr('element-id'),ev);
|
|
232
319
|
});
|
|
233
320
|
});
|
data/cockpit/js/instance.js
CHANGED
|
@@ -123,7 +123,16 @@ function cockpit() { //{{{
|
|
|
123
123
|
document.addEventListener('uidash:activate_tab', function (e) {
|
|
124
124
|
if (!$('#tabdetails').hasClass('inactive')) {
|
|
125
125
|
if (save['graph_adaptor']) {
|
|
126
|
+
var svgid = manifestation.selected();
|
|
127
|
+
var marks = manifestation.marked();
|
|
126
128
|
save['graph_adaptor'].redraw();
|
|
129
|
+
let vtarget = manifestation.adaptor.illustrator.get_node_by_svg_id(svgid);
|
|
130
|
+
if (vtarget.length > 0) { vtarget.parents('g.element[element-id]').addClass('selected'); }
|
|
131
|
+
format_instance_pos();
|
|
132
|
+
marks.forEach((svgid) => {
|
|
133
|
+
let vtarget = manifestation.adaptor.illustrator.get_node_by_svg_id(svgid);
|
|
134
|
+
if (vtarget.length > 0) { vtarget.parents('g.element[element-id]').addClass('marked'); }
|
|
135
|
+
});
|
|
127
136
|
}
|
|
128
137
|
}
|
|
129
138
|
});
|
|
@@ -441,11 +450,15 @@ function monitor_instance(cin,rep,load,exec) {// {{{
|
|
|
441
450
|
});
|
|
442
451
|
}// }}}
|
|
443
452
|
|
|
453
|
+
function translate_endpoint(ep) {
|
|
454
|
+
return ep.replace(/\{[^\/\}]+\}/,'*');
|
|
455
|
+
}
|
|
456
|
+
|
|
444
457
|
function get_resource(base, key, loc, cache) {
|
|
445
458
|
cache[key] = {};
|
|
446
459
|
let deferreds = [new $.Deferred(), new $.Deferred(), new $.Deferred()];
|
|
447
460
|
$.ajax({
|
|
448
|
-
url: base + 'endpoints/' + encodeURIComponent(loc) + "/symbol.svg",
|
|
461
|
+
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/symbol.svg",
|
|
449
462
|
success: function(res) {
|
|
450
463
|
cache[key]['symbol'] = res;
|
|
451
464
|
deferreds[0].resolve(true);
|
|
@@ -453,7 +466,7 @@ function get_resource(base, key, loc, cache) {
|
|
|
453
466
|
error: deferreds[0].resolve
|
|
454
467
|
})
|
|
455
468
|
$.ajax({
|
|
456
|
-
url: base + 'endpoints/' + encodeURIComponent(loc) + "/schema.rng",
|
|
469
|
+
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/schema.rng",
|
|
457
470
|
success: function(res) {
|
|
458
471
|
cache[key]['schema'] = res;
|
|
459
472
|
deferreds[1].resolve(true);
|
|
@@ -461,7 +474,7 @@ function get_resource(base, key, loc, cache) {
|
|
|
461
474
|
error: deferreds[1].resolve
|
|
462
475
|
})
|
|
463
476
|
$.ajax({
|
|
464
|
-
url: base + 'endpoints/' + encodeURIComponent(loc) + "/properties.json",
|
|
477
|
+
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/properties.json",
|
|
465
478
|
success: function(res) {
|
|
466
479
|
cache[key]['properties'] = res;
|
|
467
480
|
deferreds[2].resolve(true);
|
|
@@ -510,7 +523,7 @@ function monitor_instance_values(type,vals) {// {{{
|
|
|
510
523
|
let def = new $.Deferred();
|
|
511
524
|
deferreds.push(def);
|
|
512
525
|
$.ajax({
|
|
513
|
-
url: rep + 'endpoints/' + encodeURIComponent($(v).text()),
|
|
526
|
+
url: rep + 'endpoints/' + encodeURIComponent(translate_endpoint($(v).text())),
|
|
514
527
|
success: () => {
|
|
515
528
|
tmp[v.tagName] = {};
|
|
516
529
|
$.when.apply($, get_resource(rep,v.tagName,$(v).text(),tmp)).then(function(x) {
|
|
@@ -527,10 +540,10 @@ function monitor_instance_values(type,vals) {// {{{
|
|
|
527
540
|
let defr = new $.Deferred();
|
|
528
541
|
deferreds.push(defr);
|
|
529
542
|
$.ajax({
|
|
530
|
-
url: rep + 'endpoints/' + encodeURIComponent(encodeURIComponent($(v).text())),
|
|
543
|
+
url: rep + 'endpoints/' + encodeURIComponent(encodeURIComponent(translate_endpoint($(v).text()))),
|
|
531
544
|
success: () => {
|
|
532
545
|
tmp[v.tagName] = {};
|
|
533
|
-
$.when.apply($, get_resource(rep,v.tagName,encodeURIComponent($(v).text()),tmp)).then(function(x) {
|
|
546
|
+
$.when.apply($, get_resource(rep,v.tagName,encodeURIComponent(translate_endpoint($(v).text())),tmp)).then(function(x) {
|
|
534
547
|
save['endpoints_cache'] = tmp;
|
|
535
548
|
def.resolve();
|
|
536
549
|
// when updating attributes clear the attributes, because they might change as well. New arguments are possible.
|
|
@@ -1031,6 +1044,7 @@ function save_svgfile() {// {{{
|
|
|
1031
1044
|
});
|
|
1032
1045
|
gc.find('.selected').removeClass('selected');
|
|
1033
1046
|
var varreps = {};
|
|
1047
|
+
var ffamily = '';
|
|
1034
1048
|
$(window.document.styleSheets).each(function(i,x){
|
|
1035
1049
|
if (x && x.href && x.ownerNode.attributes.getNamedItem('data-include-export')) {
|
|
1036
1050
|
$(x.cssRules).each(function(j,y){
|
|
@@ -1039,6 +1053,13 @@ function save_svgfile() {// {{{
|
|
|
1039
1053
|
varreps['var\\(' + z + '\\)'] = getComputedStyle(document.documentElement).getPropertyValue(z).toString();
|
|
1040
1054
|
});
|
|
1041
1055
|
}
|
|
1056
|
+
if (y.selectorText == "svg") {
|
|
1057
|
+
$(y.style).each(function(k,z) {
|
|
1058
|
+
if (z == 'font-family') {
|
|
1059
|
+
ffamily = getComputedStyle($('#graphgrid > svg')[0]).getPropertyValue(z).toString();
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
}
|
|
1042
1063
|
var loc = $(gc).find(y.selectorText.replace(/svg /g,''));
|
|
1043
1064
|
var cst = y.style.cssText;
|
|
1044
1065
|
for (k in varreps) {
|
|
@@ -1049,8 +1070,13 @@ function save_svgfile() {// {{{
|
|
|
1049
1070
|
$(loco).attr('style',cst + sty);
|
|
1050
1071
|
});
|
|
1051
1072
|
});
|
|
1052
|
-
|
|
1053
|
-
|
|
1073
|
+
$(gc).find('text.super,g.hoverstyle,g.markstyle').each(function(k,loco){
|
|
1074
|
+
$(loco).attr('style',$(loco).attr('style') + ' display: none; ');
|
|
1075
|
+
});
|
|
1076
|
+
ffamily = ffamily.replace(/-/,' ').split(' ').map(function(word) { return word[0].toUpperCase() + word.substr(1); }).join(' ');
|
|
1077
|
+
$(gc).find('text').each(function(k,loco){
|
|
1078
|
+
$(loco).attr('style',$(loco).attr('style') + ' font-family: \'' + ffamily + '\'; ');
|
|
1079
|
+
});
|
|
1054
1080
|
}
|
|
1055
1081
|
});
|
|
1056
1082
|
gc.attr('width',start+1);
|
data/cockpit/js/wfadaptor.js
CHANGED
|
@@ -26,12 +26,13 @@ var high;
|
|
|
26
26
|
// e.g. Event fires to Adaptor to insert Element and Illustrator and Description do it
|
|
27
27
|
function WfAdaptor(theme_base,doit) { // Controller {{{
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
// public variables {{{
|
|
30
30
|
this.illustrator;
|
|
31
31
|
this.description;
|
|
32
32
|
this.elements = {};
|
|
33
33
|
this.theme_base = theme_base;
|
|
34
34
|
this.theme_dir = theme_base.replace(/theme.js/,'');
|
|
35
|
+
this.properties = {};
|
|
35
36
|
// }}}
|
|
36
37
|
|
|
37
38
|
// private variables {{{
|
|
@@ -1146,7 +1147,7 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
|
|
|
1146
1147
|
if(root.tagName == 'description' && illustrator.elements[root.tagName].closing_symbol) {
|
|
1147
1148
|
pos.row++;
|
|
1148
1149
|
max.row = pos.row;
|
|
1149
|
-
draw_position(illustrator.elements['start'].closing_symbol,parent_pos,pos,prev,block,[],
|
|
1150
|
+
draw_position(illustrator.elements['start'].closing_symbol,parent_pos,pos,prev,block,[],root,{svg: block.svg, pos: pos});
|
|
1150
1151
|
}
|
|
1151
1152
|
|
|
1152
1153
|
return {'endnodes': endnodes, 'max':max, 'svg': block.svg};
|
data/cockpit/llm.html
CHANGED
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
<div id="modelling">
|
|
268
268
|
<div id='graphgrid'>
|
|
269
269
|
<div class="resource-label" style="display: none"></div>
|
|
270
|
-
<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>
|
|
270
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
271
271
|
</div>
|
|
272
272
|
</div>
|
|
273
273
|
<div id='status'></div>
|
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
<div id="modelling">
|
|
270
270
|
<div id='graphgrid'>
|
|
271
271
|
<div class="resource-label" style="display: none"></div>
|
|
272
|
-
<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>
|
|
272
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
273
273
|
</div>
|
|
274
274
|
</div>
|
|
275
275
|
<div id='status'></div>
|
data/cockpit/model.html
CHANGED
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
<ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
|
|
181
181
|
<div id="modelling">
|
|
182
182
|
<div id='graphgrid'>
|
|
183
|
-
<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>
|
|
183
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
184
184
|
</div>
|
|
185
185
|
</div>
|
|
186
186
|
</ui-area>
|
data/cockpit/only_llm.html
CHANGED
|
@@ -244,7 +244,7 @@
|
|
|
244
244
|
<ui-area data-belongs-to-tab="details" id="detailcolumn">
|
|
245
245
|
<div id='graphgrid'>
|
|
246
246
|
<div class="resource-label" style="display: none"></div>
|
|
247
|
-
<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>
|
|
247
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
248
248
|
</div>
|
|
249
249
|
</ui-area>
|
|
250
250
|
<ui-area data-belongs-to-tab="log" id="arealog" class="inactive"> <!--{{{-->
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<testset xmlns="http://cpee.org/ns/properties/2.0">
|
|
3
|
+
<executionhandler>ruby</executionhandler>
|
|
4
|
+
<dataelements>
|
|
5
|
+
<persons>3</persons>
|
|
6
|
+
<card>Visa_12345</card>
|
|
7
|
+
<airline/>
|
|
8
|
+
<hotels>[]</hotels>
|
|
9
|
+
<from>Vienna</from>
|
|
10
|
+
<to>Prague</to>
|
|
11
|
+
<costs>0</costs>
|
|
12
|
+
</dataelements>
|
|
13
|
+
<endpoints>
|
|
14
|
+
<bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
|
|
15
|
+
<user>https-post://cpee.org/services/timeout-user.php</user>
|
|
16
|
+
<auto>https-post://cpee.org/services/timeout-auto.php</auto>
|
|
17
|
+
<timeout>https://cpee.org/services/timeout.php</timeout>
|
|
18
|
+
<bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
|
|
19
|
+
<subprocess>https://cpee.org/flow/start/url/</subprocess>
|
|
20
|
+
<approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
|
|
21
|
+
<send>https-post://cpee.org/ing/correlators/message/send/</send>
|
|
22
|
+
<receive>https-get://cpee.org/ing/correlators/message/receive/</receive>
|
|
23
|
+
</endpoints>
|
|
24
|
+
<attributes>
|
|
25
|
+
<guarded>none</guarded>
|
|
26
|
+
<modeltype>CPEE</modeltype>
|
|
27
|
+
<theme>extended</theme>
|
|
28
|
+
<guarded_id/>
|
|
29
|
+
<info>Coopis 2010 Replay</info>
|
|
30
|
+
<creator>Christine Ashcreek</creator>
|
|
31
|
+
<author>Christine Ashcreek</author>
|
|
32
|
+
<design_stage>development</design_stage>
|
|
33
|
+
<design_dir>Templates.dir/</design_dir>
|
|
34
|
+
<model_uuid>8f79b49f-2747-41c1-b278-195816951bbf</model_uuid>
|
|
35
|
+
<model_version/>
|
|
36
|
+
<replay>https://cpee.org/replay/</replay>
|
|
37
|
+
<replay_target>https://cpee.org/replay-data/coopis/1274c1de-286e-4d73-9375-30b363d280fa.xes.yaml</replay_target>
|
|
38
|
+
<replay_instantiate>https://cpee.org/flow/start/url/</replay_instantiate>
|
|
39
|
+
</attributes>
|
|
40
|
+
<description>
|
|
41
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
42
|
+
<call id="a1" endpoint="bookAir">
|
|
43
|
+
<parameters>
|
|
44
|
+
<label>Book Airline 1</label>
|
|
45
|
+
<method>:post</method>
|
|
46
|
+
<arguments>
|
|
47
|
+
<from>!data.from</from>
|
|
48
|
+
<to>!data.to</to>
|
|
49
|
+
<persons>!data.persons</persons>
|
|
50
|
+
</arguments>
|
|
51
|
+
</parameters>
|
|
52
|
+
<code>
|
|
53
|
+
<prepare/>
|
|
54
|
+
<finalize output="result">data.airline = result.value('id')
|
|
55
|
+
data.costs += result.value('costs').to_f
|
|
56
|
+
status.update 1, 'Hotel'</finalize>
|
|
57
|
+
<update output="result"/>
|
|
58
|
+
<rescue output="result"/>
|
|
59
|
+
</code>
|
|
60
|
+
<annotations>
|
|
61
|
+
<_timing>
|
|
62
|
+
<_timing_weight/>
|
|
63
|
+
<_timing_avg/>
|
|
64
|
+
<explanations/>
|
|
65
|
+
</_timing>
|
|
66
|
+
<_shifting>
|
|
67
|
+
<_shifting_type>Duration</_shifting_type>
|
|
68
|
+
</_shifting>
|
|
69
|
+
<_context_data_analysis>
|
|
70
|
+
<probes/>
|
|
71
|
+
<ips/>
|
|
72
|
+
</_context_data_analysis>
|
|
73
|
+
<report>
|
|
74
|
+
<url/>
|
|
75
|
+
</report>
|
|
76
|
+
<_notes>
|
|
77
|
+
<_notes_general/>
|
|
78
|
+
</_notes>
|
|
79
|
+
</annotations>
|
|
80
|
+
<documentation>
|
|
81
|
+
<input/>
|
|
82
|
+
<output/>
|
|
83
|
+
<implementation>
|
|
84
|
+
<description/>
|
|
85
|
+
</implementation>
|
|
86
|
+
<code>
|
|
87
|
+
<description/>
|
|
88
|
+
</code>
|
|
89
|
+
</documentation>
|
|
90
|
+
</call>
|
|
91
|
+
<parallel wait="-1" cancel="last">
|
|
92
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
93
|
+
<parallel_branch>
|
|
94
|
+
<call id="a2" endpoint="bookHotel">
|
|
95
|
+
<parameters>
|
|
96
|
+
<label>Book Hotel</label>
|
|
97
|
+
<method>:post</method>
|
|
98
|
+
<arguments>
|
|
99
|
+
<to>!data.to</to>
|
|
100
|
+
</arguments>
|
|
101
|
+
</parameters>
|
|
102
|
+
<code>
|
|
103
|
+
<prepare/>
|
|
104
|
+
<finalize output="result">data.hotels << result.value('id')
|
|
105
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
106
|
+
<update output="result"/>
|
|
107
|
+
<rescue output="result"/>
|
|
108
|
+
</code>
|
|
109
|
+
<annotations>
|
|
110
|
+
<_timing>
|
|
111
|
+
<_timing_weight/>
|
|
112
|
+
<_timing_avg/>
|
|
113
|
+
<explanations/>
|
|
114
|
+
</_timing>
|
|
115
|
+
<_shifting>
|
|
116
|
+
<_shifting_type>Duration</_shifting_type>
|
|
117
|
+
</_shifting>
|
|
118
|
+
<_context_data_analysis>
|
|
119
|
+
<probes/>
|
|
120
|
+
<ips/>
|
|
121
|
+
</_context_data_analysis>
|
|
122
|
+
<report>
|
|
123
|
+
<url/>
|
|
124
|
+
</report>
|
|
125
|
+
<_notes>
|
|
126
|
+
<_notes_general/>
|
|
127
|
+
</_notes>
|
|
128
|
+
</annotations>
|
|
129
|
+
<documentation>
|
|
130
|
+
<input/>
|
|
131
|
+
<output/>
|
|
132
|
+
<implementation>
|
|
133
|
+
<description/>
|
|
134
|
+
</implementation>
|
|
135
|
+
<code>
|
|
136
|
+
<description/>
|
|
137
|
+
</code>
|
|
138
|
+
</documentation>
|
|
139
|
+
</call>
|
|
140
|
+
</parallel_branch>
|
|
141
|
+
<manipulate id="a3" label="">
|
|
142
|
+
<code>data.persons -= 1</code>
|
|
143
|
+
<annotations>
|
|
144
|
+
<_logging_behavior>
|
|
145
|
+
<_exclude/>
|
|
146
|
+
</_logging_behavior>
|
|
147
|
+
<_context_data_analysis>
|
|
148
|
+
<probes/>
|
|
149
|
+
</_context_data_analysis>
|
|
150
|
+
</annotations>
|
|
151
|
+
</manipulate>
|
|
152
|
+
</loop>
|
|
153
|
+
</parallel>
|
|
154
|
+
<choose mode="exclusive">
|
|
155
|
+
<alternative condition="data.costs > 700">
|
|
156
|
+
<_probability>
|
|
157
|
+
<_probability_min/>
|
|
158
|
+
<_probability_max/>
|
|
159
|
+
<_probability_avg/>
|
|
160
|
+
</_probability>
|
|
161
|
+
<call id="a4" endpoint="approve">
|
|
162
|
+
<parameters>
|
|
163
|
+
<label>Approve Hotel</label>
|
|
164
|
+
<method>:post</method>
|
|
165
|
+
<arguments>
|
|
166
|
+
<costs>!data.costs</costs>
|
|
167
|
+
</arguments>
|
|
168
|
+
</parameters>
|
|
169
|
+
<annotations>
|
|
170
|
+
<_timing>
|
|
171
|
+
<_timing_weight/>
|
|
172
|
+
<_timing_avg/>
|
|
173
|
+
<explanations/>
|
|
174
|
+
</_timing>
|
|
175
|
+
<_shifting>
|
|
176
|
+
<_shifting_type>Duration</_shifting_type>
|
|
177
|
+
</_shifting>
|
|
178
|
+
<_context_data_analysis>
|
|
179
|
+
<probes/>
|
|
180
|
+
<ips/>
|
|
181
|
+
</_context_data_analysis>
|
|
182
|
+
<report>
|
|
183
|
+
<url/>
|
|
184
|
+
</report>
|
|
185
|
+
<_notes>
|
|
186
|
+
<_notes_general/>
|
|
187
|
+
</_notes>
|
|
188
|
+
</annotations>
|
|
189
|
+
<documentation>
|
|
190
|
+
<input/>
|
|
191
|
+
<output/>
|
|
192
|
+
<implementation>
|
|
193
|
+
<description/>
|
|
194
|
+
</implementation>
|
|
195
|
+
</documentation>
|
|
196
|
+
</call>
|
|
197
|
+
</alternative>
|
|
198
|
+
<otherwise/>
|
|
199
|
+
</choose>
|
|
200
|
+
</description>
|
|
201
|
+
</description>
|
|
202
|
+
<transformation>
|
|
203
|
+
<description type="copy"/>
|
|
204
|
+
<dataelements type="none"/>
|
|
205
|
+
<endpoints type="none"/>
|
|
206
|
+
</transformation>
|
|
207
|
+
<subscriptions xmlns="http://riddl.org/ns/common-patterns/notifications-producer/2.0">
|
|
208
|
+
<subscription id="_matze" url="https://lehre.bpm.in.tum.de/~mangler/a.php">
|
|
209
|
+
<topic id="state">
|
|
210
|
+
<event>change</event>
|
|
211
|
+
</topic>
|
|
212
|
+
</subscription>
|
|
213
|
+
</subscriptions>
|
|
214
|
+
</testset>
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
<testset xmlns="http://cpee.org/ns/properties/2.0">
|
|
3
3
|
<executionhandler>ruby</executionhandler>
|
|
4
4
|
<dataelements>
|
|
5
|
+
<airline>Aeroflot</airline>
|
|
5
6
|
<persons>3</persons>
|
|
6
7
|
<card>Visa_12345</card>
|
|
7
|
-
<
|
|
8
|
+
<costs>565.0</costs>
|
|
8
9
|
<hotels>[]</hotels>
|
|
9
10
|
<from>Vienna</from>
|
|
10
11
|
<to>Prague</to>
|
|
11
|
-
<costs>0</costs>
|
|
12
12
|
</dataelements>
|
|
13
13
|
<endpoints>
|
|
14
|
-
<bookAir>
|
|
14
|
+
<bookAir>https://cpee.org/services/airline.php</bookAir>
|
|
15
15
|
<user>https-post://cpee.org/services/timeout-user.php</user>
|
|
16
16
|
<auto>https-post://cpee.org/services/timeout-auto.php</auto>
|
|
17
17
|
<timeout>https://cpee.org/services/timeout.php</timeout>
|
|
18
|
-
<bookHotel>
|
|
18
|
+
<bookHotel>https://cpee.org/services/hotel.php</bookHotel>
|
|
19
19
|
<subprocess>https://cpee.org/flow/start/url/</subprocess>
|
|
20
|
-
<approve>
|
|
20
|
+
<approve>https://cpee.org//services/approval.php</approve>
|
|
21
21
|
<send>https-post://cpee.org/ing/correlators/message/send/</send>
|
|
22
22
|
<receive>https-get://cpee.org/ing/correlators/message/receive/</receive>
|
|
23
23
|
</endpoints>
|
|
@@ -33,9 +33,6 @@
|
|
|
33
33
|
<design_dir>Templates.dir</design_dir>
|
|
34
34
|
<model_uuid>a1cbb855-90e3-4d8c-b44b-d3ba7bff9f4e</model_uuid>
|
|
35
35
|
<model_version/>
|
|
36
|
-
<replay>https://cpee.org/replay/</replay>
|
|
37
|
-
<replay_target>https://cpee.org/replay-data/coopis/1274c1de-286e-4d73-9375-30b363d280fa.xes.yaml</replay_target>
|
|
38
|
-
<replay_instantiate>https://cpee.org/flow/start/url/</replay_instantiate>
|
|
39
36
|
</attributes>
|
|
40
37
|
<description>
|
|
41
38
|
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
@@ -138,7 +135,17 @@ data.costs += result.value('costs').to_f</finalize>
|
|
|
138
135
|
</documentation>
|
|
139
136
|
</call>
|
|
140
137
|
</parallel_branch>
|
|
141
|
-
<manipulate id="a3"
|
|
138
|
+
<manipulate id="a3" label="">
|
|
139
|
+
<code>data.persons -= 1</code>
|
|
140
|
+
<annotations>
|
|
141
|
+
<_logging_behavior>
|
|
142
|
+
<_exclude/>
|
|
143
|
+
</_logging_behavior>
|
|
144
|
+
<_context_data_analysis>
|
|
145
|
+
<probes/>
|
|
146
|
+
</_context_data_analysis>
|
|
147
|
+
</annotations>
|
|
148
|
+
</manipulate>
|
|
142
149
|
</loop>
|
|
143
150
|
</parallel>
|
|
144
151
|
<choose mode="exclusive">
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
<?xml version="1.0"?>
|
|
2
2
|
<testset xmlns="http://cpee.org/ns/properties/2.0">
|
|
3
3
|
<executionhandler>ruby</executionhandler>
|
|
4
|
-
<dataelements
|
|
5
|
-
<res>{"select_0":"learned in class or from book","input_0":"sadff","select_1":"used on a class project","input_1":"asdfsaf","input_2":"sadfasdf"}</res>
|
|
6
|
-
</dataelements>
|
|
4
|
+
<dataelements/>
|
|
7
5
|
<endpoints>
|
|
8
|
-
<frames_init>https-post://cpee.org/out/frames/</frames_init>
|
|
9
|
-
<frames_display>https-put://cpee.org/out/frames/</frames_display>
|
|
6
|
+
<frames_init>https-post://cpee.org/out/frames/{simple}/</frames_init>
|
|
7
|
+
<frames_display>https-put://cpee.org/out/frames/{simple}/</frames_display>
|
|
10
8
|
</endpoints>
|
|
11
9
|
<attributes>
|
|
12
10
|
<guarded>none</guarded>
|
|
@@ -20,7 +18,6 @@
|
|
|
20
18
|
<model_version/>
|
|
21
19
|
<design_dir>Templates.dir</design_dir>
|
|
22
20
|
<design_stage>development</design_stage>
|
|
23
|
-
<fid>gnd</fid>
|
|
24
21
|
</attributes>
|
|
25
22
|
<description>
|
|
26
23
|
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
@@ -38,14 +35,18 @@
|
|
|
38
35
|
</arguments>
|
|
39
36
|
</parameters>
|
|
40
37
|
<code>
|
|
41
|
-
<signal
|
|
42
|
-
<prepare
|
|
38
|
+
<signal>false</signal>
|
|
39
|
+
<prepare/>
|
|
43
40
|
<finalize output="result"/>
|
|
44
41
|
<update output="result"/>
|
|
45
42
|
<rescue output="result"/>
|
|
46
43
|
</code>
|
|
47
44
|
<annotations>
|
|
48
45
|
<_generic/>
|
|
46
|
+
<_logging_behavior>
|
|
47
|
+
<_exclude>false</_exclude>
|
|
48
|
+
<_include>false</_include>
|
|
49
|
+
</_logging_behavior>
|
|
49
50
|
<_timing>
|
|
50
51
|
<_timing_weight/>
|
|
51
52
|
<_timing_avg/>
|
|
@@ -93,14 +94,18 @@
|
|
|
93
94
|
</arguments>
|
|
94
95
|
</parameters>
|
|
95
96
|
<code>
|
|
96
|
-
<signal
|
|
97
|
-
<prepare
|
|
97
|
+
<signal>false</signal>
|
|
98
|
+
<prepare/>
|
|
98
99
|
<finalize output="result"/>
|
|
99
100
|
<update output="result"/>
|
|
100
101
|
<rescue output="result"/>
|
|
101
102
|
</code>
|
|
102
103
|
<annotations>
|
|
103
104
|
<_generic/>
|
|
105
|
+
<_logging_behavior>
|
|
106
|
+
<_exclude>false</_exclude>
|
|
107
|
+
<_include>false</_include>
|
|
108
|
+
</_logging_behavior>
|
|
104
109
|
<_timing>
|
|
105
110
|
<_timing_weight/>
|
|
106
111
|
<_timing_avg/>
|
|
@@ -153,14 +158,18 @@
|
|
|
153
158
|
</arguments>
|
|
154
159
|
</parameters>
|
|
155
160
|
<code>
|
|
156
|
-
<signal
|
|
157
|
-
<prepare
|
|
161
|
+
<signal>false</signal>
|
|
162
|
+
<prepare/>
|
|
158
163
|
<finalize output="result"/>
|
|
159
164
|
<update output="result"/>
|
|
160
165
|
<rescue output="result"/>
|
|
161
166
|
</code>
|
|
162
167
|
<annotations>
|
|
163
168
|
<_generic/>
|
|
169
|
+
<_logging_behavior>
|
|
170
|
+
<_exclude>false</_exclude>
|
|
171
|
+
<_include>false</_include>
|
|
172
|
+
</_logging_behavior>
|
|
164
173
|
<_timing>
|
|
165
174
|
<_timing_weight/>
|
|
166
175
|
<_timing_avg/>
|
|
@@ -213,14 +222,18 @@
|
|
|
213
222
|
</arguments>
|
|
214
223
|
</parameters>
|
|
215
224
|
<code>
|
|
216
|
-
<signal
|
|
217
|
-
<prepare
|
|
225
|
+
<signal>false</signal>
|
|
226
|
+
<prepare/>
|
|
218
227
|
<finalize output="result"/>
|
|
219
228
|
<update output="result"/>
|
|
220
229
|
<rescue output="result"/>
|
|
221
230
|
</code>
|
|
222
231
|
<annotations>
|
|
223
232
|
<_generic/>
|
|
233
|
+
<_logging_behavior>
|
|
234
|
+
<_exclude>false</_exclude>
|
|
235
|
+
<_include>false</_include>
|
|
236
|
+
</_logging_behavior>
|
|
224
237
|
<_timing>
|
|
225
238
|
<_timing_weight/>
|
|
226
239
|
<_timing_avg/>
|
|
@@ -279,14 +292,18 @@
|
|
|
279
292
|
</arguments>
|
|
280
293
|
</parameters>
|
|
281
294
|
<code>
|
|
282
|
-
<signal
|
|
283
|
-
<prepare
|
|
295
|
+
<signal>false</signal>
|
|
296
|
+
<prepare/>
|
|
284
297
|
<finalize output="result"/>
|
|
285
298
|
<update output="result"/>
|
|
286
299
|
<rescue output="result"/>
|
|
287
300
|
</code>
|
|
288
301
|
<annotations>
|
|
289
302
|
<_generic/>
|
|
303
|
+
<_logging_behavior>
|
|
304
|
+
<_exclude>false</_exclude>
|
|
305
|
+
<_include>false</_include>
|
|
306
|
+
</_logging_behavior>
|
|
290
307
|
<_timing>
|
|
291
308
|
<_timing_weight/>
|
|
292
309
|
<_timing_avg/>
|
|
@@ -325,8 +342,8 @@
|
|
|
325
342
|
<type>wait</type>
|
|
326
343
|
<lx>0</lx>
|
|
327
344
|
<ly>1</ly>
|
|
328
|
-
<x_amount>
|
|
329
|
-
<y_amount>
|
|
345
|
+
<x_amount>3</x_amount>
|
|
346
|
+
<y_amount>7</y_amount>
|
|
330
347
|
<button/>
|
|
331
348
|
<style/>
|
|
332
349
|
<urls>
|
|
@@ -347,14 +364,18 @@
|
|
|
347
364
|
</arguments>
|
|
348
365
|
</parameters>
|
|
349
366
|
<code>
|
|
350
|
-
<signal
|
|
351
|
-
<prepare
|
|
367
|
+
<signal>false</signal>
|
|
368
|
+
<prepare/>
|
|
352
369
|
<finalize output="result">data.res = result</finalize>
|
|
353
370
|
<update output="result"/>
|
|
354
371
|
<rescue output="result"/>
|
|
355
372
|
</code>
|
|
356
373
|
<annotations>
|
|
357
374
|
<_generic/>
|
|
375
|
+
<_logging_behavior>
|
|
376
|
+
<_exclude>false</_exclude>
|
|
377
|
+
<_include>false</_include>
|
|
378
|
+
</_logging_behavior>
|
|
358
379
|
<_timing>
|
|
359
380
|
<_timing_weight/>
|
|
360
381
|
<_timing_avg/>
|
|
@@ -402,14 +423,18 @@
|
|
|
402
423
|
</arguments>
|
|
403
424
|
</parameters>
|
|
404
425
|
<code>
|
|
405
|
-
<signal
|
|
406
|
-
<prepare
|
|
426
|
+
<signal>false</signal>
|
|
427
|
+
<prepare/>
|
|
407
428
|
<finalize output="result"/>
|
|
408
429
|
<update output="result"/>
|
|
409
430
|
<rescue output="result"/>
|
|
410
431
|
</code>
|
|
411
432
|
<annotations>
|
|
412
433
|
<_generic/>
|
|
434
|
+
<_logging_behavior>
|
|
435
|
+
<_exclude>false</_exclude>
|
|
436
|
+
<_include>false</_include>
|
|
437
|
+
</_logging_behavior>
|
|
413
438
|
<_timing>
|
|
414
439
|
<_timing_weight/>
|
|
415
440
|
<_timing_avg/>
|
|
@@ -440,7 +465,6 @@
|
|
|
440
465
|
</code>
|
|
441
466
|
</documentation>
|
|
442
467
|
</call>
|
|
443
|
-
<stop id="a4"/>
|
|
444
468
|
</loop>
|
|
445
469
|
</description>
|
|
446
470
|
</description>
|
|
@@ -108,7 +108,6 @@ performance = f1_score(y_test, y_predict, average='macro')
|
|
|
108
108
|
<info>ML-pipe-multi</info>
|
|
109
109
|
<modeltype>CPEE</modeltype>
|
|
110
110
|
<theme>extended</theme>
|
|
111
|
-
<organisation1>http://cpee.org/~demo/orgviz/organisation_informatik.xml</organisation1>
|
|
112
111
|
<creator>Christine Ashcreek</creator>
|
|
113
112
|
<author>Christine Ashcreek</author>
|
|
114
113
|
<design_stage>development</design_stage>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<attributes>
|
|
12
12
|
<info>Worklist Vote</info>
|
|
13
13
|
<modeltype>CPEE</modeltype>
|
|
14
|
-
<organisation1>
|
|
14
|
+
<organisation1>https://cpee.org/~demo/orgviz/organisation_informatik.xml</organisation1>
|
|
15
15
|
<theme>extended</theme>
|
|
16
16
|
<creator>Christine Ashcreek</creator>
|
|
17
17
|
<author>Christine Ashcreek</author>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<info>Worklist</info>
|
|
10
10
|
<modeltype>CPEE</modeltype>
|
|
11
11
|
<theme>extended</theme>
|
|
12
|
-
<organisation1>
|
|
12
|
+
<organisation1>https://cpee.org/~demo/orgviz/organisation_informatik.xml</organisation1>
|
|
13
13
|
<creator>Christine Ashcreek</creator>
|
|
14
14
|
<author>Christine Ashcreek</author>
|
|
15
15
|
<design_stage>development</design_stage>
|
data/cockpit/themes/base.js
CHANGED
|
@@ -292,6 +292,10 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
292
292
|
return false;
|
|
293
293
|
} // }}}
|
|
294
294
|
this.events.mousedown = function(svgid, e, child, sibling) { // {{{
|
|
295
|
+
if (typeof save === 'undefined') {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
|
|
295
299
|
if(e.button == 0) { // left-click
|
|
296
300
|
save['details_target'].tsvgid = svgid;
|
|
297
301
|
} else if(e.button == 1) { // middle-click
|
|
@@ -305,16 +309,12 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
305
309
|
return false;
|
|
306
310
|
} // }}}
|
|
307
311
|
this.events.click = function(svgid, e) { // {{{
|
|
308
|
-
if (self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
|
|
312
|
+
if (typeof save === 'undefined' || self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
|
|
309
313
|
return;
|
|
310
314
|
}
|
|
311
315
|
|
|
312
|
-
$('#graphgrid .selected').removeClass('selected');
|
|
313
|
-
|
|
314
316
|
if (e && (e.ctrlKey || e.metaKey)) {
|
|
315
317
|
if (save['state'] != "ready" && save['state'] != "stopped") { return false; }
|
|
316
|
-
var tab = $('#dat_details');
|
|
317
|
-
tab.empty();
|
|
318
318
|
var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
|
|
319
319
|
if (vtarget.length > 0) {
|
|
320
320
|
var vt = vtarget.parents('g.element[element-id]');
|
|
@@ -330,6 +330,8 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
330
330
|
} else if (e && (e.shiftKey)) {
|
|
331
331
|
positionHandling(svgid);
|
|
332
332
|
} else {
|
|
333
|
+
$('#graphgrid .selected').removeClass('selected');
|
|
334
|
+
|
|
333
335
|
self.adaptor.illustrator.get_elements().removeClass('marked');
|
|
334
336
|
localStorage.removeItem('marked');
|
|
335
337
|
localStorage.removeItem('marked_from');
|
|
@@ -348,19 +350,12 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
348
350
|
this.events.dblclick = function(svgid, e) { // {{{
|
|
349
351
|
} // }}}
|
|
350
352
|
this.events.mouseover = function(svgid, e) { // {{{
|
|
351
|
-
let er = self.adaptor.illustrator.svg.container.find('[element-id = "' + svgid + '"][element-row]').attr('element-row');
|
|
352
|
-
$('.resource-row[element-row=' + er + '] .resource-point').each((_,e) => {
|
|
353
|
-
let pos = e.getBoundingClientRect();
|
|
354
|
-
let text = $('text',e).text();
|
|
355
|
-
show_dataflow_label(pos.x + 12, pos.y + 5, 60, text);
|
|
356
|
-
})
|
|
357
353
|
self.adaptor.illustrator.svg.container.find('.tile[element-id = "' + svgid + '"]').css('display','block');
|
|
358
354
|
self.adaptor.illustrator.svg.container.find('[element-id = "' + svgid + '"]').addClass('hover');
|
|
359
355
|
self.adaptor.illustrator.svg.label_container.find('[element-id = "' + svgid + '"]').addClass('hover');
|
|
360
356
|
return false;
|
|
361
357
|
} // }}}
|
|
362
358
|
this.events.mouseout = function(svgid, e) { // {{{
|
|
363
|
-
$('.displaylabel').remove();
|
|
364
359
|
self.adaptor.illustrator.svg.container.find('.tile[element-id = "' + svgid + '"]').css('display','none');
|
|
365
360
|
self.adaptor.illustrator.svg.container.find('[element-id = "' + svgid + '"]').removeClass('hover');
|
|
366
361
|
self.adaptor.illustrator.svg.label_container.find('[element-id = "' + svgid + '"]').removeClass('hover');
|
|
@@ -1350,9 +1345,9 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
1350
1345
|
$('call > code > prepare',n).each(function(j,m){
|
|
1351
1346
|
item += m.textContent + '\n';
|
|
1352
1347
|
});
|
|
1353
|
-
|
|
1354
|
-
item +=
|
|
1355
|
-
}
|
|
1348
|
+
$('manipulate > code',n).each(function(j,m){
|
|
1349
|
+
item += m.textContent + '\n';
|
|
1350
|
+
});
|
|
1356
1351
|
$('call > parameters > arguments *',n).each(function(j,m){
|
|
1357
1352
|
let x = m.textContent;
|
|
1358
1353
|
if (x.charAt(0) == '!') { item += x + '\n'; }
|
data/cockpit/track.html
CHANGED
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
<div id="modelling">
|
|
143
143
|
<div id='graphgrid'>
|
|
144
144
|
<div class="resource-label" style="display: none"></div>
|
|
145
|
-
<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>
|
|
145
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
146
146
|
</div>
|
|
147
147
|
</div>
|
|
148
148
|
</div>
|
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.
|
|
3
|
+
s.version = "2.1.111"
|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
|
5
5
|
s.license = "LGPL-3.0-or-later"
|
|
6
6
|
s.summary = "The cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
|
|
@@ -127,8 +127,9 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
|
127
127
|
|
|
128
128
|
status = result = headers = nil
|
|
129
129
|
begin
|
|
130
|
-
tendpoint = @handler_endpoint.sub(/^http(s)?-(get|put|post|delete):/,'http\\1:')
|
|
130
|
+
tendpoint = @handler_endpoint.sub(/^http(s)?-(get|put|post|delete|patch):/,'http\\1:')
|
|
131
131
|
type = $2 || parameters[:method] || 'post'
|
|
132
|
+
tendpoint.gsub!(/{([^\/\}]+)}/,'\\1')
|
|
132
133
|
|
|
133
134
|
client = Riddl::Client.new(tendpoint)
|
|
134
135
|
|
|
@@ -127,8 +127,9 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
|
127
127
|
|
|
128
128
|
status = result = headers = nil
|
|
129
129
|
begin
|
|
130
|
-
tendpoint = @handler_endpoint.sub(/^http(s)?-(get|put|post|delete):/,'http\\1:')
|
|
130
|
+
tendpoint = @handler_endpoint.sub(/^http(s)?-(get|put|post|delete|patch):/,'http\\1:')
|
|
131
131
|
type = $2 || parameters[:method] || 'post'
|
|
132
|
+
tendpoint.gsub!(/{([^\/\}]+)}/,'\\1')
|
|
132
133
|
|
|
133
134
|
client = Riddl::Client.new(tendpoint)
|
|
134
135
|
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
<xsl:text>, parameters: { </xsl:text>
|
|
53
53
|
<xsl:apply-templates select="d:parameters"/>
|
|
54
54
|
<xsl:text> }</xsl:text>
|
|
55
|
-
<xsl:if test="d:code/d:signal[text()='
|
|
55
|
+
<xsl:if test="d:code/d:signal[text()='true']">
|
|
56
56
|
<xsl:text>, signal: true</xsl:text>
|
|
57
57
|
</xsl:if>
|
|
58
58
|
<xsl:if test="(d:finalize or d:code/d:finalize) and (d:finalize/text() or d:code/d:finalize/text())">
|
data/server/resources/topics.xml
CHANGED
|
@@ -22,11 +22,13 @@
|
|
|
22
22
|
<event>manipulating</event>
|
|
23
23
|
<event>status</event>
|
|
24
24
|
<event>done</event>
|
|
25
|
+
<event>annotation</event>
|
|
25
26
|
<vote>syncing_before</vote>
|
|
26
27
|
<vote>syncing_after</vote>
|
|
27
28
|
</topic>
|
|
28
29
|
<topic id='gateway'>
|
|
29
30
|
<event>decide</event>
|
|
31
|
+
<event>annotation</event>
|
|
30
32
|
<event>split</event>
|
|
31
33
|
<event>join</event>
|
|
32
34
|
</topic>
|
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.
|
|
4
|
+
version: 2.1.111
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
@@ -309,6 +309,7 @@ files:
|
|
|
309
309
|
- cockpit/templates.legacy/convert_preset.rb
|
|
310
310
|
- cockpit/templates.legacy/testsets.xml
|
|
311
311
|
- cockpit/templates.legacy/transformations.xml
|
|
312
|
+
- cockpit/templates/Coopis 2010 Replay.xml
|
|
312
313
|
- cockpit/templates/Coopis 2010.xml
|
|
313
314
|
- cockpit/templates/Frames.xml
|
|
314
315
|
- cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml
|