Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 401.1
bearbeitet von Carina Enke
am 13.02.2024
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 379.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 -10 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,27 +1,432 @@
1 +{{sv-translation language="de"}}
1 1  {{layout}}
2 2  {{layout-section ac:type="two_right_sidebar"}}
3 3  {{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 +(((
4 4  
19 +)))
20 +|=(((
21 +Status
22 +)))|(((
23 +(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF
24 +)))
25 +|=(((
26 +Aufgaben
27 +)))|(((
28 +
29 +
30 +
31 +)))
32 +|=(((
33 +JIRA
34 +)))|(((
35 +
36 +)))
5 5  {{/layout-cell}}
38 +{{/layout-section}}
6 6  
40 +{{layout-section ac:type="single"}}
7 7  {{layout-cell}}
8 -{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
9 -{{toc start="2"/}}
42 +== Allgemeines ==
10 10  
11 - **Weitere Informationen:**
44 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
12 12  
13 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
14 -{{/panel}}
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]]
15 15  {{/layout-cell}}
16 16  {{/layout-section}}
17 17  
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 +
18 18  {{layout-section ac:type="single"}}
19 19  {{layout-cell}}
424 +
425 +
20 20  == Allgemeines ==
21 21  
22 22  Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
23 23  
24 -(% class="wrapped" %)
25 25  |(((
26 26  armSite
27 27  )))|(((
... ... @@ -52,7 +52,7 @@
52 52  
53 53  == Anmeldung des LMS ==
54 54  
55 -{{code language="xml" title="Anmeldung des LMS"}}
460 +{{code title="Anmeldung des LMS" language="xml"}}
56 56  @WebMethod(operationName = „armSite")
57 57  public String armSite(
58 58  @WebParam(name = „version") final Integer version,
... ... @@ -67,7 +67,6 @@
67 67  
68 68  === Parameter armSite ===
69 69  
70 -(% class="wrapped" %)
71 71  |(((
72 72  version
73 73  )))|(((
... ... @@ -110,7 +110,6 @@
110 110  
111 111  === ReturnValue armSite ===
112 112  
113 -(% class="wrapped" %)
114 114  |(((
115 115  String
116 116  )))|(((
... ... @@ -119,7 +119,7 @@
119 119  
120 120  == Initialisierung durch LMS ==
121 121  
122 -{{code language="xml" title="Initialisierung durch LMS"}}
525 +{{code title="Initialisierung durch LMS" language="xml"}}
123 123  @WebMethod(operationName = „initiateSite")
124 124  public String initiateSite(
125 125  @WebParam(name = „version") final Integer version,
... ... @@ -133,7 +133,6 @@
133 133  
134 134  === Parameter initiateSite ===
135 135  
136 -(% class="wrapped" %)
137 137  |(((
138 138  version
139 139  )))|(((
... ... @@ -169,7 +169,6 @@
169 169  
170 170  === ReturnValue initiateSite ===
171 171  
172 -(% class="wrapped" %)
173 173  |(((
174 174  String
175 175  )))|(((
... ... @@ -193,6 +193,7 @@
193 193  
194 194  == Abmeldung durch LMS ==
195 195  
597 +
196 196  
197 197  {{code}}
198 198  @WebMethod(operationName = „disarmSite")
... ... @@ -204,10 +204,10 @@
204 204  }
205 205  {{/code}}
206 206  
609 +
207 207  
208 208  === Parameter disarmSite ===
209 209  
210 -(% class="wrapped" %)
211 211  |(((
212 212  version
213 213  )))|(((
... ... @@ -233,7 +233,6 @@
233 233  
234 234  === ReturnValue disarmSite ===
235 235  
236 -(% class="wrapped" %)
237 237  |(((
238 238  Boolean
239 239  )))|(((
... ... @@ -242,7 +242,7 @@
242 242  
243 243  == Abfrage von Lernerresultaten durch LMS ==
244 244  
245 -{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
646 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
246 246   @WebMethod(operationName = „getResultValues")
247 247  public HashMapWrapper getResultValues(
248 248   @WebParam(name = „version") final Integer version,
... ... @@ -256,7 +256,6 @@
256 256  
257 257  === Parameter getResultValues ===
258 258  
259 -(% class="wrapped" %)
260 260  |(((
261 261  version
262 262  )))|(((
... ... @@ -287,7 +287,6 @@
287 287  
288 288  === ReturnValue getResultValues ===
289 289  
290 -(% class="wrapped" %)
291 291  |(((
292 292  HashMap<String, String>
293 293  )))|(((
... ... @@ -296,7 +296,7 @@
296 296  
297 297  == Abfrage von Ergebnisvariablen durch LMS ==
298 298  
299 -{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
698 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
300 300   @WebMethod(operationName = „getResultVariables")
301 301  public HashMapWrapper getResultVariables(
302 302  @WebParam(name = „version") final Integer version,
... ... @@ -307,7 +307,6 @@
307 307  
308 308  === Parameter getResultVariables ===
309 309  
310 -(% class="wrapped" %)
311 311  |(((
312 312  version
313 313  )))|(((
... ... @@ -326,7 +326,6 @@
326 326  
327 327  === ReturnValue getResultVariables ===
328 328  
329 -(% class="wrapped" %)
330 330  |(((
331 331  HashMap<String, String>
332 332  )))|(((
... ... @@ -335,21 +335,22 @@
335 335  
336 336  == Wrapper ==
337 337  
338 -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.
339 339  
340 340  === Wrapper für die HashMap<String, String> ===
341 341  
342 342  HashMapWrapper.java:
343 343  
344 -[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
741 +[[image:attach:HashMapWrapperjava.png]]
345 345  
346 -[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
743 +[[image:attach:HashMapWrapperjava2.png]]
347 347  
348 348  === Wrapper für die ArrayList<ResultsForStudent> ===
349 349  
350 350  ResultsForStudentsWrapper.java:
351 351  
352 -[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
749 +[[image:attach:ResultsForStudentsWrapperjava.png]]
353 353  {{/layout-cell}}
354 354  {{/layout-section}}
355 355  {{/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