Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 399.1
bearbeitet von Carina Enke
am 13.02.2024
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 400.1
bearbeitet von Carina Enke
am 13.02.2024
Änderungskommentar: Zurück zur Version 398.1

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -1,1151 +1149,3 @@
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 -
53 -{{layout-section ac:type="two_right_sidebar"}}
54 -{{layout-cell}}
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" %)
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 -
432 -{{layout-cell}}
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" %)
459 -(((
460 -getResultVariables
461 -)))|(% colspan="1" %)(% colspan="1" %)
462 -(((
463 -Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
464 -)))
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
486 -)))|(((
487 -Angefragte Version: 1
488 -)))
489 -|(((
490 -userId
491 -)))|(((
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 -)))
523 -
524 -=== ReturnValue armSite ===
525 -
526 -(% class="wrapped" %)
527 -|(((
528 -String
529 -)))|(((
530 -Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
531 -)))
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
552 -)))|(((
553 -Angefragte Version: 1
554 -)))
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"]]
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 -|(((
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}}
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 -
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}}
1146 -{{/layout-section}}
1147 -)))
1148 -
1149 1149  {{layout}}
1150 1150  {{layout-section ac:type="two_right_sidebar"}}
1151 1151  {{layout-cell}}