Ä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
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
am 15.12.2014
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (4 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 0 hinzugefügt, 3 gelöscht)
-
Objekte (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 - 08Schnittstelle ONYX Reporter1 +Schnittstelle ONYX Reporter - Übergeordnete Seite
-
... ... @@ -1,1 +1,0 @@ 1 -ONYX.Systeminformationen.WebHome - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. carina1 +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 -3342 3901 +3342793 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342 390/Schnittstelle ONYX Reporter1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342793/Schnittstelle ONYX Reporter