Wiki-Quellcode von ONYX Player Interface

Version 273.1 von Carina Enke am 07.06.2019

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