Änderungen von Dokument 08 Schnittstelle ONYX Reporter
Zuletzt geändert von Carina Enke am 26.11.2025
Von Version 402.2
bearbeitet von Carina Enke
am 16.11.2025
am 16.11.2025
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 351.1
bearbeitet von tleu
am 23.06.2015
am 23.06.2015
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (4 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 0 hinzugefügt, 3 gelöscht)
-
Objekte (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 - 08Schnittstelle ONYX Reporter1 +Schnittstelle ONYX Reporter - Übergeordnete Seite
-
... ... @@ -1,1 +1,0 @@ 1 -ONYX.Systeminformationen.WebHome - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. carina1 +XWiki.tleu - Inhalt
-
... ... @@ -1,30 +1,25 @@ 1 -{{section}} 2 -{{column width="60%"}} 1 +{{sv-translation language="de"}} 2 +{{layout}} 3 +{{layout-section ac:type="two_right_sidebar"}} 4 +{{layout-cell}} 5 +====== Inhalt: ====== 3 3 4 - 5 -{{/column}} 6 6 7 -{{column width="30%"}} 8 -{{panel title="Inhalt"}} 9 -{{toc start="2"/}} 10 -{{/panel}} 11 11 9 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}} 10 +{{/layout-cell}} 12 12 12 +{{layout-cell}} 13 + 14 +{{/layout-cell}} 15 +{{/layout-section}} 13 13 14 -{{panel title="Weiterführende Inhalte"}} 15 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 16 - 17 -{{/panel}} 18 - 19 -{{/column}} 20 -{{/section}} 21 - 22 - 17 +{{layout-section ac:type="single"}} 18 +{{layout-cell}} 23 23 == Allgemeines == 24 24 25 25 Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: 26 26 27 -(% class="wrapped" %) 28 28 |((( 29 29 armSite 30 30 )))|((( ... ... @@ -70,7 +70,6 @@ 70 70 71 71 === Parameter armSite === 72 72 73 -(% class="wrapped" %) 74 74 |((( 75 75 version 76 76 )))|((( ... ... @@ -113,7 +113,6 @@ 113 113 114 114 === ReturnValue armSite === 115 115 116 -(% class="wrapped" %) 117 117 |((( 118 118 String 119 119 )))|((( ... ... @@ -136,7 +136,6 @@ 136 136 137 137 === Parameter initiateSite === 138 138 139 -(% class="wrapped" %) 140 140 |((( 141 141 version 142 142 )))|((( ... ... @@ -172,7 +172,6 @@ 172 172 173 173 === ReturnValue initiateSite === 174 174 175 -(% class="wrapped" %) 176 176 |((( 177 177 String 178 178 )))|((( ... ... @@ -196,6 +196,7 @@ 196 196 197 197 == Abmeldung durch LMS == 198 198 190 + 199 199 200 200 {{code}} 201 201 @WebMethod(operationName = „disarmSite") ... ... @@ -207,10 +207,10 @@ 207 207 } 208 208 {{/code}} 209 209 202 + 210 210 211 211 === Parameter disarmSite === 212 212 213 -(% class="wrapped" %) 214 214 |((( 215 215 version 216 216 )))|((( ... ... @@ -333,19 +333,384 @@ 333 333 334 334 == Wrapper == 335 335 336 -Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.328 +Da die Übertragung von Maps und Listen über JAX-WS Probleme macht (clientseitig gefüllte Listen werden leer über den WS versandt und kommen daher auch leer serverseitig an), müssen diese gewrappt werden. 337 337 338 338 === Wrapper für die HashMap<String, String> === 339 339 340 340 HashMapWrapper.java: 341 341 342 -[[image:attach:HashMapWrapperjava.png ||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]334 +[[image:attach:HashMapWrapperjava.png]] 343 343 344 -[[image:attach:HashMapWrapperjava2.png ||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]336 +[[image:attach:HashMapWrapperjava2.png]] 345 345 346 346 === Wrapper für die ArrayList<ResultsForStudent> === 347 347 348 348 ResultsForStudentsWrapper.java: 349 349 350 -[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 342 +[[image:attach:ResultsForStudentsWrapperjava.png]] 343 +{{/layout-cell}} 344 +{{/layout-section}} 351 351 346 +{{layout-section ac:type="two_right_sidebar"}} 347 +{{layout-cell}} 348 + 349 +{{/layout-cell}} 350 + 351 +{{layout-cell}} 352 +====== relevante Links: ====== 353 + 354 +* [[doc:Schnittstelle ONYX Player]] 355 +{{/layout-cell}} 356 +{{/layout-section}} 357 +{{/layout}} 358 +{{/sv-translation}} 359 + 360 +{{sv-translation language="en"}} 361 +{{layout}} 362 +{{layout-section ac:type="two_equal"}} 363 +{{layout-cell}} 364 +====== Content: ====== 365 + 366 + 367 + 368 +{{toc maxLevel="5" outline="true" absoluteUrl="true" style="square"/}} 369 +{{/layout-cell}} 370 + 371 +{{layout-cell}} 372 + 373 +{{/layout-cell}} 374 +{{/layout-section}} 375 + 376 +{{layout-section ac:type="single"}} 377 +{{layout-cell}} 378 +== General == 379 + 380 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed: 381 + 382 +|((( 383 +armSite 384 +)))|((( 385 +Registration of sequence requests at the ONYX reporter 386 +))) 387 +|((( 388 +initiateSite 389 +)))|((( 390 +Initiates the reporter session (transmission of the CP). 391 +))) 392 +|((( 393 +disarmSite 394 +)))|((( 395 +Release of all reporter resources for this session. 396 +))) 397 +|((( 398 +getResultValues 399 +)))|((( 400 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite. 401 +))) 402 +|(% colspan="1" %)(% colspan="1" %) 403 +((( 404 +getResultVariables 405 +)))|(% colspan="1" %)(% colspan="1" %) 406 +((( 407 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary. 408 +))) 409 + 410 +== Connection to the LMS == 411 + 412 +{{code language="xml" title="Anmeldung des LMS"}} 413 +@WebMethod(operationName = „armSite") 414 +public String armSite( 415 +@WebParam(name = „version") final Integer version, 416 +@WebParam(name = „userId") final String userId, 417 +@WebParam(name = „optionalRole") final Integer role, 418 +@WebParam(name = „secretToShare") final String secretToShare, 419 +@WebParam(name = „optionalUserLastName") final String userLastName, 420 +@WebParam(name = „optionalUserFirstName") final String userFirstName, 421 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 422 +} 423 +{{/code}} 424 + 425 +=== Parameter armSite === 426 + 427 +|((( 428 +version 429 +)))|((( 430 +Requested version: 1 431 +))) 432 +|((( 433 +userId 434 +)))|((( 435 +UserId of the requested reporter user 436 +))) 437 +|((( 438 +optionalRole 439 +)))|((( 440 +Optional. User role. 0=student, 1=tutor 441 +))) 442 +|((( 443 +secretToShare 444 +)))|((( 445 +Shared secret. Has to remain identical for every communication. 446 +))) 447 +|((( 448 +optionalUserLastName 449 +)))|((( 450 +Optional. User lastname. 451 +))) 452 +|(% colspan="1" %)(% colspan="1" %) 453 +((( 454 +optionalUserFirstName 455 +)))|(% colspan="1" %)(% colspan="1" %) 456 +((( 457 +Optional. User firstname. 458 +))) 459 +|(% colspan="1" %)(% colspan="1" %) 460 +((( 461 +additionalParams 462 +)))|(% colspan="1" %)(% colspan="1" %) 463 +((( 464 +Reserved for future use. 465 +))) 466 + 467 +=== ReturnValue armSite === 468 + 469 +|((( 470 +String 471 +)))|((( 472 +Session ID that has to be used to mark any further reporter call. 473 +))) 474 + 475 +== Initialisation through LMS == 476 + 477 +{{code language="xml" title="Initialisierung durch LMS"}} 478 +@WebMethod(operationName = „initiateSite") 479 +public String initiateSite( 480 +@WebParam(name = „version") final Integer version, 481 +@WebParam(name = „sessionId") final String sessionId, 482 +@WebParam(name = „secretToShare") final String secretToShare, 483 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 484 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 485 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 486 +} 487 +{{/code}} 488 + 489 +=== Parameter initiateSite === 490 + 491 +|((( 492 +version 493 +)))|((( 494 +Requested version: 1 495 +))) 496 +|(% colspan="1" %)(% colspan="1" %) 497 +((( 498 +sessionId 499 +)))|(% colspan="1" %)(% colspan="1" %) 500 +((( 501 +SessionId, as returned by armSite. 502 +))) 503 +|((( 504 +secretToShare 505 +)))|((( 506 +Shared secret. Has to remain identical at every communication. 507 +))) 508 +|((( 509 +students 510 +)))|((( 511 +List of students with their results. See below. 512 +))) 513 +|((( 514 +optionalContentPackage 515 +)))|((( 516 +Optional. Content Package (zipped) as byte array. 517 +))) 518 +|((( 519 +additionalParams 520 +)))|((( 521 +Reserved for future use. 522 +))) 523 + 524 +=== ReturnValue initiateSite === 525 + 526 +|((( 527 +String 528 +)))|((( 529 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters: 530 + 531 +* sid: Session ID as returned by armSite 532 +* ((( 533 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter. 534 +))) 535 +))) 536 + 537 +{{code language="xml"}} 538 +public class ResultsForStudent { 539 + private String studentId = „"; 540 + private String firstname = „"; 541 + private String lastname = „"; 542 + private String groupname = „"; 543 + private String tutorname = „"; 544 + private File contentFile = null; 545 + private byte[] resultsFile = null; 546 +} 547 +{{/code}} 548 + 549 +== Deconnection through the LMS == 550 + 551 + 552 + 553 +{{code}} 554 +@WebMethod(operationName = „disarmSite") 555 +public Boolean disarmSite( 556 +@WebParam(name = „version") final Integer version, 557 +@WebParam(name = „sessionId") final String sessionId, 558 +@WebParam(name = „secretToShare") final String secretToShare, 559 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 560 +} 561 +{{/code}} 562 + 563 + 564 + 565 +=== Parameter disarmSite === 566 + 567 +|((( 568 +version 569 +)))|((( 570 +Requested version: 1 571 +))) 572 +|(% colspan="1" %)(% colspan="1" %) 573 +((( 574 +sessionId 575 +)))|(% colspan="1" %)(% colspan="1" %) 576 +((( 577 +SessionId, as returned by armSite. 578 +))) 579 +|((( 580 +secretToShare 581 +)))|((( 582 +Shared secret. Has to remain identical at every communication. 583 +))) 584 +|((( 585 +additionalParams 586 +)))|((( 587 +Reserved for future use. 588 +))) 589 + 590 +=== ReturnValue disarmSite === 591 + 592 +|((( 593 +Boolean 594 +)))|((( 595 +True if successful, otherwise false. 596 +))) 597 + 598 +== Request of learning results through the LMS == 599 + 600 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}} 601 + @WebMethod(operationName = „getResultValues") 602 +public HashMapWrapper getResultValues( 603 + @WebParam(name = „version") final Integer version, 604 + @WebParam(name = „sessionId") final String sessionId, 605 + @WebParam(name = „secretToShare") final String secretToShare, 606 + @WebParam(name = „requestedValues") final HashMap<String, String> 607 + requestedValues, 608 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 609 +} 610 +{{/code}} 611 + 612 +=== Parameter getResultValues === 613 + 614 +|((( 615 +version 616 +)))|((( 617 +Requested version: 1 618 +))) 619 +|(% colspan="1" %)(% colspan="1" %) 620 +((( 621 +sessionId 622 +)))|(% colspan="1" %)(% colspan="1" %) 623 +((( 624 +SessionId, as returned by armSite. 625 +))) 626 +|((( 627 +secretToShare 628 +)))|((( 629 +Shared secret. Has to remain identical at every communication. 630 +))) 631 +|((( 632 +requestedValues 633 +)))|((( 634 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned. 635 +))) 636 +|((( 637 +additionalParams 638 +)))|((( 639 +Reserved for future use. 640 +))) 641 + 642 +=== ReturnValue getResultValues === 643 + 644 +|((( 645 +HashMap<String, String> 646 +)))|((( 647 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped) 648 +))) 649 + 650 +== Request of result variables through the LMS == 651 + 652 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}} 653 + @WebMethod(operationName = „getResultVariables") 654 +public HashMapWrapper getResultVariables( 655 +@WebParam(name = „version") final Integer version, 656 +@WebParam(name = „contentPackage") final byte[] contentPackage, 657 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 658 +} 659 +{{/code}} 660 + 661 +=== Parameter getResultVariables === 662 + 663 +|((( 664 +version 665 +)))|((( 666 +Requested version: 1 667 +))) 668 +|((( 669 +contentPackage 670 +)))|((( 671 +Content package (zipped) as byte array. 672 +))) 673 +|((( 674 +additionalParams 675 +)))|((( 676 +Reserved for future use. 677 +))) 678 + 679 +=== ReturnValue getResultVariables === 680 + 681 +|((( 682 +HashMap<String, String> 683 +)))|((( 684 +Map of result variables, key is the variable name, value the corresponding 685 +value (HashMap is wrapped). 686 +))) 687 + 688 +== Wrapper == 689 + 690 +As the transmission of maps and lists generate problems via JAX-WS (lists filled by the customer are sent without any data and thus reach the server without data) they have to be wrapped. 691 + 692 +=== Wrapper for HashMap<String, String> === 693 + 694 +HashMapWrapper.java: 695 + 696 +[[image:attach:HashMapWrapperjava.png]] 697 + 698 +[[image:attach:HashMapWrapperjava2.png]] 699 + 700 +=== Wrapper for the ArrayList<ResultsForStudent> === 701 + 702 +ResultsForStudentsWrapper.java: 703 + 704 +[[image:attach:ResultsForStudentsWrapperjava.png]] 705 +{{/layout-cell}} 706 +{{/layout-section}} 707 +{{/layout}} 708 +{{/sv-translation}}
- HashMapWrapperjava.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.XWikiGuest - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -135.3 KB - Inhalt
- HashMapWrapperjava2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.XWikiGuest - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -187.3 KB - Inhalt
- ResultsForStudentsWrapperjava.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.XWikiGuest - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -83.3 KB - Inhalt
- Confluence.Code.ConfluencePageClass[0]
-
- id
-
... ... @@ -1,1 +1,1 @@ 1 - 33423901 +146964903 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/ 3342390/Schnittstelle ONYX Reporter1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/146964903/Schnittstelle ONYX Reporter