Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

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

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -10 Schnittstelle ONYX Reporter
1 +Schnittstelle ONYX Reporter
Übergeordnete Seite
... ... @@ -1,1 +1,0 @@
1 -ONYX.Systeminformationen.WebHome
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.carina
1 +XWiki.sandra_riediger
Inhalt
... ... @@ -1,17 +1,39 @@
1 +{{sv-translation language="de"}}
1 1  {{layout}}
2 2  {{layout-section ac:type="two_right_sidebar"}}
3 3  {{layout-cell}}
4 -
5 +====== Inhalt: ======
6 +
7 +
8 +
9 +{{toc maxLevel="5" style="square" outline="true" absoluteUrl="true"/}}
5 5  {{/layout-cell}}
6 6  
7 7  {{layout-cell}}
8 -{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
9 -{{toc start="2"/}}
13 +|=(% colspan="1" %)(% colspan="1" %)
14 +(((
15 +Programmversion
16 +)))|(% colspan="1" %)(% colspan="1" %)
17 +(((
18 +
19 +)))
20 +|=(((
21 +Status
22 +)))|(((
23 +(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF
24 +)))
25 +|=(((
26 +Aufgaben
27 +)))|(((
28 +
10 10  
11 - **Weitere Informationen:**
12 -
13 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
14 -{{/panel}}
30 +
31 +)))
32 +|=(((
33 +JIRA
34 +)))|(((
35 +
36 +)))
15 15  {{/layout-cell}}
16 16  {{/layout-section}}
17 17  
... ... @@ -21,7 +21,6 @@
21 21  
22 22  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
23 23  
24 -(% class="wrapped" %)
25 25  |(((
26 26  armSite
27 27  )))|(((
... ... @@ -52,7 +52,7 @@
52 52  
53 53  == Anmeldung des LMS ==
54 54  
55 -{{code language="xml" title="Anmeldung des LMS"}}
76 +{{code title="Anmeldung des LMS" language="xml"}}
56 56  @WebMethod(operationName = „armSite")
57 57  public String armSite(
58 58  @WebParam(name = „version") final Integer version,
... ... @@ -67,7 +67,6 @@
67 67  
68 68  === Parameter armSite ===
69 69  
70 -(% class="wrapped" %)
71 71  |(((
72 72  version
73 73  )))|(((
... ... @@ -110,7 +110,6 @@
110 110  
111 111  === ReturnValue armSite ===
112 112  
113 -(% class="wrapped" %)
114 114  |(((
115 115  String
116 116  )))|(((
... ... @@ -119,7 +119,7 @@
119 119  
120 120  == Initialisierung durch LMS ==
121 121  
122 -{{code language="xml" title="Initialisierung durch LMS"}}
141 +{{code title="Initialisierung durch LMS" language="xml"}}
123 123  @WebMethod(operationName = „initiateSite")
124 124  public String initiateSite(
125 125  @WebParam(name = „version") final Integer version,
... ... @@ -133,7 +133,6 @@
133 133  
134 134  === Parameter initiateSite ===
135 135  
136 -(% class="wrapped" %)
137 137  |(((
138 138  version
139 139  )))|(((
... ... @@ -169,7 +169,6 @@
169 169  
170 170  === ReturnValue initiateSite ===
171 171  
172 -(% class="wrapped" %)
173 173  |(((
174 174  String
175 175  )))|(((
... ... @@ -193,6 +193,7 @@
193 193  
194 194  == Abmeldung durch LMS ==
195 195  
213 +
196 196  
197 197  {{code}}
198 198  @WebMethod(operationName = „disarmSite")
... ... @@ -204,10 +204,10 @@
204 204  }
205 205  {{/code}}
206 206  
225 +
207 207  
208 208  === Parameter disarmSite ===
209 209  
210 -(% class="wrapped" %)
211 211  |(((
212 212  version
213 213  )))|(((
... ... @@ -233,7 +233,6 @@
233 233  
234 234  === ReturnValue disarmSite ===
235 235  
236 -(% class="wrapped" %)
237 237  |(((
238 238  Boolean
239 239  )))|(((
... ... @@ -242,7 +242,7 @@
242 242  
243 243  == Abfrage von Lernerresultaten durch LMS ==
244 244  
245 -{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
246 246   @WebMethod(operationName = „getResultValues")
247 247  public HashMapWrapper getResultValues(
248 248   @WebParam(name = „version") final Integer version,
... ... @@ -256,7 +256,6 @@
256 256  
257 257  === Parameter getResultValues ===
258 258  
259 -(% class="wrapped" %)
260 260  |(((
261 261  version
262 262  )))|(((
... ... @@ -287,7 +287,6 @@
287 287  
288 288  === ReturnValue getResultValues ===
289 289  
290 -(% class="wrapped" %)
291 291  |(((
292 292  HashMap<String, String>
293 293  )))|(((
... ... @@ -296,7 +296,7 @@
296 296  
297 297  == Abfrage von Ergebnisvariablen durch LMS ==
298 298  
299 -{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
314 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
300 300   @WebMethod(operationName = „getResultVariables")
301 301  public HashMapWrapper getResultVariables(
302 302  @WebParam(name = „version") final Integer version,
... ... @@ -307,7 +307,6 @@
307 307  
308 308  === Parameter getResultVariables ===
309 309  
310 -(% class="wrapped" %)
311 311  |(((
312 312  version
313 313  )))|(((
... ... @@ -326,7 +326,6 @@
326 326  
327 327  === ReturnValue getResultVariables ===
328 328  
329 -(% class="wrapped" %)
330 330  |(((
331 331  HashMap<String, String>
332 332  )))|(((
... ... @@ -335,21 +335,21 @@
335 335  
336 336  == Wrapper ==
337 337  
338 -Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
351 +Da die Übertragung von Maps und Listen über JAX-WS Probleme macht (clientseitig gefüllte Listen werden leer über den WS versandt und kommen daher auch leer serverseitig an), müssen diese gewrappt werden.
339 339  
340 340  === Wrapper für die HashMap<String, String> ===
341 341  
342 342  HashMapWrapper.java:
343 343  
344 -[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
357 +[[image:attach:HashMapWrapperjava.png]]
345 345  
346 -[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
359 +[[image:attach:HashMapWrapperjava2.png]]
347 347  
348 348  === Wrapper für die ArrayList<ResultsForStudent> ===
349 349  
350 350  ResultsForStudentsWrapper.java:
351 351  
352 -[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
365 +[[image:attach:ResultsForStudentsWrapperjava.png]]
353 353  {{/layout-cell}}
354 354  {{/layout-section}}
355 355  
... ... @@ -361,7 +361,380 @@
361 361  {{layout-cell}}
362 362  ====== relevante Links: ======
363 363  
364 -* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
377 +* [[doc:Schnittstelle ONYX WebPlayer]]
365 365  {{/layout-cell}}
366 366  {{/layout-section}}
367 367  {{/layout}}
381 +{{/sv-translation}}
382 +
383 +{{sv-translation language="en"}}
384 +{{layout}}
385 +{{layout-section ac:type="two_equal"}}
386 +{{layout-cell}}
387 +====== Content: ======
388 +
389 +
390 +
391 +{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
392 +{{/layout-cell}}
393 +
394 +{{layout-cell}}
395 +|=(% colspan="1" %)(% colspan="1" %)
396 +(((
397 +Programmversion
398 +)))|(% colspan="1" %)(% colspan="1" %)
399 +(((
400 +
401 +)))
402 +|=(((
403 +Status
404 +)))|(((
405 +(% class="status-macro aui-lozenge aui-lozenge-error" %)DRAFT
406 +)))
407 +|=(((
408 +Aufgaben
409 +)))|(((
410 +
411 +
412 +
413 +)))
414 +|=(((
415 +JIRA
416 +)))|(((
417 +
418 +)))
419 +{{/layout-cell}}
420 +{{/layout-section}}
421 +
422 +{{layout-section ac:type="single"}}
423 +{{layout-cell}}
424 +
425 +
426 +== Allgemeines ==
427 +
428 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
429 +
430 +|(((
431 +armSite
432 +)))|(((
433 +Anmeldung von Folgerequests beim ONYX Reporter.
434 +)))
435 +|(((
436 +initiateSite
437 +)))|(((
438 +Initiiert die Reporter-Session (Übertragung des CPs).
439 +)))
440 +|(((
441 +disarmSite
442 +)))|(((
443 +Freigabe von allen Reporter-Ressourcen für diese Session.
444 +)))
445 +|(((
446 +getResultValues
447 +)))|(((
448 +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.
449 +)))
450 +|(% colspan="1" %)(% colspan="1" %)
451 +(((
452 +getResultVariables
453 +)))|(% colspan="1" %)(% colspan="1" %)
454 +(((
455 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
456 +)))
457 +
458 +== Anmeldung des LMS ==
459 +
460 +{{code title="Anmeldung des LMS" language="xml"}}
461 +@WebMethod(operationName = „armSite")
462 +public String armSite(
463 +@WebParam(name = „version") final Integer version,
464 +@WebParam(name = „userId") final String userId,
465 +@WebParam(name = „optionalRole") final Integer role,
466 +@WebParam(name = „secretToShare") final String secretToShare,
467 +@WebParam(name = „optionalUserLastName") final String userLastName,
468 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
469 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
470 +}
471 +{{/code}}
472 +
473 +=== Parameter armSite ===
474 +
475 +|(((
476 +version
477 +)))|(((
478 +Angefragte Version: 1
479 +)))
480 +|(((
481 +userId
482 +)))|(((
483 +UserId des anfragenden Reporter-Benutzers
484 +)))
485 +|(((
486 +optionalRole
487 +)))|(((
488 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
489 +)))
490 +|(((
491 +secretToShare
492 +)))|(((
493 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
494 +)))
495 +|(((
496 +optionalUserLastName
497 +)))|(((
498 +Optional. Nachname des Benutzers.
499 +)))
500 +|(% colspan="1" %)(% colspan="1" %)
501 +(((
502 +optionalUserFirstName
503 +)))|(% colspan="1" %)(% colspan="1" %)
504 +(((
505 +Optional. Vorname des Benutzers.
506 +)))
507 +|(% colspan="1" %)(% colspan="1" %)
508 +(((
509 +additionalParams
510 +)))|(% colspan="1" %)(% colspan="1" %)
511 +(((
512 +Reserved for future use.
513 +)))
514 +
515 +=== ReturnValue armSite ===
516 +
517 +|(((
518 +String
519 +)))|(((
520 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
521 +)))
522 +
523 +== Initialisierung durch LMS ==
524 +
525 +{{code title="Initialisierung durch LMS" language="xml"}}
526 +@WebMethod(operationName = „initiateSite")
527 +public String initiateSite(
528 +@WebParam(name = „version") final Integer version,
529 +@WebParam(name = „sessionId") final String sessionId,
530 +@WebParam(name = „secretToShare") final String secretToShare,
531 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
532 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
533 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
534 +}
535 +{{/code}}
536 +
537 +=== Parameter initiateSite ===
538 +
539 +|(((
540 +version
541 +)))|(((
542 +Angefragte Version: 1
543 +)))
544 +|(% colspan="1" %)(% colspan="1" %)
545 +(((
546 +sessionId
547 +)))|(% colspan="1" %)(% colspan="1" %)
548 +(((
549 +SessionId, wie von armSite zurück geliefert.
550 +)))
551 +|(((
552 +secretToShare
553 +)))|(((
554 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
555 +)))
556 +|(((
557 +students
558 +)))|(((
559 +Liste der Studenten mit ihren Resultaten. Siehe unten.
560 +)))
561 +|(((
562 +optionalContentPackage
563 +)))|(((
564 +Optional. Content Package (gezippt) als Byte-Array.
565 +)))
566 +|(((
567 +additionalParams
568 +)))|(((
569 +Reserved for future use.
570 +)))
571 +
572 +=== ReturnValue initiateSite ===
573 +
574 +|(((
575 +String
576 +)))|(((
577 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
578 +
579 +* sid: Session ID, wie von armSite zurück gegeben
580 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
581 +)))
582 +
583 +{{code language="xml"}}
584 +public class ResultsForStudent {
585 +   private String studentId = „";
586 +   private String firstname = „";
587 +   private String lastname = „";
588 +   private String groupname = „";
589 +   private String tutorname = „";
590 +   private File contentFile = null;
591 +   private byte[] resultsFile = null;
592 +}
593 +{{/code}}
594 +
595 +== Abmeldung durch LMS ==
596 +
597 +
598 +
599 +{{code}}
600 +@WebMethod(operationName = „disarmSite")
601 +public Boolean disarmSite(
602 +@WebParam(name = „version") final Integer version,
603 +@WebParam(name = „sessionId") final String sessionId,
604 +@WebParam(name = „secretToShare") final String secretToShare,
605 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
606 +}
607 +{{/code}}
608 +
609 +
610 +
611 +=== Parameter disarmSite ===
612 +
613 +|(((
614 +version
615 +)))|(((
616 +Angefragte Version: 1
617 +)))
618 +|(% colspan="1" %)(% colspan="1" %)
619 +(((
620 +sessionId
621 +)))|(% colspan="1" %)(% colspan="1" %)
622 +(((
623 +SessionId, wie von armSite zurück geliefert.
624 +)))
625 +|(((
626 +secretToShare
627 +)))|(((
628 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
629 +)))
630 +|(((
631 +additionalParams
632 +)))|(((
633 +Reserved for future use.
634 +)))
635 +
636 +=== ReturnValue disarmSite ===
637 +
638 +|(((
639 +Boolean
640 +)))|(((
641 +True bei Erfolg, sonst false.
642 +)))
643 +
644 +== Abfrage von Lernerresultaten durch LMS ==
645 +
646 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
647 + @WebMethod(operationName = „getResultValues")
648 +public HashMapWrapper getResultValues(
649 + @WebParam(name = „version") final Integer version,
650 + @WebParam(name = „sessionId") final String sessionId,
651 + @WebParam(name = „secretToShare") final String secretToShare,
652 + @WebParam(name = „requestedValues") final HashMap<String, String>
653 + requestedValues,
654 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
655 +}
656 +{{/code}}
657 +
658 +=== Parameter getResultValues ===
659 +
660 +|(((
661 +version
662 +)))|(((
663 +Angefragte Version: 1
664 +)))
665 +|(% colspan="1" %)(% colspan="1" %)
666 +(((
667 +sessionId
668 +)))|(% colspan="1" %)(% colspan="1" %)
669 +(((
670 +SessionId, wie von armSite zurück geliefert.
671 +)))
672 +|(((
673 +secretToShare
674 +)))|(((
675 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
676 +)))
677 +|(((
678 +requestedValues
679 +)))|(((
680 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
681 +)))
682 +|(((
683 +additionalParams
684 +)))|(((
685 +Reserved for future use.
686 +)))
687 +
688 +=== ReturnValue getResultValues ===
689 +
690 +|(((
691 +HashMap<String, String>
692 +)))|(((
693 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
694 +)))
695 +
696 +== Abfrage von Ergebnisvariablen durch LMS ==
697 +
698 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
699 + @WebMethod(operationName = „getResultVariables")
700 +public HashMapWrapper getResultVariables(
701 +@WebParam(name = „version") final Integer version,
702 +@WebParam(name = „contentPackage") final byte[] contentPackage,
703 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
704 +}
705 +{{/code}}
706 +
707 +=== Parameter getResultVariables ===
708 +
709 +|(((
710 +version
711 +)))|(((
712 +Angefragte Version: 1
713 +)))
714 +|(((
715 +contentPackage
716 +)))|(((
717 +Content Package (gezippt) als Byte-Array.
718 +)))
719 +|(((
720 +additionalParams
721 +)))|(((
722 +Reserved for future use.
723 +)))
724 +
725 +=== ReturnValue getResultVariables ===
726 +
727 +|(((
728 +HashMap<String, String>
729 +)))|(((
730 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
731 +)))
732 +
733 +== Wrapper ==
734 +
735 +Da die Übertragung von Maps und Listen über JAX-WS Probleme macht (clientseitig gefüllte Listen werden leer über den WS versandt und kommen daher auch leer serverseitig an), müssen diese gewrappt werden.
736 +
737 +=== Wrapper für die HashMap<String, String> ===
738 +
739 +HashMapWrapper.java:
740 +
741 +[[image:attach:HashMapWrapperjava.png]]
742 +
743 +[[image:attach:HashMapWrapperjava2.png]]
744 +
745 +=== Wrapper für die ArrayList<ResultsForStudent> ===
746 +
747 +ResultsForStudentsWrapper.java:
748 +
749 +[[image:attach:ResultsForStudentsWrapperjava.png]]
750 +{{/layout-cell}}
751 +{{/layout-section}}
752 +{{/layout}}
753 +{{/sv-translation}}
HashMapWrapperjava.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiGuest
Größe
... ... @@ -1,1 +1,0 @@
1 -135.3 KB
Inhalt
HashMapWrapperjava2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiGuest
Größe
... ... @@ -1,1 +1,0 @@
1 -187.3 KB
Inhalt
ResultsForStudentsWrapperjava.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiGuest
Größe
... ... @@ -1,1 +1,0 @@
1 -83.3 KB
Inhalt
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -3342390
1 +3342793
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342390/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342793/Schnittstelle ONYX Reporter