Wiki-Quellcode von ONYX Player Interface

Version 253.1 von Carina Enke am 09.03.2020

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