Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 374.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,40 +1,770 @@
1 -{{layout}}
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 +
14 +{{layout-cell}}
15 +
16 +{{/layout-cell}}
17 +
18 +(% data-xwiki-non-generated-content="java.util.List" %)
19 +(((
20 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
21 +
22 +(% data-xwiki-non-generated-content="java.util.List" %)
23 +(((
24 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
25 +
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}}
50 +{{/layout-cell}}
51 +)))
52 +
2 2  {{layout-section ac:type="two_right_sidebar"}}
3 3  {{layout-cell}}
4 -====== Inhalt: ======
55 +
56 +{{/layout-cell}}
5 5  
58 +{{layout-cell}}
59 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
60 +{{toc start="2"/}}
6 6  
62 + **Weitere Informationen:**
7 7  
8 -{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
64 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
65 +{{/panel}}
9 9  {{/layout-cell}}
67 +{{/layout-section}}
10 10  
69 +(% data-xwiki-non-generated-content="java.util.List" %)
70 +(((
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
105 +)))|(% colspan="1" %)(% colspan="1" %)
106 +(((
107 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
108 +)))
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
135 +)))|(((
136 +Angefragte Version: 1
137 +)))
138 +|(((
139 +userId
140 +)))|(((
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 +)))
172 +
173 +=== ReturnValue armSite ===
174 +
175 +(% class="wrapped" %)
176 +|(((
177 +String
178 +)))|(((
179 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
180 +)))
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
206 +)))|(((
207 +Angefragte Version: 1
208 +)))
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 +)))
236 +
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 +
11 11  {{layout-cell}}
12 -|=(% colspan="1" %)(% colspan="1" %)
433 +== Allgemeines ==
434 +
435 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
436 +
437 +(% class="wrapped" %)
438 +|(((
439 +armSite
440 +)))|(((
441 +Anmeldung von Folgerequests beim ONYX Reporter.
442 +)))
443 +|(((
444 +initiateSite
445 +)))|(((
446 +Initiiert die Reporter-Session (Übertragung des CPs).
447 +)))
448 +|(((
449 +disarmSite
450 +)))|(((
451 +Freigabe von allen Reporter-Ressourcen für diese Session.
452 +)))
453 +|(((
454 +getResultValues
455 +)))|(((
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.
457 +)))
458 +|(% colspan="1" %)(% colspan="1" %)
13 13  (((
14 -Programmversion
460 +getResultVariables
15 15  )))|(% colspan="1" %)(% colspan="1" %)
16 16  (((
17 -
463 +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
465 +
466 +== Anmeldung des LMS ==
467 +
468 +{{code language="xml" title="Anmeldung des LMS"}}
469 +@WebMethod(operationName = „armSite")
470 +public String armSite(
471 +@WebParam(name = „version") final Integer version,
472 +@WebParam(name = „userId") final String userId,
473 +@WebParam(name = „optionalRole") final Integer role,
474 +@WebParam(name = „secretToShare") final String secretToShare,
475 +@WebParam(name = „optionalUserLastName") final String userLastName,
476 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
477 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
478 +}
479 +{{/code}}
480 +
481 +=== Parameter armSite ===
482 +
483 +(% class="wrapped" %)
484 +|(((
485 +version
21 21  )))|(((
22 -(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF
487 +Angefragte Version: 1
23 23  )))
24 -|=(((
25 -Aufgaben
489 +|(((
490 +userId
26 26  )))|(((
27 -
492 +UserId des anfragenden Reporter-Benutzers
493 +)))
494 +|(((
495 +optionalRole
496 +)))|(((
497 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
498 +)))
499 +|(((
500 +secretToShare
501 +)))|(((
502 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
503 +)))
504 +|(((
505 +optionalUserLastName
506 +)))|(((
507 +Optional. Nachname des Benutzers.
508 +)))
509 +|(% colspan="1" %)(% colspan="1" %)
510 +(((
511 +optionalUserFirstName
512 +)))|(% colspan="1" %)(% colspan="1" %)
513 +(((
514 +Optional. Vorname des Benutzers.
515 +)))
516 +|(% colspan="1" %)(% colspan="1" %)
517 +(((
518 +additionalParams
519 +)))|(% colspan="1" %)(% colspan="1" %)
520 +(((
521 +Reserved for future use.
522 +)))
28 28  
29 -
524 +=== ReturnValue armSite ===
525 +
526 +(% class="wrapped" %)
527 +|(((
528 +String
529 +)))|(((
530 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
30 30  )))
31 -|=(((
32 -JIRA
532 +
533 +== Initialisierung durch LMS ==
534 +
535 +{{code language="xml" title="Initialisierung durch LMS"}}
536 +@WebMethod(operationName = „initiateSite")
537 +public String initiateSite(
538 +@WebParam(name = „version") final Integer version,
539 +@WebParam(name = „sessionId") final String sessionId,
540 +@WebParam(name = „secretToShare") final String secretToShare,
541 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
542 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
543 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
544 +}
545 +{{/code}}
546 +
547 +=== Parameter initiateSite ===
548 +
549 +(% class="wrapped" %)
550 +|(((
551 +version
33 33  )))|(((
34 -
553 +Angefragte Version: 1
35 35  )))
555 +|(% colspan="1" %)(% colspan="1" %)
556 +(((
557 +sessionId
558 +)))|(% colspan="1" %)(% colspan="1" %)
559 +(((
560 +SessionId, wie von armSite zurück geliefert.
561 +)))
562 +|(((
563 +secretToShare
564 +)))|(((
565 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
566 +)))
567 +|(((
568 +students
569 +)))|(((
570 +Liste der Studenten mit ihren Resultaten. Siehe unten.
571 +)))
572 +|(((
573 +optionalContentPackage
574 +)))|(((
575 +Optional. Content Package (gezippt) als Byte-Array.
576 +)))
577 +|(((
578 +additionalParams
579 +)))|(((
580 +Reserved for future use.
581 +)))
582 +
583 +=== ReturnValue initiateSite ===
584 +
585 +(% class="wrapped" %)
586 +|(((
587 +String
588 +)))|(((
589 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
590 +
591 +* sid: Session ID, wie von armSite zurück gegeben
592 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
593 +)))
594 +
595 +{{code language="xml"}}
596 +public class ResultsForStudent {
597 +   private String studentId = „";
598 +   private String firstname = „";
599 +   private String lastname = „";
600 +   private String groupname = „";
601 +   private String tutorname = „";
602 +   private File contentFile = null;
603 +   private byte[] resultsFile = null;
604 +}
605 +{{/code}}
606 +
607 +== Abmeldung durch LMS ==
608 +
609 +
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}}
619 +
620 +
621 +=== Parameter disarmSite ===
622 +
623 +(% class="wrapped" %)
624 +|(((
625 +version
626 +)))|(((
627 +Angefragte Version: 1
628 +)))
629 +|(% colspan="1" %)(% colspan="1" %)
630 +(((
631 +sessionId
632 +)))|(% colspan="1" %)(% colspan="1" %)
633 +(((
634 +SessionId, wie von armSite zurück geliefert.
635 +)))
636 +|(((
637 +secretToShare
638 +)))|(((
639 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
640 +)))
641 +|(((
642 +additionalParams
643 +)))|(((
644 +Reserved for future use.
645 +)))
646 +
647 +=== ReturnValue disarmSite ===
648 +
649 +(% class="wrapped" %)
650 +|(((
651 +Boolean
652 +)))|(((
653 +True bei Erfolg, sonst false.
654 +)))
655 +
656 +== Abfrage von Lernerresultaten durch LMS ==
657 +
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 +}
668 +{{/code}}
669 +
670 +=== Parameter getResultValues ===
671 +
672 +(% class="wrapped" %)
673 +|(((
674 +version
675 +)))|(((
676 +Angefragte Version: 1
677 +)))
678 +|(% colspan="1" %)(% colspan="1" %)
679 +(((
680 +sessionId
681 +)))|(% colspan="1" %)(% colspan="1" %)
682 +(((
683 +SessionId, wie von armSite zurück geliefert.
684 +)))
685 +|(((
686 +secretToShare
687 +)))|(((
688 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
689 +)))
690 +|(((
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"]]
36 36  {{/layout-cell}}
37 -{{/layout-section}}
767 +)))
38 38  
39 39  {{layout-section ac:type="single"}}
40 40  {{layout-cell}}
... ... @@ -42,6 +42,7 @@
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  
775 +(% 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.
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.
66 66  )))
67 67  |(% colspan="1" %)(% colspan="1" %)
68 68  (((
... ... @@ -74,7 +74,8 @@
74 74  
75 75  == Anmeldung des LMS ==
76 76  
77 -{{code title="Anmeldung des LMS" language="xml"}}@WebMethod(operationName = „armSite")
806 +{{code language="xml" title="Anmeldung des LMS"}}
807 +@WebMethod(operationName = „armSite")
78 78  public String armSite(
79 79  @WebParam(name = „version") final Integer version,
80 80  @WebParam(name = „userId") final String userId,
... ... @@ -83,53 +83,703 @@
83 83  @WebParam(name = „optionalUserLastName") final String userLastName,
84 84  @WebParam(name = „optionalUserFirstName") final String userFirstName,
85 85  @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
86 -}{{/code}}Parameter armSite
816 +}
817 +{{/code}}
87 87  
819 +=== Parameter armSite ===
820 +
821 +(% class="wrapped" %)
88 88  |(((
89 -
823 +version
90 90  )))|(((
91 -
825 +Angefragte Version: 1
92 92  )))
93 93  |(((
94 -
828 +userId
95 95  )))|(((
96 -
830 +UserId des anfragenden Reporter-Benutzers
97 97  )))
98 98  |(((
99 -
833 +optionalRole
100 100  )))|(((
101 -
835 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
102 102  )))
103 103  |(((
104 -
838 +secretToShare
105 105  )))|(((
106 -
840 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
107 107  )))
108 108  |(((
109 -
843 +optionalUserLastName
110 110  )))|(((
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 +|(((
906 +students
907 +)))|(((
908 +Liste der Studenten mit ihren Resultaten. Siehe unten.
909 +)))
910 +|(((
911 +optionalContentPackage
912 +)))|(((
913 +Optional. Content Package (gezippt) als Byte-Array.
914 +)))
915 +|(((
916 +additionalParams
917 +)))|(((
918 +Reserved for future use.
919 +)))
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"]]
1104 +{{/layout-cell}}
1105 +{{/layout-section}}
1106 +
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}}
111 111  
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]]
112 112  )))
113 113  
114 -= Überschrift2 =
1129 +{{layout-cell}}
1130 +====== relevante Links: ======
115 115  
116 -Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam fermentum vestibulum est. Cras rhoncus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed quis tortor. Donec non ipsum. Mauris condimentum, odio nec porta tristique, ante neque malesuada massa, in dignissim eros velit at tellus. Donec et risus in ligula eleifend consectetuer. Donec volutpat eleifend augue. Integer gravida sodales leo. Nunc vehicula neque ac erat. Vivamus non nisl. Fusce ac magna. Suspendisse euismod libero eget mauris.
1132 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
117 117  {{/layout-cell}}
1134 +)))
1135 +
1136 +{{layout-section ac:type="two_right_sidebar"}}
1137 +{{layout-cell}}
1138 +
1139 +{{/layout-cell}}
1140 +
1141 +{{layout-cell}}
1142 +====== relevante Links: ======
1143 +
1144 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1145 +{{/layout-cell}}
118 118  {{/layout-section}}
1147 +)))
119 119  
1149 +{{layout}}
120 120  {{layout-section ac:type="two_right_sidebar"}}
121 121  {{layout-cell}}
122 -====== untergeordnete Seiten: ======
1152 +
1153 +{{/layout-cell}}
123 123  
1155 +{{layout-cell}}
1156 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
1157 +{{toc start="2"/}}
124 124  
1159 + **Weitere Informationen:**
125 125  
126 -{{children all="true"/}}
1161 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1162 +{{/panel}}
127 127  {{/layout-cell}}
1164 +{{/layout-section}}
128 128  
1166 +{{layout-section ac:type="single"}}
129 129  {{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}}
130 130  ====== relevante Links: ======
131 131  
132 -* [[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]]
133 133  {{/layout-cell}}
134 134  {{/layout-section}}
135 135  {{/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 -3342392
1 +3342390
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342392/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342390/Schnittstelle ONYX Reporter