Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 379.1
bearbeitet von sandra_riediger
am 15.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 376.1
bearbeitet von tleu
am 01.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.sandra_riediger
1 +XWiki.tleu
Inhalt
... ... @@ -1,4 +2,3 @@
1 -{{sv-translation language="de"}}
2 2  {{layout}}
3 3  {{layout-section ac:type="two_right_sidebar"}}
4 4  {{layout-cell}}
... ... @@ -6,7 +6,7 @@
6 6  
7 7  
8 8  
9 -{{toc maxLevel="5" style="square" outline="true" absoluteUrl="true"/}}
8 +{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
10 10  {{/layout-cell}}
11 11  
12 12  {{layout-cell}}
... ... @@ -61,7 +61,9 @@
61 61  |(((
62 62  getResultValues
63 63  )))|(((
64 -Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
63 +Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung:
64 +
65 +Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
65 65  )))
66 66  |(% colspan="1" %)(% colspan="1" %)
67 67  (((
... ... @@ -208,546 +208,33 @@
208 208  }
209 209  {{/code}}
210 210  
211 -== Abmeldung durch LMS ==
212 -
213 -
214 -
215 -{{code}}
216 -@WebMethod(operationName = „disarmSite")
217 -public Boolean disarmSite(
212 +{{code title="Initialisierung durch LMS" language="xml"}}
213 +@WebMethod(operationName = „initiateSite")
214 +public String initiateSite(
218 218  @WebParam(name = „version") final Integer version,
219 219  @WebParam(name = „sessionId") final String sessionId,
220 220  @WebParam(name = „secretToShare") final String secretToShare,
218 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
219 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
221 221  @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
222 222  }
223 223  {{/code}}
224 -
225 -
226 -
227 -=== Parameter disarmSite ===
228 -
229 -|(((
230 -version
231 -)))|(((
232 -Angefragte Version: 1
233 -)))
234 -|(% colspan="1" %)(% colspan="1" %)
235 -(((
236 -sessionId
237 -)))|(% colspan="1" %)(% colspan="1" %)
238 -(((
239 -SessionId, wie von armSite zurück geliefert.
240 -)))
241 -|(((
242 -secretToShare
243 -)))|(((
244 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
245 -)))
246 -|(((
247 -additionalParams
248 -)))|(((
249 -Reserved for future use.
250 -)))
251 -
252 -=== ReturnValue disarmSite ===
253 -
254 -|(((
255 -Boolean
256 -)))|(((
257 -True bei Erfolg, sonst false.
258 -)))
259 -
260 -== Abfrage von Lernerresultaten durch LMS ==
261 -
262 -{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
263 - @WebMethod(operationName = „getResultValues")
264 -public HashMapWrapper getResultValues(
265 - @WebParam(name = „version") final Integer version,
266 - @WebParam(name = „sessionId") final String sessionId,
267 - @WebParam(name = „secretToShare") final String secretToShare,
268 - @WebParam(name = „requestedValues") final HashMap<String, String>
269 - requestedValues,
270 - @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
271 -}
272 -{{/code}}
273 -
274 -=== Parameter getResultValues ===
275 -
276 -|(((
277 -version
278 -)))|(((
279 -Angefragte Version: 1
280 -)))
281 -|(% colspan="1" %)(% colspan="1" %)
282 -(((
283 -sessionId
284 -)))|(% colspan="1" %)(% colspan="1" %)
285 -(((
286 -SessionId, wie von armSite zurück geliefert.
287 -)))
288 -|(((
289 -secretToShare
290 -)))|(((
291 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
292 -)))
293 -|(((
294 -requestedValues
295 -)))|(((
296 -Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
297 -)))
298 -|(((
299 -additionalParams
300 -)))|(((
301 -Reserved for future use.
302 -)))
303 -
304 -=== ReturnValue getResultValues ===
305 -
306 -|(((
307 -HashMap<String, String>
308 -)))|(((
309 -Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
310 -)))
311 -
312 -== Abfrage von Ergebnisvariablen durch LMS ==
313 -
314 -{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
315 - @WebMethod(operationName = „getResultVariables")
316 -public HashMapWrapper getResultVariables(
317 -@WebParam(name = „version") final Integer version,
318 -@WebParam(name = „contentPackage") final byte[] contentPackage,
319 -@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
320 -}
321 -{{/code}}
322 -
323 -=== Parameter getResultVariables ===
324 -
325 -|(((
326 -version
327 -)))|(((
328 -Angefragte Version: 1
329 -)))
330 -|(((
331 -contentPackage
332 -)))|(((
333 -Content Package (gezippt) als Byte-Array.
334 -)))
335 -|(((
336 -additionalParams
337 -)))|(((
338 -Reserved for future use.
339 -)))
340 -
341 -=== ReturnValue getResultVariables ===
342 -
343 -|(((
344 -HashMap<String, String>
345 -)))|(((
346 -Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
347 -)))
348 -
349 -== Wrapper ==
350 -
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.
352 -
353 -=== Wrapper für die HashMap<String, String> ===
354 -
355 -HashMapWrapper.java:
356 -
357 -[[image:attach:HashMapWrapperjava.png]]
358 -
359 -[[image:attach:HashMapWrapperjava2.png]]
360 -
361 -=== Wrapper für die ArrayList<ResultsForStudent> ===
362 -
363 -ResultsForStudentsWrapper.java:
364 -
365 -[[image:attach:ResultsForStudentsWrapperjava.png]]
366 366  {{/layout-cell}}
367 367  {{/layout-section}}
368 368  
369 369  {{layout-section ac:type="two_right_sidebar"}}
370 370  {{layout-cell}}
371 -
372 -{{/layout-cell}}
228 +====== untergeordnete Seiten: ======
373 373  
374 -{{layout-cell}}
375 -====== relevante Links: ======
376 376  
377 -* [[doc:Schnittstelle ONYX WebPlayer]]
378 -{{/layout-cell}}
379 -{{/layout-section}}
380 -{{/layout}}
381 -{{/sv-translation}}
382 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"/}}
232 +{{children all="true"/}}
392 392  {{/layout-cell}}
393 393  
394 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" %)DRAFT
406 -)))
407 -|=(((
408 -Aufgaben
409 -)))|(((
410 -
236 +====== relevante Links: ======
411 411  
412 -
413 -)))
414 -|=(((
415 -JIRA
416 -)))|(((
417 -
418 -)))
238 +* [[lorem ipsum>>url:https://www.bps-system.de/help/display/OPAL/Handbuch+OPAL||shape="rect"]]
419 419  {{/layout-cell}}
420 420  {{/layout-section}}
421 -
422 -{{layout-section ac:type="single"}}
423 -{{layout-cell}}
424 -
425 -
426 -== Allgemeines ==
427 -
428 -Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
429 -
430 -|(((
431 -armSite
432 -)))|(((
433 -Anmeldung von Folgerequests beim ONYX Reporter.
434 -)))
435 -|(((
436 -initiateSite
437 -)))|(((
438 -Initiiert die Reporter-Session (Übertragung des CPs).
439 -)))
440 -|(((
441 -disarmSite
442 -)))|(((
443 -Freigabe von allen Reporter-Ressourcen für diese Session.
444 -)))
445 -|(((
446 -getResultValues
447 -)))|(((
448 -Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
449 -)))
450 -|(% colspan="1" %)(% colspan="1" %)
451 -(((
452 -getResultVariables
453 -)))|(% colspan="1" %)(% colspan="1" %)
454 -(((
455 -Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
456 -)))
457 -
458 -== Anmeldung des 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 -Angefragte Version: 1
479 -)))
480 -|(((
481 -userId
482 -)))|(((
483 -UserId des anfragenden Reporter-Benutzers
484 -)))
485 -|(((
486 -optionalRole
487 -)))|(((
488 -Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
489 -)))
490 -|(((
491 -secretToShare
492 -)))|(((
493 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
494 -)))
495 -|(((
496 -optionalUserLastName
497 -)))|(((
498 -Optional. Nachname des Benutzers.
499 -)))
500 -|(% colspan="1" %)(% colspan="1" %)
501 -(((
502 -optionalUserFirstName
503 -)))|(% colspan="1" %)(% colspan="1" %)
504 -(((
505 -Optional. Vorname des Benutzers.
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, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
521 -)))
522 -
523 -== Initialisierung durch 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 -Angefragte Version: 1
543 -)))
544 -|(% colspan="1" %)(% colspan="1" %)
545 -(((
546 -sessionId
547 -)))|(% colspan="1" %)(% colspan="1" %)
548 -(((
549 -SessionId, wie von armSite zurück geliefert.
550 -)))
551 -|(((
552 -secretToShare
553 -)))|(((
554 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
555 -)))
556 -|(((
557 -students
558 -)))|(((
559 -Liste der Studenten mit ihren Resultaten. Siehe unten.
560 -)))
561 -|(((
562 -optionalContentPackage
563 -)))|(((
564 -Optional. Content Package (gezippt) als 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 der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
578 -
579 -* sid: Session ID, wie von armSite zurück gegeben
580 -* uid: Student ID, wie in initiateSite beim Reporter angemeldet
581 -)))
582 -
583 -{{code language="xml"}}
584 -public class ResultsForStudent {
585 -   private String studentId = „";
586 -   private String firstname = „";
587 -   private String lastname = „";
588 -   private String groupname = „";
589 -   private String tutorname = „";
590 -   private File contentFile = null;
591 -   private byte[] resultsFile = null;
592 -}
593 -{{/code}}
594 -
595 -== Abmeldung durch LMS ==
596 -
597 -
598 -
599 -{{code}}
600 -@WebMethod(operationName = „disarmSite")
601 -public Boolean disarmSite(
602 -@WebParam(name = „version") final Integer version,
603 -@WebParam(name = „sessionId") final String sessionId,
604 -@WebParam(name = „secretToShare") final String secretToShare,
605 -@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
606 -}
607 -{{/code}}
608 -
609 -
610 -
611 -=== Parameter disarmSite ===
612 -
613 -|(((
614 -version
615 -)))|(((
616 -Angefragte Version: 1
617 -)))
618 -|(% colspan="1" %)(% colspan="1" %)
619 -(((
620 -sessionId
621 -)))|(% colspan="1" %)(% colspan="1" %)
622 -(((
623 -SessionId, wie von armSite zurück geliefert.
624 -)))
625 -|(((
626 -secretToShare
627 -)))|(((
628 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
629 -)))
630 -|(((
631 -additionalParams
632 -)))|(((
633 -Reserved for future use.
634 -)))
635 -
636 -=== ReturnValue disarmSite ===
637 -
638 -|(((
639 -Boolean
640 -)))|(((
641 -True bei Erfolg, sonst false.
642 -)))
643 -
644 -== Abfrage von Lernerresultaten durch LMS ==
645 -
646 -{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
647 - @WebMethod(operationName = „getResultValues")
648 -public HashMapWrapper getResultValues(
649 - @WebParam(name = „version") final Integer version,
650 - @WebParam(name = „sessionId") final String sessionId,
651 - @WebParam(name = „secretToShare") final String secretToShare,
652 - @WebParam(name = „requestedValues") final HashMap<String, String>
653 - requestedValues,
654 - @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
655 -}
656 -{{/code}}
657 -
658 -=== Parameter getResultValues ===
659 -
660 -|(((
661 -version
662 -)))|(((
663 -Angefragte Version: 1
664 -)))
665 -|(% colspan="1" %)(% colspan="1" %)
666 -(((
667 -sessionId
668 -)))|(% colspan="1" %)(% colspan="1" %)
669 -(((
670 -SessionId, wie von armSite zurück geliefert.
671 -)))
672 -|(((
673 -secretToShare
674 -)))|(((
675 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
676 -)))
677 -|(((
678 -requestedValues
679 -)))|(((
680 -Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
681 -)))
682 -|(((
683 -additionalParams
684 -)))|(((
685 -Reserved for future use.
686 -)))
687 -
688 -=== ReturnValue getResultValues ===
689 -
690 -|(((
691 -HashMap<String, String>
692 -)))|(((
693 -Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
694 -)))
695 -
696 -== Abfrage von Ergebnisvariablen durch LMS ==
697 -
698 -{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
699 - @WebMethod(operationName = „getResultVariables")
700 -public HashMapWrapper getResultVariables(
701 -@WebParam(name = „version") final Integer version,
702 -@WebParam(name = „contentPackage") final byte[] contentPackage,
703 -@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
704 -}
705 -{{/code}}
706 -
707 -=== Parameter getResultVariables ===
708 -
709 -|(((
710 -version
711 -)))|(((
712 -Angefragte Version: 1
713 -)))
714 -|(((
715 -contentPackage
716 -)))|(((
717 -Content Package (gezippt) als Byte-Array.
718 -)))
719 -|(((
720 -additionalParams
721 -)))|(((
722 -Reserved for future use.
723 -)))
724 -
725 -=== ReturnValue getResultVariables ===
726 -
727 -|(((
728 -HashMap<String, String>
729 -)))|(((
730 -Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
731 -)))
732 -
733 -== Wrapper ==
734 -
735 -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.
736 -
737 -=== Wrapper für die HashMap<String, String> ===
738 -
739 -HashMapWrapper.java:
740 -
741 -[[image:attach:HashMapWrapperjava.png]]
742 -
743 -[[image:attach:HashMapWrapperjava2.png]]
744 -
745 -=== Wrapper für die ArrayList<ResultsForStudent> ===
746 -
747 -ResultsForStudentsWrapper.java:
748 -
749 -[[image:attach:ResultsForStudentsWrapperjava.png]]
750 -{{/layout-cell}}
751 -{{/layout-section}}
752 752  {{/layout}}
753 -{{/sv-translation}}
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -3342793
1 +3342394
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342793/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342394/Schnittstelle ONYX Reporter