Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 24.11.2025

Von Version 398.1
bearbeitet von Carina Enke
am 13.02.2024
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 350.1
bearbeitet von tleu
am 23.06.2015
Ä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.tleu
Inhalt
... ... @@ -1,18 +1,17 @@
1 +{{sv-translation language="de"}}
1 1  {{layout}}
2 2  {{layout-section ac:type="two_right_sidebar"}}
3 3  {{layout-cell}}
4 -
5 -{{/layout-cell}}
5 +====== Inhalt: ======
6 6  
7 -{{layout-cell}}
8 -{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
9 -{{toc start="2"/}}
10 10  
11 - **Weitere Informationen:**
12 12  
13 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
14 -{{/panel}}
9 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}}
15 15  {{/layout-cell}}
11 +
12 +{{layout-cell}}
13 +
14 +{{/layout-cell}}
16 16  {{/layout-section}}
17 17  
18 18  {{layout-section ac:type="single"}}
... ... @@ -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  )))|(((
... ... @@ -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  )))|(((
... ... @@ -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  
190 +
196 196  
197 197  {{code}}
198 198  @WebMethod(operationName = „disarmSite")
... ... @@ -204,10 +204,10 @@
204 204  }
205 205  {{/code}}
206 206  
202 +
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  )))|(((
... ... @@ -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  )))|(((
... ... @@ -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,21 @@
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.
328 +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"]]
334 +[[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"]]
336 +[[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"]]
342 +[[image:attach:ResultsForStudentsWrapperjava.png]]
353 353  {{/layout-cell}}
354 354  {{/layout-section}}
355 355  
... ... @@ -361,7 +361,358 @@
361 361  {{layout-cell}}
362 362  ====== relevante Links: ======
363 363  
364 -* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
354 +* [[doc:Schnittstelle ONYX Player]]
365 365  {{/layout-cell}}
366 366  {{/layout-section}}
367 367  {{/layout}}
358 +{{/sv-translation}}
359 +
360 +{{sv-translation language="en"}}
361 +{{layout}}
362 +{{layout-section ac:type="two_equal"}}
363 +{{layout-cell}}
364 +====== Content: ======
365 +
366 +
367 +
368 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}}
369 +{{/layout-cell}}
370 +
371 +{{layout-cell}}
372 +
373 +{{/layout-cell}}
374 +{{/layout-section}}
375 +
376 +{{layout-section ac:type="single"}}
377 +{{layout-cell}}
378 +== General ==
379 +
380 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed:
381 +
382 +|(((
383 +armSite
384 +)))|(((
385 +Registration of sequence requests at the ONYX reporter
386 +)))
387 +|(((
388 +initiateSite
389 +)))|(((
390 +Initiates the reporter session (transmission of the CP).
391 +)))
392 +|(((
393 +disarmSite
394 +)))|(((
395 +Release of all reporter resources for this session.
396 +)))
397 +|(((
398 +getResultValues
399 +)))|(((
400 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite.
401 +)))
402 +|(% colspan="1" %)(% colspan="1" %)
403 +(((
404 +getResultVariables
405 +)))|(% colspan="1" %)(% colspan="1" %)
406 +(((
407 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary.
408 +)))
409 +
410 +== Connection to the LMS ==
411 +
412 +{{code language="xml" title="Anmeldung des LMS"}}
413 +@WebMethod(operationName = „armSite")
414 +public String armSite(
415 +@WebParam(name = „version") final Integer version,
416 +@WebParam(name = „userId") final String userId,
417 +@WebParam(name = „optionalRole") final Integer role,
418 +@WebParam(name = „secretToShare") final String secretToShare,
419 +@WebParam(name = „optionalUserLastName") final String userLastName,
420 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
421 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
422 +}
423 +{{/code}}
424 +
425 +=== Parameter armSite ===
426 +
427 +|(((
428 +version
429 +)))|(((
430 +Requested version: 1
431 +)))
432 +|(((
433 +userId
434 +)))|(((
435 +UserId of the requested reporter user
436 +)))
437 +|(((
438 +optionalRole
439 +)))|(((
440 +Optional. User role. 0=student, 1=tutor
441 +)))
442 +|(((
443 +secretToShare
444 +)))|(((
445 +Shared secret. Has to remain identical for every communication.
446 +)))
447 +|(((
448 +optionalUserLastName
449 +)))|(((
450 +Optional. User lastname.
451 +)))
452 +|(% colspan="1" %)(% colspan="1" %)
453 +(((
454 +optionalUserFirstName
455 +)))|(% colspan="1" %)(% colspan="1" %)
456 +(((
457 +Optional. User firstname.
458 +)))
459 +|(% colspan="1" %)(% colspan="1" %)
460 +(((
461 +additionalParams
462 +)))|(% colspan="1" %)(% colspan="1" %)
463 +(((
464 +Reserved for future use.
465 +)))
466 +
467 +=== ReturnValue armSite ===
468 +
469 +|(((
470 +String
471 +)))|(((
472 +Session ID that has to be used to mark any further reporter call.
473 +)))
474 +
475 +== Initialisation through LMS ==
476 +
477 +{{code language="xml" title="Initialisierung durch LMS"}}
478 +@WebMethod(operationName = „initiateSite")
479 +public String initiateSite(
480 +@WebParam(name = „version") final Integer version,
481 +@WebParam(name = „sessionId") final String sessionId,
482 +@WebParam(name = „secretToShare") final String secretToShare,
483 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
484 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
485 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
486 +}
487 +{{/code}}
488 +
489 +=== Parameter initiateSite ===
490 +
491 +|(((
492 +version
493 +)))|(((
494 +Requested version: 1
495 +)))
496 +|(% colspan="1" %)(% colspan="1" %)
497 +(((
498 +sessionId
499 +)))|(% colspan="1" %)(% colspan="1" %)
500 +(((
501 +SessionId, as returned by armSite.
502 +)))
503 +|(((
504 +secretToShare
505 +)))|(((
506 +Shared secret. Has to remain identical at every communication.
507 +)))
508 +|(((
509 +students
510 +)))|(((
511 +List of students with their results. See below.
512 +)))
513 +|(((
514 +optionalContentPackage
515 +)))|(((
516 +Optional. Content Package (zipped) as byte array.
517 +)))
518 +|(((
519 +additionalParams
520 +)))|(((
521 +Reserved for future use.
522 +)))
523 +
524 +=== ReturnValue initiateSite ===
525 +
526 +|(((
527 +String
528 +)))|(((
529 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters:
530 +
531 +* sid: Session ID as returned by armSite
532 +* (((
533 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter.
534 +)))
535 +)))
536 +
537 +{{code language="xml"}}
538 +public class ResultsForStudent {
539 +   private String studentId = „";
540 +   private String firstname = „";
541 +   private String lastname = „";
542 +   private String groupname = „";
543 +   private String tutorname = „";
544 +   private File contentFile = null;
545 +   private byte[] resultsFile = null;
546 +}
547 +{{/code}}
548 +
549 +== Deconnection through the LMS ==
550 +
551 +
552 +
553 +{{code}}
554 +@WebMethod(operationName = „disarmSite")
555 +public Boolean disarmSite(
556 +@WebParam(name = „version") final Integer version,
557 +@WebParam(name = „sessionId") final String sessionId,
558 +@WebParam(name = „secretToShare") final String secretToShare,
559 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
560 +}
561 +{{/code}}
562 +
563 +
564 +
565 +=== Parameter disarmSite ===
566 +
567 +|(((
568 +version
569 +)))|(((
570 +Requested version: 1
571 +)))
572 +|(% colspan="1" %)(% colspan="1" %)
573 +(((
574 +sessionId
575 +)))|(% colspan="1" %)(% colspan="1" %)
576 +(((
577 +SessionId, as returned by armSite.
578 +)))
579 +|(((
580 +secretToShare
581 +)))|(((
582 +Shared secret. Has to remain identical at every communication.
583 +)))
584 +|(((
585 +additionalParams
586 +)))|(((
587 +Reserved for future use.
588 +)))
589 +
590 +=== ReturnValue disarmSite ===
591 +
592 +|(((
593 +Boolean
594 +)))|(((
595 +True if successful, otherwise false.
596 +)))
597 +
598 +== Request of learning results through the LMS ==
599 +
600 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
601 + @WebMethod(operationName = „getResultValues")
602 +public HashMapWrapper getResultValues(
603 + @WebParam(name = „version") final Integer version,
604 + @WebParam(name = „sessionId") final String sessionId,
605 + @WebParam(name = „secretToShare") final String secretToShare,
606 + @WebParam(name = „requestedValues") final HashMap<String, String>
607 + requestedValues,
608 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
609 +}
610 +{{/code}}
611 +
612 +=== Parameter getResultValues ===
613 +
614 +|(((
615 +version
616 +)))|(((
617 +Requested version: 1
618 +)))
619 +|(% colspan="1" %)(% colspan="1" %)
620 +(((
621 +sessionId
622 +)))|(% colspan="1" %)(% colspan="1" %)
623 +(((
624 +SessionId, as returned by armSite.
625 +)))
626 +|(((
627 +secretToShare
628 +)))|(((
629 +Shared secret. Has to remain identical at every communication.
630 +)))
631 +|(((
632 +requestedValues
633 +)))|(((
634 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned.
635 +)))
636 +|(((
637 +additionalParams
638 +)))|(((
639 +Reserved for future use.
640 +)))
641 +
642 +=== ReturnValue getResultValues ===
643 +
644 +|(((
645 +HashMap<String, String>
646 +)))|(((
647 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped)
648 +)))
649 +
650 +== Request of result variables through the LMS ==
651 +
652 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
653 + @WebMethod(operationName = „getResultVariables")
654 +public HashMapWrapper getResultVariables(
655 +@WebParam(name = „version") final Integer version,
656 +@WebParam(name = „contentPackage") final byte[] contentPackage,
657 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
658 +}
659 +{{/code}}
660 +
661 +=== Parameter getResultVariables ===
662 +
663 +|(((
664 +version
665 +)))|(((
666 +Requested version: 1
667 +)))
668 +|(((
669 +contentPackage
670 +)))|(((
671 +Content package (zipped) as byte array.
672 +)))
673 +|(((
674 +additionalParams
675 +)))|(((
676 +Reserved for future use.
677 +)))
678 +
679 +=== ReturnValue getResultVariables ===
680 +
681 +|(((
682 +HashMap<String, String>
683 +)))|(((
684 +Map of result variables, key is the variable name, value the corresponding
685 +value (HashMap is wrapped).
686 +)))
687 +
688 +== Wrapper ==
689 +
690 +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.
691 +
692 +=== Wrapper for HashMap<String, String> ===
693 +
694 +HashMapWrapper.java:
695 +
696 +[[image:attach:HashMapWrapperjava.png]]
697 +
698 +[[image:attach:HashMapWrapperjava2.png]]
699 +
700 +=== Wrapper for the ArrayList<ResultsForStudent> ===
701 +
702 +ResultsForStudentsWrapper.java:
703 +
704 +[[image:attach:ResultsForStudentsWrapperjava.png]]
705 +{{/layout-cell}}
706 +{{/layout-section}}
707 +{{/layout}}
708 +{{/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 +146964903
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/146964903/Schnittstelle ONYX Reporter