Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 26.11.2025

Von Version 403.1
bearbeitet von Carina Enke
am 16.11.2025
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 313.1
bearbeitet von Carina Enke
am 24.09.2018
Änderungskommentar: Mittels Scroll Versions veröffentlicht aus dem Bereich ONYXintern und Version 1.11.1.

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -08 Schnittstelle ONYX Reporter
1 +Schnittstelle ONYX Reporter
Übergeordnete Seite
... ... @@ -1,1 +1,0 @@
1 -ONYX.Systeminformationen.WebHome
Inhalt
... ... @@ -1,25 +1,92 @@
1 -{{section}}
2 -{{column width="60%"}}
1 +{{sv-translation language="de"}}
2 +{{layout}}
3 +{{layout-section ac:type="single"}}
4 +{{layout-cell}}
5 +
6 +
7 +{{conditionalcontent 0="Zielgruppe: (BPS)" sv-attr:866DE48701525447C13BC59401CD793F="866DE48701525447C13C469E1E314A59" atlassian-macro-output-type="INLINE"}}
8 +{{details}}
9 +|=(((
10 +Verantwortlicher
11 +)))|(((
3 3  
4 -{{/column}}
13 +)))
14 +|=(% colspan="1" %)(% colspan="1" %)
15 +(((
16 +Status
17 +)))|(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)
18 +(((
19 +{{sv-metadata type="workflow-status"/}}
5 5  
6 -{{column width="30%"}}
7 -{{panel title="Inhalt"}}
8 -{{toc start="2"/}}
9 -{{/panel}}
21 +{{status colour="Green" title="Fertig"/}}
22 +)))
23 +|=(% colspan="1" %)(% colspan="1" %)
24 +(((
25 +Varianten
26 +)))|(% colspan="1" %)(% colspan="1" %)
27 +(((
28 +{{sv-metadata type="variants"/}}
29 +)))
30 +|=(% colspan="1" %)(% colspan="1" %)
31 +(((
32 +Attribute
33 +)))|(% colspan="1" %)(% colspan="1" %)
34 +(((
35 +{{sv-metadata type="attributes"/}}
36 +)))
37 +|=(% colspan="1" %)(% colspan="1" %)
38 +(((
39 +Pagekey
40 +)))|(% colspan="1" %)(% colspan="1" %)
41 +(((
42 +{{sv-metadata type="pagekey"/}}
43 +)))
44 +|=(% colspan="1" %)(% colspan="1" %)
45 +(((
46 +Übersetzung
47 +)))|(% colspan="1" %)(% colspan="1" %)
48 +(((
10 10  
11 -{{panel title="Weiterführende Inhalte"}}
12 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
13 -{{/panel}}
14 -{{/column}}
15 -{{/section}}
16 16  
51 +{{status colour="Green" title="Fertig"/}}
52 +)))
53 +|=(% colspan="1" %)(% colspan="1" %)
54 +(((
55 +TODOs
56 +)))|(% colspan="1" %)(% colspan="1" %)
57 +(((
58 +(% class="task-list" %)
59 +(((
60 +{{task reference="/Tasks/Task_9" status="Done"}}
61 +carina {{mention reference="XWiki.0a49950f5c0f19a8015c101b60e10001" style="FULL_NAME" anchor="XWiki-0a49950f5c0f19a8015c101b60e10001-phXzt"/}}: Übersetzung offen
62 +{{/task}}
63 +)))
64 +)))
65 +{{/details}}
66 +{{/conditionalcontent}}
67 +{{/layout-cell}}
68 +{{/layout-section}}
17 17  
70 +{{layout-section ac:type="two_right_sidebar"}}
71 +{{layout-cell}}
72 +====== Inhalt: ======
73 +
74 +
75 +
76 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}}
77 +{{/layout-cell}}
78 +
79 +{{layout-cell}}
80 +
81 +{{/layout-cell}}
82 +{{/layout-section}}
83 +
84 +{{layout-section ac:type="single"}}
85 +{{layout-cell}}
18 18  == Allgemeines ==
19 19  
20 20  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
21 21  
22 -(% class="wrapped" %)
23 23  |(((
24 24  armSite
25 25  )))|(((
... ... @@ -65,7 +65,6 @@
65 65  
66 66  === Parameter armSite ===
67 67  
68 -(% class="wrapped" %)
69 69  |(((
70 70  version
71 71  )))|(((
... ... @@ -108,7 +108,6 @@
108 108  
109 109  === ReturnValue armSite ===
110 110  
111 -(% class="wrapped" %)
112 112  |(((
113 113  String
114 114  )))|(((
... ... @@ -131,7 +131,6 @@
131 131  
132 132  === Parameter initiateSite ===
133 133  
134 -(% class="wrapped" %)
135 135  |(((
136 136  version
137 137  )))|(((
... ... @@ -167,7 +167,6 @@
167 167  
168 168  === ReturnValue initiateSite ===
169 169  
170 -(% class="wrapped" %)
171 171  |(((
172 172  String
173 173  )))|(((
... ... @@ -191,6 +191,7 @@
191 191  
192 192  == Abmeldung durch LMS ==
193 193  
257 +
194 194  
195 195  {{code}}
196 196  @WebMethod(operationName = „disarmSite")
... ... @@ -202,10 +202,10 @@
202 202  }
203 203  {{/code}}
204 204  
269 +
205 205  
206 206  === Parameter disarmSite ===
207 207  
208 -(% class="wrapped" %)
209 209  |(((
210 210  version
211 211  )))|(((
... ... @@ -334,12 +334,378 @@
334 334  
335 335  HashMapWrapper.java:
336 336  
337 -[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
401 +[[image:attach:HashMapWrapperjava.png]]
338 338  
339 -[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
403 +[[image:attach:HashMapWrapperjava2.png]]
340 340  
341 341  === Wrapper für die ArrayList<ResultsForStudent> ===
342 342  
343 343  ResultsForStudentsWrapper.java:
344 344  
345 -[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
409 +[[image:attach:ResultsForStudentsWrapperjava.png]]
410 +{{/layout-cell}}
411 +{{/layout-section}}
412 +
413 +{{layout-section ac:type="two_right_sidebar"}}
414 +{{layout-cell}}
415 +
416 +{{/layout-cell}}
417 +
418 +{{layout-cell}}
419 +====== relevante Links: ======
420 +
421 +* [[doc:ONYX Player Interface]]
422 +{{/layout-cell}}
423 +{{/layout-section}}
424 +{{/layout}}
425 +{{/sv-translation}}
426 +
427 +{{sv-translation language="en"}}
428 +{{layout}}
429 +{{layout-section ac:type="two_equal"}}
430 +{{layout-cell}}
431 +====== Content: ======
432 +
433 +
434 +
435 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}}
436 +{{/layout-cell}}
437 +
438 +{{layout-cell}}
439 +
440 +{{/layout-cell}}
441 +{{/layout-section}}
442 +
443 +{{layout-section ac:type="single"}}
444 +{{layout-cell}}
445 +== General ==
446 +
447 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed:
448 +
449 +|(((
450 +armSite
451 +)))|(((
452 +Registration of sequence requests at the ONYX reporter
453 +)))
454 +|(((
455 +initiateSite
456 +)))|(((
457 +Initiates the reporter session (transmission of the CP).
458 +)))
459 +|(((
460 +disarmSite
461 +)))|(((
462 +Release of all reporter resources for this session.
463 +)))
464 +|(((
465 +getResultValues
466 +)))|(((
467 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite.
468 +)))
469 +|(% colspan="1" %)(% colspan="1" %)
470 +(((
471 +getResultVariables
472 +)))|(% colspan="1" %)(% colspan="1" %)
473 +(((
474 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary.
475 +)))
476 +
477 +== Connection to the LMS ==
478 +
479 +{{code language="xml" title="Anmeldung des LMS"}}
480 +@WebMethod(operationName = „armSite")
481 +public String armSite(
482 +@WebParam(name = „version") final Integer version,
483 +@WebParam(name = „userId") final String userId,
484 +@WebParam(name = „optionalRole") final Integer role,
485 +@WebParam(name = „secretToShare") final String secretToShare,
486 +@WebParam(name = „optionalUserLastName") final String userLastName,
487 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
488 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
489 +}
490 +{{/code}}
491 +
492 +=== Parameter armSite ===
493 +
494 +|(((
495 +version
496 +)))|(((
497 +Requested version: 1
498 +)))
499 +|(((
500 +userId
501 +)))|(((
502 +UserId of the requested reporter user
503 +)))
504 +|(((
505 +optionalRole
506 +)))|(((
507 +Optional. User role. 0=student, 1=tutor
508 +)))
509 +|(((
510 +secretToShare
511 +)))|(((
512 +Shared secret. Has to remain identical for every communication.
513 +)))
514 +|(((
515 +optionalUserLastName
516 +)))|(((
517 +Optional. User lastname.
518 +)))
519 +|(% colspan="1" %)(% colspan="1" %)
520 +(((
521 +optionalUserFirstName
522 +)))|(% colspan="1" %)(% colspan="1" %)
523 +(((
524 +Optional. User firstname.
525 +)))
526 +|(% colspan="1" %)(% colspan="1" %)
527 +(((
528 +additionalParams
529 +)))|(% colspan="1" %)(% colspan="1" %)
530 +(((
531 +Reserved for future use.
532 +)))
533 +
534 +=== ReturnValue armSite ===
535 +
536 +|(((
537 +String
538 +)))|(((
539 +Session ID that has to be used to mark any further reporter call.
540 +)))
541 +
542 +== Initialisation through LMS ==
543 +
544 +{{code language="xml" title="Initialisierung durch LMS"}}
545 +@WebMethod(operationName = „initiateSite")
546 +public String initiateSite(
547 +@WebParam(name = „version") final Integer version,
548 +@WebParam(name = „sessionId") final String sessionId,
549 +@WebParam(name = „secretToShare") final String secretToShare,
550 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
551 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
552 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
553 +}
554 +{{/code}}
555 +
556 +=== Parameter initiateSite ===
557 +
558 +|(((
559 +version
560 +)))|(((
561 +Requested version: 1
562 +)))
563 +|(% colspan="1" %)(% colspan="1" %)
564 +(((
565 +sessionId
566 +)))|(% colspan="1" %)(% colspan="1" %)
567 +(((
568 +SessionId, as returned by armSite.
569 +)))
570 +|(((
571 +secretToShare
572 +)))|(((
573 +Shared secret. Has to remain identical at every communication.
574 +)))
575 +|(((
576 +students
577 +)))|(((
578 +List of students with their results. See below.
579 +)))
580 +|(((
581 +optionalContentPackage
582 +)))|(((
583 +Optional. Content Package (zipped) as byte array.
584 +)))
585 +|(((
586 +additionalParams
587 +)))|(((
588 +Reserved for future use.
589 +)))
590 +
591 +=== ReturnValue initiateSite ===
592 +
593 +|(((
594 +String
595 +)))|(((
596 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters:
597 +
598 +* sid: Session ID as returned by armSite
599 +* (((
600 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter.
601 +)))
602 +)))
603 +
604 +{{code language="xml"}}
605 +public class ResultsForStudent {
606 +   private String studentId = „";
607 +   private String firstname = „";
608 +   private String lastname = „";
609 +   private String groupname = „";
610 +   private String tutorname = „";
611 +   private File contentFile = null;
612 +   private byte[] resultsFile = null;
613 +}
614 +{{/code}}
615 +
616 +== Deconnection through the LMS ==
617 +
618 +
619 +
620 +{{code}}
621 +@WebMethod(operationName = „disarmSite")
622 +public Boolean disarmSite(
623 +@WebParam(name = „version") final Integer version,
624 +@WebParam(name = „sessionId") final String sessionId,
625 +@WebParam(name = „secretToShare") final String secretToShare,
626 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
627 +}
628 +{{/code}}
629 +
630 +
631 +
632 +=== Parameter disarmSite ===
633 +
634 +|(((
635 +version
636 +)))|(((
637 +Requested version: 1
638 +)))
639 +|(% colspan="1" %)(% colspan="1" %)
640 +(((
641 +sessionId
642 +)))|(% colspan="1" %)(% colspan="1" %)
643 +(((
644 +SessionId, as returned by armSite.
645 +)))
646 +|(((
647 +secretToShare
648 +)))|(((
649 +Shared secret. Has to remain identical at every communication.
650 +)))
651 +|(((
652 +additionalParams
653 +)))|(((
654 +Reserved for future use.
655 +)))
656 +
657 +=== ReturnValue disarmSite ===
658 +
659 +|(((
660 +Boolean
661 +)))|(((
662 +True if successful, otherwise false.
663 +)))
664 +
665 +== Request of learning results through the LMS ==
666 +
667 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
668 + @WebMethod(operationName = „getResultValues")
669 +public HashMapWrapper getResultValues(
670 + @WebParam(name = „version") final Integer version,
671 + @WebParam(name = „sessionId") final String sessionId,
672 + @WebParam(name = „secretToShare") final String secretToShare,
673 + @WebParam(name = „requestedValues") final HashMap<String, String>
674 + requestedValues,
675 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
676 +}
677 +{{/code}}
678 +
679 +=== Parameter getResultValues ===
680 +
681 +|(((
682 +version
683 +)))|(((
684 +Requested version: 1
685 +)))
686 +|(% colspan="1" %)(% colspan="1" %)
687 +(((
688 +sessionId
689 +)))|(% colspan="1" %)(% colspan="1" %)
690 +(((
691 +SessionId, as returned by armSite.
692 +)))
693 +|(((
694 +secretToShare
695 +)))|(((
696 +Shared secret. Has to remain identical at every communication.
697 +)))
698 +|(((
699 +requestedValues
700 +)))|(((
701 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned.
702 +)))
703 +|(((
704 +additionalParams
705 +)))|(((
706 +Reserved for future use.
707 +)))
708 +
709 +=== ReturnValue getResultValues ===
710 +
711 +|(((
712 +HashMap<String, String>
713 +)))|(((
714 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped)
715 +)))
716 +
717 +== Request of result variables through the LMS ==
718 +
719 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
720 + @WebMethod(operationName = „getResultVariables")
721 +public HashMapWrapper getResultVariables(
722 +@WebParam(name = „version") final Integer version,
723 +@WebParam(name = „contentPackage") final byte[] contentPackage,
724 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
725 +}
726 +{{/code}}
727 +
728 +=== Parameter getResultVariables ===
729 +
730 +|(((
731 +version
732 +)))|(((
733 +Requested version: 1
734 +)))
735 +|(((
736 +contentPackage
737 +)))|(((
738 +Content package (zipped) as byte array.
739 +)))
740 +|(((
741 +additionalParams
742 +)))|(((
743 +Reserved for future use.
744 +)))
745 +
746 +=== ReturnValue getResultVariables ===
747 +
748 +|(((
749 +HashMap<String, String>
750 +)))|(((
751 +Map of result variables, key is the variable name, value the corresponding
752 +value (HashMap is wrapped).
753 +)))
754 +
755 +== Wrapper ==
756 +
757 +As the transmission of maps and lists generate problems via JAX-WS (lists filled by the customer are sent without any data and thus reach the server without data) they have to be wrapped.
758 +
759 +=== Wrapper for HashMap<String, String> ===
760 +
761 +HashMapWrapper.java:
762 +
763 +[[image:attach:HashMapWrapperjava.png]]
764 +
765 +[[image:attach:HashMapWrapperjava2.png]]
766 +
767 +=== Wrapper for the ArrayList<ResultsForStudent> ===
768 +
769 +ResultsForStudentsWrapper.java:
770 +
771 +[[image:attach:ResultsForStudentsWrapperjava.png]]
772 +{{/layout-cell}}
773 +{{/layout-section}}
774 +{{/layout}}
775 +{{/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 +178880909
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/178880909/Schnittstelle ONYX Reporter