Wiki-Quellcode von ONYX Player Interface

Version 213.1 von Carina Enke am 28.09.2020

Verstecke letzte Bearbeiter
Carina Enke 118.1 1 {{sv-translation language="de"}}
2 {{layout}}
3 {{layout-section ac:type="single"}}
Carina Enke 212.1 4 {{layout-cell}}
5 \\
6 {{/layout-cell}}
Carina Enke 118.1 7 {{/layout-section}}
8
9 {{layout-section ac:type="two_right_sidebar"}}
10 {{layout-cell}}
11 Die Schnittstelle zwischen ONYX Player und der Lernplattform besteht aus folgenden Komponenten:
12
13 * Anmeldung eines Tests durch die Lernplattform beim ONYX Player
14 * Anmeldung eines Teilnehmers durch die Lernplattform beim ONYX Player
15 * Teststeuerung
16 * Ergebnisrückgabe der Testresultate durch den ONYX Player an die Lernplattform
17 * Abmeldung des Tests
18 {{/layout-cell}}
19
20 {{layout-cell}}
Carina Enke 212.1 21 (% class="auto-cursor-target" %)
22 \\
23
Carina Enke 200.1 24 {{scroll-ignore}}
Carina Enke 212.1 25 (% class="auto-cursor-target" %)
26 \\
27
Carina Enke 200.1 28 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
29
30
Carina Enke 118.1 31 {{toc/}}
Carina Enke 200.1 32 {{/panel}}
Carina Enke 212.1 33
34 (% class="auto-cursor-target" %)
35 \\
Carina Enke 200.1 36 {{/scroll-ignore}}
Carina Enke 174.1 37
Carina Enke 212.1 38 (% class="auto-cursor-target" %)
39 \\
40
Carina Enke 200.1 41 {{details hidden="true"}}
42 Diese Informationen werden nicht auf der Seite angezeigt.
43
44 (% class="wrapped" %)
45 |=(% colspan="1" %)(% colspan="1" %)
46 (((
47 Beteiligte
48 )))|(% colspan="1" %)(% colspan="1" %)
49 (((
50 (% class="content-wrapper" %)
51 (((
52 {{contributors order="name"/}}
53 )))
54 )))
55 |=(% colspan="1" %)(% colspan="1" %)
56 (((
57 Deadline
58 )))|(% colspan="1" %)(% colspan="1" %)
59 (((
60 ~/~/
61 )))
62 |=(((
63 Verantwortlicher
64 )))|(((
65 (% class="task-list" %)
66 (((
67 {{task reference="/Tasks/Task_8" status="InProgress"}}
68
69 {{/task}}
70 )))
71 )))
72 |=(% colspan="1" %)(% colspan="1" %)
73 (((
74 Status
75 )))|(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)
76 (((
77 (% class="content-wrapper" %)
78 (((
79 {{sv-metadata default-text="Workflow Status" type="workflow-status"/}}
80 )))
81 )))
82 |=(% colspan="1" %)(% colspan="1" %)
83 (((
84 Varianten
85 )))|(% colspan="1" %)(% colspan="1" %)
86 (((
87 (% class="content-wrapper" %)
88 (((
89 {{sv-metadata default-text="Varianten" type="variants"/}}
90 )))
91 )))
92 |=(% colspan="1" %)(% colspan="1" %)
93 (((
94 Attribute
95 )))|(% colspan="1" %)(% colspan="1" %)
96 (((
97 (% class="content-wrapper" %)
98 (((
99 {{sv-metadata default-text="Attribute" type="attributes"/}}
100 )))
101 )))
102 |=(% colspan="1" %)(% colspan="1" %)
103 (((
104 Pagekey
105 )))|(% colspan="1" %)(% colspan="1" %)
106 (((
107 (% class="content-wrapper" %)
108 (((
109 {{sv-metadata default-text="Pagekey" type="pagekey"/}}
110 )))
111 )))
112 |=(% colspan="1" %)(% colspan="1" %)
113 (((
114 Autorenbemerkung
115 )))|(% colspan="1" %)(% colspan="1" %)
116 (((
117 \\
118 )))
Carina Enke 212.1 119
120 (% class="auto-cursor-target" %)
121 \\
Carina Enke 200.1 122 {{/details}}
123
124 \\
125
126 \\
Carina Enke 118.1 127 {{/layout-cell}}
128 {{/layout-section}}
129
130 {{layout-section ac:type="single"}}
131 {{layout-cell}}
132 == Allgemeines ==
133
134 Der ONYX Player definiert einen WebService. Dieser ist über die URL **<ONYXWebPlayer-URL>/onyx/onyxexamservices** erreichbar.
135
136 Link zur WSDL der öffentlichen Demo-Runtime: (% class="nolink" %)**http:~/~/demo.bps-system.de/onyx/onyxexamservices?wsdl**
137
138 == Anmeldung eines Tests ==
139
140 Bevor Teilnehmer Tests belegen können, müssen diese zuerst bei ONYX angemeldet werden.
141
142 {{code language="xml" title="Anmeldung"}}
143 @WebMethod(operationName = „registerTest")
144 public Long registerTest(
145 @WebParam(name = „testSessionId") final Long testSessionId,
146 @WebParam(name = „providerId") final String providerId,
147 @WebParam(name = „contentPackage") final byte[] contentPackage,
148 @WebParam(name = „parameters") final MapWrapper parameters) throws Exception {
149 }
150 {{/code}}
151
152 === Parameter registerTest ===
153
154 (% class="wrapped" %)
155 |(((
156 testSessionId
157 )))|(((
Carina Enke 174.1 158 Durch die Lernplattform vergebene, eindeutige ID, welche die Kennung für diesen Test
159
160 darstellt.
Carina Enke 118.1 161 )))
162 |(((
163 providerId
164 )))|(((
165 Die Kennung, unter welcher die anfordernde Lernplattform bei ONYX angemeldet ist.
166 )))
167 |(((
168 contentPackage
169 )))|(((
170 Das IMS QTI v2.1 CP (ZIP-File als byte-Array).
171 )))
172 |(((
173 parameters
174 )))|(((
175 (% class="content-wrapper" %)
176 (((
Carina Enke 212.1 177 Liste von Parametern zur Teststeuerung. Weitere Parameter können für den einzelnen Teilnehmer festgelegt werden ([[registerStudent>>doc:ONYXintern.\.ONYX Player Interface v8\.12||anchor="AnmeldungeinesStudenten"]]).
Carina Enke 118.1 178
179 Alle Parameter sind optional. Die Standardeinstellung ist fett gedruckt.
180
Carina Enke 208.1 181 {{info title="Hinweis"}}
182 Seit der ONYX Version 5.15 lässt sich die Feedback- und Auswertungsanzeige für den Teilnehmer während der Testdurchführung genauer steuern. Für diese Funktionalität wurde die Schnittstelle angepasst. Eine detaillierte Beschreibung der Funktionalität aus Anwendersicht bietet der Abschnitt "[[doc:Konfiguration der Testdurchfuehrung]]"(% class="error" %) (%%).
183 {{/info}}
184
185 * showSolution [true|**false**] Soll dem Nutzer die korrekte Antwort anzeigbar sein?
186 * isSynchronized [true|**false**] Handelt es sich um einen Test im Prüfungsmodus, bei dem der Start des Tests über alle Teilnehmer synchronisiert wird?
187 * (((
188 continuationAllowed [true|**false**] Ist es erlaubt, die Testsession jederzeit fortzusetzen? Wenn nicht, muss jeder Teststart über die Lernplattform durchgeführt werden.
Carina Enke 118.1 189 )))
Carina Enke 208.1 190 * suspendAllowed [true|**false**] Ist es erlaubt, den Test zu unterbrechen? In diesem Fall wird eine zusätzliche Taste „Unterbrechen“ angezeigt.
191 * Templateid: Derzeit einzig unterstützt: onyxwithoutnav – führt zur Nichtanzeige des Navigationsbaumes.
192 * dontShowItemTitles (% class="error" %)[true|**false**]: Sollen die Titel der Aufgaben nicht angezeigt werden?
Carina Enke 118.1 193
194
195 {{note}}
Carina Enke 208.1 196 Folgende Parameter sind seit **ONYX Version** **5.15** verfügbar:
Carina Enke 118.1 197 {{/note}}
198
Carina Enke 208.1 199 * testShowScore [**true**|false] Dem Teilnehmer wird nach Testabgabe eine Testabschlusseite angezeigt, welche alle ermittelten Punktwerte, wie die Gesamtpunktzahl des Tests und ggf. Punkte pro Testabschnitt, (nicht) enthält.
200 * testShowPassed (% class="error" %)[true|false](%%) Dem Teilnehmer wird nach Testabgabe eine Testabschlusseite angezeigt, die die Information (nicht) enthält, ob der Test bestanden wurde. Standard ist der in testShowScore gegebene Wert bzw. dessen Standard.
201 * testShowFeedback [**true**|false] Dem Teilnehmer wird nach Testabgabe eine Testabschlusseite angezeigt, welche das durch den Autor definierte Test-Feedback (nicht) enthält.
202 * itemShowFeedback [**true**|false] Dem Teilnehmer wird nach Abgabe seiner Aufgaben-Antwort das durch den Autor definierte Aufgaben-Feedback angezeigt.
203 * itemShowScore [**true**|false] Dem Teilnehmer wird nach Abgabe seiner Aufgaben-Antwort angezeigt, wie viele Punkte er für die Aufgabe erreicht hat..
204 * itemShowCorrect [**true**|false] Dem Teilnehmer wird nach Abgabe seiner Aufgaben-Antwort angezeigt, ob seine Antworten korrekt oder falsch waren. Impliziert itemShowScore=true.
205 * itemShowSolution [**true**|false] Dem Teilnehmer wird nach Abgabe seiner Aufgaben-Antwort die korrekte Lösung angezeigt. Impliziert itemShowCorrect=true und itemShowScore=true.
Carina Enke 118.1 206
207 {{info title="Hinweis"}}
Carina Enke 174.1 208 Werden keine Auswertungsinformationen auf Aufgaben-Ebene angezeigt (itemShowFeedback = false, itemShowScore = false, itemShowCorrect =false, itemShowSolution = false), wird dem Teilnehmer während der Testdurchführung kein Button zur Aufgaben-Abgabe angezeigt. Die Antworten werden zu jeder Zeit gespeichert und nach Test-Abgabe ausgewertet.
Carina Enke 118.1 209 {{/info}}
210
Carina Enke 212.1 211 (% class="auto-cursor-target" %)
212 \\
213
Carina Enke 118.1 214 {{error}}
Carina Enke 212.1 215 Folgende Parameter sind seit **ONYX Version 5.15 (% style="color: rgb(255,0,0);" %)__nicht mehr__(%%)** verfügbar:
Carina Enke 118.1 216 {{/error}}
217
218 * showSolution [**true** |false] - Ersetzt durch testShowScore, testShowPassed, itemShowSolution (inkl. Implikationen)
219 * showFeedback [**true** |false] - Ersetzt durch testShowFeedback sowie itemShowFeedback
220 )))
221 )))
222
223 === ReturnValue registerTest ===
224
225 (% class="wrapped" %)
226 |(((
227 Long
228 )))|(((
229 **Einer der folgenden Werte:**
230
Carina Enke 174.1 231 * WAITING(0) – Warten auf Teststart
Carina Enke 118.1 232 * WORKING(1) – bearbeitet Test
233 * FINISHED(2) – hat Test abgegeben
234 * RESUME_ALLOWED(3) – Fortsetzen erlaubt
235 * NOT_ENTERED(4) – hat Test noch nicht betreten
236 * CANCELED(5) – hat Testbearbeitung abgebrochen
237 * RESUME_REQUESTED(6) – möchte fortsetzen
238 * RESUMED(7) – hat fortgesetzt
239 * DISCONNECTED(8) – Client nicht (mehr) erreichbar
240 * SUSPENDED(9) – Testbearbeitung unterbrochen
241 * RESUME_SUSPENDED(10) – unterbrochene Bearbeitung fortgesetzt
242 * OK(42) – OK
243 )))
244 |(((
245 \\
246 )))|(((
247 **Fehlercodes:**
248
249 * ERROR_RETURN_RESULTS(0xFF01)
250 * ERROR_MULTIPLE_REGISTER_STUDENT_WITH_SAME_ID_CALLS(0xFF02)
251 * ERROR_REGISTER_STUDENT_WITH_UNKNOWN_TEST_ID(0xFF03)
252 * ERROR_REGISTER_STUDENT_WITH_EMPTY_TEST_ID(0xFF04)
253 * ERROR_REGISTER_STUDENT_WITH_EMPTY_STUDENT_ID(0xFF05)
254 * ERROR_REGISTER_STUDENT_TO_RESUME_WITHOUT_PAYLOAD(0xFF06)
255 * ERROR_REGISTER_STUDENT_FOR_UNKNOWN_PROVIDER(0xFF07)
256 * UNKNOWN(-1)
257 )))
258
259 == Anmeldung eines Studenten ==
260
Carina Enke 174.1 261 Nach Anmeldung eines Test können Studenten diesen nutzen. Dazu müssen auch diese angemeldet werden.
Carina Enke 118.1 262
263 {{code title="Anmeldung"}}
264 @WebMethod(operationName = „registerStudent")
265 public Long registerStudent(
266 @WebParam(name = „testSessionId", partName = „testSessionId") final Long test
267 SessionId,
268 @WebParam(name = „studentId", partName = „studentId") final Long studentId,
269 @WebParam(name = „payload", partName = „payload") final byte[] payload,
270 @WebParam(name = „parameters") final MapWrapper parameters) throws Exception {
271 }
272 {{/code}}
273
274 === Parameter registerStudent ===
275
276 (% class="wrapped" %)
277 |(((
278 testSessionId
279 )))|(((
280 Durch die Lernplattform vergebene, eindeutige ID, welche die Kennung für den Test darstellt (siehe registerTest).
281 )))
282 |(((
283 studentId
284 )))|(((
Carina Enke 174.1 285 Eindeutige Kennung für Testteilnehmer. Diese wird von ONYX zurück gemeldet, wenn Statusänderungen oder Ergebnisse übertragen werden.
Carina Enke 118.1 286 )))
287 |(% colspan="1" %)(% colspan="1" %)
288 (((
289 payload
290 )))|(% colspan="1" %)(% colspan="1" %)
291 (((
Carina Enke 174.1 292 Optional. Resultate für den Teilnehmer (bspw. im Fall der Fortsetzung von unterbrochenen Tests)
Carina Enke 118.1 293 )))
294 |(% colspan="1" %)(% colspan="1" %)
295 (((
296 parameters
297 )))|(% colspan="1" %)(% colspan="1" %)
298 (((
299 Liste von Parametern zur Teststeuerung (alle optional, fett gedruckt = Standard):
300
Carina Enke 174.1 301 * language [**de**|en|fr|es] Sprache des Benutzerinterfaces von ONYX.
Carina Enke 118.1 302 * status: Initialer Status des Teilnehmers (aktuell wird nur RESUME_SUSPENDED(10) unterstützt).
303 )))
304
305 === ReturnValue registerStudent ===
306
307 (% class="wrapped" %)
308 |(((
309 Long
310 )))|(((
311 Einer der Werte wie unter Anmeldung eines Tests beschrieben.
312 )))
313
314 == Teststeuerung ==
315
316 Für registrierte Testteilnehmer kann der Status durch die Lernplattform kontrolliert werden, bspw. um nach der Freigabe durch den Betreuer für alle den Test zu starten, am Ende zu beenden oder fortzusetzen.
317
318 {{code title="Teststeuerung"}}
319 @WebMethod(operationName = „testControl")
320 public Long testControl(
321 @WebParam(name = „testSessionId") final Long testSessionId,
322 @WebParam(name = „studentIds") final StudentIdsWrapper students,
323 @WebParam(name = „status") final Integer status,
324 @WebParam(name = „parameters") final MapWrapper parameters) throws Exception {
325 }
326 {{/code}}
327
328 === Parameter testControl ===
329
330 (% class="wrapped" %)
331 |(((
332 testSessionId
333 )))|(((
334 Durch die Lernplattform vergebene, eindeutige ID, welche die Kennung für den Test darstellt (siehe registerTest).
335 )))
336 |(((
337 studentIds
338 )))|(((
339 Liste eindeutiger Kennungen für Testteilnehmer.
340 )))
341 |(((
342 status
343 )))|(((
344 Neu zu setzender Status für die gegebenen Testteilnehmer.
345 )))
346 |(((
347 parameters
348 )))|(((
349 Liste von Parametern zur Teststeuerung (alle optional):
350
351 * addTime: Time in minutes to add to the test session.
352 )))
353
354 === ReturnValue testControl ===
355
356 (% class="wrapped" %)
357 |(((
358 Long
359 )))|(((
360 Einer der Werte wie unter Anmeldung eines Tests beschrieben.
361 )))
362
363 == Speicher aufräumen ==
364
365 Haben alle Teilnehmer den Test durchgeführt, so kann die Lernplattform ONYX mitteilen, dass dieses den Test deregistrieren und den Speicher aufräumen kann.
366
367 {{code title="Teststeuerung"}}
368 @WebMethod(operationName = „deregisterTest")
369 public Long deregisterTest(
370 @WebParam(name = „testSessionId") final Long testSessionId,
371 @WebParam(name = „providerId") final String providerId,
372 @WebParam(name = „parameters") final MapWrapper parameters) throws Exception {
373 }
374 {{/code}}
375
376 === Parameter deregisterTest ===
377
378 (% class="wrapped" %)
379 |(((
380 testSessionId
381 )))|(((
382 Durch die Lernplattform vergebene, eindeutige ID, welche die Kennung für den Test darstellt (siehe registerTest).
383 )))
384 |(((
385 providerId
386 )))|(((
387 Die Kennung, unter welcher die anfordernde Lernplattform bei ONYX angemeldet ist.
388 )))
389 |(((
390 parameters
391 )))|(((
392 Aktuell nicht verwendet.
393 )))
394
395 === ReturnValue deregisterTest ===
396
397 (% class="wrapped" %)
398 |(((
399 Long
400 )))|(((
401 Einer der Werte wie unter Anmeldung eines Tests beschrieben.
402 )))
403
404 == Anzeige des Tests ==
405
406
Carina Enke 174.1 407 Nachdem ein Test beim Player angemeldet wurde, kann er vom Nutzer** exakt ein Mal** angezeigt werden. Dazu muss er von der Lernplattform im Browserfenster einen IFrame mit der Ziel-URL <ONYXWebPlayer-URL>/onyx/onyxrun?id=<UID> angezeigt bekommen, wobei <UID> die bei der Testanmeldung verwendete eindeutige studentId sein muss. Der Test wird dann wieder gegeben. Beendet der Nutzer den Test, so erfolgt eine Rückgabe der Resultate an die Lernplattform. Diese muss dazu eine Webservice-Schnittstelle definieren, welche exakt der unter der folgenden URL verfügbaren WSDL entspricht:
408
Carina Enke 118.1 409 {{note title="URL"}}
410 [[http:~~/~~/demo.bps-system.de/olatce/services/ReturnWSService?wsdl>>url:http://demo.bps-system.de/olatce/services/ReturnWSService?wsdl||shape="rect"]]
411 Lediglich die URL im unteren Teil der WSDL muss an die Lernplattform angepasst werden.
412 {{/note}}
413
414 == Konfiguration des ONYX Players ==
415
416 Der ONYX Player verwendet eine Konfigurationsdatei namens onyxplugin.config.xml. Diese muss im Java Classpath liegen.
417
418 {{error title="Sicherheit"}}
Carina Enke 174.1 419 Sowohl die WSDL des ONYX Player als auch die der Lernplattform sollten „nach außen“ nicht erreichbar/sichtbar sein. Dies gilt ebenso für die jeweiligen WebServices. Die Web-GUI der Lernplattform und ONYX Player hingegen müssen unabhängig davon für alle Nutzer sichtbar und zugreifbar sein. Kommt bei der Testdurchführung HTTPS zum Einsatz (wozu unbedingt zu raten ist), muss der jeweiligen Java VM der Lernplattform und des ONYX Players das entsprechende Zertifikat bekannt sein. Sonst ist die WebService-Kommunikation nicht möglich.
Carina Enke 118.1 420 {{/error}}
Carina Enke 212.1 421
422 (% class="auto-cursor-target" %)
423 \\
Carina Enke 118.1 424 {{/layout-cell}}
425 {{/layout-section}}
426 {{/layout}}
427 {{/sv-translation}}
428
429 {{sv-translation language="en"}}
430 {{layout}}
431 {{layout-section ac:type="two_right_sidebar"}}
432 {{layout-cell}}
433 The API between the ONYX Player and the LMS consists of the following components:
434
Carina Enke 174.1 435 * Registration of a test in the ONYX Player through the LMS
436 * Registration of a participant in the ONYX Player through the LMS
Carina Enke 118.1 437 * Test control
Carina Enke 174.1 438 * Return of test results to the LMS by the ONYX Player
Carina Enke 118.1 439 * Deregistration of the test
440 {{/layout-cell}}
441
442 {{layout-cell}}
443 {{scroll-ignore}}
444 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Content"}}
445
446
447 {{toc/}}
448 {{/panel}}
449 {{/scroll-ignore}}
450 {{/layout-cell}}
451 {{/layout-section}}
452
453 {{layout-section ac:type="single"}}
454 {{layout-cell}}
455 == General information ==
456
Carina Enke 174.1 457 The ONYX Player defines a web service, which can be reached via the URL **<ONYXPlayer-URL>/onyx/onyxexamservices**.
Carina Enke 118.1 458
Carina Enke 212.1 459 Link to the WSDL of the public demo runtime: [[http:~~/~~/demo.bps-system.de/onyx/>>url:http://demo.bps-system.de/onyx/||shape="rect"]][[onyxexamservices?wsdl>>url:http://demo.bps-system.de/onyx/onyxexamservices?wsdl||shape="rect"]]
Carina Enke 118.1 460
461 == Registration of a test ==
462
Carina Enke 174.1 463
Carina Enke 118.1 464 Before participants can take tests, the tests need to be registered with ONYX.
465
466 {{code language="xml" title="Registration"}}
467 @WebMethod(operationName = „registerTest")
468 public Long registerTest(
469 @WebParam(name = „testSessionId") final Long testSessionId,
470 @WebParam(name = „providerId") final String providerId,
471 @WebParam(name = „contentPackage") final byte[] contentPackage,
472 @WebParam(name = „parameters") final MapWrapper parameters) throws Exception {
473 }
474 {{/code}}
475
Carina Enke 174.1 476 === Parameter registerTest ===
Carina Enke 118.1 477
478 |(((
479 testSessionId
480 )))|(((
481 Unique ID assigned by the LMS, which serves as an identifier for this test.
482 )))
483 |(((
484 providerId
485 )))|(((
486 Identification under which the requesting LMS is registrated with ONYX.
487 )))
488 |(((
489 contentPackage
490 )))|(((
491 The IMS QTI v2.1 CP (zip file as byte array).
492 )))
493 |(((
494 parameters
495 )))|(((
496 (% class="TableParagraph" %)
Carina Enke 212.1 497 List of parameters to control the test. Additional parameters can be set for individual participants ((% style="color: rgb(13,78,168);" %)registerStudent(%%)).
Carina Enke 118.1 498
499 (% class="TableParagraph" %)
Carina Enke 212.1 500 All parameters are optional. The default setting is shown in bold.
Carina Enke 118.1 501
Carina Enke 200.1 502 {{info title="Note"}}
503 Since ONYX version 5.15, the feedback and assessment display for the participant can be controlled more precisely during the test execution. The interface has been adapted for this functionality. For a more detailed description of the functionality from the user perspective, see section "[[Configuration of the test implementation>>url:https://www.bps-system.de/help/display/ONYXintern/.Konfiguration+der+Testdurchfuehrung+v1.11||shape="rect"]]".
504 {{/info}}
Carina Enke 118.1 505
Carina Enke 200.1 506 * showSolution [true|**false**] Should the correct answer be displayed to the user?
507 * isSynchronized [true|**false**] Is it a test in the exam mode for which the test start is synchronised for all users?
508 * continuationAllowed [true|**false**] Is it allowed to continue the test session at any time? If not, each test start must be performed via the LMS.
509 * suspendAllowed [true|f**alse**] Is it is allowed to interrupt the test? If this is the case, the additional button "Suspend" will be displayed.
510 * Templateid: Currently only supported: onyxwithoutnav - hides the navigation tree.
511 * dontShowItemTitles [true|**false**]: Are the titles of the tasks supposed to be displayed?
Carina Enke 118.1 512 \\
513
514 {{note}}
Carina Enke 174.1 515 The following parameters are available since **version 5.15:**
Carina Enke 118.1 516 {{/note}}
517
Carina Enke 200.1 518 * testShowScore [**true**|false] A test completion page is displayed to the participant after the submission of the test, which can contain all determined point values, such as the total test score and the points per test section.
519 * testShowPassed [**true**|false] A test completion page is displayed to the participant after the submission of the test, which can contain information about the passed status of this test. Default is the value given in testShowScore or its default.
520 * testShowFeedback [**true**|false] A test completion page is displayed to the participant after the submission of the test, which can contain the test feedback defined by the author.
521 * itemShowFeedback [**true**|false] The task feedback defined by the author is displayed to the participant after the task has been answered.
522 * itemShowScore [**true**|false] The participant is shown the number of points achieved for the task after the submission of their answer.
523 * itemShowCorrect [**true**|false] The participant is shown whether their answer was correct or wrong after the submission of their answer. Implies itemShowScore=true.
524 * itemShowSolution [**true**|false] The participant is shown the correct solution after the submission of their answer. Implies itemShowCorrect=true and itemShowScore=true.
Carina Enke 174.1 525 \\
Carina Enke 118.1 526
527 {{info title="Note"}}
Carina Enke 174.1 528 If no evaluation information is displayed on task level (itemShowFeedback = false, itemShowScore = false, itemShowCorrect = false, itemShowSolution = false), the participant will not be shown the button to submit the task during the test implementation. The answers are saved at any time and assessed after the submission of the test.
Carina Enke 118.1 529 {{/info}}
530
531 {{error}}
Carina Enke 212.1 532 The following parameters are (% style="color: rgb(255,0,0);" %)**__no longer__**(%%)** **available since **ONYX** **version 5.15**:
Carina Enke 118.1 533 {{/error}}
534
535 * showSolution [**true **|false] - Replaced by testShowScore, testShowPassed, itemShowSolution (including implications)
536 * showFeedback [**true **|false] - Replaced by testShowFeedback and itemShowFeedback
537 )))
538
539 === ReturnValue registerTest ===
540
541 |(((
542 Long
543 )))|(((
544 **One of the following values:**
545
546 * WAITING(0) – waiting for test start
547 * WORKING(1) – is processing the test
Carina Enke 174.1 548 * FINISHED(2) – handed in the test
Carina Enke 118.1 549 * RESUME_ALLOWED(3) – resuming allowed
550 * NOT_ENTERED(4) – has not yet entered the test
Carina Enke 174.1 551 * CANCELED(5) – has interrupted the testing process
552 * RESUME_REQUESTED(6) – wants to continue
Carina Enke 118.1 553 * RESUMED(7) – has continued
554 * DISCONNECTED(8) – client is not / no longer reachable
555 * SUSPENDED(9) – testing process has been interrupted
Carina Enke 174.1 556 * RESUME_SUSPENDED(10) – interrupted testing is continued
Carina Enke 118.1 557 * OK(42) – OK
558 )))
559 |(((
Carina Enke 212.1 560
Carina Enke 118.1 561 )))|(((
562 **Error codes:**
563
564 * ERROR_RETURN_RESULTS(0xFF01)
565 * ERROR_MULTIPLE_REGISTER_STUDENT_WITH_SAME_ID_CALLS(0xFF02)
566 * ERROR_REGISTER_STUDENT_WITH_UNKNOWN_TEST_ID(0xFF03)
567 * ERROR_REGISTER_STUDENT_WITH_EMPTY_TEST_ID(0xFF04)
568 * ERROR_REGISTER_STUDENT_WITH_EMPTY_STUDENT_ID(0xFF05)
569 * ERROR_REGISTER_STUDENT_TO_RESUME_WITHOUT_PAYLOAD(0xFF06)
570 * ERROR_REGISTER_STUDENT_FOR_UNKNOWN_PROVIDER(0xFF07)
571 * UNKNOWN(-1)
572 )))
573
574 == Registration of a student ==
575
Carina Enke 174.1 576 After a test has been registered, students can use it. Provided that they have been registered themselves.
Carina Enke 118.1 577
578 {{code title="Registration"}}
579 @WebMethod(operationName = „registerStudent")
580 public Long registerStudent(
581 @WebParam(name = „testSessionId", partName = „testSessionId") final Long test
582 SessionId,
583 @WebParam(name = „studentId", partName = „studentId") final Long studentId,
584 @WebParam(name = „payload", partName = „payload") final byte[] payload,
585 @WebParam(name = „parameters") final MapWrapper parameters) throws Exception {
586 }
587 {{/code}}
588
Carina Enke 174.1 589 === Parameter registerStudent ===
Carina Enke 118.1 590
591 |(((
592 testSessionId
593 )))|(((
594 (% class="TableParagraph" %)
595 Unique ID assigned by the LMS, which serves as an identifier for the test (cf. registerTest).
596 )))
597 |(((
598 studentId
599 )))|(((
600 (% class="TableParagraph" %)
601 Unique identification for test participants. ID will be returned by ONYX when status changes or results are transmitted.
602 )))
603 |(% colspan="1" %)(% colspan="1" %)
604 (((
605 payload
606 )))|(% colspan="1" %)(% colspan="1" %)
607 (((
608 (% class="TableParagraph" %)
Carina Enke 174.1 609 Optional. Results for the participant (e.g. if interrupted tests are continued)
Carina Enke 118.1 610 )))
611 |(% colspan="1" %)(% colspan="1" %)
612 (((
613 parameters
614 )))|(% colspan="1" %)(% colspan="1" %)
615 (((
616 (% class="TableParagraph" %)
Carina Enke 174.1 617 List of parameters to control the test (all optional, bold = default):
Carina Enke 118.1 618
Carina Enke 174.1 619 * Language [**de**|en|fr|es] Language of the ONYX user interface.
Carina Enke 118.1 620 * Status: Initial status of the participant (currently only RESUME_SUSPENDED(10) is supported).
621 )))
622
623 === ReturnValue registerStudent ===
624
625 |(((
626 Long
627 )))|(((
Carina Enke 174.1 628 One of the values as described under registration of a test.
Carina Enke 118.1 629 )))
630
631 == Test control ==
632
Carina Enke 174.1 633 For registered test participants, the status can be controlled by the LMS, for example, to start, finish, or continue the test after its release by the tutor.
Carina Enke 118.1 634
635 {{code title="Test control"}}
636 @WebMethod(operationName = „testControl")
637 public Long testControl(
638 @WebParam(name = „testSessionId") final Long testSessionId,
639 @WebParam(name = „studentIds") final StudentIdsWrapper students,
640 @WebParam(name = „status") final Integer status,
641 @WebParam(name = „parameters") final MapWrapper parameters) throws Exception {
642 }
643 {{/code}}
644
Carina Enke 174.1 645 === Parameter testControl ===
Carina Enke 118.1 646
647 |(((
648 testSessionId
649 )))|(((
650 Unique ID assigned by the LMS, which serves as an identifier for the test (cf. registerTest).
651 )))
652 |(((
653 studentIds
654 )))|(((
655 List of unique IDs for test participants.
656 )))
657 |(((
658 status
659 )))|(((
660 New status to be set for the given test participants.
661 )))
662 |(((
663 parameters
664 )))|(((
Carina Enke 174.1 665 List of parameters to control the test (all optional):
Carina Enke 118.1 666
667 * addTime: Time in minutes to add to the test session.
668 )))
669
670 === ReturnValue testControl ===
671
672 |(((
673 Long
674 )))|(((
Carina Enke 174.1 675 One of the values as described under registration of a test.
Carina Enke 118.1 676 )))
677
678 == Clear storage ==
679
680 When all participants have finished the test, the LMS can inform ONYX to deregister the test and to clear the storage.
681
682 {{code title="Test control"}}
683 @WebMethod(operationName = „deregisterTest")
684 public Long deregisterTest(
685 @WebParam(name = „testSessionId") final Long testSessionId,
686 @WebParam(name = „providerId") final String providerId,
687 @WebParam(name = „parameters") final MapWrapper parameters) throws Exception {
688 }
689 {{/code}}
690
Carina Enke 174.1 691 === Parameter deregisterTest ===
Carina Enke 118.1 692
693 |(((
694 testSessionId
695 )))|(((
696 Unique ID assigned by the LMS, which serves as an identifier for the test (cf. registerTest).
697 )))
698 |(((
699 providerId
700 )))|(((
701 Identification under which the requesting LMS is registered with ONYX.
702 )))
703 |(((
704 parameters
705 )))|(((
706 Currently not used.
707 )))
708
709 === ReturnValue deregisterTest ===
710
711 |(((
712 Long
713 )))|(((
Carina Enke 174.1 714 One of the values as described under registration of a test.
Carina Enke 118.1 715 )))
716
717 == Test display ==
718
Carina Enke 174.1 719 After a test has been registered with the Player, it will be displayed to the user **exactly once**. For this reason, the LMS will show an IFrame with the target URL <ONYXWebPlayer-URL>/onyx/onyxrun?id=<UID> in the browser window. The <UID> must be the unique studentId used in the test registration. The test will then be started. If the user finishes the test, the results are returned to the LMS. The LMS then needs to define a web service API that exactly matches the WSDL available under the following URL:
Carina Enke 118.1 720
721 {{note title="URL"}}
Carina Enke 212.1 722 [[http:~~/~~/demo.bps-system.de/olatce/services/ReturnWSService?wsdl>>url:http://demo.bps-system.de/olatce/services/ReturnWSService?wsdl||shape="rect"]]
Carina Enke 118.1 723 Only the URL in the lower part of the WSDL has to be adapted to the LMS.
724 {{/note}}
725
726 == Configuration of the ONYX Player ==
727
Carina Enke 212.1 728 The ONYX Player uses a configuration file named onyxplugin.config.xml, which must be stored in the Java Classpath. It is defined as follows:
Carina Enke 118.1 729
Carina Enke 212.1 730 [[image:attach:SchnittstellePlayer.png]]
731
Carina Enke 118.1 732 {{error title="Security"}}
Carina Enke 174.1 733 Both the WSDL of the ONYX Player and the LMS should not be accessible/visible from the outside. This also applies to the respective web services. The web GUI of the LMS and the ONYX Player, in contrast, must be visible to and accessible for all users. If HTTPS is used during the test execution (recommended), the appropriate certificate must be known to the corresponding JVM of the LMS and the ONYX Player. Otherwise web service communication is not possible.
Carina Enke 118.1 734 {{/error}}
735 {{/layout-cell}}
736 {{/layout-section}}
737 {{/layout}}
738 {{/sv-translation}}