Wiki-Quellcode von Schnittstelle ONYX Reporter
Version 239.1 von Carina Enke am 19.05.2020
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{sv-translation language="de"}} | ||
2 | {{layout}} | ||
3 | {{layout-section ac:type="single"}} | ||
4 | {{layout-cell}} | ||
5 | |||
6 | |||
7 | {{details}} | ||
8 | (% class="wrapped" %) | ||
9 | |=((( | ||
10 | Verantwortlicher | ||
11 | )))|((( | ||
12 | \\ | ||
13 | ))) | ||
14 | |=(% colspan="1" %)(% colspan="1" %) | ||
15 | ((( | ||
16 | Status | ||
17 | )))|(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %)(% class="highlight-yellow" colspan="1" data-highlight-colour="yellow" %) | ||
18 | ((( | ||
19 | (% class="content-wrapper" %) | ||
20 | ((( | ||
21 | {{sv-metadata type="workflow-status"/}} | ||
22 | |||
23 | {{status colour="Green" title="Fertig"/}} | ||
24 | ))) | ||
25 | ))) | ||
26 | |=(% colspan="1" %)(% colspan="1" %) | ||
27 | ((( | ||
28 | Varianten | ||
29 | )))|(% colspan="1" %)(% colspan="1" %) | ||
30 | ((( | ||
31 | (% class="content-wrapper" %) | ||
32 | ((( | ||
33 | {{sv-metadata type="variants"/}} | ||
34 | ))) | ||
35 | ))) | ||
36 | |=(% colspan="1" %)(% colspan="1" %) | ||
37 | ((( | ||
38 | Attribute | ||
39 | )))|(% colspan="1" %)(% colspan="1" %) | ||
40 | ((( | ||
41 | (% class="content-wrapper" %) | ||
42 | ((( | ||
43 | {{sv-metadata type="attributes"/}} | ||
44 | ))) | ||
45 | ))) | ||
46 | |=(% colspan="1" %)(% colspan="1" %) | ||
47 | ((( | ||
48 | Pagekey | ||
49 | )))|(% colspan="1" %)(% colspan="1" %) | ||
50 | ((( | ||
51 | (% class="content-wrapper" %) | ||
52 | ((( | ||
53 | {{sv-metadata type="pagekey"/}} | ||
54 | ))) | ||
55 | ))) | ||
56 | |=(% colspan="1" %)(% colspan="1" %) | ||
57 | ((( | ||
58 | Übersetzung | ||
59 | )))|(% colspan="1" %)(% colspan="1" %) | ||
60 | ((( | ||
61 | (% class="content-wrapper" %) | ||
62 | ((( | ||
63 | ONYX Reporter interface | ||
64 | |||
65 | {{status colour="Green" title="Fertig"/}} | ||
66 | ))) | ||
67 | ))) | ||
68 | |=(% colspan="1" %)(% colspan="1" %) | ||
69 | ((( | ||
70 | TODOs | ||
71 | )))|(% colspan="1" %)(% colspan="1" %) | ||
72 | ((( | ||
73 | (% class="content-wrapper" %) | ||
74 | ((( | ||
75 | (% class="task-list" %) | ||
76 | ((( | ||
77 | {{task reference="/Tasks/Task_9" status="Done"}} | ||
78 | carina {{mention reference="XWiki.0a49950f5c0f19a8015c101b60e10001" style="FULL_NAME" anchor="XWiki-0a49950f5c0f19a8015c101b60e10001-ysSwd"/}}: Übersetzung offen | ||
79 | {{/task}} | ||
80 | ))) | ||
81 | ))) | ||
82 | ))) | ||
83 | {{/details}} | ||
84 | {{/layout-cell}} | ||
85 | {{/layout-section}} | ||
86 | |||
87 | {{layout-section ac:type="two_right_sidebar"}} | ||
88 | {{layout-cell}} | ||
89 | \\ | ||
90 | {{/layout-cell}} | ||
91 | |||
92 | {{layout-cell}} | ||
93 | {{scroll-ignore}} | ||
94 | {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}} | ||
95 | |||
96 | |||
97 | {{toc/}} | ||
98 | {{/panel}} | ||
99 | {{/scroll-ignore}} | ||
100 | {{/layout-cell}} | ||
101 | {{/layout-section}} | ||
102 | |||
103 | {{layout-section ac:type="single"}} | ||
104 | {{layout-cell}} | ||
105 | == Allgemeines == | ||
106 | |||
107 | Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: | ||
108 | |||
109 | (% class="wrapped" %) | ||
110 | |((( | ||
111 | armSite | ||
112 | )))|((( | ||
113 | Anmeldung von Folgerequests beim ONYX Reporter. | ||
114 | ))) | ||
115 | |((( | ||
116 | initiateSite | ||
117 | )))|((( | ||
118 | Initiiert die Reporter-Session (Übertragung des CPs). | ||
119 | ))) | ||
120 | |((( | ||
121 | disarmSite | ||
122 | )))|((( | ||
123 | Freigabe von allen Reporter-Ressourcen für diese Session. | ||
124 | ))) | ||
125 | |((( | ||
126 | getResultValues | ||
127 | )))|((( | ||
128 | Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste. | ||
129 | ))) | ||
130 | |(% colspan="1" %)(% colspan="1" %) | ||
131 | ((( | ||
132 | getResultVariables | ||
133 | )))|(% colspan="1" %)(% colspan="1" %) | ||
134 | ((( | ||
135 | Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich. | ||
136 | ))) | ||
137 | |||
138 | == Anmeldung des LMS == | ||
139 | |||
140 | {{code language="xml" title="Anmeldung des LMS"}} | ||
141 | @WebMethod(operationName = „armSite") | ||
142 | public String armSite( | ||
143 | @WebParam(name = „version") final Integer version, | ||
144 | @WebParam(name = „userId") final String userId, | ||
145 | @WebParam(name = „optionalRole") final Integer role, | ||
146 | @WebParam(name = „secretToShare") final String secretToShare, | ||
147 | @WebParam(name = „optionalUserLastName") final String userLastName, | ||
148 | @WebParam(name = „optionalUserFirstName") final String userFirstName, | ||
149 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
150 | } | ||
151 | {{/code}} | ||
152 | |||
153 | === Parameter armSite === | ||
154 | |||
155 | (% class="wrapped" %) | ||
156 | |((( | ||
157 | version | ||
158 | )))|((( | ||
159 | Angefragte Version: 1 | ||
160 | ))) | ||
161 | |((( | ||
162 | userId | ||
163 | )))|((( | ||
164 | UserId des anfragenden Reporter-Benutzers | ||
165 | ))) | ||
166 | |((( | ||
167 | optionalRole | ||
168 | )))|((( | ||
169 | Optional. Rolle des Benutzers. 0 = Student, 1= Tutor | ||
170 | ))) | ||
171 | |((( | ||
172 | secretToShare | ||
173 | )))|((( | ||
174 | Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. | ||
175 | ))) | ||
176 | |((( | ||
177 | optionalUserLastName | ||
178 | )))|((( | ||
179 | Optional. Nachname des Benutzers. | ||
180 | ))) | ||
181 | |(% colspan="1" %)(% colspan="1" %) | ||
182 | ((( | ||
183 | optionalUserFirstName | ||
184 | )))|(% colspan="1" %)(% colspan="1" %) | ||
185 | ((( | ||
186 | Optional. Vorname des Benutzers. | ||
187 | ))) | ||
188 | |(% colspan="1" %)(% colspan="1" %) | ||
189 | ((( | ||
190 | additionalParams | ||
191 | )))|(% colspan="1" %)(% colspan="1" %) | ||
192 | ((( | ||
193 | Reserved for future use. | ||
194 | ))) | ||
195 | |||
196 | === ReturnValue armSite === | ||
197 | |||
198 | (% class="wrapped" %) | ||
199 | |((( | ||
200 | String | ||
201 | )))|((( | ||
202 | Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen. | ||
203 | ))) | ||
204 | |||
205 | == Initialisierung durch LMS == | ||
206 | |||
207 | {{code language="xml" title="Initialisierung durch LMS"}} | ||
208 | @WebMethod(operationName = „initiateSite") | ||
209 | public String initiateSite( | ||
210 | @WebParam(name = „version") final Integer version, | ||
211 | @WebParam(name = „sessionId") final String sessionId, | ||
212 | @WebParam(name = „secretToShare") final String secretToShare, | ||
213 | @WebParam(name = „students") final ArrayList<ResultsForStudent> students, | ||
214 | @WebParam(name = „optionalContentPackage") final byte[] contentPackage, | ||
215 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
216 | } | ||
217 | {{/code}} | ||
218 | |||
219 | === Parameter initiateSite === | ||
220 | |||
221 | (% class="wrapped" %) | ||
222 | |((( | ||
223 | version | ||
224 | )))|((( | ||
225 | Angefragte Version: 1 | ||
226 | ))) | ||
227 | |(% colspan="1" %)(% colspan="1" %) | ||
228 | ((( | ||
229 | sessionId | ||
230 | )))|(% colspan="1" %)(% colspan="1" %) | ||
231 | ((( | ||
232 | SessionId, wie von armSite zurück geliefert. | ||
233 | ))) | ||
234 | |((( | ||
235 | secretToShare | ||
236 | )))|((( | ||
237 | Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. | ||
238 | ))) | ||
239 | |((( | ||
240 | students | ||
241 | )))|((( | ||
242 | Liste der Studenten mit ihren Resultaten. Siehe unten. | ||
243 | ))) | ||
244 | |((( | ||
245 | optionalContentPackage | ||
246 | )))|((( | ||
247 | Optional. Content Package (gezippt) als Byte-Array. | ||
248 | ))) | ||
249 | |((( | ||
250 | additionalParams | ||
251 | )))|((( | ||
252 | Reserved for future use. | ||
253 | ))) | ||
254 | |||
255 | === ReturnValue initiateSite === | ||
256 | |||
257 | (% class="wrapped" %) | ||
258 | |((( | ||
259 | String | ||
260 | )))|((( | ||
261 | Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern: | ||
262 | |||
263 | * sid: Session ID, wie von armSite zurück gegeben | ||
264 | * uid: Student ID, wie in initiateSite beim Reporter angemeldet | ||
265 | ))) | ||
266 | |||
267 | {{code language="xml"}} | ||
268 | public class ResultsForStudent { | ||
269 | private String studentId = „"; | ||
270 | private String firstname = „"; | ||
271 | private String lastname = „"; | ||
272 | private String groupname = „"; | ||
273 | private String tutorname = „"; | ||
274 | private File contentFile = null; | ||
275 | private byte[] resultsFile = null; | ||
276 | } | ||
277 | {{/code}} | ||
278 | |||
279 | == Abmeldung durch LMS == | ||
280 | |||
281 | \\ | ||
282 | |||
283 | {{code}} | ||
284 | @WebMethod(operationName = „disarmSite") | ||
285 | public Boolean disarmSite( | ||
286 | @WebParam(name = „version") final Integer version, | ||
287 | @WebParam(name = „sessionId") final String sessionId, | ||
288 | @WebParam(name = „secretToShare") final String secretToShare, | ||
289 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
290 | } | ||
291 | {{/code}} | ||
292 | |||
293 | \\ | ||
294 | |||
295 | === Parameter disarmSite === | ||
296 | |||
297 | (% class="wrapped" %) | ||
298 | |((( | ||
299 | version | ||
300 | )))|((( | ||
301 | Angefragte Version: 1 | ||
302 | ))) | ||
303 | |(% colspan="1" %)(% colspan="1" %) | ||
304 | ((( | ||
305 | sessionId | ||
306 | )))|(% colspan="1" %)(% colspan="1" %) | ||
307 | ((( | ||
308 | SessionId, wie von armSite zurück geliefert. | ||
309 | ))) | ||
310 | |((( | ||
311 | secretToShare | ||
312 | )))|((( | ||
313 | Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. | ||
314 | ))) | ||
315 | |((( | ||
316 | additionalParams | ||
317 | )))|((( | ||
318 | Reserved for future use. | ||
319 | ))) | ||
320 | |||
321 | === ReturnValue disarmSite === | ||
322 | |||
323 | (% class="wrapped" %) | ||
324 | |((( | ||
325 | Boolean | ||
326 | )))|((( | ||
327 | True bei Erfolg, sonst false. | ||
328 | ))) | ||
329 | |||
330 | == Abfrage von Lernerresultaten durch LMS == | ||
331 | |||
332 | {{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}} | ||
333 | @WebMethod(operationName = „getResultValues") | ||
334 | public HashMapWrapper getResultValues( | ||
335 | @WebParam(name = „version") final Integer version, | ||
336 | @WebParam(name = „sessionId") final String sessionId, | ||
337 | @WebParam(name = „secretToShare") final String secretToShare, | ||
338 | @WebParam(name = „requestedValues") final HashMap<String, String> | ||
339 | requestedValues, | ||
340 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
341 | } | ||
342 | {{/code}} | ||
343 | |||
344 | === Parameter getResultValues === | ||
345 | |||
346 | (% class="wrapped" %) | ||
347 | |((( | ||
348 | version | ||
349 | )))|((( | ||
350 | Angefragte Version: 1 | ||
351 | ))) | ||
352 | |(% colspan="1" %)(% colspan="1" %) | ||
353 | ((( | ||
354 | sessionId | ||
355 | )))|(% colspan="1" %)(% colspan="1" %) | ||
356 | ((( | ||
357 | SessionId, wie von armSite zurück geliefert. | ||
358 | ))) | ||
359 | |((( | ||
360 | secretToShare | ||
361 | )))|((( | ||
362 | Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. | ||
363 | ))) | ||
364 | |((( | ||
365 | requestedValues | ||
366 | )))|((( | ||
367 | Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück. | ||
368 | ))) | ||
369 | |((( | ||
370 | additionalParams | ||
371 | )))|((( | ||
372 | Reserved for future use. | ||
373 | ))) | ||
374 | |||
375 | === ReturnValue getResultValues === | ||
376 | |||
377 | (% class="wrapped" %) | ||
378 | |((( | ||
379 | HashMap<String, String> | ||
380 | )))|((( | ||
381 | Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) | ||
382 | ))) | ||
383 | |||
384 | == Abfrage von Ergebnisvariablen durch LMS == | ||
385 | |||
386 | {{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}} | ||
387 | @WebMethod(operationName = „getResultVariables") | ||
388 | public HashMapWrapper getResultVariables( | ||
389 | @WebParam(name = „version") final Integer version, | ||
390 | @WebParam(name = „contentPackage") final byte[] contentPackage, | ||
391 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
392 | } | ||
393 | {{/code}} | ||
394 | |||
395 | === Parameter getResultVariables === | ||
396 | |||
397 | (% class="wrapped" %) | ||
398 | |((( | ||
399 | version | ||
400 | )))|((( | ||
401 | Angefragte Version: 1 | ||
402 | ))) | ||
403 | |((( | ||
404 | contentPackage | ||
405 | )))|((( | ||
406 | Content Package (gezippt) als Byte-Array. | ||
407 | ))) | ||
408 | |((( | ||
409 | additionalParams | ||
410 | )))|((( | ||
411 | Reserved for future use. | ||
412 | ))) | ||
413 | |||
414 | === ReturnValue getResultVariables === | ||
415 | |||
416 | (% class="wrapped" %) | ||
417 | |((( | ||
418 | HashMap<String, String> | ||
419 | )))|((( | ||
420 | Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) | ||
421 | ))) | ||
422 | |||
423 | == Wrapper == | ||
424 | |||
425 | Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden. | ||
426 | |||
427 | === Wrapper für die HashMap<String, String> === | ||
428 | |||
429 | HashMapWrapper.java: | ||
430 | |||
431 | [[image:attach:HashMapWrapperjava.png]] | ||
432 | |||
433 | [[image:attach:HashMapWrapperjava2.png]] | ||
434 | |||
435 | === Wrapper für die ArrayList<ResultsForStudent> === | ||
436 | |||
437 | ResultsForStudentsWrapper.java: | ||
438 | |||
439 | [[image:attach:ResultsForStudentsWrapperjava.png]] | ||
440 | {{/layout-cell}} | ||
441 | {{/layout-section}} | ||
442 | |||
443 | {{layout-section ac:type="two_right_sidebar"}} | ||
444 | {{layout-cell}} | ||
445 | \\ | ||
446 | {{/layout-cell}} | ||
447 | |||
448 | {{layout-cell}} | ||
449 | ====== relevante Links: ====== | ||
450 | |||
451 | * [[doc:ONYX Player Interface]] | ||
452 | {{/layout-cell}} | ||
453 | {{/layout-section}} | ||
454 | {{/layout}} | ||
455 | {{/sv-translation}} | ||
456 | |||
457 | {{sv-translation language="en"}} | ||
458 | {{layout}} | ||
459 | {{layout-section ac:type="two_equal"}} | ||
460 | {{layout-cell}} | ||
461 | ====== Content: ====== | ||
462 | |||
463 | |||
464 | |||
465 | {{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}} | ||
466 | {{/layout-cell}} | ||
467 | |||
468 | {{layout-cell}} | ||
469 | |||
470 | {{/layout-cell}} | ||
471 | {{/layout-section}} | ||
472 | |||
473 | {{layout-section ac:type="single"}} | ||
474 | {{layout-cell}} | ||
475 | == General information == | ||
476 | |||
477 | The API to the ONYX WebReporter enables the communication between the LMS and the Reporter. Therefore, a couple of commands will be executed: | ||
478 | |||
479 | |((( | ||
480 | armSite | ||
481 | )))|((( | ||
482 | Registration of sequence requests at the ONYX Reporter | ||
483 | ))) | ||
484 | |((( | ||
485 | initiateSite | ||
486 | )))|((( | ||
487 | Initiates the Reporter session (transmission of the CP). | ||
488 | ))) | ||
489 | |((( | ||
490 | disarmSite | ||
491 | )))|((( | ||
492 | Release of all Reporter resources for this session. | ||
493 | ))) | ||
494 | |((( | ||
495 | getResultValues | ||
496 | )))|((( | ||
497 | Returns all (requested) results for the test. Condition: There is only one student in the list transmitted with initiateSite. | ||
498 | ))) | ||
499 | |(% colspan="1" %)(% colspan="1" %) | ||
500 | ((( | ||
501 | getResultVariables | ||
502 | )))|(% colspan="1" %)(% colspan="1" %) | ||
503 | ((( | ||
504 | Returns all (requested) outcome variables for the test. No armSite, initiateSite, or disarmSite is required. | ||
505 | ))) | ||
506 | |||
507 | == Login through the LMS == | ||
508 | |||
509 | {{code language="xml" title="Login through the LMS"}} | ||
510 | @WebMethod(operationName = „armSite") | ||
511 | public String armSite( | ||
512 | @WebParam(name = „version") final Integer version, | ||
513 | @WebParam(name = „userId") final String userId, | ||
514 | @WebParam(name = „optionalRole") final Integer role, | ||
515 | @WebParam(name = „secretToShare") final String secretToShare, | ||
516 | @WebParam(name = „optionalUserLastName") final String userLastName, | ||
517 | @WebParam(name = „optionalUserFirstName") final String userFirstName, | ||
518 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
519 | } | ||
520 | {{/code}} | ||
521 | |||
522 | === Parameter armSite === | ||
523 | |||
524 | |((( | ||
525 | version | ||
526 | )))|((( | ||
527 | Requested version: 1 | ||
528 | ))) | ||
529 | |((( | ||
530 | userId | ||
531 | )))|((( | ||
532 | UserId of the requested Reporter user | ||
533 | ))) | ||
534 | |((( | ||
535 | optionalRole | ||
536 | )))|((( | ||
537 | Optional. User role. 0 = student, 1 = tutor | ||
538 | ))) | ||
539 | |((( | ||
540 | secretToShare | ||
541 | )))|((( | ||
542 | A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication. | ||
543 | ))) | ||
544 | |((( | ||
545 | optionalUserLastName | ||
546 | )))|((( | ||
547 | Optional. Last name of the user. | ||
548 | ))) | ||
549 | |(% colspan="1" %)(% colspan="1" %) | ||
550 | ((( | ||
551 | optionalUserFirstName | ||
552 | )))|(% colspan="1" %)(% colspan="1" %) | ||
553 | ((( | ||
554 | Optional. First name of the user. | ||
555 | ))) | ||
556 | |(% colspan="1" %)(% colspan="1" %) | ||
557 | ((( | ||
558 | additionalParams | ||
559 | )))|(% colspan="1" %)(% colspan="1" %) | ||
560 | ((( | ||
561 | Reserved for future use. | ||
562 | ))) | ||
563 | |||
564 | === ReturnValue armSite === | ||
565 | |||
566 | |((( | ||
567 | String | ||
568 | )))|((( | ||
569 | Session ID which has to be used to mark any other Reporter call. | ||
570 | ))) | ||
571 | |||
572 | == Initialisation through LMS == | ||
573 | |||
574 | {{code language="xml" title="Initialisation through LMS"}} | ||
575 | @WebMethod(operationName = „initiateSite") | ||
576 | public String initiateSite( | ||
577 | @WebParam(name = „version") final Integer version, | ||
578 | @WebParam(name = „sessionId") final String sessionId, | ||
579 | @WebParam(name = „secretToShare") final String secretToShare, | ||
580 | @WebParam(name = „students") final ArrayList<ResultsForStudent> students, | ||
581 | @WebParam(name = „optionalContentPackage") final byte[] contentPackage, | ||
582 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
583 | } | ||
584 | {{/code}} | ||
585 | |||
586 | === Parameter initiateSite === | ||
587 | |||
588 | |((( | ||
589 | version | ||
590 | )))|((( | ||
591 | Requested version: 1 | ||
592 | ))) | ||
593 | |(% colspan="1" %)(% colspan="1" %) | ||
594 | ((( | ||
595 | sessionId | ||
596 | )))|(% colspan="1" %)(% colspan="1" %) | ||
597 | ((( | ||
598 | SessionId, as returned by armSite. | ||
599 | ))) | ||
600 | |((( | ||
601 | secretToShare | ||
602 | )))|((( | ||
603 | A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication. | ||
604 | ))) | ||
605 | |((( | ||
606 | students | ||
607 | )))|((( | ||
608 | List of students and their results. See below. | ||
609 | ))) | ||
610 | |((( | ||
611 | optionalContentPackage | ||
612 | )))|((( | ||
613 | Optional. Content package (zipped) as byte array. | ||
614 | ))) | ||
615 | |((( | ||
616 | additionalParams | ||
617 | )))|((( | ||
618 | Reserved for future use. | ||
619 | ))) | ||
620 | |||
621 | === ReturnValue initiateSite === | ||
622 | |||
623 | |((( | ||
624 | String | ||
625 | )))|((( | ||
626 | Absolute URL of the Reporter site for the IFrame. The URL has to be amended by the LMS with the following URL parameters: | ||
627 | |||
628 | * sid: Session ID, as returned by armSite | ||
629 | * ((( | ||
630 | uid: Student ID, as registrated in the initiateSite at the ONYX Reporter | ||
631 | ))) | ||
632 | ))) | ||
633 | |||
634 | {{code language="xml"}} | ||
635 | public class ResultsForStudent { | ||
636 | private String studentId = „"; | ||
637 | private String firstname = „"; | ||
638 | private String lastname = „"; | ||
639 | private String groupname = „"; | ||
640 | private String tutorname = „"; | ||
641 | private File contentFile = null; | ||
642 | private byte[] resultsFile = null; | ||
643 | } | ||
644 | {{/code}} | ||
645 | |||
646 | == Logout through the LMS == | ||
647 | |||
648 | |||
649 | |||
650 | {{code}} | ||
651 | @WebMethod(operationName = „disarmSite") | ||
652 | public Boolean disarmSite( | ||
653 | @WebParam(name = „version") final Integer version, | ||
654 | @WebParam(name = „sessionId") final String sessionId, | ||
655 | @WebParam(name = „secretToShare") final String secretToShare, | ||
656 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
657 | } | ||
658 | {{/code}} | ||
659 | |||
660 | |||
661 | |||
662 | === Parameter disarmSite === | ||
663 | |||
664 | |((( | ||
665 | version | ||
666 | )))|((( | ||
667 | Requested version: 1 | ||
668 | ))) | ||
669 | |(% colspan="1" %)(% colspan="1" %) | ||
670 | ((( | ||
671 | sessionId | ||
672 | )))|(% colspan="1" %)(% colspan="1" %) | ||
673 | ((( | ||
674 | SessionId, as returned by armSite. | ||
675 | ))) | ||
676 | |((( | ||
677 | secretToShare | ||
678 | )))|((( | ||
679 | A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication. | ||
680 | ))) | ||
681 | |((( | ||
682 | additionalParams | ||
683 | )))|((( | ||
684 | Reserved for future use. | ||
685 | ))) | ||
686 | |||
687 | === ReturnValue disarmSite === | ||
688 | |||
689 | |((( | ||
690 | Boolean | ||
691 | )))|((( | ||
692 | True in the case of success, otherwise false. | ||
693 | ))) | ||
694 | |||
695 | == Request of learner results through the LMS == | ||
696 | |||
697 | {{code language="xml" title="Request of learner results through the LMS"}} | ||
698 | @WebMethod(operationName = „getResultValues") | ||
699 | public HashMapWrapper getResultValues( | ||
700 | @WebParam(name = „version") final Integer version, | ||
701 | @WebParam(name = „sessionId") final String sessionId, | ||
702 | @WebParam(name = „secretToShare") final String secretToShare, | ||
703 | @WebParam(name = „requestedValues") final HashMap<String, String> | ||
704 | requestedValues, | ||
705 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
706 | } | ||
707 | {{/code}} | ||
708 | |||
709 | === Parameter getResultValues === | ||
710 | |||
711 | |((( | ||
712 | version | ||
713 | )))|((( | ||
714 | Requested version: 1 | ||
715 | ))) | ||
716 | |(% colspan="1" %)(% colspan="1" %) | ||
717 | ((( | ||
718 | sessionId | ||
719 | )))|(% colspan="1" %)(% colspan="1" %) | ||
720 | ((( | ||
721 | SessionId, as returned by armSite. | ||
722 | ))) | ||
723 | |((( | ||
724 | secretToShare | ||
725 | )))|((( | ||
726 | A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication. | ||
727 | ))) | ||
728 | |((( | ||
729 | requestedValues | ||
730 | )))|((( | ||
731 | Can be empty, in which case all result variables are returned. If keys are included, only the keys will be returned. | ||
732 | ))) | ||
733 | |((( | ||
734 | additionalParams | ||
735 | )))|((( | ||
736 | Reserved for future use. | ||
737 | ))) | ||
738 | |||
739 | === ReturnValue getResultValues === | ||
740 | |||
741 | |((( | ||
742 | HashMap<String, String> | ||
743 | )))|((( | ||
744 | Map of result variables, key is the variable name, value is the respective variable's value (HashMap is wrapped) | ||
745 | ))) | ||
746 | |||
747 | == Request of result variables through the LMS == | ||
748 | |||
749 | {{code language="xml" title="Request of result variables through the LMS"}} | ||
750 | @WebMethod(operationName = „getResultVariables") | ||
751 | public HashMapWrapper getResultVariables( | ||
752 | @WebParam(name = „version") final Integer version, | ||
753 | @WebParam(name = „contentPackage") final byte[] contentPackage, | ||
754 | @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { | ||
755 | } | ||
756 | {{/code}} | ||
757 | |||
758 | === Parameter getResultVariables === | ||
759 | |||
760 | |((( | ||
761 | version | ||
762 | )))|((( | ||
763 | Requested version: 1 | ||
764 | ))) | ||
765 | |((( | ||
766 | contentPackage | ||
767 | )))|((( | ||
768 | Content package (zipped) as byte array. | ||
769 | ))) | ||
770 | |((( | ||
771 | additionalParams | ||
772 | )))|((( | ||
773 | Reserved for future use. | ||
774 | ))) | ||
775 | |||
776 | === ReturnValue getResultVariables === | ||
777 | |||
778 | |((( | ||
779 | HashMap<String, String> | ||
780 | )))|((( | ||
781 | Map of result variables, key is the variable name, value is the respective variable's value (HashMap is wrapped) | ||
782 | ))) | ||
783 | |||
784 | == Wrapper == | ||
785 | |||
786 | Since the transmission of maps and lists via JAX-WS can cause problems, they have to be wrapped. | ||
787 | |||
788 | === Wrapper for HashMap<String, String> === | ||
789 | |||
790 | HashMapWrapper.java: | ||
791 | |||
792 | [[image:attach:HashMapWrapperjava.png]] | ||
793 | |||
794 | [[image:attach:HashMapWrapperjava2.png]] | ||
795 | |||
796 | === Wrapper for the ArrayList<ResultsForStudent> === | ||
797 | |||
798 | ResultsForStudentsWrapper.java: | ||
799 | |||
800 | [[image:attach:ResultsForStudentsWrapperjava.png]] | ||
801 | {{/layout-cell}} | ||
802 | {{/layout-section}} | ||
803 | {{/layout}} | ||
804 | {{/sv-translation}} |