Wiki-Quellcode von ONYX Player Interface

Version 290.1 von Carina Enke am 27.02.2019

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