Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 386.1
bearbeitet von tleu
am 01.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 399.1
bearbeitet von Carina Enke
am 13.02.2024
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Schnittstelle ONYX Reporter
1 +10 Schnittstelle ONYX Reporter
Übergeordnete Seite
... ... @@ -1,0 +1,1 @@
1 +ONYX.Systeminformationen.WebHome
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.tleu
1 +XWiki.carina
Inhalt
... ... @@ -1,47 +1,440 @@
1 -{{layout}}
2 -{{layout-section ac:type="two_right_sidebar"}}
1 +(% data-xwiki-non-generated-content="java.util.List" %)
2 +(((
3 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
4 +
5 +(% data-xwiki-non-generated-content="java.util.List" %)
6 +(((
7 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
8 +
9 +(% data-xwiki-non-generated-content="java.util.List" %)
10 +(((
11 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
12 +)))
13 +
3 3  {{layout-cell}}
4 -====== Inhalt: ======
15 +
16 +{{/layout-cell}}
5 5  
18 +(% data-xwiki-non-generated-content="java.util.List" %)
19 +(((
20 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
6 6  
22 +(% data-xwiki-non-generated-content="java.util.List" %)
23 +(((
24 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
7 7  
8 -{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
26 +{{toc start="2"/}}
27 +
28 + **Weitere Informationen:**
29 +
30 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
31 +)))
32 +
33 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
34 +{{toc start="2"/}}
35 +
36 + **Weitere Informationen:**
37 +
38 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
39 +{{/panel}}
40 +)))
41 +
42 +{{layout-cell}}
43 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
44 +{{toc start="2"/}}
45 +
46 + **Weitere Informationen:**
47 +
48 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
49 +{{/panel}}
9 9  {{/layout-cell}}
51 +)))
10 10  
53 +{{layout-section ac:type="two_right_sidebar"}}
11 11  {{layout-cell}}
12 -|=(% colspan="1" %)(% colspan="1" %)
55 +
56 +{{/layout-cell}}
57 +
58 +{{layout-cell}}
59 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
60 +{{toc start="2"/}}
61 +
62 + **Weitere Informationen:**
63 +
64 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
65 +{{/panel}}
66 +{{/layout-cell}}
67 +{{/layout-section}}
68 +
69 +(% data-xwiki-non-generated-content="java.util.List" %)
13 13  (((
14 -Programmversion
71 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
72 +
73 +(% data-xwiki-non-generated-content="java.util.List" %)
74 +(((
75 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
76 +
77 +== Allgemeines ==
78 +
79 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
80 +
81 +(% class="wrapped" %)
82 +|(((
83 +armSite
84 +)))|(((
85 +Anmeldung von Folgerequests beim ONYX Reporter.
86 +)))
87 +|(((
88 +initiateSite
89 +)))|(((
90 +Initiiert die Reporter-Session (Übertragung des CPs).
91 +)))
92 +|(((
93 +disarmSite
94 +)))|(((
95 +Freigabe von allen Reporter-Ressourcen für diese Session.
96 +)))
97 +|(((
98 +getResultValues
99 +)))|(((
100 +Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
101 +)))
102 +|(% colspan="1" %)(% colspan="1" %)
103 +(((
104 +getResultVariables
15 15  )))|(% colspan="1" %)(% colspan="1" %)
16 16  (((
17 -
107 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
18 18  )))
19 -|=(((
20 -Status
109 +
110 +== Anmeldung des LMS ==
111 +
112 +(% data-xwiki-non-generated-content="java.util.List" %)
113 +(((
114 +" data-xwiki-parameter-name="title" class="xwiki-metadata-container">Anmeldung des LMS
115 +)))
116 +
117 +{{code language="xml" title="Anmeldung des LMS"}}
118 +@WebMethod(operationName = „armSite")
119 +public String armSite(
120 +@WebParam(name = „version") final Integer version,
121 +@WebParam(name = „userId") final String userId,
122 +@WebParam(name = „optionalRole") final Integer role,
123 +@WebParam(name = „secretToShare") final String secretToShare,
124 +@WebParam(name = „optionalUserLastName") final String userLastName,
125 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
126 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
127 +}
128 +{{/code}}
129 +
130 +=== Parameter armSite ===
131 +
132 +(% class="wrapped" %)
133 +|(((
134 +version
21 21  )))|(((
22 -(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF
136 +Angefragte Version: 1
23 23  )))
24 -|=(((
25 -Aufgaben
138 +|(((
139 +userId
26 26  )))|(((
27 -
141 +UserId des anfragenden Reporter-Benutzers
142 +)))
143 +|(((
144 +optionalRole
145 +)))|(((
146 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
147 +)))
148 +|(((
149 +secretToShare
150 +)))|(((
151 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
152 +)))
153 +|(((
154 +optionalUserLastName
155 +)))|(((
156 +Optional. Nachname des Benutzers.
157 +)))
158 +|(% colspan="1" %)(% colspan="1" %)
159 +(((
160 +optionalUserFirstName
161 +)))|(% colspan="1" %)(% colspan="1" %)
162 +(((
163 +Optional. Vorname des Benutzers.
164 +)))
165 +|(% colspan="1" %)(% colspan="1" %)
166 +(((
167 +additionalParams
168 +)))|(% colspan="1" %)(% colspan="1" %)
169 +(((
170 +Reserved for future use.
171 +)))
28 28  
29 -
173 +=== ReturnValue armSite ===
174 +
175 +(% class="wrapped" %)
176 +|(((
177 +String
178 +)))|(((
179 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
30 30  )))
31 -|=(((
32 -JIRA
181 +
182 +== Initialisierung durch LMS ==
183 +
184 +(% data-xwiki-non-generated-content="java.util.List" %)
185 +(((
186 +" data-xwiki-parameter-name="title" class="xwiki-metadata-container">Initialisierung durch LMS
187 +)))
188 +
189 +{{code language="xml" title="Initialisierung durch LMS"}}
190 +@WebMethod(operationName = „initiateSite")
191 +public String initiateSite(
192 +@WebParam(name = „version") final Integer version,
193 +@WebParam(name = „sessionId") final String sessionId,
194 +@WebParam(name = „secretToShare") final String secretToShare,
195 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
196 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
197 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
198 +}
199 +{{/code}}
200 +
201 +=== Parameter initiateSite ===
202 +
203 +(% class="wrapped" %)
204 +|(((
205 +version
33 33  )))|(((
34 -
207 +Angefragte Version: 1
35 35  )))
36 -{{/layout-cell}}
37 -{{/layout-section}}
209 +|(% colspan="1" %)(% colspan="1" %)
210 +(((
211 +sessionId
212 +)))|(% colspan="1" %)(% colspan="1" %)
213 +(((
214 +SessionId, wie von armSite zurück geliefert.
215 +)))
216 +|(((
217 +secretToShare
218 +)))|(((
219 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
220 +)))
221 +|(((
222 +students
223 +)))|(((
224 +Liste der Studenten mit ihren Resultaten. Siehe unten.
225 +)))
226 +|(((
227 +optionalContentPackage
228 +)))|(((
229 +Optional. Content Package (gezippt) als Byte-Array.
230 +)))
231 +|(((
232 +additionalParams
233 +)))|(((
234 +Reserved for future use.
235 +)))
38 38  
39 -{{layout-section ac:type="single"}}
237 +=== ReturnValue initiateSite ===
238 +
239 +(% class="wrapped" %)
240 +|(((
241 +String
242 +)))|(((
243 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
244 +
245 +* sid: Session ID, wie von armSite zurück gegeben
246 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
247 +)))
248 +
249 +{{code language="xml"}}
250 +public class ResultsForStudent {
251 +   private String studentId = „";
252 +   private String firstname = „";
253 +   private String lastname = „";
254 +   private String groupname = „";
255 +   private String tutorname = „";
256 +   private File contentFile = null;
257 +   private byte[] resultsFile = null;
258 +}
259 +{{/code}}
260 +
261 +== Abmeldung durch LMS ==
262 +
263 +
264 +{{code}}
265 +@WebMethod(operationName = „disarmSite")
266 +public Boolean disarmSite(
267 +@WebParam(name = „version") final Integer version,
268 +@WebParam(name = „sessionId") final String sessionId,
269 +@WebParam(name = „secretToShare") final String secretToShare,
270 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
271 +}
272 +{{/code}}
273 +
274 +
275 +=== Parameter disarmSite ===
276 +
277 +(% class="wrapped" %)
278 +|(((
279 +version
280 +)))|(((
281 +Angefragte Version: 1
282 +)))
283 +|(% colspan="1" %)(% colspan="1" %)
284 +(((
285 +sessionId
286 +)))|(% colspan="1" %)(% colspan="1" %)
287 +(((
288 +SessionId, wie von armSite zurück geliefert.
289 +)))
290 +|(((
291 +secretToShare
292 +)))|(((
293 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
294 +)))
295 +|(((
296 +additionalParams
297 +)))|(((
298 +Reserved for future use.
299 +)))
300 +
301 +=== ReturnValue disarmSite ===
302 +
303 +(% class="wrapped" %)
304 +|(((
305 +Boolean
306 +)))|(((
307 +True bei Erfolg, sonst false.
308 +)))
309 +
310 +== Abfrage von Lernerresultaten durch LMS ==
311 +
312 +(% data-xwiki-non-generated-content="java.util.List" %)
313 +(((
314 +" data-xwiki-parameter-name="title" class="xwiki-metadata-container">Abfrage von Lernerresultaten durch LMS
315 +)))
316 +
317 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
318 + @WebMethod(operationName = „getResultValues")
319 +public HashMapWrapper getResultValues(
320 + @WebParam(name = „version") final Integer version,
321 + @WebParam(name = „sessionId") final String sessionId,
322 + @WebParam(name = „secretToShare") final String secretToShare,
323 + @WebParam(name = „requestedValues") final HashMap<String, String>
324 + requestedValues,
325 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
326 +}
327 +{{/code}}
328 +
329 +=== Parameter getResultValues ===
330 +
331 +(% class="wrapped" %)
332 +|(((
333 +version
334 +)))|(((
335 +Angefragte Version: 1
336 +)))
337 +|(% colspan="1" %)(% colspan="1" %)
338 +(((
339 +sessionId
340 +)))|(% colspan="1" %)(% colspan="1" %)
341 +(((
342 +SessionId, wie von armSite zurück geliefert.
343 +)))
344 +|(((
345 +secretToShare
346 +)))|(((
347 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
348 +)))
349 +|(((
350 +requestedValues
351 +)))|(((
352 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
353 +)))
354 +|(((
355 +additionalParams
356 +)))|(((
357 +Reserved for future use.
358 +)))
359 +
360 +=== ReturnValue getResultValues ===
361 +
362 +(% class="wrapped" %)
363 +|(((
364 +HashMap<String, String>
365 +)))|(((
366 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
367 +)))
368 +
369 +== Abfrage von Ergebnisvariablen durch LMS ==
370 +
371 +(% data-xwiki-non-generated-content="java.util.List" %)
372 +(((
373 +" data-xwiki-parameter-name="title" class="xwiki-metadata-container">Abfrage von Ergebnisvariablen durch LMS
374 +)))
375 +
376 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
377 + @WebMethod(operationName = „getResultVariables")
378 +public HashMapWrapper getResultVariables(
379 +@WebParam(name = „version") final Integer version,
380 +@WebParam(name = „contentPackage") final byte[] contentPackage,
381 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
382 +}
383 +{{/code}}
384 +
385 +=== Parameter getResultVariables ===
386 +
387 +(% class="wrapped" %)
388 +|(((
389 +version
390 +)))|(((
391 +Angefragte Version: 1
392 +)))
393 +|(((
394 +contentPackage
395 +)))|(((
396 +Content Package (gezippt) als Byte-Array.
397 +)))
398 +|(((
399 +additionalParams
400 +)))|(((
401 +Reserved for future use.
402 +)))
403 +
404 +=== ReturnValue getResultVariables ===
405 +
406 +(% class="wrapped" %)
407 +|(((
408 +HashMap<String, String>
409 +)))|(((
410 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
411 +)))
412 +
413 +== Wrapper ==
414 +
415 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
416 +
417 +=== Wrapper für die HashMap<String, String> ===
418 +
419 +HashMapWrapper.java:
420 +
421 +[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
422 +
423 +[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
424 +
425 +=== Wrapper für die ArrayList<ResultsForStudent> ===
426 +
427 +ResultsForStudentsWrapper.java:
428 +
429 +[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
430 +)))
431 +
40 40  {{layout-cell}}
41 41  == Allgemeines ==
42 42  
43 43  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
44 44  
437 +(% class="wrapped" %)
45 45  |(((
46 46  armSite
47 47  )))|(((
... ... @@ -60,9 +60,7 @@
60 60  |(((
61 61  getResultValues
62 62  )))|(((
63 -Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung:
64 -
65 -Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
456 +Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
66 66  )))
67 67  |(% colspan="1" %)(% colspan="1" %)
68 68  (((
... ... @@ -74,7 +74,7 @@
74 74  
75 75  == Anmeldung des LMS ==
76 76  
77 -{{code title="Anmeldung des LMS" language="xml"}}
468 +{{code language="xml" title="Anmeldung des LMS"}}
78 78  @WebMethod(operationName = „armSite")
79 79  public String armSite(
80 80  @WebParam(name = „version") final Integer version,
... ... @@ -89,6 +89,7 @@
89 89  
90 90  === Parameter armSite ===
91 91  
483 +(% class="wrapped" %)
92 92  |(((
93 93  version
94 94  )))|(((
... ... @@ -131,6 +131,7 @@
131 131  
132 132  === ReturnValue armSite ===
133 133  
526 +(% class="wrapped" %)
134 134  |(((
135 135  String
136 136  )))|(((
... ... @@ -139,7 +139,7 @@
139 139  
140 140  == Initialisierung durch LMS ==
141 141  
142 -{{code title="Initialisierung durch LMS" language="xml"}}
535 +{{code language="xml" title="Initialisierung durch LMS"}}
143 143  @WebMethod(operationName = „initiateSite")
144 144  public String initiateSite(
145 145  @WebParam(name = „version") final Integer version,
... ... @@ -153,6 +153,7 @@
153 153  
154 154  === Parameter initiateSite ===
155 155  
549 +(% class="wrapped" %)
156 156  |(((
157 157  version
158 158  )))|(((
... ... @@ -188,6 +188,7 @@
188 188  
189 189  === ReturnValue initiateSite ===
190 190  
585 +(% class="wrapped" %)
191 191  |(((
192 192  String
193 193  )))|(((
... ... @@ -211,10 +211,21 @@
211 211  
212 212  == Abmeldung durch LMS ==
213 213  
214 -Abfrage von Lernerresultaten durch LMS
215 215  
216 -
610 +{{code}}
611 +@WebMethod(operationName = „disarmSite")
612 +public Boolean disarmSite(
613 +@WebParam(name = „version") final Integer version,
614 +@WebParam(name = „sessionId") final String sessionId,
615 +@WebParam(name = „secretToShare") final String secretToShare,
616 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
617 +}
618 +{{/code}}
217 217  
620 +
621 +=== Parameter disarmSite ===
622 +
623 +(% class="wrapped" %)
218 218  |(((
219 219  version
220 220  )))|(((
... ... @@ -240,6 +240,7 @@
240 240  
241 241  === ReturnValue disarmSite ===
242 242  
649 +(% class="wrapped" %)
243 243  |(((
244 244  Boolean
245 245  )))|(((
... ... @@ -248,10 +248,21 @@
248 248  
249 249  == Abfrage von Lernerresultaten durch LMS ==
250 250  
251 -{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
252
658 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
659 + @WebMethod(operationName = „getResultValues")
660 +public HashMapWrapper getResultValues(
661 + @WebParam(name = „version") final Integer version,
662 + @WebParam(name = „sessionId") final String sessionId,
663 + @WebParam(name = „secretToShare") final String secretToShare,
664 + @WebParam(name = „requestedValues") final HashMap<String, String>
665 + requestedValues,
666 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
667 +}
253 253  {{/code}}
254 254  
670 +=== Parameter getResultValues ===
671 +
672 +(% class="wrapped" %)
255 255  |(((
256 256  version
257 257  )))|(((
... ... @@ -270,6 +270,221 @@
270 270  Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
271 271  )))
272 272  |(((
691 +requestedValues
692 +)))|(((
693 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
694 +)))
695 +|(((
696 +additionalParams
697 +)))|(((
698 +Reserved for future use.
699 +)))
700 +
701 +=== ReturnValue getResultValues ===
702 +
703 +(% class="wrapped" %)
704 +|(((
705 +HashMap<String, String>
706 +)))|(((
707 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
708 +)))
709 +
710 +== Abfrage von Ergebnisvariablen durch LMS ==
711 +
712 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
713 + @WebMethod(operationName = „getResultVariables")
714 +public HashMapWrapper getResultVariables(
715 +@WebParam(name = „version") final Integer version,
716 +@WebParam(name = „contentPackage") final byte[] contentPackage,
717 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
718 +}
719 +{{/code}}
720 +
721 +=== Parameter getResultVariables ===
722 +
723 +(% class="wrapped" %)
724 +|(((
725 +version
726 +)))|(((
727 +Angefragte Version: 1
728 +)))
729 +|(((
730 +contentPackage
731 +)))|(((
732 +Content Package (gezippt) als Byte-Array.
733 +)))
734 +|(((
735 +additionalParams
736 +)))|(((
737 +Reserved for future use.
738 +)))
739 +
740 +=== ReturnValue getResultVariables ===
741 +
742 +(% class="wrapped" %)
743 +|(((
744 +HashMap<String, String>
745 +)))|(((
746 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
747 +)))
748 +
749 +== Wrapper ==
750 +
751 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
752 +
753 +=== Wrapper für die HashMap<String, String> ===
754 +
755 +HashMapWrapper.java:
756 +
757 +[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
758 +
759 +[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
760 +
761 +=== Wrapper für die ArrayList<ResultsForStudent> ===
762 +
763 +ResultsForStudentsWrapper.java:
764 +
765 +[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
766 +{{/layout-cell}}
767 +)))
768 +
769 +{{layout-section ac:type="single"}}
770 +{{layout-cell}}
771 +== Allgemeines ==
772 +
773 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
774 +
775 +(% class="wrapped" %)
776 +|(((
777 +armSite
778 +)))|(((
779 +Anmeldung von Folgerequests beim ONYX Reporter.
780 +)))
781 +|(((
782 +initiateSite
783 +)))|(((
784 +Initiiert die Reporter-Session (Übertragung des CPs).
785 +)))
786 +|(((
787 +disarmSite
788 +)))|(((
789 +Freigabe von allen Reporter-Ressourcen für diese Session.
790 +)))
791 +|(((
792 +getResultValues
793 +)))|(((
794 +Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
795 +)))
796 +|(% colspan="1" %)(% colspan="1" %)
797 +(((
798 +getResultVariables
799 +)))|(% colspan="1" %)(% colspan="1" %)
800 +(((
801 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
802 +)))
803 +
804 +== Anmeldung des LMS ==
805 +
806 +{{code language="xml" title="Anmeldung des LMS"}}
807 +@WebMethod(operationName = „armSite")
808 +public String armSite(
809 +@WebParam(name = „version") final Integer version,
810 +@WebParam(name = „userId") final String userId,
811 +@WebParam(name = „optionalRole") final Integer role,
812 +@WebParam(name = „secretToShare") final String secretToShare,
813 +@WebParam(name = „optionalUserLastName") final String userLastName,
814 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
815 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
816 +}
817 +{{/code}}
818 +
819 +=== Parameter armSite ===
820 +
821 +(% class="wrapped" %)
822 +|(((
823 +version
824 +)))|(((
825 +Angefragte Version: 1
826 +)))
827 +|(((
828 +userId
829 +)))|(((
830 +UserId des anfragenden Reporter-Benutzers
831 +)))
832 +|(((
833 +optionalRole
834 +)))|(((
835 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
836 +)))
837 +|(((
838 +secretToShare
839 +)))|(((
840 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
841 +)))
842 +|(((
843 +optionalUserLastName
844 +)))|(((
845 +Optional. Nachname des Benutzers.
846 +)))
847 +|(% colspan="1" %)(% colspan="1" %)
848 +(((
849 +optionalUserFirstName
850 +)))|(% colspan="1" %)(% colspan="1" %)
851 +(((
852 +Optional. Vorname des Benutzers.
853 +)))
854 +|(% colspan="1" %)(% colspan="1" %)
855 +(((
856 +additionalParams
857 +)))|(% colspan="1" %)(% colspan="1" %)
858 +(((
859 +Reserved for future use.
860 +)))
861 +
862 +=== ReturnValue armSite ===
863 +
864 +(% class="wrapped" %)
865 +|(((
866 +String
867 +)))|(((
868 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
869 +)))
870 +
871 +== Initialisierung durch LMS ==
872 +
873 +{{code language="xml" title="Initialisierung durch LMS"}}
874 +@WebMethod(operationName = „initiateSite")
875 +public String initiateSite(
876 +@WebParam(name = „version") final Integer version,
877 +@WebParam(name = „sessionId") final String sessionId,
878 +@WebParam(name = „secretToShare") final String secretToShare,
879 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
880 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
881 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
882 +}
883 +{{/code}}
884 +
885 +=== Parameter initiateSite ===
886 +
887 +(% class="wrapped" %)
888 +|(((
889 +version
890 +)))|(((
891 +Angefragte Version: 1
892 +)))
893 +|(% colspan="1" %)(% colspan="1" %)
894 +(((
895 +sessionId
896 +)))|(% colspan="1" %)(% colspan="1" %)
897 +(((
898 +SessionId, wie von armSite zurück geliefert.
899 +)))
900 +|(((
901 +secretToShare
902 +)))|(((
903 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
904 +)))
905 +|(((
273 273  students
274 274  )))|(((
275 275  Liste der Studenten mit ihren Resultaten. Siehe unten.
... ... @@ -284,22 +284,599 @@
284 284  )))|(((
285 285  Reserved for future use.
286 286  )))
920 +
921 +=== ReturnValue initiateSite ===
922 +
923 +(% class="wrapped" %)
924 +|(((
925 +String
926 +)))|(((
927 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
928 +
929 +* sid: Session ID, wie von armSite zurück gegeben
930 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
931 +)))
932 +
933 +{{code language="xml"}}
934 +public class ResultsForStudent {
935 +   private String studentId = „";
936 +   private String firstname = „";
937 +   private String lastname = „";
938 +   private String groupname = „";
939 +   private String tutorname = „";
940 +   private File contentFile = null;
941 +   private byte[] resultsFile = null;
942 +}
943 +{{/code}}
944 +
945 +== Abmeldung durch LMS ==
946 +
947 +
948 +{{code}}
949 +@WebMethod(operationName = „disarmSite")
950 +public Boolean disarmSite(
951 +@WebParam(name = „version") final Integer version,
952 +@WebParam(name = „sessionId") final String sessionId,
953 +@WebParam(name = „secretToShare") final String secretToShare,
954 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
955 +}
956 +{{/code}}
957 +
958 +
959 +=== Parameter disarmSite ===
960 +
961 +(% class="wrapped" %)
962 +|(((
963 +version
964 +)))|(((
965 +Angefragte Version: 1
966 +)))
967 +|(% colspan="1" %)(% colspan="1" %)
968 +(((
969 +sessionId
970 +)))|(% colspan="1" %)(% colspan="1" %)
971 +(((
972 +SessionId, wie von armSite zurück geliefert.
973 +)))
974 +|(((
975 +secretToShare
976 +)))|(((
977 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
978 +)))
979 +|(((
980 +additionalParams
981 +)))|(((
982 +Reserved for future use.
983 +)))
984 +
985 +=== ReturnValue disarmSite ===
986 +
987 +(% class="wrapped" %)
988 +|(((
989 +Boolean
990 +)))|(((
991 +True bei Erfolg, sonst false.
992 +)))
993 +
994 +== Abfrage von Lernerresultaten durch LMS ==
995 +
996 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
997 + @WebMethod(operationName = „getResultValues")
998 +public HashMapWrapper getResultValues(
999 + @WebParam(name = „version") final Integer version,
1000 + @WebParam(name = „sessionId") final String sessionId,
1001 + @WebParam(name = „secretToShare") final String secretToShare,
1002 + @WebParam(name = „requestedValues") final HashMap<String, String>
1003 + requestedValues,
1004 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1005 +}
1006 +{{/code}}
1007 +
1008 +=== Parameter getResultValues ===
1009 +
1010 +(% class="wrapped" %)
1011 +|(((
1012 +version
1013 +)))|(((
1014 +Angefragte Version: 1
1015 +)))
1016 +|(% colspan="1" %)(% colspan="1" %)
1017 +(((
1018 +sessionId
1019 +)))|(% colspan="1" %)(% colspan="1" %)
1020 +(((
1021 +SessionId, wie von armSite zurück geliefert.
1022 +)))
1023 +|(((
1024 +secretToShare
1025 +)))|(((
1026 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1027 +)))
1028 +|(((
1029 +requestedValues
1030 +)))|(((
1031 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
1032 +)))
1033 +|(((
1034 +additionalParams
1035 +)))|(((
1036 +Reserved for future use.
1037 +)))
1038 +
1039 +=== ReturnValue getResultValues ===
1040 +
1041 +(% class="wrapped" %)
1042 +|(((
1043 +HashMap<String, String>
1044 +)))|(((
1045 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1046 +)))
1047 +
1048 +== Abfrage von Ergebnisvariablen durch LMS ==
1049 +
1050 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
1051 + @WebMethod(operationName = „getResultVariables")
1052 +public HashMapWrapper getResultVariables(
1053 +@WebParam(name = „version") final Integer version,
1054 +@WebParam(name = „contentPackage") final byte[] contentPackage,
1055 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1056 +}
1057 +{{/code}}
1058 +
1059 +=== Parameter getResultVariables ===
1060 +
1061 +(% class="wrapped" %)
1062 +|(((
1063 +version
1064 +)))|(((
1065 +Angefragte Version: 1
1066 +)))
1067 +|(((
1068 +contentPackage
1069 +)))|(((
1070 +Content Package (gezippt) als Byte-Array.
1071 +)))
1072 +|(((
1073 +additionalParams
1074 +)))|(((
1075 +Reserved for future use.
1076 +)))
1077 +
1078 +=== ReturnValue getResultVariables ===
1079 +
1080 +(% class="wrapped" %)
1081 +|(((
1082 +HashMap<String, String>
1083 +)))|(((
1084 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1085 +)))
1086 +
1087 +== Wrapper ==
1088 +
1089 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
1090 +
1091 +=== Wrapper für die HashMap<String, String> ===
1092 +
1093 +HashMapWrapper.java:
1094 +
1095 +[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1096 +
1097 +[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1098 +
1099 +=== Wrapper für die ArrayList<ResultsForStudent> ===
1100 +
1101 +ResultsForStudentsWrapper.java:
1102 +
1103 +[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
287 287  {{/layout-cell}}
288 288  {{/layout-section}}
289 289  
1107 +(% data-xwiki-non-generated-content="java.util.List" %)
1108 +(((
1109 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
1110 +
1111 +(% data-xwiki-non-generated-content="java.util.List" %)
1112 +(((
1113 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
1114 +)))
1115 +
1116 +{{layout-cell}}
1117 +
1118 +{{/layout-cell}}
1119 +
1120 +(% data-xwiki-non-generated-content="java.util.List" %)
1121 +(((
1122 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
1123 +
1124 +====== relevante Links: ======
1125 +
1126 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1127 +)))
1128 +
1129 +{{layout-cell}}
1130 +====== relevante Links: ======
1131 +
1132 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1133 +{{/layout-cell}}
1134 +)))
1135 +
290 290  {{layout-section ac:type="two_right_sidebar"}}
291 291  {{layout-cell}}
292 -====== untergeordnete Seiten: ======
1138 +
1139 +{{/layout-cell}}
293 293  
1141 +{{layout-cell}}
1142 +====== relevante Links: ======
294 294  
1144 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1145 +{{/layout-cell}}
1146 +{{/layout-section}}
1147 +)))
295 295  
296 -{{children all="true"/}}
1149 +{{layout}}
1150 +{{layout-section ac:type="two_right_sidebar"}}
1151 +{{layout-cell}}
1152 +
297 297  {{/layout-cell}}
298 298  
299 299  {{layout-cell}}
1156 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
1157 +{{toc start="2"/}}
1158 +
1159 + **Weitere Informationen:**
1160 +
1161 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1162 +{{/panel}}
1163 +{{/layout-cell}}
1164 +{{/layout-section}}
1165 +
1166 +{{layout-section ac:type="single"}}
1167 +{{layout-cell}}
1168 +== Allgemeines ==
1169 +
1170 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
1171 +
1172 +(% class="wrapped" %)
1173 +|(((
1174 +armSite
1175 +)))|(((
1176 +Anmeldung von Folgerequests beim ONYX Reporter.
1177 +)))
1178 +|(((
1179 +initiateSite
1180 +)))|(((
1181 +Initiiert die Reporter-Session (Übertragung des CPs).
1182 +)))
1183 +|(((
1184 +disarmSite
1185 +)))|(((
1186 +Freigabe von allen Reporter-Ressourcen für diese Session.
1187 +)))
1188 +|(((
1189 +getResultValues
1190 +)))|(((
1191 +Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
1192 +)))
1193 +|(% colspan="1" %)(% colspan="1" %)
1194 +(((
1195 +getResultVariables
1196 +)))|(% colspan="1" %)(% colspan="1" %)
1197 +(((
1198 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
1199 +)))
1200 +
1201 +== Anmeldung des LMS ==
1202 +
1203 +{{code language="xml" title="Anmeldung des LMS"}}
1204 +@WebMethod(operationName = „armSite")
1205 +public String armSite(
1206 +@WebParam(name = „version") final Integer version,
1207 +@WebParam(name = „userId") final String userId,
1208 +@WebParam(name = „optionalRole") final Integer role,
1209 +@WebParam(name = „secretToShare") final String secretToShare,
1210 +@WebParam(name = „optionalUserLastName") final String userLastName,
1211 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
1212 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1213 +}
1214 +{{/code}}
1215 +
1216 +=== Parameter armSite ===
1217 +
1218 +(% class="wrapped" %)
1219 +|(((
1220 +version
1221 +)))|(((
1222 +Angefragte Version: 1
1223 +)))
1224 +|(((
1225 +userId
1226 +)))|(((
1227 +UserId des anfragenden Reporter-Benutzers
1228 +)))
1229 +|(((
1230 +optionalRole
1231 +)))|(((
1232 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
1233 +)))
1234 +|(((
1235 +secretToShare
1236 +)))|(((
1237 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1238 +)))
1239 +|(((
1240 +optionalUserLastName
1241 +)))|(((
1242 +Optional. Nachname des Benutzers.
1243 +)))
1244 +|(% colspan="1" %)(% colspan="1" %)
1245 +(((
1246 +optionalUserFirstName
1247 +)))|(% colspan="1" %)(% colspan="1" %)
1248 +(((
1249 +Optional. Vorname des Benutzers.
1250 +)))
1251 +|(% colspan="1" %)(% colspan="1" %)
1252 +(((
1253 +additionalParams
1254 +)))|(% colspan="1" %)(% colspan="1" %)
1255 +(((
1256 +Reserved for future use.
1257 +)))
1258 +
1259 +=== ReturnValue armSite ===
1260 +
1261 +(% class="wrapped" %)
1262 +|(((
1263 +String
1264 +)))|(((
1265 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
1266 +)))
1267 +
1268 +== Initialisierung durch LMS ==
1269 +
1270 +{{code language="xml" title="Initialisierung durch LMS"}}
1271 +@WebMethod(operationName = „initiateSite")
1272 +public String initiateSite(
1273 +@WebParam(name = „version") final Integer version,
1274 +@WebParam(name = „sessionId") final String sessionId,
1275 +@WebParam(name = „secretToShare") final String secretToShare,
1276 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
1277 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
1278 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1279 +}
1280 +{{/code}}
1281 +
1282 +=== Parameter initiateSite ===
1283 +
1284 +(% class="wrapped" %)
1285 +|(((
1286 +version
1287 +)))|(((
1288 +Angefragte Version: 1
1289 +)))
1290 +|(% colspan="1" %)(% colspan="1" %)
1291 +(((
1292 +sessionId
1293 +)))|(% colspan="1" %)(% colspan="1" %)
1294 +(((
1295 +SessionId, wie von armSite zurück geliefert.
1296 +)))
1297 +|(((
1298 +secretToShare
1299 +)))|(((
1300 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1301 +)))
1302 +|(((
1303 +students
1304 +)))|(((
1305 +Liste der Studenten mit ihren Resultaten. Siehe unten.
1306 +)))
1307 +|(((
1308 +optionalContentPackage
1309 +)))|(((
1310 +Optional. Content Package (gezippt) als Byte-Array.
1311 +)))
1312 +|(((
1313 +additionalParams
1314 +)))|(((
1315 +Reserved for future use.
1316 +)))
1317 +
1318 +=== ReturnValue initiateSite ===
1319 +
1320 +(% class="wrapped" %)
1321 +|(((
1322 +String
1323 +)))|(((
1324 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
1325 +
1326 +* sid: Session ID, wie von armSite zurück gegeben
1327 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
1328 +)))
1329 +
1330 +{{code language="xml"}}
1331 +public class ResultsForStudent {
1332 +   private String studentId = „";
1333 +   private String firstname = „";
1334 +   private String lastname = „";
1335 +   private String groupname = „";
1336 +   private String tutorname = „";
1337 +   private File contentFile = null;
1338 +   private byte[] resultsFile = null;
1339 +}
1340 +{{/code}}
1341 +
1342 +== Abmeldung durch LMS ==
1343 +
1344 +
1345 +{{code}}
1346 +@WebMethod(operationName = „disarmSite")
1347 +public Boolean disarmSite(
1348 +@WebParam(name = „version") final Integer version,
1349 +@WebParam(name = „sessionId") final String sessionId,
1350 +@WebParam(name = „secretToShare") final String secretToShare,
1351 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1352 +}
1353 +{{/code}}
1354 +
1355 +
1356 +=== Parameter disarmSite ===
1357 +
1358 +(% class="wrapped" %)
1359 +|(((
1360 +version
1361 +)))|(((
1362 +Angefragte Version: 1
1363 +)))
1364 +|(% colspan="1" %)(% colspan="1" %)
1365 +(((
1366 +sessionId
1367 +)))|(% colspan="1" %)(% colspan="1" %)
1368 +(((
1369 +SessionId, wie von armSite zurück geliefert.
1370 +)))
1371 +|(((
1372 +secretToShare
1373 +)))|(((
1374 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1375 +)))
1376 +|(((
1377 +additionalParams
1378 +)))|(((
1379 +Reserved for future use.
1380 +)))
1381 +
1382 +=== ReturnValue disarmSite ===
1383 +
1384 +(% class="wrapped" %)
1385 +|(((
1386 +Boolean
1387 +)))|(((
1388 +True bei Erfolg, sonst false.
1389 +)))
1390 +
1391 +== Abfrage von Lernerresultaten durch LMS ==
1392 +
1393 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
1394 + @WebMethod(operationName = „getResultValues")
1395 +public HashMapWrapper getResultValues(
1396 + @WebParam(name = „version") final Integer version,
1397 + @WebParam(name = „sessionId") final String sessionId,
1398 + @WebParam(name = „secretToShare") final String secretToShare,
1399 + @WebParam(name = „requestedValues") final HashMap<String, String>
1400 + requestedValues,
1401 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1402 +}
1403 +{{/code}}
1404 +
1405 +=== Parameter getResultValues ===
1406 +
1407 +(% class="wrapped" %)
1408 +|(((
1409 +version
1410 +)))|(((
1411 +Angefragte Version: 1
1412 +)))
1413 +|(% colspan="1" %)(% colspan="1" %)
1414 +(((
1415 +sessionId
1416 +)))|(% colspan="1" %)(% colspan="1" %)
1417 +(((
1418 +SessionId, wie von armSite zurück geliefert.
1419 +)))
1420 +|(((
1421 +secretToShare
1422 +)))|(((
1423 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1424 +)))
1425 +|(((
1426 +requestedValues
1427 +)))|(((
1428 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
1429 +)))
1430 +|(((
1431 +additionalParams
1432 +)))|(((
1433 +Reserved for future use.
1434 +)))
1435 +
1436 +=== ReturnValue getResultValues ===
1437 +
1438 +(% class="wrapped" %)
1439 +|(((
1440 +HashMap<String, String>
1441 +)))|(((
1442 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1443 +)))
1444 +
1445 +== Abfrage von Ergebnisvariablen durch LMS ==
1446 +
1447 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
1448 + @WebMethod(operationName = „getResultVariables")
1449 +public HashMapWrapper getResultVariables(
1450 +@WebParam(name = „version") final Integer version,
1451 +@WebParam(name = „contentPackage") final byte[] contentPackage,
1452 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1453 +}
1454 +{{/code}}
1455 +
1456 +=== Parameter getResultVariables ===
1457 +
1458 +(% class="wrapped" %)
1459 +|(((
1460 +version
1461 +)))|(((
1462 +Angefragte Version: 1
1463 +)))
1464 +|(((
1465 +contentPackage
1466 +)))|(((
1467 +Content Package (gezippt) als Byte-Array.
1468 +)))
1469 +|(((
1470 +additionalParams
1471 +)))|(((
1472 +Reserved for future use.
1473 +)))
1474 +
1475 +=== ReturnValue getResultVariables ===
1476 +
1477 +(% class="wrapped" %)
1478 +|(((
1479 +HashMap<String, String>
1480 +)))|(((
1481 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1482 +)))
1483 +
1484 +== Wrapper ==
1485 +
1486 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
1487 +
1488 +=== Wrapper für die HashMap<String, String> ===
1489 +
1490 +HashMapWrapper.java:
1491 +
1492 +[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1493 +
1494 +[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1495 +
1496 +=== Wrapper für die ArrayList<ResultsForStudent> ===
1497 +
1498 +ResultsForStudentsWrapper.java:
1499 +
1500 +[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1501 +{{/layout-cell}}
1502 +{{/layout-section}}
1503 +
1504 +{{layout-section ac:type="two_right_sidebar"}}
1505 +{{layout-cell}}
1506 +
1507 +{{/layout-cell}}
1508 +
1509 +{{layout-cell}}
300 300  ====== relevante Links: ======
301 301  
302 -* [[lorem ipsum>>url:https://www.bps-system.de/help/display/OPAL/Handbuch+OPAL||shape="rect"]]
1512 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
303 303  {{/layout-cell}}
304 304  {{/layout-section}}
305 305  {{/layout}}
HashMapWrapperjava.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiGuest
Größe
... ... @@ -1,0 +1,1 @@
1 +135.3 KB
Inhalt
HashMapWrapperjava2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiGuest
Größe
... ... @@ -1,0 +1,1 @@
1 +187.3 KB
Inhalt
ResultsForStudentsWrapperjava.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiGuest
Größe
... ... @@ -1,0 +1,1 @@
1 +83.3 KB
Inhalt
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -3342396
1 +3342390
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342396/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342390/Schnittstelle ONYX Reporter