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

Zusammenfassung

Details

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