Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 397.1
bearbeitet von Carina Enke
am 13.02.2024
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 382.1
bearbeitet von sandra_riediger
am 15.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -10 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,13 +1,39 @@
1 +{{sv-translation language="de"}}
1 1  {{layout}}
2 2  {{layout-section ac:type="two_right_sidebar"}}
3 3  {{layout-cell}}
4 -
5 +====== Inhalt: ======
6 +
7 +
8 +
9 +{{toc maxLevel="5" style="square" outline="true" absoluteUrl="true"/}}
5 5  {{/layout-cell}}
6 6  
7 7  {{layout-cell}}
8 -{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
9 -{{toc start="2"/}}
10 -{{/panel}}
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 +
29 +
30 +
31 +)))
32 +|=(((
33 +JIRA
34 +)))|(((
35 +
36 +)))
11 11  {{/layout-cell}}
12 12  {{/layout-section}}
13 13  
... ... @@ -17,7 +17,6 @@
17 17  
18 18  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
19 19  
20 -(% class="wrapped" %)
21 21  |(((
22 22  armSite
23 23  )))|(((
... ... @@ -48,7 +48,7 @@
48 48  
49 49  == Anmeldung des LMS ==
50 50  
51 -{{code language="xml" title="Anmeldung des LMS"}}
76 +{{code title="Anmeldung des LMS" language="xml"}}
52 52  @WebMethod(operationName = „armSite")
53 53  public String armSite(
54 54  @WebParam(name = „version") final Integer version,
... ... @@ -63,7 +63,6 @@
63 63  
64 64  === Parameter armSite ===
65 65  
66 -(% class="wrapped" %)
67 67  |(((
68 68  version
69 69  )))|(((
... ... @@ -106,7 +106,6 @@
106 106  
107 107  === ReturnValue armSite ===
108 108  
109 -(% class="wrapped" %)
110 110  |(((
111 111  String
112 112  )))|(((
... ... @@ -115,7 +115,7 @@
115 115  
116 116  == Initialisierung durch LMS ==
117 117  
118 -{{code language="xml" title="Initialisierung durch LMS"}}
141 +{{code title="Initialisierung durch LMS" language="xml"}}
119 119  @WebMethod(operationName = „initiateSite")
120 120  public String initiateSite(
121 121  @WebParam(name = „version") final Integer version,
... ... @@ -129,7 +129,6 @@
129 129  
130 130  === Parameter initiateSite ===
131 131  
132 -(% class="wrapped" %)
133 133  |(((
134 134  version
135 135  )))|(((
... ... @@ -165,7 +165,6 @@
165 165  
166 166  === ReturnValue initiateSite ===
167 167  
168 -(% class="wrapped" %)
169 169  |(((
170 170  String
171 171  )))|(((
... ... @@ -189,6 +189,7 @@
189 189  
190 190  == Abmeldung durch LMS ==
191 191  
213 +
192 192  
193 193  {{code}}
194 194  @WebMethod(operationName = „disarmSite")
... ... @@ -200,10 +200,10 @@
200 200  }
201 201  {{/code}}
202 202  
225 +
203 203  
204 204  === Parameter disarmSite ===
205 205  
206 -(% class="wrapped" %)
207 207  |(((
208 208  version
209 209  )))|(((
... ... @@ -229,7 +229,6 @@
229 229  
230 230  === ReturnValue disarmSite ===
231 231  
232 -(% class="wrapped" %)
233 233  |(((
234 234  Boolean
235 235  )))|(((
... ... @@ -238,7 +238,7 @@
238 238  
239 239  == Abfrage von Lernerresultaten durch LMS ==
240 240  
241 -{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
242 242   @WebMethod(operationName = „getResultValues")
243 243  public HashMapWrapper getResultValues(
244 244   @WebParam(name = „version") final Integer version,
... ... @@ -252,7 +252,6 @@
252 252  
253 253  === Parameter getResultValues ===
254 254  
255 -(% class="wrapped" %)
256 256  |(((
257 257  version
258 258  )))|(((
... ... @@ -283,7 +283,6 @@
283 283  
284 284  === ReturnValue getResultValues ===
285 285  
286 -(% class="wrapped" %)
287 287  |(((
288 288  HashMap<String, String>
289 289  )))|(((
... ... @@ -292,7 +292,7 @@
292 292  
293 293  == Abfrage von Ergebnisvariablen durch LMS ==
294 294  
295 -{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
314 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
296 296   @WebMethod(operationName = „getResultVariables")
297 297  public HashMapWrapper getResultVariables(
298 298  @WebParam(name = „version") final Integer version,
... ... @@ -303,7 +303,6 @@
303 303  
304 304  === Parameter getResultVariables ===
305 305  
306 -(% class="wrapped" %)
307 307  |(((
308 308  version
309 309  )))|(((
... ... @@ -322,7 +322,6 @@
322 322  
323 323  === ReturnValue getResultVariables ===
324 324  
325 -(% class="wrapped" %)
326 326  |(((
327 327  HashMap<String, String>
328 328  )))|(((
... ... @@ -331,21 +331,21 @@
331 331  
332 332  == Wrapper ==
333 333  
334 -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.
335 335  
336 336  === Wrapper für die HashMap<String, String> ===
337 337  
338 338  HashMapWrapper.java:
339 339  
340 -[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
357 +[[image:attach:HashMapWrapperjava.png]]
341 341  
342 -[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
359 +[[image:attach:HashMapWrapperjava2.png]]
343 343  
344 344  === Wrapper für die ArrayList<ResultsForStudent> ===
345 345  
346 346  ResultsForStudentsWrapper.java:
347 347  
348 -[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
365 +[[image:attach:ResultsForStudentsWrapperjava.png]]
349 349  {{/layout-cell}}
350 350  {{/layout-section}}
351 351  
... ... @@ -357,7 +357,383 @@
357 357  {{layout-cell}}
358 358  ====== relevante Links: ======
359 359  
360 -* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
377 +* [[doc:Schnittstelle ONYX WebPlayer]]
361 361  {{/layout-cell}}
362 362  {{/layout-section}}
363 363  {{/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 +|=(% colspan="1" %)(% colspan="1" %)
396 +(((
397 +Programmversion
398 +)))|(% colspan="1" %)(% colspan="1" %)
399 +(((
400 +
401 +)))
402 +|=(((
403 +Status
404 +)))|(((
405 +(% class="status-macro aui-lozenge aui-lozenge-error" %)DONE
406 +)))
407 +|=(((
408 +Aufgaben
409 +)))|(((
410 +
411 +
412 +
413 +)))
414 +|=(((
415 +JIRA
416 +)))|(((
417 +
418 +)))
419 +{{/layout-cell}}
420 +{{/layout-section}}
421 +
422 +{{layout-section ac:type="single"}}
423 +{{layout-cell}}
424 +
425 +
426 +== General ==
427 +
428 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed:
429 +
430 +|(((
431 +armSite
432 +)))|(((
433 +Registration of sequence requests at the ONYX reporter
434 +)))
435 +|(((
436 +initiateSite
437 +)))|(((
438 +Initiates the reporter session (transmission of the CP).
439 +)))
440 +|(((
441 +disarmSite
442 +)))|(((
443 +Release of all reporter resources for this session.
444 +)))
445 +|(((
446 +getResultValues
447 +)))|(((
448 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite.
449 +)))
450 +|(% colspan="1" %)(% colspan="1" %)
451 +(((
452 +getResultVariables
453 +)))|(% colspan="1" %)(% colspan="1" %)
454 +(((
455 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary.
456 +)))
457 +
458 +== Connection to the LMS ==
459 +
460 +{{code title="Anmeldung des LMS" language="xml"}}
461 +@WebMethod(operationName = „armSite")
462 +public String armSite(
463 +@WebParam(name = „version") final Integer version,
464 +@WebParam(name = „userId") final String userId,
465 +@WebParam(name = „optionalRole") final Integer role,
466 +@WebParam(name = „secretToShare") final String secretToShare,
467 +@WebParam(name = „optionalUserLastName") final String userLastName,
468 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
469 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
470 +}
471 +{{/code}}
472 +
473 +=== Parameter armSite ===
474 +
475 +|(((
476 +version
477 +)))|(((
478 +Requested version: 1
479 +)))
480 +|(((
481 +userId
482 +)))|(((
483 +UserId of the requested reporter user
484 +)))
485 +|(((
486 +optionalRole
487 +)))|(((
488 +Optional. User role. 0=student, 1=tutor
489 +)))
490 +|(((
491 +secretToShare
492 +)))|(((
493 +Shared secret. Has to remain identical for every communication.
494 +)))
495 +|(((
496 +optionalUserLastName
497 +)))|(((
498 +Optional. User lastname.
499 +)))
500 +|(% colspan="1" %)(% colspan="1" %)
501 +(((
502 +optionalUserFirstName
503 +)))|(% colspan="1" %)(% colspan="1" %)
504 +(((
505 +Optional. User firstname.
506 +)))
507 +|(% colspan="1" %)(% colspan="1" %)
508 +(((
509 +additionalParams
510 +)))|(% colspan="1" %)(% colspan="1" %)
511 +(((
512 +Reserved for future use.
513 +)))
514 +
515 +=== ReturnValue armSite ===
516 +
517 +|(((
518 +String
519 +)))|(((
520 +Session ID that has to be used to mark any further reporter call.
521 +)))
522 +
523 +== Initialisation through LMS ==
524 +
525 +{{code title="Initialisierung durch LMS" language="xml"}}
526 +@WebMethod(operationName = „initiateSite")
527 +public String initiateSite(
528 +@WebParam(name = „version") final Integer version,
529 +@WebParam(name = „sessionId") final String sessionId,
530 +@WebParam(name = „secretToShare") final String secretToShare,
531 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
532 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
533 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
534 +}
535 +{{/code}}
536 +
537 +=== Parameter initiateSite ===
538 +
539 +|(((
540 +version
541 +)))|(((
542 +Requested version: 1
543 +)))
544 +|(% colspan="1" %)(% colspan="1" %)
545 +(((
546 +sessionId
547 +)))|(% colspan="1" %)(% colspan="1" %)
548 +(((
549 +SessionId, as returned by armSite.
550 +)))
551 +|(((
552 +secretToShare
553 +)))|(((
554 +Shared secret. Has to remain identical at every communication.
555 +)))
556 +|(((
557 +students
558 +)))|(((
559 +List of students with their results. See below.
560 +)))
561 +|(((
562 +optionalContentPackage
563 +)))|(((
564 +Optional. Content Package (zipped) as byte array.
565 +)))
566 +|(((
567 +additionalParams
568 +)))|(((
569 +Reserved for future use.
570 +)))
571 +
572 +=== ReturnValue initiateSite ===
573 +
574 +|(((
575 +String
576 +)))|(((
577 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters:
578 +
579 +* sid: Session ID as returned by armSite
580 +* (((
581 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter.
582 +)))
583 +)))
584 +
585 +{{code language="xml"}}
586 +public class ResultsForStudent {
587 +   private String studentId = „";
588 +   private String firstname = „";
589 +   private String lastname = „";
590 +   private String groupname = „";
591 +   private String tutorname = „";
592 +   private File contentFile = null;
593 +   private byte[] resultsFile = null;
594 +}
595 +{{/code}}
596 +
597 +== Deconnection through the LMS ==
598 +
599 +
600 +
601 +{{code}}
602 +@WebMethod(operationName = „disarmSite")
603 +public Boolean disarmSite(
604 +@WebParam(name = „version") final Integer version,
605 +@WebParam(name = „sessionId") final String sessionId,
606 +@WebParam(name = „secretToShare") final String secretToShare,
607 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
608 +}
609 +{{/code}}
610 +
611 +
612 +
613 +=== Parameter disarmSite ===
614 +
615 +|(((
616 +version
617 +)))|(((
618 +Requested version: 1
619 +)))
620 +|(% colspan="1" %)(% colspan="1" %)
621 +(((
622 +sessionId
623 +)))|(% colspan="1" %)(% colspan="1" %)
624 +(((
625 +SessionId, as returned by armSite.
626 +)))
627 +|(((
628 +secretToShare
629 +)))|(((
630 +Shared secret. Has to remain identical at every communication.
631 +)))
632 +|(((
633 +additionalParams
634 +)))|(((
635 +Reserved for future use.
636 +)))
637 +
638 +=== ReturnValue disarmSite ===
639 +
640 +|(((
641 +Boolean
642 +)))|(((
643 +True if successful, otherwise false.
644 +)))
645 +
646 +== Request of learning results through the LMS ==
647 +
648 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
649 + @WebMethod(operationName = „getResultValues")
650 +public HashMapWrapper getResultValues(
651 + @WebParam(name = „version") final Integer version,
652 + @WebParam(name = „sessionId") final String sessionId,
653 + @WebParam(name = „secretToShare") final String secretToShare,
654 + @WebParam(name = „requestedValues") final HashMap<String, String>
655 + requestedValues,
656 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
657 +}
658 +{{/code}}
659 +
660 +=== Parameter getResultValues ===
661 +
662 +|(((
663 +version
664 +)))|(((
665 +Requested version: 1
666 +)))
667 +|(% colspan="1" %)(% colspan="1" %)
668 +(((
669 +sessionId
670 +)))|(% colspan="1" %)(% colspan="1" %)
671 +(((
672 +SessionId, as returned by armSite.
673 +)))
674 +|(((
675 +secretToShare
676 +)))|(((
677 +Shared secret. Has to remain identical at every communication.
678 +)))
679 +|(((
680 +requestedValues
681 +)))|(((
682 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned.
683 +)))
684 +|(((
685 +additionalParams
686 +)))|(((
687 +Reserved for future use.
688 +)))
689 +
690 +=== ReturnValue getResultValues ===
691 +
692 +|(((
693 +HashMap<String, String>
694 +)))|(((
695 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped)
696 +)))
697 +
698 +== Request of result variables through the LMS ==
699 +
700 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
701 + @WebMethod(operationName = „getResultVariables")
702 +public HashMapWrapper getResultVariables(
703 +@WebParam(name = „version") final Integer version,
704 +@WebParam(name = „contentPackage") final byte[] contentPackage,
705 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
706 +}
707 +{{/code}}
708 +
709 +=== Parameter getResultVariables ===
710 +
711 +|(((
712 +version
713 +)))|(((
714 +Requested version: 1
715 +)))
716 +|(((
717 +contentPackage
718 +)))|(((
719 +Content package (zipped) as byte array.
720 +)))
721 +|(((
722 +additionalParams
723 +)))|(((
724 +Reserved for future use.
725 +)))
726 +
727 +=== ReturnValue getResultVariables ===
728 +
729 +|(((
730 +HashMap<String, String>
731 +)))|(((
732 +Map of result variables, key is the variable name, value the corresponding
733 +value (HashMap is wrapped).
734 +)))
735 +
736 +== Wrapper ==
737 +
738 +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.
739 +
740 +=== Wrapper for HashMap<String, String> ===
741 +
742 +HashMapWrapper.java:
743 +
744 +[[image:attach:HashMapWrapperjava.png]]
745 +
746 +[[image:attach:HashMapWrapperjava2.png]]
747 +
748 +=== Wrapper for the ArrayList<ResultsForStudent> ===
749 +
750 +ResultsForStudentsWrapper.java:
751 +
752 +[[image:attach:ResultsForStudentsWrapperjava.png]]
753 +{{/layout-cell}}
754 +{{/layout-section}}
755 +{{/layout}}
756 +{{/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 +3342922
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/3342922/Schnittstelle ONYX Reporter