Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 376.1
bearbeitet von tleu
am 01.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 352.1
bearbeitet von Carina Enke
am 08.03.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,4 +1,9 @@
1 +{{sv-translation language="de"}}
1 1  {{layout}}
3 +{{layout-section ac:type="single"}}
4 +{{layout-cell}}{{/layout-cell}}
5 +{{/layout-section}}
6 +
2 2  {{layout-section ac:type="two_right_sidebar"}}
3 3  {{layout-cell}}
4 4  ====== Inhalt: ======
... ... @@ -5,34 +5,11 @@
5 5  
6 6  
7 7  
8 -{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
13 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}}
9 9  {{/layout-cell}}
10 10  
11 11  {{layout-cell}}
12 -|=(% colspan="1" %)(% colspan="1" %)
13 -(((
14 -Programmversion
15 -)))|(% colspan="1" %)(% colspan="1" %)
16 -(((
17 17  
18 -)))
19 -|=(((
20 -Status
21 -)))|(((
22 -(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF
23 -)))
24 -|=(((
25 -Aufgaben
26 -)))|(((
27 -
28 -
29 -
30 -)))
31 -|=(((
32 -JIRA
33 -)))|(((
34 -
35 -)))
36 36  {{/layout-cell}}
37 37  {{/layout-section}}
38 38  
... ... @@ -60,9 +60,7 @@
60 60  |(((
61 61  getResultValues
62 62  )))|(((
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.
45 +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.
66 66  )))
67 67  |(% colspan="1" %)(% colspan="1" %)
68 68  (((
... ... @@ -74,7 +74,7 @@
74 74  
75 75  == Anmeldung des LMS ==
76 76  
77 -{{code title="Anmeldung des LMS" language="xml"}}
57 +{{code language="xml" title="Anmeldung des LMS"}}
78 78  @WebMethod(operationName = „armSite")
79 79  public String armSite(
80 80  @WebParam(name = „version") final Integer version,
... ... @@ -139,7 +139,7 @@
139 139  
140 140  == Initialisierung durch LMS ==
141 141  
142 -{{code title="Initialisierung durch LMS" language="xml"}}
122 +{{code language="xml" title="Initialisierung durch LMS"}}
143 143  @WebMethod(operationName = „initiateSite")
144 144  public String initiateSite(
145 145  @WebParam(name = „version") final Integer version,
... ... @@ -209,33 +209,524 @@
209 209  }
210 210  {{/code}}
211 211  
212 -{{code title="Initialisierung durch LMS" language="xml"}}
213 -@WebMethod(operationName = „initiateSite")
214 -public String initiateSite(
192 +== Abmeldung durch LMS ==
193 +
194 +
195 +
196 +{{code}}
197 +@WebMethod(operationName = „disarmSite")
198 +public Boolean disarmSite(
215 215  @WebParam(name = „version") final Integer version,
216 216  @WebParam(name = „sessionId") final String sessionId,
217 217  @WebParam(name = „secretToShare") final String secretToShare,
218 -@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
219 -@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
220 220  @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
221 221  }
222 222  {{/code}}
205 +
206 +
207 +
208 +=== Parameter disarmSite ===
209 +
210 +|(((
211 +version
212 +)))|(((
213 +Angefragte Version: 1
214 +)))
215 +|(% colspan="1" %)(% colspan="1" %)
216 +(((
217 +sessionId
218 +)))|(% colspan="1" %)(% colspan="1" %)
219 +(((
220 +SessionId, wie von armSite zurück geliefert.
221 +)))
222 +|(((
223 +secretToShare
224 +)))|(((
225 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
226 +)))
227 +|(((
228 +additionalParams
229 +)))|(((
230 +Reserved for future use.
231 +)))
232 +
233 +=== ReturnValue disarmSite ===
234 +
235 +|(((
236 +Boolean
237 +)))|(((
238 +True bei Erfolg, sonst false.
239 +)))
240 +
241 +== Abfrage von Lernerresultaten durch LMS ==
242 +
243 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
244 + @WebMethod(operationName = „getResultValues")
245 +public HashMapWrapper getResultValues(
246 + @WebParam(name = „version") final Integer version,
247 + @WebParam(name = „sessionId") final String sessionId,
248 + @WebParam(name = „secretToShare") final String secretToShare,
249 + @WebParam(name = „requestedValues") final HashMap<String, String>
250 + requestedValues,
251 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
252 +}
253 +{{/code}}
254 +
255 +=== Parameter getResultValues ===
256 +
257 +|(((
258 +version
259 +)))|(((
260 +Angefragte Version: 1
261 +)))
262 +|(% colspan="1" %)(% colspan="1" %)
263 +(((
264 +sessionId
265 +)))|(% colspan="1" %)(% colspan="1" %)
266 +(((
267 +SessionId, wie von armSite zurück geliefert.
268 +)))
269 +|(((
270 +secretToShare
271 +)))|(((
272 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
273 +)))
274 +|(((
275 +requestedValues
276 +)))|(((
277 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
278 +)))
279 +|(((
280 +additionalParams
281 +)))|(((
282 +Reserved for future use.
283 +)))
284 +
285 +=== ReturnValue getResultValues ===
286 +
287 +|(((
288 +HashMap<String, String>
289 +)))|(((
290 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
291 +)))
292 +
293 +== Abfrage von Ergebnisvariablen durch LMS ==
294 +
295 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
296 + @WebMethod(operationName = „getResultVariables")
297 +public HashMapWrapper getResultVariables(
298 +@WebParam(name = „version") final Integer version,
299 +@WebParam(name = „contentPackage") final byte[] contentPackage,
300 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
301 +}
302 +{{/code}}
303 +
304 +=== Parameter getResultVariables ===
305 +
306 +|(((
307 +version
308 +)))|(((
309 +Angefragte Version: 1
310 +)))
311 +|(((
312 +contentPackage
313 +)))|(((
314 +Content Package (gezippt) als Byte-Array.
315 +)))
316 +|(((
317 +additionalParams
318 +)))|(((
319 +Reserved for future use.
320 +)))
321 +
322 +=== ReturnValue getResultVariables ===
323 +
324 +|(((
325 +HashMap<String, String>
326 +)))|(((
327 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
328 +)))
329 +
330 +== Wrapper ==
331 +
332 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
333 +
334 +=== Wrapper für die HashMap<String, String> ===
335 +
336 +HashMapWrapper.java:
337 +
338 +[[image:attach:HashMapWrapperjava.png]]
339 +
340 +[[image:attach:HashMapWrapperjava2.png]]
341 +
342 +=== Wrapper für die ArrayList<ResultsForStudent> ===
343 +
344 +ResultsForStudentsWrapper.java:
345 +
346 +[[image:attach:ResultsForStudentsWrapperjava.png]]
223 223  {{/layout-cell}}
224 224  {{/layout-section}}
225 225  
226 226  {{layout-section ac:type="two_right_sidebar"}}
227 227  {{layout-cell}}
228 -====== untergeordnete Seiten: ======
352 +
353 +{{/layout-cell}}
229 229  
355 +{{layout-cell}}
356 +====== relevante Links: ======
230 230  
358 +* [[doc:ONYX Player Interface]]
359 +{{/layout-cell}}
360 +{{/layout-section}}
361 +{{/layout}}
362 +{{/sv-translation}}
231 231  
232 -{{children all="true"/}}
364 +{{sv-translation language="en"}}
365 +{{layout}}
366 +{{layout-section ac:type="two_equal"}}
367 +{{layout-cell}}
368 +====== Content: ======
369 +
370 +
371 +
372 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}}
233 233  {{/layout-cell}}
234 234  
235 235  {{layout-cell}}
236 -====== relevante Links: ======
376 +
377 +{{/layout-cell}}
378 +{{/layout-section}}
237 237  
238 -* [[lorem ipsum>>url:https://www.bps-system.de/help/display/OPAL/Handbuch+OPAL||shape="rect"]]
380 +{{layout-section ac:type="single"}}
381 +{{layout-cell}}
382 +== General ==
383 +
384 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed:
385 +
386 +|(((
387 +armSite
388 +)))|(((
389 +Registration of sequence requests at the ONYX reporter
390 +)))
391 +|(((
392 +initiateSite
393 +)))|(((
394 +Initiates the reporter session (transmission of the CP).
395 +)))
396 +|(((
397 +disarmSite
398 +)))|(((
399 +Release of all reporter resources for this session.
400 +)))
401 +|(((
402 +getResultValues
403 +)))|(((
404 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite.
405 +)))
406 +|(% colspan="1" %)(% colspan="1" %)
407 +(((
408 +getResultVariables
409 +)))|(% colspan="1" %)(% colspan="1" %)
410 +(((
411 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary.
412 +)))
413 +
414 +== Connection to the LMS ==
415 +
416 +{{code language="xml" title="Anmeldung des LMS"}}
417 +@WebMethod(operationName = „armSite")
418 +public String armSite(
419 +@WebParam(name = „version") final Integer version,
420 +@WebParam(name = „userId") final String userId,
421 +@WebParam(name = „optionalRole") final Integer role,
422 +@WebParam(name = „secretToShare") final String secretToShare,
423 +@WebParam(name = „optionalUserLastName") final String userLastName,
424 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
425 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
426 +}
427 +{{/code}}
428 +
429 +=== Parameter armSite ===
430 +
431 +|(((
432 +version
433 +)))|(((
434 +Requested version: 1
435 +)))
436 +|(((
437 +userId
438 +)))|(((
439 +UserId of the requested reporter user
440 +)))
441 +|(((
442 +optionalRole
443 +)))|(((
444 +Optional. User role. 0=student, 1=tutor
445 +)))
446 +|(((
447 +secretToShare
448 +)))|(((
449 +Shared secret. Has to remain identical for every communication.
450 +)))
451 +|(((
452 +optionalUserLastName
453 +)))|(((
454 +Optional. User lastname.
455 +)))
456 +|(% colspan="1" %)(% colspan="1" %)
457 +(((
458 +optionalUserFirstName
459 +)))|(% colspan="1" %)(% colspan="1" %)
460 +(((
461 +Optional. User firstname.
462 +)))
463 +|(% colspan="1" %)(% colspan="1" %)
464 +(((
465 +additionalParams
466 +)))|(% colspan="1" %)(% colspan="1" %)
467 +(((
468 +Reserved for future use.
469 +)))
470 +
471 +=== ReturnValue armSite ===
472 +
473 +|(((
474 +String
475 +)))|(((
476 +Session ID that has to be used to mark any further reporter call.
477 +)))
478 +
479 +== Initialisation through LMS ==
480 +
481 +{{code language="xml" title="Initialisierung durch LMS"}}
482 +@WebMethod(operationName = „initiateSite")
483 +public String initiateSite(
484 +@WebParam(name = „version") final Integer version,
485 +@WebParam(name = „sessionId") final String sessionId,
486 +@WebParam(name = „secretToShare") final String secretToShare,
487 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
488 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
489 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
490 +}
491 +{{/code}}
492 +
493 +=== Parameter initiateSite ===
494 +
495 +|(((
496 +version
497 +)))|(((
498 +Requested version: 1
499 +)))
500 +|(% colspan="1" %)(% colspan="1" %)
501 +(((
502 +sessionId
503 +)))|(% colspan="1" %)(% colspan="1" %)
504 +(((
505 +SessionId, as returned by armSite.
506 +)))
507 +|(((
508 +secretToShare
509 +)))|(((
510 +Shared secret. Has to remain identical at every communication.
511 +)))
512 +|(((
513 +students
514 +)))|(((
515 +List of students with their results. See below.
516 +)))
517 +|(((
518 +optionalContentPackage
519 +)))|(((
520 +Optional. Content Package (zipped) as byte array.
521 +)))
522 +|(((
523 +additionalParams
524 +)))|(((
525 +Reserved for future use.
526 +)))
527 +
528 +=== ReturnValue initiateSite ===
529 +
530 +|(((
531 +String
532 +)))|(((
533 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters:
534 +
535 +* sid: Session ID as returned by armSite
536 +* (((
537 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter.
538 +)))
539 +)))
540 +
541 +{{code language="xml"}}
542 +public class ResultsForStudent {
543 +   private String studentId = „";
544 +   private String firstname = „";
545 +   private String lastname = „";
546 +   private String groupname = „";
547 +   private String tutorname = „";
548 +   private File contentFile = null;
549 +   private byte[] resultsFile = null;
550 +}
551 +{{/code}}
552 +
553 +== Deconnection through the LMS ==
554 +
555 +
556 +
557 +{{code}}
558 +@WebMethod(operationName = „disarmSite")
559 +public Boolean disarmSite(
560 +@WebParam(name = „version") final Integer version,
561 +@WebParam(name = „sessionId") final String sessionId,
562 +@WebParam(name = „secretToShare") final String secretToShare,
563 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
564 +}
565 +{{/code}}
566 +
567 +
568 +
569 +=== Parameter disarmSite ===
570 +
571 +|(((
572 +version
573 +)))|(((
574 +Requested version: 1
575 +)))
576 +|(% colspan="1" %)(% colspan="1" %)
577 +(((
578 +sessionId
579 +)))|(% colspan="1" %)(% colspan="1" %)
580 +(((
581 +SessionId, as returned by armSite.
582 +)))
583 +|(((
584 +secretToShare
585 +)))|(((
586 +Shared secret. Has to remain identical at every communication.
587 +)))
588 +|(((
589 +additionalParams
590 +)))|(((
591 +Reserved for future use.
592 +)))
593 +
594 +=== ReturnValue disarmSite ===
595 +
596 +|(((
597 +Boolean
598 +)))|(((
599 +True if successful, otherwise false.
600 +)))
601 +
602 +== Request of learning results through the LMS ==
603 +
604 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
605 + @WebMethod(operationName = „getResultValues")
606 +public HashMapWrapper getResultValues(
607 + @WebParam(name = „version") final Integer version,
608 + @WebParam(name = „sessionId") final String sessionId,
609 + @WebParam(name = „secretToShare") final String secretToShare,
610 + @WebParam(name = „requestedValues") final HashMap<String, String>
611 + requestedValues,
612 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
613 +}
614 +{{/code}}
615 +
616 +=== Parameter getResultValues ===
617 +
618 +|(((
619 +version
620 +)))|(((
621 +Requested version: 1
622 +)))
623 +|(% colspan="1" %)(% colspan="1" %)
624 +(((
625 +sessionId
626 +)))|(% colspan="1" %)(% colspan="1" %)
627 +(((
628 +SessionId, as returned by armSite.
629 +)))
630 +|(((
631 +secretToShare
632 +)))|(((
633 +Shared secret. Has to remain identical at every communication.
634 +)))
635 +|(((
636 +requestedValues
637 +)))|(((
638 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned.
639 +)))
640 +|(((
641 +additionalParams
642 +)))|(((
643 +Reserved for future use.
644 +)))
645 +
646 +=== ReturnValue getResultValues ===
647 +
648 +|(((
649 +HashMap<String, String>
650 +)))|(((
651 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped)
652 +)))
653 +
654 +== Request of result variables through the LMS ==
655 +
656 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
657 + @WebMethod(operationName = „getResultVariables")
658 +public HashMapWrapper getResultVariables(
659 +@WebParam(name = „version") final Integer version,
660 +@WebParam(name = „contentPackage") final byte[] contentPackage,
661 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
662 +}
663 +{{/code}}
664 +
665 +=== Parameter getResultVariables ===
666 +
667 +|(((
668 +version
669 +)))|(((
670 +Requested version: 1
671 +)))
672 +|(((
673 +contentPackage
674 +)))|(((
675 +Content package (zipped) as byte array.
676 +)))
677 +|(((
678 +additionalParams
679 +)))|(((
680 +Reserved for future use.
681 +)))
682 +
683 +=== ReturnValue getResultVariables ===
684 +
685 +|(((
686 +HashMap<String, String>
687 +)))|(((
688 +Map of result variables, key is the variable name, value the corresponding
689 +value (HashMap is wrapped).
690 +)))
691 +
692 +== Wrapper ==
693 +
694 +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.
695 +
696 +=== Wrapper for HashMap<String, String> ===
697 +
698 +HashMapWrapper.java:
699 +
700 +[[image:attach:HashMapWrapperjava.png]]
701 +
702 +[[image:attach:HashMapWrapperjava2.png]]
703 +
704 +=== Wrapper for the ArrayList<ResultsForStudent> ===
705 +
706 +ResultsForStudentsWrapper.java:
707 +
708 +[[image:attach:ResultsForStudentsWrapperjava.png]]
239 239  {{/layout-cell}}
240 240  {{/layout-section}}
241 241  {{/layout}}
712 +{{/sv-translation}}
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -3342394
1 +147882509
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342394/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/147882509/Schnittstelle ONYX Reporter