Ä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 381.1
bearbeitet von sandra_riediger
am 17.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version

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
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.carina
1 +XWiki.sandra_riediger
Inhalt
... ... @@ -1,30 +1,48 @@
1 -{{section}}
2 -{{column width="60%"}}
1 +{{sv-translation language="de"}}
2 +{{layout}}
3 +{{layout-section ac:type="two_right_sidebar"}}
4 +{{layout-cell}}
5 +====== Inhalt: ======
3 3  
4 -
5 -{{/column}}
6 6  
7 -{{column width="30%"}}
8 -{{panel title="Inhalt"}}
9 -{{toc start="2"/}}
10 -{{/panel}}
11 11  
9 +{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
10 +{{/layout-cell}}
12 12  
12 +{{layout-cell}}
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 +
13 13  
14 -{{panel title="Weiterführende Inhalte"}}
15 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
30 +
31 +)))
32 +|=(((
33 +JIRA
34 +)))|(((
35 +
36 +)))
37 +{{/layout-cell}}
38 +{{/layout-section}}
16 16  
17 -{{/panel}}
18 -
19 -{{/column}}
20 -{{/section}}
21 -
22 -
40 +{{layout-section ac:type="single"}}
41 +{{layout-cell}}
23 23  == Allgemeines ==
24 24  
25 25  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
26 26  
27 -(% class="wrapped" %)
28 28  |(((
29 29  armSite
30 30  )))|(((
... ... @@ -55,7 +55,7 @@
55 55  
56 56  == Anmeldung des LMS ==
57 57  
58 -{{code language="xml" title="Anmeldung des LMS"}}
76 +{{code title="Anmeldung des LMS" language="xml"}}
59 59  @WebMethod(operationName = „armSite")
60 60  public String armSite(
61 61  @WebParam(name = „version") final Integer version,
... ... @@ -70,7 +70,6 @@
70 70  
71 71  === Parameter armSite ===
72 72  
73 -(% class="wrapped" %)
74 74  |(((
75 75  version
76 76  )))|(((
... ... @@ -113,7 +113,6 @@
113 113  
114 114  === ReturnValue armSite ===
115 115  
116 -(% class="wrapped" %)
117 117  |(((
118 118  String
119 119  )))|(((
... ... @@ -122,7 +122,7 @@
122 122  
123 123  == Initialisierung durch LMS ==
124 124  
125 -{{code language="xml" title="Initialisierung durch LMS"}}
141 +{{code title="Initialisierung durch LMS" language="xml"}}
126 126  @WebMethod(operationName = „initiateSite")
127 127  public String initiateSite(
128 128  @WebParam(name = „version") final Integer version,
... ... @@ -136,7 +136,6 @@
136 136  
137 137  === Parameter initiateSite ===
138 138  
139 -(% class="wrapped" %)
140 140  |(((
141 141  version
142 142  )))|(((
... ... @@ -172,7 +172,6 @@
172 172  
173 173  === ReturnValue initiateSite ===
174 174  
175 -(% class="wrapped" %)
176 176  |(((
177 177  String
178 178  )))|(((
... ... @@ -196,6 +196,7 @@
196 196  
197 197  == Abmeldung durch LMS ==
198 198  
213 +
199 199  
200 200  {{code}}
201 201  @WebMethod(operationName = „disarmSite")
... ... @@ -207,10 +207,10 @@
207 207  }
208 208  {{/code}}
209 209  
225 +
210 210  
211 211  === Parameter disarmSite ===
212 212  
213 -(% class="wrapped" %)
214 214  |(((
215 215  version
216 216  )))|(((
... ... @@ -244,7 +244,7 @@
244 244  
245 245  == Abfrage von Lernerresultaten durch LMS ==
246 246  
247 -{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
248 248   @WebMethod(operationName = „getResultValues")
249 249  public HashMapWrapper getResultValues(
250 250   @WebParam(name = „version") final Integer version,
... ... @@ -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,
... ... @@ -333,19 +333,386 @@
333 333  
334 334  == Wrapper ==
335 335  
336 -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.
337 337  
338 338  === Wrapper für die HashMap<String, String> ===
339 339  
340 340  HashMapWrapper.java:
341 341  
342 -[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
357 +[[image:attach:HashMapWrapperjava.png]]
343 343  
344 -[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
359 +[[image:attach:HashMapWrapperjava2.png]]
345 345  
346 346  === Wrapper für die ArrayList<ResultsForStudent> ===
347 347  
348 348  ResultsForStudentsWrapper.java:
349 349  
350 -[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
365 +[[image:attach:ResultsForStudentsWrapperjava.png]]
366 +{{/layout-cell}}
367 +{{/layout-section}}
351 351  
369 +{{layout-section ac:type="two_right_sidebar"}}
370 +{{layout-cell}}
371 +
372 +{{/layout-cell}}
373 +
374 +{{layout-cell}}
375 +====== relevante Links: ======
376 +
377 +* [[doc:Schnittstelle ONYX WebPlayer]]
378 +{{/layout-cell}}
379 +{{/layout-section}}
380 +{{/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 +
396 +{{/layout-cell}}
397 +{{/layout-section}}
398 +
399 +{{layout-section ac:type="single"}}
400 +{{layout-cell}}
401 +
402 +
403 +== General ==
404 +
405 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed:
406 +
407 +|(((
408 +armSite
409 +)))|(((
410 +Registration of sequence requests at the ONYX reporter
411 +)))
412 +|(((
413 +initiateSite
414 +)))|(((
415 +Initiates the reporter session (transmission of the CP).
416 +)))
417 +|(((
418 +disarmSite
419 +)))|(((
420 +Release of all reporter resources for this session.
421 +)))
422 +|(((
423 +getResultValues
424 +)))|(((
425 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite.
426 +)))
427 +|(% colspan="1" %)(% colspan="1" %)
428 +(((
429 +getResultVariables
430 +)))|(% colspan="1" %)(% colspan="1" %)
431 +(((
432 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary.
433 +)))
434 +
435 +== Connection to the LMS ==
436 +
437 +{{code title="Anmeldung des LMS" language="xml"}}
438 +@WebMethod(operationName = „armSite")
439 +public String armSite(
440 +@WebParam(name = „version") final Integer version,
441 +@WebParam(name = „userId") final String userId,
442 +@WebParam(name = „optionalRole") final Integer role,
443 +@WebParam(name = „secretToShare") final String secretToShare,
444 +@WebParam(name = „optionalUserLastName") final String userLastName,
445 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
446 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
447 +}
448 +{{/code}}
449 +
450 +=== Parameter armSite ===
451 +
452 +|(((
453 +version
454 +)))|(((
455 +Requested version: 1
456 +)))
457 +|(((
458 +userId
459 +)))|(((
460 +UserId of the requested reporter user
461 +)))
462 +|(((
463 +optionalRole
464 +)))|(((
465 +Optional. User role. 0=student, 1=tutor
466 +)))
467 +|(((
468 +secretToShare
469 +)))|(((
470 +Shared secret. Has to remain identical for every communication.
471 +)))
472 +|(((
473 +optionalUserLastName
474 +)))|(((
475 +Optional. User lastname.
476 +)))
477 +|(% colspan="1" %)(% colspan="1" %)
478 +(((
479 +optionalUserFirstName
480 +)))|(% colspan="1" %)(% colspan="1" %)
481 +(((
482 +Optional. User firstname.
483 +)))
484 +|(% colspan="1" %)(% colspan="1" %)
485 +(((
486 +additionalParams
487 +)))|(% colspan="1" %)(% colspan="1" %)
488 +(((
489 +Reserved for future use.
490 +)))
491 +
492 +=== ReturnValue armSite ===
493 +
494 +|(((
495 +String
496 +)))|(((
497 +Session ID that has to be used to mark any further reporter call.
498 +)))
499 +
500 +== Initialisation through LMS ==
501 +
502 +{{code title="Initialisierung durch LMS" language="xml"}}
503 +@WebMethod(operationName = „initiateSite")
504 +public String initiateSite(
505 +@WebParam(name = „version") final Integer version,
506 +@WebParam(name = „sessionId") final String sessionId,
507 +@WebParam(name = „secretToShare") final String secretToShare,
508 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
509 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
510 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
511 +}
512 +{{/code}}
513 +
514 +=== Parameter initiateSite ===
515 +
516 +|(((
517 +version
518 +)))|(((
519 +Requested version: 1
520 +)))
521 +|(% colspan="1" %)(% colspan="1" %)
522 +(((
523 +sessionId
524 +)))|(% colspan="1" %)(% colspan="1" %)
525 +(((
526 +SessionId, as returned by armSite.
527 +)))
528 +|(((
529 +secretToShare
530 +)))|(((
531 +Shared secret. Has to remain identical at every communication.
532 +)))
533 +|(((
534 +students
535 +)))|(((
536 +List of students with their results. See below.
537 +)))
538 +|(((
539 +optionalContentPackage
540 +)))|(((
541 +Optional. Content Package (zipped) as byte array.
542 +)))
543 +|(((
544 +additionalParams
545 +)))|(((
546 +Reserved for future use.
547 +)))
548 +
549 +=== ReturnValue initiateSite ===
550 +
551 +|(((
552 +String
553 +)))|(((
554 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters:
555 +
556 +* sid: Session ID as returned by armSite
557 +* (((
558 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter.
559 +)))
560 +)))
561 +
562 +{{code language="xml"}}
563 +public class ResultsForStudent {
564 +   private String studentId = „";
565 +   private String firstname = „";
566 +   private String lastname = „";
567 +   private String groupname = „";
568 +   private String tutorname = „";
569 +   private File contentFile = null;
570 +   private byte[] resultsFile = null;
571 +}
572 +{{/code}}
573 +
574 +== Deconnection through the LMS ==
575 +
576 +
577 +
578 +{{code}}
579 +@WebMethod(operationName = „disarmSite")
580 +public Boolean disarmSite(
581 +@WebParam(name = „version") final Integer version,
582 +@WebParam(name = „sessionId") final String sessionId,
583 +@WebParam(name = „secretToShare") final String secretToShare,
584 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
585 +}
586 +{{/code}}
587 +
588 +
589 +
590 +=== Parameter disarmSite ===
591 +
592 +|(((
593 +version
594 +)))|(((
595 +Requested version: 1
596 +)))
597 +|(% colspan="1" %)(% colspan="1" %)
598 +(((
599 +sessionId
600 +)))|(% colspan="1" %)(% colspan="1" %)
601 +(((
602 +SessionId, as returned by armSite.
603 +)))
604 +|(((
605 +secretToShare
606 +)))|(((
607 +Shared secret. Has to remain identical at every communication.
608 +)))
609 +|(((
610 +additionalParams
611 +)))|(((
612 +Reserved for future use.
613 +)))
614 +
615 +=== ReturnValue disarmSite ===
616 +
617 +|(((
618 +Boolean
619 +)))|(((
620 +True if successful, otherwise false.
621 +)))
622 +
623 +== Request of learning results through the LMS ==
624 +
625 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
626 + @WebMethod(operationName = „getResultValues")
627 +public HashMapWrapper getResultValues(
628 + @WebParam(name = „version") final Integer version,
629 + @WebParam(name = „sessionId") final String sessionId,
630 + @WebParam(name = „secretToShare") final String secretToShare,
631 + @WebParam(name = „requestedValues") final HashMap<String, String>
632 + requestedValues,
633 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
634 +}
635 +{{/code}}
636 +
637 +=== Parameter getResultValues ===
638 +
639 +|(((
640 +version
641 +)))|(((
642 +Requested version: 1
643 +)))
644 +|(% colspan="1" %)(% colspan="1" %)
645 +(((
646 +sessionId
647 +)))|(% colspan="1" %)(% colspan="1" %)
648 +(((
649 +SessionId, as returned by armSite.
650 +)))
651 +|(((
652 +secretToShare
653 +)))|(((
654 +Shared secret. Has to remain identical at every communication.
655 +)))
656 +|(((
657 +requestedValues
658 +)))|(((
659 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned.
660 +)))
661 +|(((
662 +additionalParams
663 +)))|(((
664 +Reserved for future use.
665 +)))
666 +
667 +=== ReturnValue getResultValues ===
668 +
669 +|(((
670 +HashMap<String, String>
671 +)))|(((
672 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped)
673 +)))
674 +
675 +== Request of result variables through the LMS ==
676 +
677 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
678 + @WebMethod(operationName = „getResultVariables")
679 +public HashMapWrapper getResultVariables(
680 +@WebParam(name = „version") final Integer version,
681 +@WebParam(name = „contentPackage") final byte[] contentPackage,
682 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
683 +}
684 +{{/code}}
685 +
686 +=== Parameter getResultVariables ===
687 +
688 +|(((
689 +version
690 +)))|(((
691 +Requested version: 1
692 +)))
693 +|(((
694 +contentPackage
695 +)))|(((
696 +Content package (zipped) as byte array.
697 +)))
698 +|(((
699 +additionalParams
700 +)))|(((
701 +Reserved for future use.
702 +)))
703 +
704 +=== ReturnValue getResultVariables ===
705 +
706 +|(((
707 +HashMap<String, String>
708 +)))|(((
709 +Map of result variables, key is the variable name, value the corresponding
710 +value (HashMap is wrapped).
711 +)))
712 +
713 +== Wrapper ==
714 +
715 +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.
716 +
717 +=== Wrapper for HashMap<String, String> ===
718 +
719 +HashMapWrapper.java:
720 +
721 +[[image:attach:HashMapWrapperjava.png]]
722 +
723 +[[image:attach:HashMapWrapperjava2.png]]
724 +
725 +=== Wrapper for the ArrayList<ResultsForStudent> ===
726 +
727 +ResultsForStudentsWrapper.java:
728 +
729 +[[image:attach:ResultsForStudentsWrapperjava.png]]
730 +{{/layout-cell}}
731 +{{/layout-section}}
732 +{{/layout}}
733 +{{/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 +3342937
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/3342937/Schnittstelle ONYX Reporter