Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 26.11.2025

Von Version 404.1
bearbeitet von Carina Enke
am 26.11.2025
Änderungskommentar: Migrated property [stableId] from class [Confluence.Code.ConfluencePageClass]
Auf Version 378.1
bearbeitet von sandra_riediger
am 15.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -08 Schnittstelle ONYX Reporter
1 +Schnittstelle ONYX Reporter
Übergeordnete Seite
... ... @@ -1,1 +1,0 @@
1 -ONYX.Systeminformationen.WebHome
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.carina
1 +XWiki.sandra_riediger
Inhalt
... ... @@ -1,25 +1,432 @@
1 -{{section}}
2 -{{column width="60%"}}
1 +{{sv-translation language="de"}}
2 +{{layout}}
3 +{{layout-section ac:type="two_right_sidebar"}}
4 +{{layout-cell}}
5 +====== Inhalt: ======
6 +
7 +
8 +
9 +{{toc maxLevel="5" style="square" outline="true" absoluteUrl="true"/}}
10 +{{/layout-cell}}
11 +
12 +{{layout-cell}}
13 +|=(% colspan="1" %)(% colspan="1" %)
14 +(((
15 +Programmversion
16 +)))|(% colspan="1" %)(% colspan="1" %)
17 +(((
3 3  
4 -{{/column}}
19 +)))
20 +|=(((
21 +Status
22 +)))|(((
23 +(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF
24 +)))
25 +|=(((
26 +Aufgaben
27 +)))|(((
28 +
5 5  
6 -{{column width="30%"}}
7 -{{panel title="Inhalt"}}
8 -{{toc start="2"/}}
9 -{{/panel}}
30 +
31 +)))
32 +|=(((
33 +JIRA
34 +)))|(((
35 +
36 +)))
37 +{{/layout-cell}}
38 +{{/layout-section}}
10 10  
11 -{{panel title="Weiterführende Inhalte"}}
12 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
13 -{{/panel}}
14 -{{/column}}
15 -{{/section}}
40 +{{layout-section ac:type="single"}}
41 +{{layout-cell}}
42 +== Allgemeines ==
16 16  
44 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
17 17  
46 +|(((
47 +armSite
48 +)))|(((
49 +Anmeldung von Folgerequests beim ONYX Reporter.
50 +)))
51 +|(((
52 +initiateSite
53 +)))|(((
54 +Initiiert die Reporter-Session (Übertragung des CPs).
55 +)))
56 +|(((
57 +disarmSite
58 +)))|(((
59 +Freigabe von allen Reporter-Ressourcen für diese Session.
60 +)))
61 +|(((
62 +getResultValues
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.
65 +)))
66 +|(% colspan="1" %)(% colspan="1" %)
67 +(((
68 +getResultVariables
69 +)))|(% colspan="1" %)(% colspan="1" %)
70 +(((
71 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
72 +)))
73 +
74 +== Anmeldung des LMS ==
75 +
76 +{{code title="Anmeldung des LMS" language="xml"}}
77 +@WebMethod(operationName = „armSite")
78 +public String armSite(
79 +@WebParam(name = „version") final Integer version,
80 +@WebParam(name = „userId") final String userId,
81 +@WebParam(name = „optionalRole") final Integer role,
82 +@WebParam(name = „secretToShare") final String secretToShare,
83 +@WebParam(name = „optionalUserLastName") final String userLastName,
84 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
85 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
86 +}
87 +{{/code}}
88 +
89 +=== Parameter armSite ===
90 +
91 +|(((
92 +version
93 +)))|(((
94 +Angefragte Version: 1
95 +)))
96 +|(((
97 +userId
98 +)))|(((
99 +UserId des anfragenden Reporter-Benutzers
100 +)))
101 +|(((
102 +optionalRole
103 +)))|(((
104 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
105 +)))
106 +|(((
107 +secretToShare
108 +)))|(((
109 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
110 +)))
111 +|(((
112 +optionalUserLastName
113 +)))|(((
114 +Optional. Nachname des Benutzers.
115 +)))
116 +|(% colspan="1" %)(% colspan="1" %)
117 +(((
118 +optionalUserFirstName
119 +)))|(% colspan="1" %)(% colspan="1" %)
120 +(((
121 +Optional. Vorname des Benutzers.
122 +)))
123 +|(% colspan="1" %)(% colspan="1" %)
124 +(((
125 +additionalParams
126 +)))|(% colspan="1" %)(% colspan="1" %)
127 +(((
128 +Reserved for future use.
129 +)))
130 +
131 +=== ReturnValue armSite ===
132 +
133 +|(((
134 +String
135 +)))|(((
136 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
137 +)))
138 +
139 +== Initialisierung durch LMS ==
140 +
141 +{{code title="Initialisierung durch LMS" language="xml"}}
142 +@WebMethod(operationName = „initiateSite")
143 +public String initiateSite(
144 +@WebParam(name = „version") final Integer version,
145 +@WebParam(name = „sessionId") final String sessionId,
146 +@WebParam(name = „secretToShare") final String secretToShare,
147 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
148 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
149 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
150 +}
151 +{{/code}}
152 +
153 +=== Parameter initiateSite ===
154 +
155 +|(((
156 +version
157 +)))|(((
158 +Angefragte Version: 1
159 +)))
160 +|(% colspan="1" %)(% colspan="1" %)
161 +(((
162 +sessionId
163 +)))|(% colspan="1" %)(% colspan="1" %)
164 +(((
165 +SessionId, wie von armSite zurück geliefert.
166 +)))
167 +|(((
168 +secretToShare
169 +)))|(((
170 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
171 +)))
172 +|(((
173 +students
174 +)))|(((
175 +Liste der Studenten mit ihren Resultaten. Siehe unten.
176 +)))
177 +|(((
178 +optionalContentPackage
179 +)))|(((
180 +Optional. Content Package (gezippt) als Byte-Array.
181 +)))
182 +|(((
183 +additionalParams
184 +)))|(((
185 +Reserved for future use.
186 +)))
187 +
188 +=== ReturnValue initiateSite ===
189 +
190 +|(((
191 +String
192 +)))|(((
193 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
194 +
195 +* sid: Session ID, wie von armSite zurück gegeben
196 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
197 +)))
198 +
199 +{{code language="xml"}}
200 +public class ResultsForStudent {
201 +   private String studentId = „";
202 +   private String firstname = „";
203 +   private String lastname = „";
204 +   private String groupname = „";
205 +   private String tutorname = „";
206 +   private File contentFile = null;
207 +   private byte[] resultsFile = null;
208 +}
209 +{{/code}}
210 +
211 +== Abmeldung durch LMS ==
212 +
213 +
214 +
215 +{{code}}
216 +@WebMethod(operationName = „disarmSite")
217 +public Boolean disarmSite(
218 +@WebParam(name = „version") final Integer version,
219 +@WebParam(name = „sessionId") final String sessionId,
220 +@WebParam(name = „secretToShare") final String secretToShare,
221 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
222 +}
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 +{{/layout-cell}}
367 +{{/layout-section}}
368 +
369 +{{layout-section ac:type="two_right_sidebar"}}
370 +{{layout-cell}}
371 +
372 +{{/layout-cell}}
373 +
374 +{{layout-cell}}
375 +====== relevante Links: ======
376 +
377 +* [[doc:Schnittstelle ONYX WebPlayer]]
378 +{{/layout-cell}}
379 +{{/layout-section}}
380 +{{/layout}}
381 +{{/sv-translation}}
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"/}}
392 +{{/layout-cell}}
393 +
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 +
411 +
412 +
413 +)))
414 +|=(((
415 +JIRA
416 +)))|(((
417 +
418 +)))
419 +{{/layout-cell}}
420 +{{/layout-section}}
421 +
422 +{{layout-section ac:type="single"}}
423 +{{layout-cell}}
424 +
425 +
18 18  == Allgemeines ==
19 19  
20 20  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
21 21  
22 -(% class="wrapped" %)
23 23  |(((
24 24  armSite
25 25  )))|(((
... ... @@ -50,7 +50,7 @@
50 50  
51 51  == Anmeldung des LMS ==
52 52  
53 -{{code language="xml" title="Anmeldung des LMS"}}
460 +{{code title="Anmeldung des LMS" language="xml"}}
54 54  @WebMethod(operationName = „armSite")
55 55  public String armSite(
56 56  @WebParam(name = „version") final Integer version,
... ... @@ -65,7 +65,6 @@
65 65  
66 66  === Parameter armSite ===
67 67  
68 -(% class="wrapped" %)
69 69  |(((
70 70  version
71 71  )))|(((
... ... @@ -108,7 +108,6 @@
108 108  
109 109  === ReturnValue armSite ===
110 110  
111 -(% class="wrapped" %)
112 112  |(((
113 113  String
114 114  )))|(((
... ... @@ -117,7 +117,7 @@
117 117  
118 118  == Initialisierung durch LMS ==
119 119  
120 -{{code language="xml" title="Initialisierung durch LMS"}}
525 +{{code title="Initialisierung durch LMS" language="xml"}}
121 121  @WebMethod(operationName = „initiateSite")
122 122  public String initiateSite(
123 123  @WebParam(name = „version") final Integer version,
... ... @@ -131,7 +131,6 @@
131 131  
132 132  === Parameter initiateSite ===
133 133  
134 -(% class="wrapped" %)
135 135  |(((
136 136  version
137 137  )))|(((
... ... @@ -167,7 +167,6 @@
167 167  
168 168  === ReturnValue initiateSite ===
169 169  
170 -(% class="wrapped" %)
171 171  |(((
172 172  String
173 173  )))|(((
... ... @@ -191,6 +191,7 @@
191 191  
192 192  == Abmeldung durch LMS ==
193 193  
597 +
194 194  
195 195  {{code}}
196 196  @WebMethod(operationName = „disarmSite")
... ... @@ -202,10 +202,10 @@
202 202  }
203 203  {{/code}}
204 204  
609 +
205 205  
206 206  === Parameter disarmSite ===
207 207  
208 -(% class="wrapped" %)
209 209  |(((
210 210  version
211 211  )))|(((
... ... @@ -239,7 +239,7 @@
239 239  
240 240  == Abfrage von Lernerresultaten durch LMS ==
241 241  
242 -{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
646 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
243 243   @WebMethod(operationName = „getResultValues")
244 244  public HashMapWrapper getResultValues(
245 245   @WebParam(name = „version") final Integer version,
... ... @@ -291,7 +291,7 @@
291 291  
292 292  == Abfrage von Ergebnisvariablen durch LMS ==
293 293  
294 -{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
698 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
295 295   @WebMethod(operationName = „getResultVariables")
296 296  public HashMapWrapper getResultVariables(
297 297  @WebParam(name = „version") final Integer version,
... ... @@ -328,18 +328,22 @@
328 328  
329 329  == Wrapper ==
330 330  
331 -Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
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.
332 332  
333 333  === Wrapper für die HashMap<String, String> ===
334 334  
335 335  HashMapWrapper.java:
336 336  
337 -[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
741 +[[image:attach:HashMapWrapperjava.png]]
338 338  
339 -[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
743 +[[image:attach:HashMapWrapperjava2.png]]
340 340  
341 341  === Wrapper für die ArrayList<ResultsForStudent> ===
342 342  
343 343  ResultsForStudentsWrapper.java:
344 344  
345 -[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
749 +[[image:attach:ResultsForStudentsWrapperjava.png]]
750 +{{/layout-cell}}
751 +{{/layout-section}}
752 +{{/layout}}
753 +{{/sv-translation}}
HashMapWrapperjava.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiGuest
Größe
... ... @@ -1,1 +1,0 @@
1 -135.3 KB
Inhalt
HashMapWrapperjava2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiGuest
Größe
... ... @@ -1,1 +1,0 @@
1 -187.3 KB
Inhalt
ResultsForStudentsWrapperjava.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiGuest
Größe
... ... @@ -1,1 +1,0 @@
1 -83.3 KB
Inhalt
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -3342390
1 +3342793
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342390/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342793/Schnittstelle ONYX Reporter