Änderungen von Dokument 08 Schnittstelle ONYX Reporter
Zuletzt geändert von Carina Enke am 13.02.2024
Von Version 387.1
bearbeitet von tleu
am 01.12.2014
am 01.12.2014
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 390.1
bearbeitet von Carina Enke
am 18.12.2023
am 18.12.2023
Änderungskommentar:
Renamed from xwiki:ONYX.Schnittstelle ONYX Reporter
Zusammenfassung
-
Seiteneigenschaften (3 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 3 hinzugefügt, 0 gelöscht)
-
Objekte (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Übergeordnete Seite
-
... ... @@ -1,0 +1,1 @@ 1 +Systeminformationen - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. tleu1 +XWiki.carina - Inhalt
-
... ... @@ -1,38 +1,22 @@ 1 +{{sv-translation language="de"}} 1 1 {{layout}} 3 +{{layout-section ac:type="single"}} 4 +{{layout-cell}}{{/layout-cell}} 5 +{{/layout-section}} 6 + 2 2 {{layout-section ac:type="two_right_sidebar"}} 3 3 {{layout-cell}} 4 -====== Inhalt: ====== 5 - 6 - 7 - 8 -{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}} 9 +\\ 9 9 {{/layout-cell}} 10 10 11 11 {{layout-cell}} 12 -|=(% colspan="1" %)(% colspan="1" %) 13 -((( 14 -Programmversion 15 -)))|(% colspan="1" %)(% colspan="1" %) 16 -((( 17 - 18 -))) 19 -|=((( 20 -Status 21 -)))|((( 22 -(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF 23 -))) 24 -|=((( 25 -Aufgaben 26 -)))|((( 27 - 13 +{{scroll-ignore}} 14 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}} 28 28 29 - 30 -))) 31 -|=((( 32 -JIRA 33 -)))|((( 34 - 35 -))) 16 + 17 +{{toc/}} 18 +{{/panel}} 19 +{{/scroll-ignore}} 36 36 {{/layout-cell}} 37 37 {{/layout-section}} 38 38 ... ... @@ -42,6 +42,7 @@ 42 42 43 43 Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: 44 44 29 +(% class="wrapped" %) 45 45 |((( 46 46 armSite 47 47 )))|((( ... ... @@ -60,9 +60,7 @@ 60 60 |((( 61 61 getResultValues 62 62 )))|((( 63 -Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: 64 - 65 -Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste. 48 +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. 66 66 ))) 67 67 |(% colspan="1" %)(% colspan="1" %) 68 68 ((( ... ... @@ -74,7 +74,7 @@ 74 74 75 75 == Anmeldung des LMS == 76 76 77 -{{code title="Anmeldung des LMS" language="xml"}}60 +{{code language="xml" title="Anmeldung des LMS"}} 78 78 @WebMethod(operationName = „armSite") 79 79 public String armSite( 80 80 @WebParam(name = „version") final Integer version, ... ... @@ -89,6 +89,7 @@ 89 89 90 90 === Parameter armSite === 91 91 75 +(% class="wrapped" %) 92 92 |((( 93 93 version 94 94 )))|((( ... ... @@ -131,6 +131,7 @@ 131 131 132 132 === ReturnValue armSite === 133 133 118 +(% class="wrapped" %) 134 134 |((( 135 135 String 136 136 )))|((( ... ... @@ -139,7 +139,7 @@ 139 139 140 140 == Initialisierung durch LMS == 141 141 142 -{{code title="Initialisierung durch LMS" language="xml"}}127 +{{code language="xml" title="Initialisierung durch LMS"}} 143 143 @WebMethod(operationName = „initiateSite") 144 144 public String initiateSite( 145 145 @WebParam(name = „version") final Integer version, ... ... @@ -153,6 +153,7 @@ 153 153 154 154 === Parameter initiateSite === 155 155 141 +(% class="wrapped" %) 156 156 |((( 157 157 version 158 158 )))|((( ... ... @@ -188,6 +188,7 @@ 188 188 189 189 === ReturnValue initiateSite === 190 190 177 +(% class="wrapped" %) 191 191 |((( 192 192 String 193 193 )))|((( ... ... @@ -211,10 +211,23 @@ 211 211 212 212 == Abmeldung durch LMS == 213 213 214 - Abfrage von Lernerresultaten durch LMS201 +\\ 215 215 216 - 203 +{{code}} 204 +@WebMethod(operationName = „disarmSite") 205 +public Boolean disarmSite( 206 +@WebParam(name = „version") final Integer version, 207 +@WebParam(name = „sessionId") final String sessionId, 208 +@WebParam(name = „secretToShare") final String secretToShare, 209 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 210 +} 211 +{{/code}} 217 217 213 +\\ 214 + 215 +=== Parameter disarmSite === 216 + 217 +(% class="wrapped" %) 218 218 |((( 219 219 version 220 220 )))|((( ... ... @@ -240,6 +240,7 @@ 240 240 241 241 === ReturnValue disarmSite === 242 242 243 +(% class="wrapped" %) 243 243 |((( 244 244 Boolean 245 245 )))|((( ... ... @@ -248,10 +248,21 @@ 248 248 249 249 == Abfrage von Lernerresultaten durch LMS == 250 250 251 -{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 252 - 252 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}} 253 + @WebMethod(operationName = „getResultValues") 254 +public HashMapWrapper getResultValues( 255 + @WebParam(name = „version") final Integer version, 256 + @WebParam(name = „sessionId") final String sessionId, 257 + @WebParam(name = „secretToShare") final String secretToShare, 258 + @WebParam(name = „requestedValues") final HashMap<String, String> 259 + requestedValues, 260 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 261 +} 253 253 {{/code}} 254 254 264 +=== Parameter getResultValues === 265 + 266 +(% class="wrapped" %) 255 255 |((( 256 256 version 257 257 )))|((( ... ... @@ -270,36 +270,443 @@ 270 270 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 271 271 ))) 272 272 |((( 273 -st udents285 +requestedValues 274 274 )))|((( 275 - Liste derStudentenmit ihrenResultaten.Siehe unten.287 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück. 276 276 ))) 277 277 |((( 278 - optionalContentPackage290 +additionalParams 279 279 )))|((( 280 - Optional. Content Package(gezippt)alsByte-Array.292 +Reserved for future use. 281 281 ))) 294 + 295 +=== ReturnValue getResultValues === 296 + 297 +(% class="wrapped" %) 282 282 |((( 299 +HashMap<String, String> 300 +)))|((( 301 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 302 +))) 303 + 304 +== Abfrage von Ergebnisvariablen durch LMS == 305 + 306 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}} 307 + @WebMethod(operationName = „getResultVariables") 308 +public HashMapWrapper getResultVariables( 309 +@WebParam(name = „version") final Integer version, 310 +@WebParam(name = „contentPackage") final byte[] contentPackage, 311 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 312 +} 313 +{{/code}} 314 + 315 +=== Parameter getResultVariables === 316 + 317 +(% class="wrapped" %) 318 +|((( 319 +version 320 +)))|((( 321 +Angefragte Version: 1 322 +))) 323 +|((( 324 +contentPackage 325 +)))|((( 326 +Content Package (gezippt) als Byte-Array. 327 +))) 328 +|((( 283 283 additionalParams 284 284 )))|((( 285 285 Reserved for future use. 286 286 ))) 333 + 334 +=== ReturnValue getResultVariables === 335 + 336 +(% class="wrapped" %) 337 +|((( 338 +HashMap<String, String> 339 +)))|((( 340 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 341 +))) 342 + 343 +== Wrapper == 344 + 345 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden. 346 + 347 +=== Wrapper für die HashMap<String, String> === 348 + 349 +HashMapWrapper.java: 350 + 351 +[[image:attach:HashMapWrapperjava.png]] 352 + 353 +[[image:attach:HashMapWrapperjava2.png]] 354 + 355 +=== Wrapper für die ArrayList<ResultsForStudent> === 356 + 357 +ResultsForStudentsWrapper.java: 358 + 359 +[[image:attach:ResultsForStudentsWrapperjava.png]] 287 287 {{/layout-cell}} 288 288 {{/layout-section}} 289 289 290 290 {{layout-section ac:type="two_right_sidebar"}} 291 291 {{layout-cell}} 292 -====== untergeordnete Seiten: ====== 365 +\\ 366 +{{/layout-cell}} 293 293 368 +{{layout-cell}} 369 +====== relevante Links: ====== 294 294 371 +* [[doc:ONYX Player Interface]] 372 +{{/layout-cell}} 373 +{{/layout-section}} 374 +{{/layout}} 375 +{{/sv-translation}} 295 295 296 -{{children all="true"/}} 377 +{{sv-translation language="en"}} 378 +{{layout}} 379 +{{layout-section ac:type="two_equal"}} 380 +{{layout-cell}} 381 +====== Content: ====== 382 + 383 + 384 + 385 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}} 297 297 {{/layout-cell}} 298 298 299 299 {{layout-cell}} 300 -====== relevante Links: ====== 389 + 390 +{{/layout-cell}} 391 +{{/layout-section}} 301 301 302 -* [[lorem ipsum>>url:https://www.bps-system.de/help/display/OPAL/Handbuch+OPAL||shape="rect"]] 393 +{{layout-section ac:type="single"}} 394 +{{layout-cell}} 395 +== General information == 396 + 397 +The API to the ONYX WebReporter enables the communication between the LMS and the Reporter. Therefore, a couple of commands will be executed: 398 + 399 +|((( 400 +armSite 401 +)))|((( 402 +Registration of sequence requests at the ONYX Reporter 403 +))) 404 +|((( 405 +initiateSite 406 +)))|((( 407 +Initiates the Reporter session (transmission of the CP). 408 +))) 409 +|((( 410 +disarmSite 411 +)))|((( 412 +Release of all Reporter resources for this session. 413 +))) 414 +|((( 415 +getResultValues 416 +)))|((( 417 +Returns all (requested) results for the test. Condition: There is only one student in the list transmitted with initiateSite. 418 +))) 419 +|(% colspan="1" %)(% colspan="1" %) 420 +((( 421 +getResultVariables 422 +)))|(% colspan="1" %)(% colspan="1" %) 423 +((( 424 +Returns all (requested) outcome variables for the test. No armSite, initiateSite, or disarmSite is required. 425 +))) 426 + 427 +== Login through the LMS == 428 + 429 +{{code language="xml" title="Login through the LMS"}} 430 +@WebMethod(operationName = „armSite") 431 +public String armSite( 432 +@WebParam(name = „version") final Integer version, 433 +@WebParam(name = „userId") final String userId, 434 +@WebParam(name = „optionalRole") final Integer role, 435 +@WebParam(name = „secretToShare") final String secretToShare, 436 +@WebParam(name = „optionalUserLastName") final String userLastName, 437 +@WebParam(name = „optionalUserFirstName") final String userFirstName, 438 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 439 +} 440 +{{/code}} 441 + 442 +=== Parameter armSite === 443 + 444 +|((( 445 +version 446 +)))|((( 447 +Requested version: 1 448 +))) 449 +|((( 450 +userId 451 +)))|((( 452 +UserId of the requested Reporter user 453 +))) 454 +|((( 455 +optionalRole 456 +)))|((( 457 +Optional. User role. 0 = student, 1 = tutor 458 +))) 459 +|((( 460 +secretToShare 461 +)))|((( 462 +A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication. 463 +))) 464 +|((( 465 +optionalUserLastName 466 +)))|((( 467 +Optional. Last name of the user. 468 +))) 469 +|(% colspan="1" %)(% colspan="1" %) 470 +((( 471 +optionalUserFirstName 472 +)))|(% colspan="1" %)(% colspan="1" %) 473 +((( 474 +Optional. First name of the user. 475 +))) 476 +|(% colspan="1" %)(% colspan="1" %) 477 +((( 478 +additionalParams 479 +)))|(% colspan="1" %)(% colspan="1" %) 480 +((( 481 +Reserved for future use. 482 +))) 483 + 484 +=== ReturnValue armSite === 485 + 486 +|((( 487 +String 488 +)))|((( 489 +Session ID which has to be used to mark any other Reporter call. 490 +))) 491 + 492 +== Initialisation through LMS == 493 + 494 +{{code language="xml" title="Initialisation through LMS"}} 495 +@WebMethod(operationName = „initiateSite") 496 +public String initiateSite( 497 +@WebParam(name = „version") final Integer version, 498 +@WebParam(name = „sessionId") final String sessionId, 499 +@WebParam(name = „secretToShare") final String secretToShare, 500 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 501 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 502 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 503 +} 504 +{{/code}} 505 + 506 +=== Parameter initiateSite === 507 + 508 +|((( 509 +version 510 +)))|((( 511 +Requested version: 1 512 +))) 513 +|(% colspan="1" %)(% colspan="1" %) 514 +((( 515 +sessionId 516 +)))|(% colspan="1" %)(% colspan="1" %) 517 +((( 518 +SessionId, as returned by armSite. 519 +))) 520 +|((( 521 +secretToShare 522 +)))|((( 523 +A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication. 524 +))) 525 +|((( 526 +students 527 +)))|((( 528 +List of students and their results. See below. 529 +))) 530 +|((( 531 +optionalContentPackage 532 +)))|((( 533 +Optional. Content package (zipped) as byte array. 534 +))) 535 +|((( 536 +additionalParams 537 +)))|((( 538 +Reserved for future use. 539 +))) 540 + 541 +=== ReturnValue initiateSite === 542 + 543 +|((( 544 +String 545 +)))|((( 546 +Absolute URL of the Reporter site for the IFrame. The URL has to be amended by the LMS with the following URL parameters: 547 + 548 +* sid: Session ID, as returned by armSite 549 +* ((( 550 +uid: Student ID, as registrated in the initiateSite at the ONYX Reporter 551 +))) 552 +))) 553 + 554 +{{code language="xml"}} 555 +public class ResultsForStudent { 556 + private String studentId = „"; 557 + private String firstname = „"; 558 + private String lastname = „"; 559 + private String groupname = „"; 560 + private String tutorname = „"; 561 + private File contentFile = null; 562 + private byte[] resultsFile = null; 563 +} 564 +{{/code}} 565 + 566 +== Logout through the LMS == 567 + 568 + 569 + 570 +{{code}} 571 +@WebMethod(operationName = „disarmSite") 572 +public Boolean disarmSite( 573 +@WebParam(name = „version") final Integer version, 574 +@WebParam(name = „sessionId") final String sessionId, 575 +@WebParam(name = „secretToShare") final String secretToShare, 576 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 577 +} 578 +{{/code}} 579 + 580 + 581 + 582 +=== Parameter disarmSite === 583 + 584 +|((( 585 +version 586 +)))|((( 587 +Requested version: 1 588 +))) 589 +|(% colspan="1" %)(% colspan="1" %) 590 +((( 591 +sessionId 592 +)))|(% colspan="1" %)(% colspan="1" %) 593 +((( 594 +SessionId, as returned by armSite. 595 +))) 596 +|((( 597 +secretToShare 598 +)))|((( 599 +A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication. 600 +))) 601 +|((( 602 +additionalParams 603 +)))|((( 604 +Reserved for future use. 605 +))) 606 + 607 +=== ReturnValue disarmSite === 608 + 609 +|((( 610 +Boolean 611 +)))|((( 612 +True in the case of success, otherwise false. 613 +))) 614 + 615 +== Request of learner results through the LMS == 616 + 617 +{{code language="xml" title="Request of learner results through the LMS"}} 618 + @WebMethod(operationName = „getResultValues") 619 +public HashMapWrapper getResultValues( 620 + @WebParam(name = „version") final Integer version, 621 + @WebParam(name = „sessionId") final String sessionId, 622 + @WebParam(name = „secretToShare") final String secretToShare, 623 + @WebParam(name = „requestedValues") final HashMap<String, String> 624 + requestedValues, 625 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 626 +} 627 +{{/code}} 628 + 629 +=== Parameter getResultValues === 630 + 631 +|((( 632 +version 633 +)))|((( 634 +Requested version: 1 635 +))) 636 +|(% colspan="1" %)(% colspan="1" %) 637 +((( 638 +sessionId 639 +)))|(% colspan="1" %)(% colspan="1" %) 640 +((( 641 +SessionId, as returned by armSite. 642 +))) 643 +|((( 644 +secretToShare 645 +)))|((( 646 +A secret string that allows the server and client to encrypt their communication. Must remain the same for any further communication. 647 +))) 648 +|((( 649 +requestedValues 650 +)))|((( 651 +Can be empty, in which case all result variables are returned. If keys are included, only the keys will be returned. 652 +))) 653 +|((( 654 +additionalParams 655 +)))|((( 656 +Reserved for future use. 657 +))) 658 + 659 +=== ReturnValue getResultValues === 660 + 661 +|((( 662 +HashMap<String, String> 663 +)))|((( 664 +Map of result variables, key is the variable name, value is the respective variable's value (HashMap is wrapped) 665 +))) 666 + 667 +== Request of result variables through the LMS == 668 + 669 +{{code language="xml" title="Request of result variables through the LMS"}} 670 + @WebMethod(operationName = „getResultVariables") 671 +public HashMapWrapper getResultVariables( 672 +@WebParam(name = „version") final Integer version, 673 +@WebParam(name = „contentPackage") final byte[] contentPackage, 674 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 675 +} 676 +{{/code}} 677 + 678 +=== Parameter getResultVariables === 679 + 680 +|((( 681 +version 682 +)))|((( 683 +Requested version: 1 684 +))) 685 +|((( 686 +contentPackage 687 +)))|((( 688 +Content package (zipped) as byte array. 689 +))) 690 +|((( 691 +additionalParams 692 +)))|((( 693 +Reserved for future use. 694 +))) 695 + 696 +=== ReturnValue getResultVariables === 697 + 698 +|((( 699 +HashMap<String, String> 700 +)))|((( 701 +Map of result variables, key is the variable name, value is the respective variable's value (HashMap is wrapped) 702 +))) 703 + 704 +== Wrapper == 705 + 706 +Since the transmission of maps and lists via JAX-WS can cause problems, they have to be wrapped. 707 + 708 +=== Wrapper for HashMap<String, String> === 709 + 710 +HashMapWrapper.java: 711 + 712 +[[image:attach:HashMapWrapperjava.png]] 713 + 714 +[[image:attach:HashMapWrapperjava2.png]] 715 + 716 +=== Wrapper for the ArrayList<ResultsForStudent> === 717 + 718 +ResultsForStudentsWrapper.java: 719 + 720 +[[image:attach:ResultsForStudentsWrapperjava.png]] 303 303 {{/layout-cell}} 304 304 {{/layout-section}} 305 305 {{/layout}} 724 +{{/sv-translation}}
- HashMapWrapperjava.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +135.3 KB - Inhalt
- HashMapWrapperjava2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +187.3 KB - Inhalt
- ResultsForStudentsWrapperjava.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.XWikiGuest - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +83.3 KB - Inhalt
- Confluence.Code.ConfluencePageClass[0]
-
- id
-
... ... @@ -1,1 +1,1 @@ 1 -334239 61 +3342390 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/334239 6/Schnittstelle ONYX Reporter1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342390/Schnittstelle ONYX Reporter