Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 389.1
bearbeitet von tleu
am 01.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 312.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
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.tleu
1 +XWiki.carina
Inhalt
... ... @@ -1,41 +1,86 @@
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 +{{conditionalcontent 0="Zielgruppe: (BPS)" sv-attr:866DE48701525447C13BC59401CD793F="866DE48701525447C13C469E1E314A59" atlassian-macro-output-type="INLINE"}}
8 +{{details}}
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 +{{sv-metadata type="workflow-status"/}}
7 7  
8 -{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
9 -{{/layout-cell}}
10 -
11 -{{layout-cell}}
21 +{{status colour="Green" title="Fertig"/}}
22 +)))
12 12  |=(% colspan="1" %)(% colspan="1" %)
13 13  (((
14 -Programmversion
25 +Varianten
15 15  )))|(% colspan="1" %)(% colspan="1" %)
16 16  (((
17 -
28 +{{sv-metadata type="variants"/}}
18 18  )))
19 -|=(((
20 -Status
21 -)))|(((
22 -(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF
30 +|=(% colspan="1" %)(% colspan="1" %)
31 +(((
32 +Attribute
33 +)))|(% colspan="1" %)(% colspan="1" %)
34 +(((
35 +{{sv-metadata type="attributes"/}}
23 23  )))
24 -|=(((
25 -Aufgaben
26 -)))|(((
27 -
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 +(((
28 28  
29 -
50 +
51 +{{status colour="Green" title="Fertig"/}}
30 30  )))
31 -|=(((
32 -JIRA
33 -)))|(((
34 -
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}}
35 35  )))
64 +)))
65 +{{/details}}
66 +{{/conditionalcontent}}
36 36  {{/layout-cell}}
37 37  {{/layout-section}}
38 38  
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 +
39 39  {{layout-section ac:type="single"}}
40 40  {{layout-cell}}
41 41  == Allgemeines ==
... ... @@ -72,7 +72,7 @@
72 72  
73 73  == Anmeldung des LMS ==
74 74  
75 -{{code title="Anmeldung des LMS" language="xml"}}
120 +{{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,
... ... @@ -137,7 +137,7 @@
137 137  
138 138  == Initialisierung durch LMS ==
139 139  
140 -{{code title="Initialisierung durch LMS" language="xml"}}
185 +{{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,
... ... @@ -209,10 +209,22 @@
209 209  
210 210  == Abmeldung durch LMS ==
211 211  
212 -Abfrage von Lernerresultaten durch LMS
257 +
213 213  
259 +{{code}}
260 +@WebMethod(operationName = „disarmSite")
261 +public Boolean disarmSite(
262 +@WebParam(name = „version") final Integer version,
263 +@WebParam(name = „sessionId") final String sessionId,
264 +@WebParam(name = „secretToShare") final String secretToShare,
265 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
266 +}
267 +{{/code}}
268 +
214 214  
215 215  
271 +=== Parameter disarmSite ===
272 +
216 216  |(((
217 217  version
218 218  )))|(((
... ... @@ -246,7 +246,7 @@
246 246  
247 247  == Abfrage von Lernerresultaten durch LMS ==
248 248  
249 -{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
306 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
250 250   @WebMethod(operationName = „getResultValues")
251 251  public HashMapWrapper getResultValues(
252 252   @WebParam(name = „version") final Integer version,
... ... @@ -298,7 +298,7 @@
298 298  
299 299  == Abfrage von Ergebnisvariablen durch LMS ==
300 300  
301 -{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
358 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
302 302   @WebMethod(operationName = „getResultVariables")
303 303  public HashMapWrapper getResultVariables(
304 304  @WebParam(name = „version") final Integer version,
... ... @@ -335,7 +335,7 @@
335 335  
336 336  == Wrapper ==
337 337  
338 -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.
395 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
339 339  
340 340  === Wrapper für die HashMap<String, String> ===
341 341  
... ... @@ -361,7 +361,358 @@
361 361  {{layout-cell}}
362 362  ====== relevante Links: ======
363 363  
364 -* [[doc:Schnittstelle ONYX WebPlayer]]
421 +* [[doc:ONYX Player Interface]]
365 365  {{/layout-cell}}
366 366  {{/layout-section}}
367 367  {{/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}}
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -3342787
1 +178880909
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342787/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/178880909/Schnittstelle ONYX Reporter