Wiki-Quellcode von 06 Schnittstelle ONYX Editor

Zuletzt geändert von Carina Enke am 13.02.2024

Verstecke letzte Bearbeiter
Carina Enke 30.1 1 {{layout}}
2 {{layout-section ac:type="two_right_sidebar"}}
3 {{layout-cell}}
Carina Enke 95.1 4
Carina Enke 30.1 5 {{/layout-cell}}
6
7 {{layout-cell}}
8 {{panel title="Inhalt"}}
Carina Enke 95.1 9 {{toc depth="3" start="2"/}}
Carina Enke 30.1 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
Carina Enke 89.2 31 (% class="wrapped" %)
Carina Enke 30.1 32 |(((
33 uniqueId
34 )))|(((
Carina Enke 89.2 35 Eindeutige ID, die ONYX WebPlayer und ONYX Editor bei der Ausführung des Tests vereinbart haben.
Carina Enke 30.1 36 )))
37 |(((
38 resultFile
39 )))|(((
Carina Enke 89.2 40 Ergebnis-Datei als ZIP-File (QTI-konformes result.xml, ggf. inkl. darin referenzierter Dateien wie User-Uploads oder User-Contents)
Carina Enke 30.1 41 )))
42 |(((
43 params
44 )))|(((
45 Generische Parameter. Diese werden aktuell ohne weitere Verarbeitung einfach nur gespeichert.
46 )))
47
48 === returnValue saveResult2 ===
49
Carina Enke 89.2 50 (% class="wrapped" %)
Carina Enke 30.1 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
Carina Enke 89.2 69 (% class="wrapped" %)
Carina Enke 30.1 70 |(((
71 uniqueId
72 )))|(((
Carina Enke 89.2 73 Eindeutige ID, die ONYX WebPlayer und ONYX Editor bei der Ausführung des Tests vereinbart haben.
Carina Enke 30.1 74 )))
75 |(((
76 resultFile
77 )))|(((
Carina Enke 89.2 78 Ergebnis-Datei als ZIP-File (QTI-konformes result.xml, ggf. inkl. darin referenzierter Dateien wie User-Uploads oder User-Contents)
Carina Enke 30.1 79 )))
80
81 === returnValue saveResult2 ===
82
Carina Enke 89.2 83 (% class="wrapped" %)
Carina Enke 30.1 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
Carina Enke 89.2 105 (% class="wrapped" %)
Carina Enke 30.1 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
Carina Enke 89.2 130 (% class="wrapped" %)
Carina Enke 30.1 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 )))|(((
Carina Enke 89.2 144 ID des LMS-Repositories, so wie diese im LMS bereits konfiguriert ist und zur Kommunikation mit dem ONYX Editor verwendet wird.
Carina Enke 30.1 145 )))
146 |(((
147 property
148 )))|(((
Carina Enke 89.2 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.
Carina Enke 30.1 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
Carina Enke 89.2 171 (% class="wrapped" %)
Carina Enke 30.1 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}}