Wiki-Quellcode von 05 Schnittstelle ONYX Editor

Version 95.1 von Carina Enke am 13.02.2024

Zeige letzte Bearbeiter
1 {{layout}}
2 {{layout-section ac:type="two_right_sidebar"}}
3 {{layout-cell}}
4
5 {{/layout-cell}}
6
7 {{layout-cell}}
8 {{panel title="Inhalt"}}
9 {{toc depth="3" start="2"/}}
10 {{/panel}}
11 {{/layout-cell}}
12 {{/layout-section}}
13
14 {{layout-section ac:type="single"}}
15 {{layout-cell}}
16 == Ergebnisse speichern ==
17
18 Der ONYX Editor kann Tests für eine freie Durchführung publizieren. Führen Nutzer diese Tests durch, wird das Ergebnis zurück an den ONYX Editor übertragen, welcher es speichert. Dazu bietet der ONYX Editor folgende REST-Schnittstellen an:
19
20 {{code title="Ergebnisse speichern"}}
21 @RestMethod(name = "saveResult2")
22 public Boolean saveResult(
23 @RestParam(name = "uniqueId") final String uniqueId,
24 @RestParam(name = "resultFile") final byte[] resultFile,
25 @RestParam(name = "params") final Map<String, String> params) {}
26 {{/code}}
27
28
29 === Parameter saveResult2 ===
30
31 (% class="wrapped" %)
32 |(((
33 uniqueId
34 )))|(((
35 Eindeutige ID, die ONYX WebPlayer und ONYX Editor bei der Ausführung des Tests vereinbart haben.
36 )))
37 |(((
38 resultFile
39 )))|(((
40 Ergebnis-Datei als ZIP-File (QTI-konformes result.xml, ggf. inkl. darin referenzierter Dateien wie User-Uploads oder User-Contents)
41 )))
42 |(((
43 params
44 )))|(((
45 Generische Parameter. Diese werden aktuell ohne weitere Verarbeitung einfach nur gespeichert.
46 )))
47
48 === returnValue saveResult2 ===
49
50 (% class="wrapped" %)
51 |(((
52 boolean
53 )))|(((
54 True bei Erfolg, sonst false
55 )))
56
57 == Ergebnisse speichern (Legacy) ==
58
59 {{code title="Ergebnisse speichern (Legacy)"}}
60 @RestMethod(name = "saveResult")
61 public Boolean saveResult(
62 @RestParam(name = "uniqueId") final String uniqueId,
63 @RestParam(name = "resultFile") final byte[] resultFile) {}
64 {{/code}}
65
66
67 === Parameter saveResult2 ===
68
69 (% class="wrapped" %)
70 |(((
71 uniqueId
72 )))|(((
73 Eindeutige ID, die ONYX WebPlayer und ONYX Editor bei der Ausführung des Tests vereinbart haben.
74 )))
75 |(((
76 resultFile
77 )))|(((
78 Ergebnis-Datei als ZIP-File (QTI-konformes result.xml, ggf. inkl. darin referenzierter Dateien wie User-Uploads oder User-Contents)
79 )))
80
81 === returnValue saveResult2 ===
82
83 (% class="wrapped" %)
84 |(((
85 boolean
86 )))|(((
87 True bei Erfolg, sonst false
88 )))
89
90 == Version der Schnittstelle abfragen ==
91
92 {{code title="Version abfragen"}}
93 @RestMethod(name = "version")
94 public String version() {}
95 {{/code}}
96
97
98 === Parameter version ===
99
100 keine
101
102
103 === returnValue saveResult2 ===
104
105 (% class="wrapped" %)
106 |(((
107 String
108 )))|(((
109 Version der REST-Schnittstelle, aktuell immer "1.0 (ONYX-Editor-Version)"
110 )))
111
112 == Nutzer löschen ==
113
114 Der ONYX Editor kann an ein LMS gekoppelt werden, so dass das LMS das nutzerdatenführende System ist. Werden Nutzer im LMS gelöscht, so sollten alle zugehörigen Daten (bspw. die persönlichen Einstellungen des Nutzers) auch im ONYX Editor gelöscht werden.
115
116 {{code title="Nutzer löschen"}}
117 @RestMethod
118 public Map<String, String> deleteUser(
119 @RestParam(name = "login") final String login,
120 @RestParam(name = "password") final String password,
121 @RestParam(name = "repo") final String repo,
122 @RestParam(name = "property") final String property,
123 @RestParam(name = "values") final ArrayList<String> values,
124 @RestParam(name = "reason") final String reason,
125 @RestParam(name = "params") final Map<String, String> params) {}
126 {{/code}}
127
128 === Parameter deleteUser ===
129
130 (% class="wrapped" %)
131 |(((
132 login
133 )))|(((
134 Username eines ONYX-Editor-Admin-Nutzers, der das Recht hat, andere Nutzer zu löschen.
135 )))
136 |(((
137 password
138 )))|(((
139 Passwort dieses ONYX-Editor-Admin-Nutzers.
140 )))
141 |(((
142 repo
143 )))|(((
144 ID des LMS-Repositories, so wie diese im LMS bereits konfiguriert ist und zur Kommunikation mit dem ONYX Editor verwendet wird.
145 )))
146 |(((
147 property
148 )))|(((
149 Selektionskriterium der zu löschenden Nutzer. Wenn "uid", dann wird nach dem global gültigen Nutzer-Identifier (Shibboleth-Kriterium) gefiltert, sonst nach den Nutzernamen, die vom LMS in Verbindung mit dem ONYX Editor intern genutzt werden.
150 )))
151 |(((
152 values
153 )))|(((
154 Liste der Werte, nach denen gefiltert wird, bspw. Liste der Nutzernamen.
155 )))
156 |(((
157 reason
158 )))|(((
159 Lösch-Grund. Wird mit ins Lösch-Log geschrieben.
160 )))
161 |(((
162 params
163 )))|(((
164 Aktuell nicht genutzt
165 )))
166
167 === returnValue deleteUser ===
168
169 Löschresultat-Informationen.
170
171 (% class="wrapped" %)
172 |(((
173 Key
174 )))|(((
175 Die Values, wie im Parameter _values_ angegeben
176 )))
177 |(((
178 Value
179 )))|(((
180 Löschresultat (bspw. _NOT FOUND_, _ERROR:xyz_, ...)
181 )))
182 {{/layout-cell}}
183 {{/layout-section}}
184 {{/layout}}
185
186 {{layout}}
187 {{layout-section ac:type="two_right_sidebar"}}
188 {{layout-cell}}
189
190 {{/layout-cell}}
191
192 {{layout-cell}}
193 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Content"}}
194 {{toc start="2"/}}
195 {{/panel}}
196 {{/layout-cell}}
197 {{/layout-section}}
198
199 {{layout-section ac:type="single"}}
200 {{layout-cell}}
201 == Save results ==
202
203 With the ONYX Editor, system independent tests may be published. If users perform these tests, the result will be transferred back to the ONYX Editor, which saves it. The ONYX Editor provides the following REST interfaces:
204
205 {{code title="Save results"}}
206 @RestMethod(name = "saveResult2")
207 public Boolean saveResult(
208 @RestParam(name = "uniqueId") final String uniqueId,
209 @RestParam(name = "resultFile") final byte[] resultFile,
210 @RestParam(name = "params") final Map<String, String> params) {}
211 {{/code}}
212
213
214 === Parameter saveResult2 ===
215
216 |(((
217 uniqueId
218 )))|(((
219 Unique ID used by the ONYX WebPlayer and ONYX Editor when running the test.
220 )))
221 |(((
222 resultFile
223 )))|(((
224 Result file as ZIP file (QTI-compliant result.xml, including any referenced files such as user uploads or user content if necessary)
225 )))
226 |(((
227 params
228 )))|(((
229 Generic parameters. These are currently only stored without further processing.
230 )))
231
232 === returnValue saveResult2 ===
233
234 |(((
235 boolean
236 )))|(((
237 True if successful, otherwise false
238 )))
239
240 == Save results (legacy) ==
241
242 {{code title="Save results (legacy)"}}
243 @RestMethod(name = "saveResult")
244 public Boolean saveResult(
245 @RestParam(name = "uniqueId") final String uniqueId,
246 @RestParam(name = "resultFile") final byte[] resultFile) {}
247 {{/code}}
248
249
250 === Parameter saveResult2 ===
251
252 |(((
253 uniqueId
254 )))|(((
255 Unique ID used by the ONYX WebPlayer and ONYX Editor when running the test.
256 )))
257 |(((
258 resultFile
259 )))|(((
260 Result file as ZIP file (QTI-compliant result.xml, including any referenced files such as user uploads or user content if necessary)
261 )))
262
263 === returnValue saveResult2 ===
264
265 |(((
266 boolean
267 )))|(((
268 True if successful, otherwise false
269 )))
270
271 == Query interface version ==
272
273 {{code title="Query version"}}
274 @RestMethod(name = "version")
275 public String version() {}
276 {{/code}}
277
278
279 === Parameter version ===
280
281 None
282
283
284 === returnValue saveResult2 ===
285
286 |(((
287 String
288 )))|(((
289 REST interface version, currently always "1.0 (ONYX Editor version)"
290 )))
291
292 == Delete user ==
293
294 The ONYX Editor can be coupled to an LMS with the LMS being the user data management system. If users are deleted from the LMS, all related data (e. g. personal user settings) should also be deleted from the ONYX Editor.
295
296 {{code title="Delete user"}}
297 @RestMethod
298 public Map<String, String> deleteUser(
299 @RestParam(name = "login") final String login,
300 @RestParam(name = "password") final String password,
301 @RestParam(name = "repo") final String repo,
302 @RestParam(name = "property") final String property,
303 @RestParam(name = "values") final ArrayList<String> values,
304 @RestParam(name = "reason") final String reason,
305 @RestParam(name = "params") final Map<String, String> params) {}
306 {{/code}}
307
308 === Parameter deleteUser ===
309
310 |(((
311 login
312 )))|(((
313 User name of an ONYX Editor admin user who has the right to delete other users.
314 )))
315 |(((
316 password
317 )))|(((
318 Password of this ONYX Editor admin user.
319 )))
320 |(((
321 repo
322 )))|(((
323 ID of the LMS repository as it is already configured in the LMS and used for communication with the ONYX Editor.
324 )))
325 |(((
326 property
327 )))|(((
328 Selection criterion for the users to be deleted. If "uid", filtering is done according to the globally valid user identifier (Shibboleth criterion). Otherwise, the filtering is done according to the user names used internally by the LMS in conjunction with the ONYX Editor.
329 )))
330 |(((
331 values
332 )))|(((
333 List of values to filter by, for example, list of user names.
334 )))
335 |(((
336 reason
337 )))|(((
338 Reason for deletion. Will be included in the deletion log.
339 )))
340 |(((
341 params
342 )))|(((
343 Currently not used
344 )))
345
346 === returnValue deleteUser ===
347
348 Deletion result information.
349
350 |(((
351 Key
352 )))|(((
353 The values as specified in the _values_ parameter
354 )))
355 |(((
356 Value
357 )))|(((
358 Deletion result (e. g _NOT FOUND_, _ERROR:xyz_, ...)
359 )))
360 {{/layout-cell}}
361 {{/layout-section}}
362 {{/layout}}