Ä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 399.1
bearbeitet von Carina Enke
am 13.02.2024
am 13.02.2024
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 -0 8Schnittstelle ONYX Reporter1 +10 Schnittstelle ONYX Reporter - Inhalt
-
... ... @@ -1,24 +1,78 @@ 1 -{{section}} 2 -{{column width="60%"}} 1 +(% data-xwiki-non-generated-content="java.util.List" %) 2 +((( 3 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 3 3 5 +(% data-xwiki-non-generated-content="java.util.List" %) 6 +((( 7 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 8 + 9 +(% data-xwiki-non-generated-content="java.util.List" %) 10 +((( 11 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 12 +))) 13 + 14 +{{layout-cell}} 4 4 5 -{{/ column}}16 +{{/layout-cell}} 6 6 7 -{{column width="30%"}} 8 -{{panel title="Inhalt"}} 18 +(% data-xwiki-non-generated-content="java.util.List" %) 19 +((( 20 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 21 + 22 +(% data-xwiki-non-generated-content="java.util.List" %) 23 +((( 24 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 25 + 9 9 {{toc start="2"/}} 27 + 28 + **Weitere Informationen:** 29 + 30 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 31 +))) 32 + 33 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}} 34 +{{toc start="2"/}} 35 + 36 + **Weitere Informationen:** 37 + 38 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 10 10 {{/panel}} 40 +))) 11 11 42 +{{layout-cell}} 43 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}} 44 +{{toc start="2"/}} 12 12 46 + **Weitere Informationen:** 13 13 14 -{{panel title="Weiterführende Inhalte"}} 15 15 * [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 49 +{{/panel}} 50 +{{/layout-cell}} 51 +))) 16 16 53 +{{layout-section ac:type="two_right_sidebar"}} 54 +{{layout-cell}} 55 + 56 +{{/layout-cell}} 57 + 58 +{{layout-cell}} 59 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}} 60 +{{toc start="2"/}} 61 + 62 + **Weitere Informationen:** 63 + 64 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 17 17 {{/panel}} 66 +{{/layout-cell}} 67 +{{/layout-section}} 18 18 19 -{{/column}} 20 -{{/section}} 69 +(% data-xwiki-non-generated-content="java.util.List" %) 70 +((( 71 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 21 21 73 +(% data-xwiki-non-generated-content="java.util.List" %) 74 +((( 75 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 22 22 23 23 == Allgemeines == 24 24 ... ... @@ -55,6 +55,11 @@ 55 55 56 56 == Anmeldung des LMS == 57 57 112 +(% data-xwiki-non-generated-content="java.util.List" %) 113 +((( 114 +" data-xwiki-parameter-name="title" class="xwiki-metadata-container">Anmeldung des LMS 115 +))) 116 + 58 58 {{code language="xml" title="Anmeldung des LMS"}} 59 59 @WebMethod(operationName = „armSite") 60 60 public String armSite( ... ... @@ -122,6 +122,11 @@ 122 122 123 123 == Initialisierung durch LMS == 124 124 184 +(% data-xwiki-non-generated-content="java.util.List" %) 185 +((( 186 +" data-xwiki-parameter-name="title" class="xwiki-metadata-container">Initialisierung durch LMS 187 +))) 188 + 125 125 {{code language="xml" title="Initialisierung durch LMS"}} 126 126 @WebMethod(operationName = „initiateSite") 127 127 public String initiateSite( ... ... @@ -236,6 +236,7 @@ 236 236 237 237 === ReturnValue disarmSite === 238 238 303 +(% class="wrapped" %) 239 239 |((( 240 240 Boolean 241 241 )))|((( ... ... @@ -244,6 +244,11 @@ 244 244 245 245 == Abfrage von Lernerresultaten durch LMS == 246 246 312 +(% data-xwiki-non-generated-content="java.util.List" %) 313 +((( 314 +" data-xwiki-parameter-name="title" class="xwiki-metadata-container">Abfrage von Lernerresultaten durch LMS 315 +))) 316 + 247 247 {{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}} 248 248 @WebMethod(operationName = „getResultValues") 249 249 public HashMapWrapper getResultValues( ... ... @@ -258,6 +258,7 @@ 258 258 259 259 === Parameter getResultValues === 260 260 331 +(% class="wrapped" %) 261 261 |((( 262 262 version 263 263 )))|((( ... ... @@ -288,6 +288,7 @@ 288 288 289 289 === ReturnValue getResultValues === 290 290 362 +(% class="wrapped" %) 291 291 |((( 292 292 HashMap<String, String> 293 293 )))|((( ... ... @@ -296,6 +296,11 @@ 296 296 297 297 == Abfrage von Ergebnisvariablen durch LMS == 298 298 371 +(% data-xwiki-non-generated-content="java.util.List" %) 372 +((( 373 +" data-xwiki-parameter-name="title" class="xwiki-metadata-container">Abfrage von Ergebnisvariablen durch LMS 374 +))) 375 + 299 299 {{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}} 300 300 @WebMethod(operationName = „getResultVariables") 301 301 public HashMapWrapper getResultVariables( ... ... @@ -307,6 +307,7 @@ 307 307 308 308 === Parameter getResultVariables === 309 309 387 +(% class="wrapped" %) 310 310 |((( 311 311 version 312 312 )))|((( ... ... @@ -325,6 +325,7 @@ 325 325 326 326 === ReturnValue getResultVariables === 327 327 406 +(% class="wrapped" %) 328 328 |((( 329 329 HashMap<String, String> 330 330 )))|((( ... ... @@ -348,4 +348,1089 @@ 348 348 ResultsForStudentsWrapper.java: 349 349 350 350 [[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 430 +))) 351 351 432 +{{layout-cell}} 433 +== Allgemeines == 434 + 435 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: 436 + 437 +(% class="wrapped" %) 438 +|((( 439 +armSite 440 +)))|((( 441 +Anmeldung von Folgerequests beim ONYX Reporter. 442 +))) 443 +|((( 444 +initiateSite 445 +)))|((( 446 +Initiiert die Reporter-Session (Übertragung des CPs). 447 +))) 448 +|((( 449 +disarmSite 450 +)))|((( 451 +Freigabe von allen Reporter-Ressourcen für diese Session. 452 +))) 453 +|((( 454 +getResultValues 455 +)))|((( 456 +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. 457 +))) 458 +|(% colspan="1" %)(% colspan="1" %) 459 +((( 460 +getResultVariables 461 +)))|(% colspan="1" %)(% colspan="1" %) 462 +((( 463 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich. 464 +))) 465 + 466 +== Anmeldung des LMS == 467 + 468 +{{code language="xml" title="Anmeldung des LMS"}} 469 +@WebMethod(operationName = „armSite") 470 +public String armSite( 471 +@WebParam(name = „version") final Integer version, 472 +@WebParam(name = „userId") final String userId, 473 +@WebParam(name = „optionalRole") final Integer role, 474 +@WebParam(name = „secretToShare") final String secretToShare, 475 +@WebParam(name = „optionalUserLastName") final String userLastName, 476 +@WebParam(name = „optionalUserFirstName") final String userFirstName, 477 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 478 +} 479 +{{/code}} 480 + 481 +=== Parameter armSite === 482 + 483 +(% class="wrapped" %) 484 +|((( 485 +version 486 +)))|((( 487 +Angefragte Version: 1 488 +))) 489 +|((( 490 +userId 491 +)))|((( 492 +UserId des anfragenden Reporter-Benutzers 493 +))) 494 +|((( 495 +optionalRole 496 +)))|((( 497 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor 498 +))) 499 +|((( 500 +secretToShare 501 +)))|((( 502 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 503 +))) 504 +|((( 505 +optionalUserLastName 506 +)))|((( 507 +Optional. Nachname des Benutzers. 508 +))) 509 +|(% colspan="1" %)(% colspan="1" %) 510 +((( 511 +optionalUserFirstName 512 +)))|(% colspan="1" %)(% colspan="1" %) 513 +((( 514 +Optional. Vorname des Benutzers. 515 +))) 516 +|(% colspan="1" %)(% colspan="1" %) 517 +((( 518 +additionalParams 519 +)))|(% colspan="1" %)(% colspan="1" %) 520 +((( 521 +Reserved for future use. 522 +))) 523 + 524 +=== ReturnValue armSite === 525 + 526 +(% class="wrapped" %) 527 +|((( 528 +String 529 +)))|((( 530 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen. 531 +))) 532 + 533 +== Initialisierung durch LMS == 534 + 535 +{{code language="xml" title="Initialisierung durch LMS"}} 536 +@WebMethod(operationName = „initiateSite") 537 +public String initiateSite( 538 +@WebParam(name = „version") final Integer version, 539 +@WebParam(name = „sessionId") final String sessionId, 540 +@WebParam(name = „secretToShare") final String secretToShare, 541 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 542 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 543 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 544 +} 545 +{{/code}} 546 + 547 +=== Parameter initiateSite === 548 + 549 +(% class="wrapped" %) 550 +|((( 551 +version 552 +)))|((( 553 +Angefragte Version: 1 554 +))) 555 +|(% colspan="1" %)(% colspan="1" %) 556 +((( 557 +sessionId 558 +)))|(% colspan="1" %)(% colspan="1" %) 559 +((( 560 +SessionId, wie von armSite zurück geliefert. 561 +))) 562 +|((( 563 +secretToShare 564 +)))|((( 565 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 566 +))) 567 +|((( 568 +students 569 +)))|((( 570 +Liste der Studenten mit ihren Resultaten. Siehe unten. 571 +))) 572 +|((( 573 +optionalContentPackage 574 +)))|((( 575 +Optional. Content Package (gezippt) als Byte-Array. 576 +))) 577 +|((( 578 +additionalParams 579 +)))|((( 580 +Reserved for future use. 581 +))) 582 + 583 +=== ReturnValue initiateSite === 584 + 585 +(% class="wrapped" %) 586 +|((( 587 +String 588 +)))|((( 589 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern: 590 + 591 +* sid: Session ID, wie von armSite zurück gegeben 592 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet 593 +))) 594 + 595 +{{code language="xml"}} 596 +public class ResultsForStudent { 597 + private String studentId = „"; 598 + private String firstname = „"; 599 + private String lastname = „"; 600 + private String groupname = „"; 601 + private String tutorname = „"; 602 + private File contentFile = null; 603 + private byte[] resultsFile = null; 604 +} 605 +{{/code}} 606 + 607 +== Abmeldung durch LMS == 608 + 609 + 610 +{{code}} 611 +@WebMethod(operationName = „disarmSite") 612 +public Boolean disarmSite( 613 +@WebParam(name = „version") final Integer version, 614 +@WebParam(name = „sessionId") final String sessionId, 615 +@WebParam(name = „secretToShare") final String secretToShare, 616 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 617 +} 618 +{{/code}} 619 + 620 + 621 +=== Parameter disarmSite === 622 + 623 +(% class="wrapped" %) 624 +|((( 625 +version 626 +)))|((( 627 +Angefragte Version: 1 628 +))) 629 +|(% colspan="1" %)(% colspan="1" %) 630 +((( 631 +sessionId 632 +)))|(% colspan="1" %)(% colspan="1" %) 633 +((( 634 +SessionId, wie von armSite zurück geliefert. 635 +))) 636 +|((( 637 +secretToShare 638 +)))|((( 639 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 640 +))) 641 +|((( 642 +additionalParams 643 +)))|((( 644 +Reserved for future use. 645 +))) 646 + 647 +=== ReturnValue disarmSite === 648 + 649 +(% class="wrapped" %) 650 +|((( 651 +Boolean 652 +)))|((( 653 +True bei Erfolg, sonst false. 654 +))) 655 + 656 +== Abfrage von Lernerresultaten durch LMS == 657 + 658 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}} 659 + @WebMethod(operationName = „getResultValues") 660 +public HashMapWrapper getResultValues( 661 + @WebParam(name = „version") final Integer version, 662 + @WebParam(name = „sessionId") final String sessionId, 663 + @WebParam(name = „secretToShare") final String secretToShare, 664 + @WebParam(name = „requestedValues") final HashMap<String, String> 665 + requestedValues, 666 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 667 +} 668 +{{/code}} 669 + 670 +=== Parameter getResultValues === 671 + 672 +(% class="wrapped" %) 673 +|((( 674 +version 675 +)))|((( 676 +Angefragte Version: 1 677 +))) 678 +|(% colspan="1" %)(% colspan="1" %) 679 +((( 680 +sessionId 681 +)))|(% colspan="1" %)(% colspan="1" %) 682 +((( 683 +SessionId, wie von armSite zurück geliefert. 684 +))) 685 +|((( 686 +secretToShare 687 +)))|((( 688 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 689 +))) 690 +|((( 691 +requestedValues 692 +)))|((( 693 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück. 694 +))) 695 +|((( 696 +additionalParams 697 +)))|((( 698 +Reserved for future use. 699 +))) 700 + 701 +=== ReturnValue getResultValues === 702 + 703 +(% class="wrapped" %) 704 +|((( 705 +HashMap<String, String> 706 +)))|((( 707 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 708 +))) 709 + 710 +== Abfrage von Ergebnisvariablen durch LMS == 711 + 712 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}} 713 + @WebMethod(operationName = „getResultVariables") 714 +public HashMapWrapper getResultVariables( 715 +@WebParam(name = „version") final Integer version, 716 +@WebParam(name = „contentPackage") final byte[] contentPackage, 717 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 718 +} 719 +{{/code}} 720 + 721 +=== Parameter getResultVariables === 722 + 723 +(% class="wrapped" %) 724 +|((( 725 +version 726 +)))|((( 727 +Angefragte Version: 1 728 +))) 729 +|((( 730 +contentPackage 731 +)))|((( 732 +Content Package (gezippt) als Byte-Array. 733 +))) 734 +|((( 735 +additionalParams 736 +)))|((( 737 +Reserved for future use. 738 +))) 739 + 740 +=== ReturnValue getResultVariables === 741 + 742 +(% class="wrapped" %) 743 +|((( 744 +HashMap<String, String> 745 +)))|((( 746 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 747 +))) 748 + 749 +== Wrapper == 750 + 751 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden. 752 + 753 +=== Wrapper für die HashMap<String, String> === 754 + 755 +HashMapWrapper.java: 756 + 757 +[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 758 + 759 +[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 760 + 761 +=== Wrapper für die ArrayList<ResultsForStudent> === 762 + 763 +ResultsForStudentsWrapper.java: 764 + 765 +[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 766 +{{/layout-cell}} 767 +))) 768 + 769 +{{layout-section ac:type="single"}} 770 +{{layout-cell}} 771 +== Allgemeines == 772 + 773 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: 774 + 775 +(% class="wrapped" %) 776 +|((( 777 +armSite 778 +)))|((( 779 +Anmeldung von Folgerequests beim ONYX Reporter. 780 +))) 781 +|((( 782 +initiateSite 783 +)))|((( 784 +Initiiert die Reporter-Session (Übertragung des CPs). 785 +))) 786 +|((( 787 +disarmSite 788 +)))|((( 789 +Freigabe von allen Reporter-Ressourcen für diese Session. 790 +))) 791 +|((( 792 +getResultValues 793 +)))|((( 794 +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. 795 +))) 796 +|(% colspan="1" %)(% colspan="1" %) 797 +((( 798 +getResultVariables 799 +)))|(% colspan="1" %)(% colspan="1" %) 800 +((( 801 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich. 802 +))) 803 + 804 +== Anmeldung des LMS == 805 + 806 +{{code language="xml" title="Anmeldung des LMS"}} 807 +@WebMethod(operationName = „armSite") 808 +public String armSite( 809 +@WebParam(name = „version") final Integer version, 810 +@WebParam(name = „userId") final String userId, 811 +@WebParam(name = „optionalRole") final Integer role, 812 +@WebParam(name = „secretToShare") final String secretToShare, 813 +@WebParam(name = „optionalUserLastName") final String userLastName, 814 +@WebParam(name = „optionalUserFirstName") final String userFirstName, 815 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 816 +} 817 +{{/code}} 818 + 819 +=== Parameter armSite === 820 + 821 +(% class="wrapped" %) 822 +|((( 823 +version 824 +)))|((( 825 +Angefragte Version: 1 826 +))) 827 +|((( 828 +userId 829 +)))|((( 830 +UserId des anfragenden Reporter-Benutzers 831 +))) 832 +|((( 833 +optionalRole 834 +)))|((( 835 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor 836 +))) 837 +|((( 838 +secretToShare 839 +)))|((( 840 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 841 +))) 842 +|((( 843 +optionalUserLastName 844 +)))|((( 845 +Optional. Nachname des Benutzers. 846 +))) 847 +|(% colspan="1" %)(% colspan="1" %) 848 +((( 849 +optionalUserFirstName 850 +)))|(% colspan="1" %)(% colspan="1" %) 851 +((( 852 +Optional. Vorname des Benutzers. 853 +))) 854 +|(% colspan="1" %)(% colspan="1" %) 855 +((( 856 +additionalParams 857 +)))|(% colspan="1" %)(% colspan="1" %) 858 +((( 859 +Reserved for future use. 860 +))) 861 + 862 +=== ReturnValue armSite === 863 + 864 +(% class="wrapped" %) 865 +|((( 866 +String 867 +)))|((( 868 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen. 869 +))) 870 + 871 +== Initialisierung durch LMS == 872 + 873 +{{code language="xml" title="Initialisierung durch LMS"}} 874 +@WebMethod(operationName = „initiateSite") 875 +public String initiateSite( 876 +@WebParam(name = „version") final Integer version, 877 +@WebParam(name = „sessionId") final String sessionId, 878 +@WebParam(name = „secretToShare") final String secretToShare, 879 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 880 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 881 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 882 +} 883 +{{/code}} 884 + 885 +=== Parameter initiateSite === 886 + 887 +(% class="wrapped" %) 888 +|((( 889 +version 890 +)))|((( 891 +Angefragte Version: 1 892 +))) 893 +|(% colspan="1" %)(% colspan="1" %) 894 +((( 895 +sessionId 896 +)))|(% colspan="1" %)(% colspan="1" %) 897 +((( 898 +SessionId, wie von armSite zurück geliefert. 899 +))) 900 +|((( 901 +secretToShare 902 +)))|((( 903 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 904 +))) 905 +|((( 906 +students 907 +)))|((( 908 +Liste der Studenten mit ihren Resultaten. Siehe unten. 909 +))) 910 +|((( 911 +optionalContentPackage 912 +)))|((( 913 +Optional. Content Package (gezippt) als Byte-Array. 914 +))) 915 +|((( 916 +additionalParams 917 +)))|((( 918 +Reserved for future use. 919 +))) 920 + 921 +=== ReturnValue initiateSite === 922 + 923 +(% class="wrapped" %) 924 +|((( 925 +String 926 +)))|((( 927 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern: 928 + 929 +* sid: Session ID, wie von armSite zurück gegeben 930 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet 931 +))) 932 + 933 +{{code language="xml"}} 934 +public class ResultsForStudent { 935 + private String studentId = „"; 936 + private String firstname = „"; 937 + private String lastname = „"; 938 + private String groupname = „"; 939 + private String tutorname = „"; 940 + private File contentFile = null; 941 + private byte[] resultsFile = null; 942 +} 943 +{{/code}} 944 + 945 +== Abmeldung durch LMS == 946 + 947 + 948 +{{code}} 949 +@WebMethod(operationName = „disarmSite") 950 +public Boolean disarmSite( 951 +@WebParam(name = „version") final Integer version, 952 +@WebParam(name = „sessionId") final String sessionId, 953 +@WebParam(name = „secretToShare") final String secretToShare, 954 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 955 +} 956 +{{/code}} 957 + 958 + 959 +=== Parameter disarmSite === 960 + 961 +(% class="wrapped" %) 962 +|((( 963 +version 964 +)))|((( 965 +Angefragte Version: 1 966 +))) 967 +|(% colspan="1" %)(% colspan="1" %) 968 +((( 969 +sessionId 970 +)))|(% colspan="1" %)(% colspan="1" %) 971 +((( 972 +SessionId, wie von armSite zurück geliefert. 973 +))) 974 +|((( 975 +secretToShare 976 +)))|((( 977 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 978 +))) 979 +|((( 980 +additionalParams 981 +)))|((( 982 +Reserved for future use. 983 +))) 984 + 985 +=== ReturnValue disarmSite === 986 + 987 +(% class="wrapped" %) 988 +|((( 989 +Boolean 990 +)))|((( 991 +True bei Erfolg, sonst false. 992 +))) 993 + 994 +== Abfrage von Lernerresultaten durch LMS == 995 + 996 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}} 997 + @WebMethod(operationName = „getResultValues") 998 +public HashMapWrapper getResultValues( 999 + @WebParam(name = „version") final Integer version, 1000 + @WebParam(name = „sessionId") final String sessionId, 1001 + @WebParam(name = „secretToShare") final String secretToShare, 1002 + @WebParam(name = „requestedValues") final HashMap<String, String> 1003 + requestedValues, 1004 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 1005 +} 1006 +{{/code}} 1007 + 1008 +=== Parameter getResultValues === 1009 + 1010 +(% class="wrapped" %) 1011 +|((( 1012 +version 1013 +)))|((( 1014 +Angefragte Version: 1 1015 +))) 1016 +|(% colspan="1" %)(% colspan="1" %) 1017 +((( 1018 +sessionId 1019 +)))|(% colspan="1" %)(% colspan="1" %) 1020 +((( 1021 +SessionId, wie von armSite zurück geliefert. 1022 +))) 1023 +|((( 1024 +secretToShare 1025 +)))|((( 1026 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 1027 +))) 1028 +|((( 1029 +requestedValues 1030 +)))|((( 1031 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück. 1032 +))) 1033 +|((( 1034 +additionalParams 1035 +)))|((( 1036 +Reserved for future use. 1037 +))) 1038 + 1039 +=== ReturnValue getResultValues === 1040 + 1041 +(% class="wrapped" %) 1042 +|((( 1043 +HashMap<String, String> 1044 +)))|((( 1045 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 1046 +))) 1047 + 1048 +== Abfrage von Ergebnisvariablen durch LMS == 1049 + 1050 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}} 1051 + @WebMethod(operationName = „getResultVariables") 1052 +public HashMapWrapper getResultVariables( 1053 +@WebParam(name = „version") final Integer version, 1054 +@WebParam(name = „contentPackage") final byte[] contentPackage, 1055 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 1056 +} 1057 +{{/code}} 1058 + 1059 +=== Parameter getResultVariables === 1060 + 1061 +(% class="wrapped" %) 1062 +|((( 1063 +version 1064 +)))|((( 1065 +Angefragte Version: 1 1066 +))) 1067 +|((( 1068 +contentPackage 1069 +)))|((( 1070 +Content Package (gezippt) als Byte-Array. 1071 +))) 1072 +|((( 1073 +additionalParams 1074 +)))|((( 1075 +Reserved for future use. 1076 +))) 1077 + 1078 +=== ReturnValue getResultVariables === 1079 + 1080 +(% class="wrapped" %) 1081 +|((( 1082 +HashMap<String, String> 1083 +)))|((( 1084 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 1085 +))) 1086 + 1087 +== Wrapper == 1088 + 1089 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden. 1090 + 1091 +=== Wrapper für die HashMap<String, String> === 1092 + 1093 +HashMapWrapper.java: 1094 + 1095 +[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 1096 + 1097 +[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 1098 + 1099 +=== Wrapper für die ArrayList<ResultsForStudent> === 1100 + 1101 +ResultsForStudentsWrapper.java: 1102 + 1103 +[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 1104 +{{/layout-cell}} 1105 +{{/layout-section}} 1106 + 1107 +(% data-xwiki-non-generated-content="java.util.List" %) 1108 +((( 1109 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 1110 + 1111 +(% data-xwiki-non-generated-content="java.util.List" %) 1112 +((( 1113 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 1114 +))) 1115 + 1116 +{{layout-cell}} 1117 + 1118 +{{/layout-cell}} 1119 + 1120 +(% data-xwiki-non-generated-content="java.util.List" %) 1121 +((( 1122 +" data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container"> 1123 + 1124 +====== relevante Links: ====== 1125 + 1126 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 1127 +))) 1128 + 1129 +{{layout-cell}} 1130 +====== relevante Links: ====== 1131 + 1132 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 1133 +{{/layout-cell}} 1134 +))) 1135 + 1136 +{{layout-section ac:type="two_right_sidebar"}} 1137 +{{layout-cell}} 1138 + 1139 +{{/layout-cell}} 1140 + 1141 +{{layout-cell}} 1142 +====== relevante Links: ====== 1143 + 1144 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 1145 +{{/layout-cell}} 1146 +{{/layout-section}} 1147 +))) 1148 + 1149 +{{layout}} 1150 +{{layout-section ac:type="two_right_sidebar"}} 1151 +{{layout-cell}} 1152 + 1153 +{{/layout-cell}} 1154 + 1155 +{{layout-cell}} 1156 +{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}} 1157 +{{toc start="2"/}} 1158 + 1159 + **Weitere Informationen:** 1160 + 1161 +* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 1162 +{{/panel}} 1163 +{{/layout-cell}} 1164 +{{/layout-section}} 1165 + 1166 +{{layout-section ac:type="single"}} 1167 +{{layout-cell}} 1168 +== Allgemeines == 1169 + 1170 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: 1171 + 1172 +(% class="wrapped" %) 1173 +|((( 1174 +armSite 1175 +)))|((( 1176 +Anmeldung von Folgerequests beim ONYX Reporter. 1177 +))) 1178 +|((( 1179 +initiateSite 1180 +)))|((( 1181 +Initiiert die Reporter-Session (Übertragung des CPs). 1182 +))) 1183 +|((( 1184 +disarmSite 1185 +)))|((( 1186 +Freigabe von allen Reporter-Ressourcen für diese Session. 1187 +))) 1188 +|((( 1189 +getResultValues 1190 +)))|((( 1191 +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. 1192 +))) 1193 +|(% colspan="1" %)(% colspan="1" %) 1194 +((( 1195 +getResultVariables 1196 +)))|(% colspan="1" %)(% colspan="1" %) 1197 +((( 1198 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich. 1199 +))) 1200 + 1201 +== Anmeldung des LMS == 1202 + 1203 +{{code language="xml" title="Anmeldung des LMS"}} 1204 +@WebMethod(operationName = „armSite") 1205 +public String armSite( 1206 +@WebParam(name = „version") final Integer version, 1207 +@WebParam(name = „userId") final String userId, 1208 +@WebParam(name = „optionalRole") final Integer role, 1209 +@WebParam(name = „secretToShare") final String secretToShare, 1210 +@WebParam(name = „optionalUserLastName") final String userLastName, 1211 +@WebParam(name = „optionalUserFirstName") final String userFirstName, 1212 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 1213 +} 1214 +{{/code}} 1215 + 1216 +=== Parameter armSite === 1217 + 1218 +(% class="wrapped" %) 1219 +|((( 1220 +version 1221 +)))|((( 1222 +Angefragte Version: 1 1223 +))) 1224 +|((( 1225 +userId 1226 +)))|((( 1227 +UserId des anfragenden Reporter-Benutzers 1228 +))) 1229 +|((( 1230 +optionalRole 1231 +)))|((( 1232 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor 1233 +))) 1234 +|((( 1235 +secretToShare 1236 +)))|((( 1237 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 1238 +))) 1239 +|((( 1240 +optionalUserLastName 1241 +)))|((( 1242 +Optional. Nachname des Benutzers. 1243 +))) 1244 +|(% colspan="1" %)(% colspan="1" %) 1245 +((( 1246 +optionalUserFirstName 1247 +)))|(% colspan="1" %)(% colspan="1" %) 1248 +((( 1249 +Optional. Vorname des Benutzers. 1250 +))) 1251 +|(% colspan="1" %)(% colspan="1" %) 1252 +((( 1253 +additionalParams 1254 +)))|(% colspan="1" %)(% colspan="1" %) 1255 +((( 1256 +Reserved for future use. 1257 +))) 1258 + 1259 +=== ReturnValue armSite === 1260 + 1261 +(% class="wrapped" %) 1262 +|((( 1263 +String 1264 +)))|((( 1265 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen. 1266 +))) 1267 + 1268 +== Initialisierung durch LMS == 1269 + 1270 +{{code language="xml" title="Initialisierung durch LMS"}} 1271 +@WebMethod(operationName = „initiateSite") 1272 +public String initiateSite( 1273 +@WebParam(name = „version") final Integer version, 1274 +@WebParam(name = „sessionId") final String sessionId, 1275 +@WebParam(name = „secretToShare") final String secretToShare, 1276 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 1277 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 1278 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 1279 +} 1280 +{{/code}} 1281 + 1282 +=== Parameter initiateSite === 1283 + 1284 +(% class="wrapped" %) 1285 +|((( 1286 +version 1287 +)))|((( 1288 +Angefragte Version: 1 1289 +))) 1290 +|(% colspan="1" %)(% colspan="1" %) 1291 +((( 1292 +sessionId 1293 +)))|(% colspan="1" %)(% colspan="1" %) 1294 +((( 1295 +SessionId, wie von armSite zurück geliefert. 1296 +))) 1297 +|((( 1298 +secretToShare 1299 +)))|((( 1300 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 1301 +))) 1302 +|((( 1303 +students 1304 +)))|((( 1305 +Liste der Studenten mit ihren Resultaten. Siehe unten. 1306 +))) 1307 +|((( 1308 +optionalContentPackage 1309 +)))|((( 1310 +Optional. Content Package (gezippt) als Byte-Array. 1311 +))) 1312 +|((( 1313 +additionalParams 1314 +)))|((( 1315 +Reserved for future use. 1316 +))) 1317 + 1318 +=== ReturnValue initiateSite === 1319 + 1320 +(% class="wrapped" %) 1321 +|((( 1322 +String 1323 +)))|((( 1324 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern: 1325 + 1326 +* sid: Session ID, wie von armSite zurück gegeben 1327 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet 1328 +))) 1329 + 1330 +{{code language="xml"}} 1331 +public class ResultsForStudent { 1332 + private String studentId = „"; 1333 + private String firstname = „"; 1334 + private String lastname = „"; 1335 + private String groupname = „"; 1336 + private String tutorname = „"; 1337 + private File contentFile = null; 1338 + private byte[] resultsFile = null; 1339 +} 1340 +{{/code}} 1341 + 1342 +== Abmeldung durch LMS == 1343 + 1344 + 1345 +{{code}} 1346 +@WebMethod(operationName = „disarmSite") 1347 +public Boolean disarmSite( 1348 +@WebParam(name = „version") final Integer version, 1349 +@WebParam(name = „sessionId") final String sessionId, 1350 +@WebParam(name = „secretToShare") final String secretToShare, 1351 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 1352 +} 1353 +{{/code}} 1354 + 1355 + 1356 +=== Parameter disarmSite === 1357 + 1358 +(% class="wrapped" %) 1359 +|((( 1360 +version 1361 +)))|((( 1362 +Angefragte Version: 1 1363 +))) 1364 +|(% colspan="1" %)(% colspan="1" %) 1365 +((( 1366 +sessionId 1367 +)))|(% colspan="1" %)(% colspan="1" %) 1368 +((( 1369 +SessionId, wie von armSite zurück geliefert. 1370 +))) 1371 +|((( 1372 +secretToShare 1373 +)))|((( 1374 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 1375 +))) 1376 +|((( 1377 +additionalParams 1378 +)))|((( 1379 +Reserved for future use. 1380 +))) 1381 + 1382 +=== ReturnValue disarmSite === 1383 + 1384 +(% class="wrapped" %) 1385 +|((( 1386 +Boolean 1387 +)))|((( 1388 +True bei Erfolg, sonst false. 1389 +))) 1390 + 1391 +== Abfrage von Lernerresultaten durch LMS == 1392 + 1393 +{{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}} 1394 + @WebMethod(operationName = „getResultValues") 1395 +public HashMapWrapper getResultValues( 1396 + @WebParam(name = „version") final Integer version, 1397 + @WebParam(name = „sessionId") final String sessionId, 1398 + @WebParam(name = „secretToShare") final String secretToShare, 1399 + @WebParam(name = „requestedValues") final HashMap<String, String> 1400 + requestedValues, 1401 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 1402 +} 1403 +{{/code}} 1404 + 1405 +=== Parameter getResultValues === 1406 + 1407 +(% class="wrapped" %) 1408 +|((( 1409 +version 1410 +)))|((( 1411 +Angefragte Version: 1 1412 +))) 1413 +|(% colspan="1" %)(% colspan="1" %) 1414 +((( 1415 +sessionId 1416 +)))|(% colspan="1" %)(% colspan="1" %) 1417 +((( 1418 +SessionId, wie von armSite zurück geliefert. 1419 +))) 1420 +|((( 1421 +secretToShare 1422 +)))|((( 1423 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 1424 +))) 1425 +|((( 1426 +requestedValues 1427 +)))|((( 1428 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück. 1429 +))) 1430 +|((( 1431 +additionalParams 1432 +)))|((( 1433 +Reserved for future use. 1434 +))) 1435 + 1436 +=== ReturnValue getResultValues === 1437 + 1438 +(% class="wrapped" %) 1439 +|((( 1440 +HashMap<String, String> 1441 +)))|((( 1442 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 1443 +))) 1444 + 1445 +== Abfrage von Ergebnisvariablen durch LMS == 1446 + 1447 +{{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}} 1448 + @WebMethod(operationName = „getResultVariables") 1449 +public HashMapWrapper getResultVariables( 1450 +@WebParam(name = „version") final Integer version, 1451 +@WebParam(name = „contentPackage") final byte[] contentPackage, 1452 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 1453 +} 1454 +{{/code}} 1455 + 1456 +=== Parameter getResultVariables === 1457 + 1458 +(% class="wrapped" %) 1459 +|((( 1460 +version 1461 +)))|((( 1462 +Angefragte Version: 1 1463 +))) 1464 +|((( 1465 +contentPackage 1466 +)))|((( 1467 +Content Package (gezippt) als Byte-Array. 1468 +))) 1469 +|((( 1470 +additionalParams 1471 +)))|((( 1472 +Reserved for future use. 1473 +))) 1474 + 1475 +=== ReturnValue getResultVariables === 1476 + 1477 +(% class="wrapped" %) 1478 +|((( 1479 +HashMap<String, String> 1480 +)))|((( 1481 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 1482 +))) 1483 + 1484 +== Wrapper == 1485 + 1486 +Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden. 1487 + 1488 +=== Wrapper für die HashMap<String, String> === 1489 + 1490 +HashMapWrapper.java: 1491 + 1492 +[[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 1493 + 1494 +[[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 1495 + 1496 +=== Wrapper für die ArrayList<ResultsForStudent> === 1497 + 1498 +ResultsForStudentsWrapper.java: 1499 + 1500 +[[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]] 1501 +{{/layout-cell}} 1502 +{{/layout-section}} 1503 + 1504 +{{layout-section ac:type="two_right_sidebar"}} 1505 +{{layout-cell}} 1506 + 1507 +{{/layout-cell}} 1508 + 1509 +{{layout-cell}} 1510 +====== relevante Links: ====== 1511 + 1512 +* [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 1513 +{{/layout-cell}} 1514 +{{/layout-section}} 1515 +{{/layout}}