Ä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 340.1
bearbeitet von Carina Enke
am 15.10.2018
Änderungskommentar: Mittels Scroll Versions veröffentlicht aus dem Bereich ONYXintern und Version 1.12.

Zusammenfassung

Details

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