Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 26.11.2025

Von Version 402.2
bearbeitet von Carina Enke
am 16.11.2025
Ä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 -08 Schnittstelle ONYX Reporter
1 +10 Schnittstelle ONYX Reporter
Inhalt
... ... @@ -1,24 +1,78 @@
1 -{{section}}
2 -{{column width="60%"}}
1 +(% data-xwiki-non-generated-content="java.util.List" %)
2 +(((
3 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
3 3  
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}}
4 4  
5 -{{/column}}
16 +{{/layout-cell}}
6 6  
7 -{{column width="30%"}}
8 -{{panel title="Inhalt"}}
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 +
9 9  {{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]]
10 10  {{/panel}}
40 +)))
11 11  
42 +{{layout-cell}}
43 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
44 +{{toc start="2"/}}
12 12  
46 + **Weitere Informationen:**
13 13  
14 -{{panel title="Weiterführende Inhalte"}}
15 15  * [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
49 +{{/panel}}
50 +{{/layout-cell}}
51 +)))
16 16  
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]]
17 17  {{/panel}}
66 +{{/layout-cell}}
67 +{{/layout-section}}
18 18  
19 -{{/column}}
20 -{{/section}}
69 +(% data-xwiki-non-generated-content="java.util.List" %)
70 +(((
71 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
21 21  
73 +(% data-xwiki-non-generated-content="java.util.List" %)
74 +(((
75 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
22 22  
23 23  == Allgemeines ==
24 24  
... ... @@ -55,6 +55,11 @@
55 55  
56 56  == Anmeldung des LMS ==
57 57  
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 +
58 58  {{code language="xml" title="Anmeldung des LMS"}}
59 59  @WebMethod(operationName = „armSite")
60 60  public String armSite(
... ... @@ -122,6 +122,11 @@
122 122  
123 123  == Initialisierung durch LMS ==
124 124  
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 +
125 125  {{code language="xml" title="Initialisierung durch LMS"}}
126 126  @WebMethod(operationName = „initiateSite")
127 127  public String initiateSite(
... ... @@ -236,6 +236,7 @@
236 236  
237 237  === ReturnValue disarmSite ===
238 238  
303 +(% class="wrapped" %)
239 239  |(((
240 240  Boolean
241 241  )))|(((
... ... @@ -244,6 +244,11 @@
244 244  
245 245  == Abfrage von Lernerresultaten durch LMS ==
246 246  
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 +
247 247  {{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
248 248   @WebMethod(operationName = „getResultValues")
249 249  public HashMapWrapper getResultValues(
... ... @@ -258,6 +258,7 @@
258 258  
259 259  === Parameter getResultValues ===
260 260  
331 +(% class="wrapped" %)
261 261  |(((
262 262  version
263 263  )))|(((
... ... @@ -288,6 +288,7 @@
288 288  
289 289  === ReturnValue getResultValues ===
290 290  
362 +(% class="wrapped" %)
291 291  |(((
292 292  HashMap<String, String>
293 293  )))|(((
... ... @@ -296,6 +296,11 @@
296 296  
297 297  == Abfrage von Ergebnisvariablen durch LMS ==
298 298  
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 +
299 299  {{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
300 300   @WebMethod(operationName = „getResultVariables")
301 301  public HashMapWrapper getResultVariables(
... ... @@ -307,6 +307,7 @@
307 307  
308 308  === Parameter getResultVariables ===
309 309  
387 +(% class="wrapped" %)
310 310  |(((
311 311  version
312 312  )))|(((
... ... @@ -325,6 +325,7 @@
325 325  
326 326  === ReturnValue getResultVariables ===
327 327  
406 +(% class="wrapped" %)
328 328  |(((
329 329  HashMap<String, String>
330 330  )))|(((
... ... @@ -348,4 +348,1089 @@
348 348  ResultsForStudentsWrapper.java:
349 349  
350 350  [[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
430 +)))
351 351  
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 +{{layout}}
1150 +{{layout-section ac:type="two_right_sidebar"}}
1151 +{{layout-cell}}
1152 +
1153 +{{/layout-cell}}
1154 +
1155 +{{layout-cell}}
1156 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
1157 +{{toc start="2"/}}
1158 +
1159 + **Weitere Informationen:**
1160 +
1161 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1162 +{{/panel}}
1163 +{{/layout-cell}}
1164 +{{/layout-section}}
1165 +
1166 +{{layout-section ac:type="single"}}
1167 +{{layout-cell}}
1168 +== Allgemeines ==
1169 +
1170 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
1171 +
1172 +(% class="wrapped" %)
1173 +|(((
1174 +armSite
1175 +)))|(((
1176 +Anmeldung von Folgerequests beim ONYX Reporter.
1177 +)))
1178 +|(((
1179 +initiateSite
1180 +)))|(((
1181 +Initiiert die Reporter-Session (Übertragung des CPs).
1182 +)))
1183 +|(((
1184 +disarmSite
1185 +)))|(((
1186 +Freigabe von allen Reporter-Ressourcen für diese Session.
1187 +)))
1188 +|(((
1189 +getResultValues
1190 +)))|(((
1191 +Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
1192 +)))
1193 +|(% colspan="1" %)(% colspan="1" %)
1194 +(((
1195 +getResultVariables
1196 +)))|(% colspan="1" %)(% colspan="1" %)
1197 +(((
1198 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
1199 +)))
1200 +
1201 +== Anmeldung des LMS ==
1202 +
1203 +{{code language="xml" title="Anmeldung des LMS"}}
1204 +@WebMethod(operationName = „armSite")
1205 +public String armSite(
1206 +@WebParam(name = „version") final Integer version,
1207 +@WebParam(name = „userId") final String userId,
1208 +@WebParam(name = „optionalRole") final Integer role,
1209 +@WebParam(name = „secretToShare") final String secretToShare,
1210 +@WebParam(name = „optionalUserLastName") final String userLastName,
1211 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
1212 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1213 +}
1214 +{{/code}}
1215 +
1216 +=== Parameter armSite ===
1217 +
1218 +(% class="wrapped" %)
1219 +|(((
1220 +version
1221 +)))|(((
1222 +Angefragte Version: 1
1223 +)))
1224 +|(((
1225 +userId
1226 +)))|(((
1227 +UserId des anfragenden Reporter-Benutzers
1228 +)))
1229 +|(((
1230 +optionalRole
1231 +)))|(((
1232 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
1233 +)))
1234 +|(((
1235 +secretToShare
1236 +)))|(((
1237 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1238 +)))
1239 +|(((
1240 +optionalUserLastName
1241 +)))|(((
1242 +Optional. Nachname des Benutzers.
1243 +)))
1244 +|(% colspan="1" %)(% colspan="1" %)
1245 +(((
1246 +optionalUserFirstName
1247 +)))|(% colspan="1" %)(% colspan="1" %)
1248 +(((
1249 +Optional. Vorname des Benutzers.
1250 +)))
1251 +|(% colspan="1" %)(% colspan="1" %)
1252 +(((
1253 +additionalParams
1254 +)))|(% colspan="1" %)(% colspan="1" %)
1255 +(((
1256 +Reserved for future use.
1257 +)))
1258 +
1259 +=== ReturnValue armSite ===
1260 +
1261 +(% class="wrapped" %)
1262 +|(((
1263 +String
1264 +)))|(((
1265 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
1266 +)))
1267 +
1268 +== Initialisierung durch LMS ==
1269 +
1270 +{{code language="xml" title="Initialisierung durch LMS"}}
1271 +@WebMethod(operationName = „initiateSite")
1272 +public String initiateSite(
1273 +@WebParam(name = „version") final Integer version,
1274 +@WebParam(name = „sessionId") final String sessionId,
1275 +@WebParam(name = „secretToShare") final String secretToShare,
1276 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
1277 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
1278 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1279 +}
1280 +{{/code}}
1281 +
1282 +=== Parameter initiateSite ===
1283 +
1284 +(% class="wrapped" %)
1285 +|(((
1286 +version
1287 +)))|(((
1288 +Angefragte Version: 1
1289 +)))
1290 +|(% colspan="1" %)(% colspan="1" %)
1291 +(((
1292 +sessionId
1293 +)))|(% colspan="1" %)(% colspan="1" %)
1294 +(((
1295 +SessionId, wie von armSite zurück geliefert.
1296 +)))
1297 +|(((
1298 +secretToShare
1299 +)))|(((
1300 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1301 +)))
1302 +|(((
1303 +students
1304 +)))|(((
1305 +Liste der Studenten mit ihren Resultaten. Siehe unten.
1306 +)))
1307 +|(((
1308 +optionalContentPackage
1309 +)))|(((
1310 +Optional. Content Package (gezippt) als Byte-Array.
1311 +)))
1312 +|(((
1313 +additionalParams
1314 +)))|(((
1315 +Reserved for future use.
1316 +)))
1317 +
1318 +=== ReturnValue initiateSite ===
1319 +
1320 +(% class="wrapped" %)
1321 +|(((
1322 +String
1323 +)))|(((
1324 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
1325 +
1326 +* sid: Session ID, wie von armSite zurück gegeben
1327 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
1328 +)))
1329 +
1330 +{{code language="xml"}}
1331 +public class ResultsForStudent {
1332 +   private String studentId = „";
1333 +   private String firstname = „";
1334 +   private String lastname = „";
1335 +   private String groupname = „";
1336 +   private String tutorname = „";
1337 +   private File contentFile = null;
1338 +   private byte[] resultsFile = null;
1339 +}
1340 +{{/code}}
1341 +
1342 +== Abmeldung durch LMS ==
1343 +
1344 +
1345 +{{code}}
1346 +@WebMethod(operationName = „disarmSite")
1347 +public Boolean disarmSite(
1348 +@WebParam(name = „version") final Integer version,
1349 +@WebParam(name = „sessionId") final String sessionId,
1350 +@WebParam(name = „secretToShare") final String secretToShare,
1351 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1352 +}
1353 +{{/code}}
1354 +
1355 +
1356 +=== Parameter disarmSite ===
1357 +
1358 +(% class="wrapped" %)
1359 +|(((
1360 +version
1361 +)))|(((
1362 +Angefragte Version: 1
1363 +)))
1364 +|(% colspan="1" %)(% colspan="1" %)
1365 +(((
1366 +sessionId
1367 +)))|(% colspan="1" %)(% colspan="1" %)
1368 +(((
1369 +SessionId, wie von armSite zurück geliefert.
1370 +)))
1371 +|(((
1372 +secretToShare
1373 +)))|(((
1374 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1375 +)))
1376 +|(((
1377 +additionalParams
1378 +)))|(((
1379 +Reserved for future use.
1380 +)))
1381 +
1382 +=== ReturnValue disarmSite ===
1383 +
1384 +(% class="wrapped" %)
1385 +|(((
1386 +Boolean
1387 +)))|(((
1388 +True bei Erfolg, sonst false.
1389 +)))
1390 +
1391 +== Abfrage von Lernerresultaten durch LMS ==
1392 +
1393 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
1394 + @WebMethod(operationName = „getResultValues")
1395 +public HashMapWrapper getResultValues(
1396 + @WebParam(name = „version") final Integer version,
1397 + @WebParam(name = „sessionId") final String sessionId,
1398 + @WebParam(name = „secretToShare") final String secretToShare,
1399 + @WebParam(name = „requestedValues") final HashMap<String, String>
1400 + requestedValues,
1401 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1402 +}
1403 +{{/code}}
1404 +
1405 +=== Parameter getResultValues ===
1406 +
1407 +(% class="wrapped" %)
1408 +|(((
1409 +version
1410 +)))|(((
1411 +Angefragte Version: 1
1412 +)))
1413 +|(% colspan="1" %)(% colspan="1" %)
1414 +(((
1415 +sessionId
1416 +)))|(% colspan="1" %)(% colspan="1" %)
1417 +(((
1418 +SessionId, wie von armSite zurück geliefert.
1419 +)))
1420 +|(((
1421 +secretToShare
1422 +)))|(((
1423 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1424 +)))
1425 +|(((
1426 +requestedValues
1427 +)))|(((
1428 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
1429 +)))
1430 +|(((
1431 +additionalParams
1432 +)))|(((
1433 +Reserved for future use.
1434 +)))
1435 +
1436 +=== ReturnValue getResultValues ===
1437 +
1438 +(% class="wrapped" %)
1439 +|(((
1440 +HashMap<String, String>
1441 +)))|(((
1442 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1443 +)))
1444 +
1445 +== Abfrage von Ergebnisvariablen durch LMS ==
1446 +
1447 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
1448 + @WebMethod(operationName = „getResultVariables")
1449 +public HashMapWrapper getResultVariables(
1450 +@WebParam(name = „version") final Integer version,
1451 +@WebParam(name = „contentPackage") final byte[] contentPackage,
1452 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1453 +}
1454 +{{/code}}
1455 +
1456 +=== Parameter getResultVariables ===
1457 +
1458 +(% class="wrapped" %)
1459 +|(((
1460 +version
1461 +)))|(((
1462 +Angefragte Version: 1
1463 +)))
1464 +|(((
1465 +contentPackage
1466 +)))|(((
1467 +Content Package (gezippt) als Byte-Array.
1468 +)))
1469 +|(((
1470 +additionalParams
1471 +)))|(((
1472 +Reserved for future use.
1473 +)))
1474 +
1475 +=== ReturnValue getResultVariables ===
1476 +
1477 +(% class="wrapped" %)
1478 +|(((
1479 +HashMap<String, String>
1480 +)))|(((
1481 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1482 +)))
1483 +
1484 +== Wrapper ==
1485 +
1486 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
1487 +
1488 +=== Wrapper für die HashMap<String, String> ===
1489 +
1490 +HashMapWrapper.java:
1491 +
1492 +[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1493 +
1494 +[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1495 +
1496 +=== Wrapper für die ArrayList<ResultsForStudent> ===
1497 +
1498 +ResultsForStudentsWrapper.java:
1499 +
1500 +[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1501 +{{/layout-cell}}
1502 +{{/layout-section}}
1503 +
1504 +{{layout-section ac:type="two_right_sidebar"}}
1505 +{{layout-cell}}
1506 +
1507 +{{/layout-cell}}
1508 +
1509 +{{layout-cell}}
1510 +====== relevante Links: ======
1511 +
1512 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1513 +{{/layout-cell}}
1514 +{{/layout-section}}
1515 +{{/layout}}