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