Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 24.11.2025

Von Version 351.1
bearbeitet von tleu
am 23.06.2015
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 374.1
bearbeitet von tleu
am 01.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
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,11 +6,34 @@
6 6  
7 7  
8 8  
9 -{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}}
8 +{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
10 10  {{/layout-cell}}
11 11  
12 12  {{layout-cell}}
12 +|=(% colspan="1" %)(% colspan="1" %)
13 +(((
14 +Programmversion
15 +)))|(% colspan="1" %)(% colspan="1" %)
16 +(((
13 13  
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 +)))
14 14  {{/layout-cell}}
15 15  {{/layout-section}}
16 16  
... ... @@ -38,7 +38,9 @@
38 38  |(((
39 39  getResultValues
40 40  )))|(((
41 -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.
42 42  )))
43 43  |(% colspan="1" %)(% colspan="1" %)
44 44  (((
... ... @@ -50,8 +50,7 @@
50 50  
51 51  == Anmeldung des LMS ==
52 52  
53 -{{code language="xml" title="Anmeldung des LMS"}}
54 -@WebMethod(operationName = „armSite")
77 +{{code title="Anmeldung des LMS" language="xml"}}@WebMethod(operationName = „armSite")
55 55  public String armSite(
56 56  @WebParam(name = „version") final Integer version,
57 57  @WebParam(name = „userId") final String userId,
... ... @@ -60,649 +60,53 @@
60 60  @WebParam(name = „optionalUserLastName") final String userLastName,
61 61  @WebParam(name = „optionalUserFirstName") final String userFirstName,
62 62  @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
63 -}
64 -{{/code}}
86 +}{{/code}}Parameter armSite
65 65  
66 -=== Parameter armSite ===
67 -
68 68  |(((
69 -version
89 +
70 70  )))|(((
71 -Angefragte Version: 1
91 +
72 72  )))
73 73  |(((
74 -userId
94 +
75 75  )))|(((
76 -UserId des anfragenden Reporter-Benutzers
96 +
77 77  )))
78 78  |(((
79 -optionalRole
99 +
80 80  )))|(((
81 -Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
101 +
82 82  )))
83 83  |(((
84 -secretToShare
104 +
85 85  )))|(((
86 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
106 +
87 87  )))
88 88  |(((
89 -optionalUserLastName
90 -)))|(((
91 -Optional. Nachname des Benutzers.
92 -)))
93 -|(% colspan="1" %)(% colspan="1" %)
94 -(((
95 -optionalUserFirstName
96 -)))|(% colspan="1" %)(% colspan="1" %)
97 -(((
98 -Optional. Vorname des Benutzers.
99 -)))
100 -|(% colspan="1" %)(% colspan="1" %)
101 -(((
102 -additionalParams
103 -)))|(% colspan="1" %)(% colspan="1" %)
104 -(((
105 -Reserved for future use.
106 -)))
107 -
108 -=== ReturnValue armSite ===
109 -
110 -|(((
111 -String
112 -)))|(((
113 -Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
114 -)))
115 -
116 -== Initialisierung durch LMS ==
117 -
118 -{{code language="xml" title="Initialisierung durch LMS"}}
119 -@WebMethod(operationName = „initiateSite")
120 -public String initiateSite(
121 -@WebParam(name = „version") final Integer version,
122 -@WebParam(name = „sessionId") final String sessionId,
123 -@WebParam(name = „secretToShare") final String secretToShare,
124 -@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
125 -@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
126 -@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
127 -}
128 -{{/code}}
129 -
130 -=== Parameter initiateSite ===
131 -
132 -|(((
133 -version
134 -)))|(((
135 -Angefragte Version: 1
136 -)))
137 -|(% colspan="1" %)(% colspan="1" %)
138 -(((
139 -sessionId
140 -)))|(% colspan="1" %)(% colspan="1" %)
141 -(((
142 -SessionId, wie von armSite zurück geliefert.
143 -)))
144 -|(((
145 -secretToShare
146 -)))|(((
147 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
148 -)))
149 -|(((
150 -students
151 -)))|(((
152 -Liste der Studenten mit ihren Resultaten. Siehe unten.
153 -)))
154 -|(((
155 -optionalContentPackage
156 -)))|(((
157 -Optional. Content Package (gezippt) als Byte-Array.
158 -)))
159 -|(((
160 -additionalParams
161 -)))|(((
162 -Reserved for future use.
163 -)))
164 -
165 -=== ReturnValue initiateSite ===
166 -
167 -|(((
168 -String
169 -)))|(((
170 -Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
171 -
172 -* sid: Session ID, wie von armSite zurück gegeben
173 -* uid: Student ID, wie in initiateSite beim Reporter angemeldet
174 -)))
175 -
176 -{{code language="xml"}}
177 -public class ResultsForStudent {
178 -   private String studentId = „";
179 -   private String firstname = „";
180 -   private String lastname = „";
181 -   private String groupname = „";
182 -   private String tutorname = „";
183 -   private File contentFile = null;
184 -   private byte[] resultsFile = null;
185 -}
186 -{{/code}}
187 -
188 -== Abmeldung durch LMS ==
189 -
190 190  
191 -
192 -{{code}}
193 -@WebMethod(operationName = „disarmSite")
194 -public Boolean disarmSite(
195 -@WebParam(name = „version") final Integer version,
196 -@WebParam(name = „sessionId") final String sessionId,
197 -@WebParam(name = „secretToShare") final String secretToShare,
198 -@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
199 -}
200 -{{/code}}
201 -
202 -
203 -
204 -=== Parameter disarmSite ===
205 -
206 -|(((
207 -version
208 208  )))|(((
209 -Angefragte Version: 1
111 +
210 210  )))
211 -|(% colspan="1" %)(% colspan="1" %)
212 -(((
213 -sessionId
214 -)))|(% colspan="1" %)(% colspan="1" %)
215 -(((
216 -SessionId, wie von armSite zurück geliefert.
217 -)))
218 -|(((
219 -secretToShare
220 -)))|(((
221 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
222 -)))
223 -|(((
224 -additionalParams
225 -)))|(((
226 -Reserved for future use.
227 -)))
228 228  
229 -=== ReturnValue disarmSite ===
114 += Überschrift2 =
230 230  
231 -|(((
232 -Boolean
233 -)))|(((
234 -True bei Erfolg, sonst false.
235 -)))
236 -
237 -== Abfrage von Lernerresultaten durch LMS ==
238 -
239 -{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
240 - @WebMethod(operationName = „getResultValues")
241 -public HashMapWrapper getResultValues(
242 - @WebParam(name = „version") final Integer version,
243 - @WebParam(name = „sessionId") final String sessionId,
244 - @WebParam(name = „secretToShare") final String secretToShare,
245 - @WebParam(name = „requestedValues") final HashMap<String, String>
246 - requestedValues,
247 - @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
248 -}
249 -{{/code}}
250 -
251 -=== Parameter getResultValues ===
252 -
253 -|(((
254 -version
255 -)))|(((
256 -Angefragte Version: 1
257 -)))
258 -|(% colspan="1" %)(% colspan="1" %)
259 -(((
260 -sessionId
261 -)))|(% colspan="1" %)(% colspan="1" %)
262 -(((
263 -SessionId, wie von armSite zurück geliefert.
264 -)))
265 -|(((
266 -secretToShare
267 -)))|(((
268 -Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
269 -)))
270 -|(((
271 -requestedValues
272 -)))|(((
273 -Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
274 -)))
275 -|(((
276 -additionalParams
277 -)))|(((
278 -Reserved for future use.
279 -)))
280 -
281 -=== ReturnValue getResultValues ===
282 -
283 -|(((
284 -HashMap<String, String>
285 -)))|(((
286 -Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
287 -)))
288 -
289 -== Abfrage von Ergebnisvariablen durch LMS ==
290 -
291 -{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
292 - @WebMethod(operationName = „getResultVariables")
293 -public HashMapWrapper getResultVariables(
294 -@WebParam(name = „version") final Integer version,
295 -@WebParam(name = „contentPackage") final byte[] contentPackage,
296 -@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
297 -}
298 -{{/code}}
299 -
300 -=== Parameter getResultVariables ===
301 -
302 -|(((
303 -version
304 -)))|(((
305 -Angefragte Version: 1
306 -)))
307 -|(((
308 -contentPackage
309 -)))|(((
310 -Content Package (gezippt) als Byte-Array.
311 -)))
312 -|(((
313 -additionalParams
314 -)))|(((
315 -Reserved for future use.
316 -)))
317 -
318 -=== ReturnValue getResultVariables ===
319 -
320 -|(((
321 -HashMap<String, String>
322 -)))|(((
323 -Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
324 -)))
325 -
326 -== Wrapper ==
327 -
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.
329 -
330 -=== Wrapper für die HashMap<String, String> ===
331 -
332 -HashMapWrapper.java:
333 -
334 -[[image:attach:HashMapWrapperjava.png]]
335 -
336 -[[image:attach:HashMapWrapperjava2.png]]
337 -
338 -=== Wrapper für die ArrayList<ResultsForStudent> ===
339 -
340 -ResultsForStudentsWrapper.java:
341 -
342 -[[image:attach:ResultsForStudentsWrapperjava.png]]
116 +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam fermentum vestibulum est. Cras rhoncus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed quis tortor. Donec non ipsum. Mauris condimentum, odio nec porta tristique, ante neque malesuada massa, in dignissim eros velit at tellus. Donec et risus in ligula eleifend consectetuer. Donec volutpat eleifend augue. Integer gravida sodales leo. Nunc vehicula neque ac erat. Vivamus non nisl. Fusce ac magna. Suspendisse euismod libero eget mauris.
343 343  {{/layout-cell}}
344 344  {{/layout-section}}
345 345  
346 346  {{layout-section ac:type="two_right_sidebar"}}
347 347  {{layout-cell}}
348 -
349 -{{/layout-cell}}
122 +====== untergeordnete Seiten: ======
350 350  
351 -{{layout-cell}}
352 -====== relevante Links: ======
353 353  
354 -* [[doc:Schnittstelle ONYX Player]]
355 -{{/layout-cell}}
356 -{{/layout-section}}
357 -{{/layout}}
358 -{{/sv-translation}}
359 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"/}}
126 +{{children all="true"/}}
369 369  {{/layout-cell}}
370 370  
371 371  {{layout-cell}}
372 -
373 -{{/layout-cell}}
374 -{{/layout-section}}
130 +====== relevante Links: ======
375 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]]
132 +* [[lorem ipsum>>url:https://www.bps-system.de/help/display/OPAL/Handbuch+OPAL||shape="rect"]]
705 705  {{/layout-cell}}
706 706  {{/layout-section}}
707 707  {{/layout}}
708 -{{/sv-translation}}
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -146964903
1 +3342392
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/146964903/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342392/Schnittstelle ONYX Reporter