Wiki-Quellcode von ONYX Player Interface

Version 213.1 von Carina Enke am 28.09.2020

Zeige letzte Bearbeiter
1 {{sv-translation language="de"}}
2 {{layout}}
3 {{layout-section ac:type="single"}}
4 {{layout-cell}}
5 \\
6 {{/layout-cell}}
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}}
21 (% class="auto-cursor-target" %)
22 \\
23
24 {{scroll-ignore}}
25 (% class="auto-cursor-target" %)
26 \\
27
28 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
29
30
31 {{toc/}}
32 {{/panel}}
33
34 (% class="auto-cursor-target" %)
35 \\
36 {{/scroll-ignore}}
37
38 (% class="auto-cursor-target" %)
39 \\
40
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 )))
119
120 (% class="auto-cursor-target" %)
121 \\
122 {{/details}}
123
124 \\
125
126 \\
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 )))|(((
158 Durch die Lernplattform vergebene, eindeutige ID, welche die Kennung für diesen Test
159
160 darstellt.
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 (((
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"]]).
178
179 Alle Parameter sind optional. Die Standardeinstellung ist fett gedruckt.
180
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.
189 )))
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?
193
194
195 {{note}}
196 Folgende Parameter sind seit **ONYX Version** **5.15** verfügbar:
197 {{/note}}
198
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.
206
207 {{info title="Hinweis"}}
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.
209 {{/info}}
210
211 (% class="auto-cursor-target" %)
212 \\
213
214 {{error}}
215 Folgende Parameter sind seit **ONYX Version 5.15 (% style="color: rgb(255,0,0);" %)__nicht mehr__(%%)** verfügbar:
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
231 * WAITING(0) – Warten auf Teststart
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
261 Nach Anmeldung eines Test können Studenten diesen nutzen. Dazu müssen auch diese angemeldet werden.
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 )))|(((
285 Eindeutige Kennung für Testteilnehmer. Diese wird von ONYX zurück gemeldet, wenn Statusänderungen oder Ergebnisse übertragen werden.
286 )))
287 |(% colspan="1" %)(% colspan="1" %)
288 (((
289 payload
290 )))|(% colspan="1" %)(% colspan="1" %)
291 (((
292 Optional. Resultate für den Teilnehmer (bspw. im Fall der Fortsetzung von unterbrochenen Tests)
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
301 * language [**de**|en|fr|es] Sprache des Benutzerinterfaces von ONYX.
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
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
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"}}
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
422 (% class="auto-cursor-target" %)
423 \\
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
435 * Registration of a test in the ONYX Player through the LMS
436 * Registration of a participant in the ONYX Player through the LMS
437 * Test control
438 * Return of test results to the LMS by the ONYX Player
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
457 The ONYX Player defines a web service, which can be reached via the URL **<ONYXPlayer-URL>/onyx/onyxexamservices**.
458
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"]]
460
461 == Registration of a test ==
462
463
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
476 === Parameter registerTest ===
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" %)
497 List of parameters to control the test. Additional parameters can be set for individual participants ((% style="color: rgb(13,78,168);" %)registerStudent(%%)).
498
499 (% class="TableParagraph" %)
500 All parameters are optional. The default setting is shown in bold.
501
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}}
505
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?
512 \\
513
514 {{note}}
515 The following parameters are available since **version 5.15:**
516 {{/note}}
517
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.
525 \\
526
527 {{info title="Note"}}
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.
529 {{/info}}
530
531 {{error}}
532 The following parameters are (% style="color: rgb(255,0,0);" %)**__no longer__**(%%)** **available since **ONYX** **version 5.15**:
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
548 * FINISHED(2) – handed in the test
549 * RESUME_ALLOWED(3) – resuming allowed
550 * NOT_ENTERED(4) – has not yet entered the test
551 * CANCELED(5) – has interrupted the testing process
552 * RESUME_REQUESTED(6) – wants to continue
553 * RESUMED(7) – has continued
554 * DISCONNECTED(8) – client is not / no longer reachable
555 * SUSPENDED(9) – testing process has been interrupted
556 * RESUME_SUSPENDED(10) – interrupted testing is continued
557 * OK(42) – OK
558 )))
559 |(((
560
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
576 After a test has been registered, students can use it. Provided that they have been registered themselves.
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
589 === Parameter registerStudent ===
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" %)
609 Optional. Results for the participant (e.g. if interrupted tests are continued)
610 )))
611 |(% colspan="1" %)(% colspan="1" %)
612 (((
613 parameters
614 )))|(% colspan="1" %)(% colspan="1" %)
615 (((
616 (% class="TableParagraph" %)
617 List of parameters to control the test (all optional, bold = default):
618
619 * Language [**de**|en|fr|es] Language of the ONYX user interface.
620 * Status: Initial status of the participant (currently only RESUME_SUSPENDED(10) is supported).
621 )))
622
623 === ReturnValue registerStudent ===
624
625 |(((
626 Long
627 )))|(((
628 One of the values as described under registration of a test.
629 )))
630
631 == Test control ==
632
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.
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
645 === Parameter testControl ===
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 )))|(((
665 List of parameters to control the test (all optional):
666
667 * addTime: Time in minutes to add to the test session.
668 )))
669
670 === ReturnValue testControl ===
671
672 |(((
673 Long
674 )))|(((
675 One of the values as described under registration of a test.
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
691 === Parameter deregisterTest ===
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 )))|(((
714 One of the values as described under registration of a test.
715 )))
716
717 == Test display ==
718
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:
720
721 {{note title="URL"}}
722 [[http:~~/~~/demo.bps-system.de/olatce/services/ReturnWSService?wsdl>>url:http://demo.bps-system.de/olatce/services/ReturnWSService?wsdl||shape="rect"]]
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
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:
729
730 [[image:attach:SchnittstellePlayer.png]]
731
732 {{error title="Security"}}
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.
734 {{/error}}
735 {{/layout-cell}}
736 {{/layout-section}}
737 {{/layout}}
738 {{/sv-translation}}