Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 401.1
bearbeitet von Carina Enke
am 13.02.2024
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 367.1
bearbeitet von sandra_riediger
am 18.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,17 +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 style="square" maxLevel="5" 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"/}}
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 +
10 10  
11 - **Weitere Informationen:**
12 -
13 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
14 -{{/panel}}
30 +
31 +)))
32 +|=(((
33 +JIRA
34 +)))|(((
35 +
36 +)))
15 15  {{/layout-cell}}
16 16  {{/layout-section}}
17 17  
... ... @@ -21,7 +21,6 @@
21 21  
22 22  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
23 23  
24 -(% class="wrapped" %)
25 25  |(((
26 26  armSite
27 27  )))|(((
... ... @@ -52,7 +52,7 @@
52 52  
53 53  == Anmeldung des LMS ==
54 54  
55 -{{code language="xml" title="Anmeldung des LMS"}}
76 +{{code title="Anmeldung des LMS" language="xml"}}
56 56  @WebMethod(operationName = „armSite")
57 57  public String armSite(
58 58  @WebParam(name = „version") final Integer version,
... ... @@ -67,7 +67,6 @@
67 67  
68 68  === Parameter armSite ===
69 69  
70 -(% class="wrapped" %)
71 71  |(((
72 72  version
73 73  )))|(((
... ... @@ -110,7 +110,6 @@
110 110  
111 111  === ReturnValue armSite ===
112 112  
113 -(% class="wrapped" %)
114 114  |(((
115 115  String
116 116  )))|(((
... ... @@ -119,7 +119,7 @@
119 119  
120 120  == Initialisierung durch LMS ==
121 121  
122 -{{code language="xml" title="Initialisierung durch LMS"}}
141 +{{code title="Initialisierung durch LMS" language="xml"}}
123 123  @WebMethod(operationName = „initiateSite")
124 124  public String initiateSite(
125 125  @WebParam(name = „version") final Integer version,
... ... @@ -133,7 +133,6 @@
133 133  
134 134  === Parameter initiateSite ===
135 135  
136 -(% class="wrapped" %)
137 137  |(((
138 138  version
139 139  )))|(((
... ... @@ -169,7 +169,6 @@
169 169  
170 170  === ReturnValue initiateSite ===
171 171  
172 -(% class="wrapped" %)
173 173  |(((
174 174  String
175 175  )))|(((
... ... @@ -193,6 +193,7 @@
193 193  
194 194  == Abmeldung durch LMS ==
195 195  
213 +
196 196  
197 197  {{code}}
198 198  @WebMethod(operationName = „disarmSite")
... ... @@ -204,10 +204,10 @@
204 204  }
205 205  {{/code}}
206 206  
225 +
207 207  
208 208  === Parameter disarmSite ===
209 209  
210 -(% class="wrapped" %)
211 211  |(((
212 212  version
213 213  )))|(((
... ... @@ -233,7 +233,6 @@
233 233  
234 234  === ReturnValue disarmSite ===
235 235  
236 -(% class="wrapped" %)
237 237  |(((
238 238  Boolean
239 239  )))|(((
... ... @@ -242,7 +242,7 @@
242 242  
243 243  == Abfrage von Lernerresultaten durch LMS ==
244 244  
245 -{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
246 246   @WebMethod(operationName = „getResultValues")
247 247  public HashMapWrapper getResultValues(
248 248   @WebParam(name = „version") final Integer version,
... ... @@ -256,7 +256,6 @@
256 256  
257 257  === Parameter getResultValues ===
258 258  
259 -(% class="wrapped" %)
260 260  |(((
261 261  version
262 262  )))|(((
... ... @@ -287,7 +287,6 @@
287 287  
288 288  === ReturnValue getResultValues ===
289 289  
290 -(% class="wrapped" %)
291 291  |(((
292 292  HashMap<String, String>
293 293  )))|(((
... ... @@ -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,
... ... @@ -307,7 +307,6 @@
307 307  
308 308  === Parameter getResultVariables ===
309 309  
310 -(% class="wrapped" %)
311 311  |(((
312 312  version
313 313  )))|(((
... ... @@ -326,7 +326,6 @@
326 326  
327 327  === ReturnValue getResultVariables ===
328 328  
329 -(% class="wrapped" %)
330 330  |(((
331 331  HashMap<String, String>
332 332  )))|(((
... ... @@ -335,21 +335,384 @@
335 335  
336 336  == Wrapper ==
337 337  
338 -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.
339 339  
340 340  === Wrapper für die HashMap<String, String> ===
341 341  
342 342  HashMapWrapper.java:
343 343  
344 -[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
357 +[[image:attach:HashMapWrapperjava.png]]
345 345  
346 -[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
359 +[[image:attach:HashMapWrapperjava2.png]]
347 347  
348 348  === Wrapper für die ArrayList<ResultsForStudent> ===
349 349  
350 350  ResultsForStudentsWrapper.java:
351 351  
352 -[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
365 +[[image:attach:ResultsForStudentsWrapperjava.png]]
353 353  {{/layout-cell}}
354 354  {{/layout-section}}
368 +
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}}
355 355  {{/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 +== General ==
402 +
403 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed:
404 +
405 +|(((
406 +armSite
407 +)))|(((
408 +Registration of sequence requests at the ONYX reporter
409 +)))
410 +|(((
411 +initiateSite
412 +)))|(((
413 +Initiates the reporter session (transmission of the CP).
414 +)))
415 +|(((
416 +disarmSite
417 +)))|(((
418 +Release of all reporter resources for this session.
419 +)))
420 +|(((
421 +getResultValues
422 +)))|(((
423 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite.
424 +)))
425 +|(% colspan="1" %)(% colspan="1" %)
426 +(((
427 +getResultVariables
428 +)))|(% colspan="1" %)(% colspan="1" %)
429 +(((
430 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary.
431 +)))
432 +
433 +== Connection to the LMS ==
434 +
435 +{{code title="Anmeldung des LMS" language="xml"}}
436 +@WebMethod(operationName = „armSite")
437 +public String armSite(
438 +@WebParam(name = „version") final Integer version,
439 +@WebParam(name = „userId") final String userId,
440 +@WebParam(name = „optionalRole") final Integer role,
441 +@WebParam(name = „secretToShare") final String secretToShare,
442 +@WebParam(name = „optionalUserLastName") final String userLastName,
443 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
444 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
445 +}
446 +{{/code}}
447 +
448 +=== Parameter armSite ===
449 +
450 +|(((
451 +version
452 +)))|(((
453 +Requested version: 1
454 +)))
455 +|(((
456 +userId
457 +)))|(((
458 +UserId of the requested reporter user
459 +)))
460 +|(((
461 +optionalRole
462 +)))|(((
463 +Optional. User role. 0=student, 1=tutor
464 +)))
465 +|(((
466 +secretToShare
467 +)))|(((
468 +Shared secret. Has to remain identical for every communication.
469 +)))
470 +|(((
471 +optionalUserLastName
472 +)))|(((
473 +Optional. User lastname.
474 +)))
475 +|(% colspan="1" %)(% colspan="1" %)
476 +(((
477 +optionalUserFirstName
478 +)))|(% colspan="1" %)(% colspan="1" %)
479 +(((
480 +Optional. User firstname.
481 +)))
482 +|(% colspan="1" %)(% colspan="1" %)
483 +(((
484 +additionalParams
485 +)))|(% colspan="1" %)(% colspan="1" %)
486 +(((
487 +Reserved for future use.
488 +)))
489 +
490 +=== ReturnValue armSite ===
491 +
492 +|(((
493 +String
494 +)))|(((
495 +Session ID that has to be used to mark any further reporter call.
496 +)))
497 +
498 +== Initialisation through LMS ==
499 +
500 +{{code title="Initialisierung durch LMS" language="xml"}}
501 +@WebMethod(operationName = „initiateSite")
502 +public String initiateSite(
503 +@WebParam(name = „version") final Integer version,
504 +@WebParam(name = „sessionId") final String sessionId,
505 +@WebParam(name = „secretToShare") final String secretToShare,
506 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
507 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
508 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
509 +}
510 +{{/code}}
511 +
512 +=== Parameter initiateSite ===
513 +
514 +|(((
515 +version
516 +)))|(((
517 +Requested version: 1
518 +)))
519 +|(% colspan="1" %)(% colspan="1" %)
520 +(((
521 +sessionId
522 +)))|(% colspan="1" %)(% colspan="1" %)
523 +(((
524 +SessionId, as returned by armSite.
525 +)))
526 +|(((
527 +secretToShare
528 +)))|(((
529 +Shared secret. Has to remain identical at every communication.
530 +)))
531 +|(((
532 +students
533 +)))|(((
534 +List of students with their results. See below.
535 +)))
536 +|(((
537 +optionalContentPackage
538 +)))|(((
539 +Optional. Content Package (zipped) as byte array.
540 +)))
541 +|(((
542 +additionalParams
543 +)))|(((
544 +Reserved for future use.
545 +)))
546 +
547 +=== ReturnValue initiateSite ===
548 +
549 +|(((
550 +String
551 +)))|(((
552 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters:
553 +
554 +* sid: Session ID as returned by armSite
555 +* (((
556 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter.
557 +)))
558 +)))
559 +
560 +{{code language="xml"}}
561 +public class ResultsForStudent {
562 +   private String studentId = „";
563 +   private String firstname = „";
564 +   private String lastname = „";
565 +   private String groupname = „";
566 +   private String tutorname = „";
567 +   private File contentFile = null;
568 +   private byte[] resultsFile = null;
569 +}
570 +{{/code}}
571 +
572 +== Deconnection through the LMS ==
573 +
574 +
575 +
576 +{{code}}
577 +@WebMethod(operationName = „disarmSite")
578 +public Boolean disarmSite(
579 +@WebParam(name = „version") final Integer version,
580 +@WebParam(name = „sessionId") final String sessionId,
581 +@WebParam(name = „secretToShare") final String secretToShare,
582 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
583 +}
584 +{{/code}}
585 +
586 +
587 +
588 +=== Parameter disarmSite ===
589 +
590 +|(((
591 +version
592 +)))|(((
593 +Requested version: 1
594 +)))
595 +|(% colspan="1" %)(% colspan="1" %)
596 +(((
597 +sessionId
598 +)))|(% colspan="1" %)(% colspan="1" %)
599 +(((
600 +SessionId, as returned by armSite.
601 +)))
602 +|(((
603 +secretToShare
604 +)))|(((
605 +Shared secret. Has to remain identical at every communication.
606 +)))
607 +|(((
608 +additionalParams
609 +)))|(((
610 +Reserved for future use.
611 +)))
612 +
613 +=== ReturnValue disarmSite ===
614 +
615 +|(((
616 +Boolean
617 +)))|(((
618 +True if successful, otherwise false.
619 +)))
620 +
621 +== Request of learning results through the LMS ==
622 +
623 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
624 + @WebMethod(operationName = „getResultValues")
625 +public HashMapWrapper getResultValues(
626 + @WebParam(name = „version") final Integer version,
627 + @WebParam(name = „sessionId") final String sessionId,
628 + @WebParam(name = „secretToShare") final String secretToShare,
629 + @WebParam(name = „requestedValues") final HashMap<String, String>
630 + requestedValues,
631 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
632 +}
633 +{{/code}}
634 +
635 +=== Parameter getResultValues ===
636 +
637 +|(((
638 +version
639 +)))|(((
640 +Requested version: 1
641 +)))
642 +|(% colspan="1" %)(% colspan="1" %)
643 +(((
644 +sessionId
645 +)))|(% colspan="1" %)(% colspan="1" %)
646 +(((
647 +SessionId, as returned by armSite.
648 +)))
649 +|(((
650 +secretToShare
651 +)))|(((
652 +Shared secret. Has to remain identical at every communication.
653 +)))
654 +|(((
655 +requestedValues
656 +)))|(((
657 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned.
658 +)))
659 +|(((
660 +additionalParams
661 +)))|(((
662 +Reserved for future use.
663 +)))
664 +
665 +=== ReturnValue getResultValues ===
666 +
667 +|(((
668 +HashMap<String, String>
669 +)))|(((
670 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped)
671 +)))
672 +
673 +== Request of result variables through the LMS ==
674 +
675 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
676 + @WebMethod(operationName = „getResultVariables")
677 +public HashMapWrapper getResultVariables(
678 +@WebParam(name = „version") final Integer version,
679 +@WebParam(name = „contentPackage") final byte[] contentPackage,
680 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
681 +}
682 +{{/code}}
683 +
684 +=== Parameter getResultVariables ===
685 +
686 +|(((
687 +version
688 +)))|(((
689 +Requested version: 1
690 +)))
691 +|(((
692 +contentPackage
693 +)))|(((
694 +Content package (zipped) as byte array.
695 +)))
696 +|(((
697 +additionalParams
698 +)))|(((
699 +Reserved for future use.
700 +)))
701 +
702 +=== ReturnValue getResultVariables ===
703 +
704 +|(((
705 +HashMap<String, String>
706 +)))|(((
707 +Map of result variables, key is the variable name, value the corresponding
708 +value (HashMap is wrapped).
709 +)))
710 +
711 +== Wrapper ==
712 +
713 +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.
714 +
715 +=== Wrapper for HashMap<String, String> ===
716 +
717 +HashMapWrapper.java:
718 +
719 +[[image:attach:HashMapWrapperjava.png]]
720 +
721 +[[image:attach:HashMapWrapperjava2.png]]
722 +
723 +=== Wrapper for the ArrayList<ResultsForStudent> ===
724 +
725 +ResultsForStudentsWrapper.java:
726 +
727 +[[image:attach:ResultsForStudentsWrapperjava.png]]
728 +{{/layout-cell}}
729 +{{/layout-section}}
730 +{{/layout}}
731 +{{/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 +3343039
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/3343039/Schnittstelle ONYX Reporter