Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 369.1
bearbeitet von sandra_riediger
am 15.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 239.1
bearbeitet von Carina Enke
am 19.05.2020
Änderungskommentar: Mittels Scroll Versions veröffentlicht aus dem Bereich ONYXintern und Version 9.0.

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.sandra_riediger
1 +XWiki.carina
Inhalt
... ... @@ -1,41 +1,105 @@
1 +{{sv-translation language="de"}}
1 1  {{layout}}
2 -{{layout-section ac:type="two_right_sidebar"}}
3 +{{layout-section ac:type="single"}}
3 3  {{layout-cell}}
4 -====== Inhalt: ======
5 5  
6 6  
7 +{{details}}
8 +(% class="wrapped" %)
9 +|=(((
10 +Verantwortlicher
11 +)))|(((
12 +\\
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 +(% class="content-wrapper" %)
20 +(((
21 +{{sv-metadata type="workflow-status"/}}
7 7  
8 -{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
9 -{{/layout-cell}}
10 -
11 -{{layout-cell}}
23 +{{status colour="Green" title="Fertig"/}}
24 +)))
25 +)))
12 12  |=(% colspan="1" %)(% colspan="1" %)
13 13  (((
14 -Programmversion
28 +Varianten
15 15  )))|(% colspan="1" %)(% colspan="1" %)
16 16  (((
17 -
31 +(% class="content-wrapper" %)
32 +(((
33 +{{sv-metadata type="variants"/}}
18 18  )))
19 -|=(((
20 -Status
21 -)))|(((
22 -(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF
23 23  )))
24 -|=(((
25 -Aufgaben
26 -)))|(((
27 -
36 +|=(% colspan="1" %)(% colspan="1" %)
37 +(((
38 +Attribute
39 +)))|(% colspan="1" %)(% colspan="1" %)
40 +(((
41 +(% class="content-wrapper" %)
42 +(((
43 +{{sv-metadata type="attributes"/}}
44 +)))
45 +)))
46 +|=(% colspan="1" %)(% colspan="1" %)
47 +(((
48 +Pagekey
49 +)))|(% colspan="1" %)(% colspan="1" %)
50 +(((
51 +(% class="content-wrapper" %)
52 +(((
53 +{{sv-metadata type="pagekey"/}}
54 +)))
55 +)))
56 +|=(% colspan="1" %)(% colspan="1" %)
57 +(((
58 +Übersetzung
59 +)))|(% colspan="1" %)(% colspan="1" %)
60 +(((
61 +(% class="content-wrapper" %)
62 +(((
63 + ONYX Reporter interface
28 28  
29 -
65 +{{status colour="Green" title="Fertig"/}}
30 30  )))
31 -|=(((
32 -JIRA
33 -)))|(((
34 -
35 35  )))
68 +|=(% colspan="1" %)(% colspan="1" %)
69 +(((
70 +TODOs
71 +)))|(% colspan="1" %)(% colspan="1" %)
72 +(((
73 +(% class="content-wrapper" %)
74 +(((
75 +(% class="task-list" %)
76 +(((
77 +{{task reference="/Tasks/Task_9" status="Done"}}
78 +carina {{mention reference="XWiki.0a49950f5c0f19a8015c101b60e10001" style="FULL_NAME" anchor="XWiki-0a49950f5c0f19a8015c101b60e10001-ysSwd"/}}: Übersetzung offen
79 +{{/task}}
80 +)))
81 +)))
82 +)))
83 +{{/details}}
36 36  {{/layout-cell}}
37 37  {{/layout-section}}
38 38  
87 +{{layout-section ac:type="two_right_sidebar"}}
88 +{{layout-cell}}
89 +\\
90 +{{/layout-cell}}
91 +
92 +{{layout-cell}}
93 +{{scroll-ignore}}
94 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
95 +
96 +
97 +{{toc/}}
98 +{{/panel}}
99 +{{/scroll-ignore}}
100 +{{/layout-cell}}
101 +{{/layout-section}}
102 +
39 39  {{layout-section ac:type="single"}}
40 40  {{layout-cell}}
41 41  == Allgemeines ==
... ... @@ -42,6 +42,7 @@
42 42  
43 43  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
44 44  
109 +(% class="wrapped" %)
45 45  |(((
46 46  armSite
47 47  )))|(((
... ... @@ -72,7 +72,7 @@
72 72  
73 73  == Anmeldung des LMS ==
74 74  
75 -{{code title="Anmeldung des LMS" language="xml"}}
140 +{{code language="xml" title="Anmeldung des LMS"}}
76 76  @WebMethod(operationName = „armSite")
77 77  public String armSite(
78 78  @WebParam(name = „version") final Integer version,
... ... @@ -87,6 +87,7 @@
87 87  
88 88  === Parameter armSite ===
89 89  
155 +(% class="wrapped" %)
90 90  |(((
91 91  version
92 92  )))|(((
... ... @@ -129,6 +129,7 @@
129 129  
130 130  === ReturnValue armSite ===
131 131  
198 +(% class="wrapped" %)
132 132  |(((
133 133  String
134 134  )))|(((
... ... @@ -137,7 +137,7 @@
137 137  
138 138  == Initialisierung durch LMS ==
139 139  
140 -{{code title="Initialisierung durch LMS" language="xml"}}
207 +{{code language="xml" title="Initialisierung durch LMS"}}
141 141  @WebMethod(operationName = „initiateSite")
142 142  public String initiateSite(
143 143  @WebParam(name = „version") final Integer version,
... ... @@ -151,6 +151,7 @@
151 151  
152 152  === Parameter initiateSite ===
153 153  
221 +(% class="wrapped" %)
154 154  |(((
155 155  version
156 156  )))|(((
... ... @@ -186,6 +186,7 @@
186 186  
187 187  === ReturnValue initiateSite ===
188 188  
257 +(% class="wrapped" %)
189 189  |(((
190 190  String
191 191  )))|(((
... ... @@ -209,7 +209,7 @@
209 209  
210 210  == Abmeldung durch LMS ==
211 211  
212 -Abfrage von Lernerresultaten durch LMS
281 +\\
213 213  
214 214  {{code}}
215 215  @WebMethod(operationName = „disarmSite")
... ... @@ -221,10 +221,11 @@
221 221  }
222 222  {{/code}}
223 223  
224 -
293 +\\
225 225  
226 226  === Parameter disarmSite ===
227 227  
297 +(% class="wrapped" %)
228 228  |(((
229 229  version
230 230  )))|(((
... ... @@ -250,6 +250,7 @@
250 250  
251 251  === ReturnValue disarmSite ===
252 252  
323 +(% class="wrapped" %)
253 253  |(((
254 254  Boolean
255 255  )))|(((
... ... @@ -258,7 +258,7 @@
258 258  
259 259  == Abfrage von Lernerresultaten durch LMS ==
260 260  
261 -{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
332 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
262 262   @WebMethod(operationName = „getResultValues")
263 263  public HashMapWrapper getResultValues(
264 264   @WebParam(name = „version") final Integer version,
... ... @@ -272,6 +272,7 @@
272 272  
273 273  === Parameter getResultValues ===
274 274  
346 +(% class="wrapped" %)
275 275  |(((
276 276  version
277 277  )))|(((
... ... @@ -302,6 +302,7 @@
302 302  
303 303  === ReturnValue getResultValues ===
304 304  
377 +(% class="wrapped" %)
305 305  |(((
306 306  HashMap<String, String>
307 307  )))|(((
... ... @@ -310,7 +310,7 @@
310 310  
311 311  == Abfrage von Ergebnisvariablen durch LMS ==
312 312  
313 -{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
386 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
314 314   @WebMethod(operationName = „getResultVariables")
315 315  public HashMapWrapper getResultVariables(
316 316  @WebParam(name = „version") final Integer version,
... ... @@ -321,6 +321,7 @@
321 321  
322 322  === Parameter getResultVariables ===
323 323  
397 +(% class="wrapped" %)
324 324  |(((
325 325  version
326 326  )))|(((
... ... @@ -339,6 +339,7 @@
339 339  
340 340  === ReturnValue getResultVariables ===
341 341  
416 +(% class="wrapped" %)
342 342  |(((
343 343  HashMap<String, String>
344 344  )))|(((
... ... @@ -347,7 +347,7 @@
347 347  
348 348  == Wrapper ==
349 349  
350 -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.
425 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
351 351  
352 352  === Wrapper für die HashMap<String, String> ===
353 353  
... ... @@ -367,13 +367,363 @@
367 367  
368 368  {{layout-section ac:type="two_right_sidebar"}}
369 369  {{layout-cell}}
370 -
445 +\\
371 371  {{/layout-cell}}
372 372  
373 373  {{layout-cell}}
374 374  ====== relevante Links: ======
375 375  
376 -* [[doc:Schnittstelle ONYX WebPlayer]]
451 +* [[doc:ONYX Player Interface]]
377 377  {{/layout-cell}}
378 378  {{/layout-section}}
379 379  {{/layout}}
455 +{{/sv-translation}}
456 +
457 +{{sv-translation language="en"}}
458 +{{layout}}
459 +{{layout-section ac:type="two_equal"}}
460 +{{layout-cell}}
461 +====== Content: ======
462 +
463 +
464 +
465 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}}
466 +{{/layout-cell}}
467 +
468 +{{layout-cell}}
469 +
470 +{{/layout-cell}}
471 +{{/layout-section}}
472 +
473 +{{layout-section ac:type="single"}}
474 +{{layout-cell}}
475 +== General information ==
476 +
477 +The API to the ONYX WebReporter enables the communication between the LMS and the Reporter. Therefore, a couple of commands will be executed:
478 +
479 +|(((
480 +armSite
481 +)))|(((
482 +Registration of sequence requests at the ONYX Reporter
483 +)))
484 +|(((
485 +initiateSite
486 +)))|(((
487 +Initiates the Reporter session (transmission of the CP).
488 +)))
489 +|(((
490 +disarmSite
491 +)))|(((
492 +Release of all Reporter resources for this session.
493 +)))
494 +|(((
495 +getResultValues
496 +)))|(((
497 +Returns all (requested) results for the test. Condition: There is only one student in the list transmitted with initiateSite.
498 +)))
499 +|(% colspan="1" %)(% colspan="1" %)
500 +(((
501 +getResultVariables
502 +)))|(% colspan="1" %)(% colspan="1" %)
503 +(((
504 +Returns all (requested) outcome variables for the test. No armSite, initiateSite, or disarmSite is required.
505 +)))
506 +
507 +== Login through the LMS ==
508 +
509 +{{code language="xml" title="Login through the LMS"}}
510 +@WebMethod(operationName = „armSite")
511 +public String armSite(
512 +@WebParam(name = „version") final Integer version,
513 +@WebParam(name = „userId") final String userId,
514 +@WebParam(name = „optionalRole") final Integer role,
515 +@WebParam(name = „secretToShare") final String secretToShare,
516 +@WebParam(name = „optionalUserLastName") final String userLastName,
517 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
518 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
519 +}
520 +{{/code}}
521 +
522 +=== Parameter armSite ===
523 +
524 +|(((
525 +version
526 +)))|(((
527 +Requested version: 1
528 +)))
529 +|(((
530 +userId
531 +)))|(((
532 +UserId of the requested Reporter user
533 +)))
534 +|(((
535 +optionalRole
536 +)))|(((
537 +Optional. User role. 0 = student, 1 = tutor
538 +)))
539 +|(((
540 +secretToShare
541 +)))|(((
542 +A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication.
543 +)))
544 +|(((
545 +optionalUserLastName
546 +)))|(((
547 +Optional. Last name of the user.
548 +)))
549 +|(% colspan="1" %)(% colspan="1" %)
550 +(((
551 +optionalUserFirstName
552 +)))|(% colspan="1" %)(% colspan="1" %)
553 +(((
554 +Optional. First name of the user.
555 +)))
556 +|(% colspan="1" %)(% colspan="1" %)
557 +(((
558 +additionalParams
559 +)))|(% colspan="1" %)(% colspan="1" %)
560 +(((
561 +Reserved for future use.
562 +)))
563 +
564 +=== ReturnValue armSite ===
565 +
566 +|(((
567 +String
568 +)))|(((
569 +Session ID which has to be used to mark any other Reporter call.
570 +)))
571 +
572 +== Initialisation through LMS ==
573 +
574 +{{code language="xml" title="Initialisation through LMS"}}
575 +@WebMethod(operationName = „initiateSite")
576 +public String initiateSite(
577 +@WebParam(name = „version") final Integer version,
578 +@WebParam(name = „sessionId") final String sessionId,
579 +@WebParam(name = „secretToShare") final String secretToShare,
580 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
581 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
582 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
583 +}
584 +{{/code}}
585 +
586 +=== Parameter initiateSite ===
587 +
588 +|(((
589 +version
590 +)))|(((
591 +Requested version: 1
592 +)))
593 +|(% colspan="1" %)(% colspan="1" %)
594 +(((
595 +sessionId
596 +)))|(% colspan="1" %)(% colspan="1" %)
597 +(((
598 +SessionId, as returned by armSite.
599 +)))
600 +|(((
601 +secretToShare
602 +)))|(((
603 +A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication.
604 +)))
605 +|(((
606 +students
607 +)))|(((
608 +List of students and their results. See below.
609 +)))
610 +|(((
611 +optionalContentPackage
612 +)))|(((
613 +Optional. Content package (zipped) as byte array.
614 +)))
615 +|(((
616 +additionalParams
617 +)))|(((
618 +Reserved for future use.
619 +)))
620 +
621 +=== ReturnValue initiateSite ===
622 +
623 +|(((
624 +String
625 +)))|(((
626 +Absolute URL of the Reporter site for the IFrame. The URL has to be amended by the LMS with the following URL parameters:
627 +
628 +* sid: Session ID, as returned by armSite
629 +* (((
630 +uid: Student ID, as registrated in the initiateSite at the ONYX Reporter
631 +)))
632 +)))
633 +
634 +{{code language="xml"}}
635 +public class ResultsForStudent {
636 +   private String studentId = „";
637 +   private String firstname = „";
638 +   private String lastname = „";
639 +   private String groupname = „";
640 +   private String tutorname = „";
641 +   private File contentFile = null;
642 +   private byte[] resultsFile = null;
643 +}
644 +{{/code}}
645 +
646 +== Logout through the LMS ==
647 +
648 +
649 +
650 +{{code}}
651 +@WebMethod(operationName = „disarmSite")
652 +public Boolean disarmSite(
653 +@WebParam(name = „version") final Integer version,
654 +@WebParam(name = „sessionId") final String sessionId,
655 +@WebParam(name = „secretToShare") final String secretToShare,
656 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
657 +}
658 +{{/code}}
659 +
660 +
661 +
662 +=== Parameter disarmSite ===
663 +
664 +|(((
665 +version
666 +)))|(((
667 +Requested version: 1
668 +)))
669 +|(% colspan="1" %)(% colspan="1" %)
670 +(((
671 +sessionId
672 +)))|(% colspan="1" %)(% colspan="1" %)
673 +(((
674 +SessionId, as returned by armSite.
675 +)))
676 +|(((
677 +secretToShare
678 +)))|(((
679 +A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication.
680 +)))
681 +|(((
682 +additionalParams
683 +)))|(((
684 +Reserved for future use.
685 +)))
686 +
687 +=== ReturnValue disarmSite ===
688 +
689 +|(((
690 +Boolean
691 +)))|(((
692 +True in the case of success, otherwise false.
693 +)))
694 +
695 +== Request of learner results through the LMS ==
696 +
697 +{{code language="xml" title="Request of learner results through the LMS"}}
698 + @WebMethod(operationName = „getResultValues")
699 +public HashMapWrapper getResultValues(
700 + @WebParam(name = „version") final Integer version,
701 + @WebParam(name = „sessionId") final String sessionId,
702 + @WebParam(name = „secretToShare") final String secretToShare,
703 + @WebParam(name = „requestedValues") final HashMap<String, String>
704 + requestedValues,
705 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
706 +}
707 +{{/code}}
708 +
709 +=== Parameter getResultValues ===
710 +
711 +|(((
712 +version
713 +)))|(((
714 +Requested version: 1
715 +)))
716 +|(% colspan="1" %)(% colspan="1" %)
717 +(((
718 +sessionId
719 +)))|(% colspan="1" %)(% colspan="1" %)
720 +(((
721 +SessionId, as returned by armSite.
722 +)))
723 +|(((
724 +secretToShare
725 +)))|(((
726 +A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication.
727 +)))
728 +|(((
729 +requestedValues
730 +)))|(((
731 +Can be empty, in which case all result variables are returned. If keys are included, only the keys will be returned.
732 +)))
733 +|(((
734 +additionalParams
735 +)))|(((
736 +Reserved for future use.
737 +)))
738 +
739 +=== ReturnValue getResultValues ===
740 +
741 +|(((
742 +HashMap<String, String>
743 +)))|(((
744 +Map of result variables, key is the variable name, value is the respective variable's value (HashMap is wrapped)
745 +)))
746 +
747 +== Request of result variables through the LMS ==
748 +
749 +{{code language="xml" title="Request of result variables through the LMS"}}
750 + @WebMethod(operationName = „getResultVariables")
751 +public HashMapWrapper getResultVariables(
752 +@WebParam(name = „version") final Integer version,
753 +@WebParam(name = „contentPackage") final byte[] contentPackage,
754 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
755 +}
756 +{{/code}}
757 +
758 +=== Parameter getResultVariables ===
759 +
760 +|(((
761 +version
762 +)))|(((
763 +Requested version: 1
764 +)))
765 +|(((
766 +contentPackage
767 +)))|(((
768 +Content package (zipped) as byte array.
769 +)))
770 +|(((
771 +additionalParams
772 +)))|(((
773 +Reserved for future use.
774 +)))
775 +
776 +=== ReturnValue getResultVariables ===
777 +
778 +|(((
779 +HashMap<String, String>
780 +)))|(((
781 +Map of result variables, key is the variable name, value is the respective variable's value (HashMap is wrapped)
782 +)))
783 +
784 +== Wrapper ==
785 +
786 +Since the transmission of maps and lists via JAX-WS can cause problems, they have to be wrapped.
787 +
788 +=== Wrapper for HashMap<String, String> ===
789 +
790 +HashMapWrapper.java:
791 +
792 +[[image:attach:HashMapWrapperjava.png]]
793 +
794 +[[image:attach:HashMapWrapperjava2.png]]
795 +
796 +=== Wrapper for the ArrayList<ResultsForStudent> ===
797 +
798 +ResultsForStudentsWrapper.java:
799 +
800 +[[image:attach:ResultsForStudentsWrapperjava.png]]
801 +{{/layout-cell}}
802 +{{/layout-section}}
803 +{{/layout}}
804 +{{/sv-translation}}
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -3342789
1 +337413507
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342789/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/337413507/Schnittstelle ONYX Reporter