Ä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 383.1
bearbeitet von sandra_riediger
am 15.12.2014
am 15.12.2014
Ä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.sandra_riediger - Inhalt
-
... ... @@ -1,30 +1,48 @@ 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" style="square" outline="true" absoluteUrl="true"/}} 10 +{{/layout-cell}} 12 12 12 +{{layout-cell}} 13 +|=(% colspan="1" %)(% colspan="1" %) 14 +((( 15 +Programmversion 16 +)))|(% colspan="1" %)(% colspan="1" %) 17 +((( 18 + 19 +))) 20 +|=((( 21 +Status 22 +)))|((( 23 +(% class="status-macro aui-lozenge aui-lozenge-error" %)ENTWURF 24 +))) 25 +|=((( 26 +Aufgaben 27 +)))|((( 28 + 13 13 14 -{{panel title="Weiterführende Inhalte"}} 15 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 30 + 31 +))) 32 +|=((( 33 +JIRA 34 +)))|((( 35 + 36 +))) 37 +{{/layout-cell}} 38 +{{/layout-section}} 16 16 17 -{{/panel}} 18 - 19 -{{/column}} 20 -{{/section}} 21 - 22 - 40 +{{layout-section ac:type="single"}} 41 +{{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 )))|((( ... ... @@ -55,7 +55,7 @@ 55 55 56 56 == Anmeldung des LMS == 57 57 58 -{{code language="xml"title="Anmeldung des LMS"}}76 +{{code title="Anmeldung des LMS" language="xml"}} 59 59 @WebMethod(operationName = „armSite") 60 60 public String armSite( 61 61 @WebParam(name = „version") final Integer version, ... ... @@ -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 )))|((( ... ... @@ -122,7 +122,7 @@ 122 122 123 123 == Initialisierung durch LMS == 124 124 125 -{{code language="xml"title="Initialisierung durch LMS"}}141 +{{code title="Initialisierung durch LMS" language="xml"}} 126 126 @WebMethod(operationName = „initiateSite") 127 127 public String initiateSite( 128 128 @WebParam(name = „version") final Integer version, ... ... @@ -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 213 + 199 199 200 200 {{code}} 201 201 @WebMethod(operationName = „disarmSite") ... ... @@ -207,10 +207,10 @@ 207 207 } 208 208 {{/code}} 209 209 225 + 210 210 211 211 === Parameter disarmSite === 212 212 213 -(% class="wrapped" %) 214 214 |((( 215 215 version 216 216 )))|((( ... ... @@ -244,7 +244,7 @@ 244 244 245 245 == Abfrage von Lernerresultaten durch LMS == 246 246 247 -{{code language="xml"title="Abfrage von Lernerresultaten durch LMS"}}262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 248 248 @WebMethod(operationName = „getResultValues") 249 249 public HashMapWrapper getResultValues( 250 250 @WebParam(name = „version") final Integer version, ... ... @@ -296,7 +296,7 @@ 296 296 297 297 == Abfrage von Ergebnisvariablen durch LMS == 298 298 299 -{{code language="xml"title="Abfrage von Ergebnisvariablen durch LMS"}}314 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}} 300 300 @WebMethod(operationName = „getResultVariables") 301 301 public HashMapWrapper getResultVariables( 302 302 @WebParam(name = „version") final Integer version, ... ... @@ -333,19 +333,409 @@ 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.351 +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"]]357 +[[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"]]359 +[[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"]] 365 +[[image:attach:ResultsForStudentsWrapperjava.png]] 366 +{{/layout-cell}} 367 +{{/layout-section}} 351 351 369 +{{layout-section ac:type="two_right_sidebar"}} 370 +{{layout-cell}} 371 + 372 +{{/layout-cell}} 373 + 374 +{{layout-cell}} 375 +====== relevante Links: ====== 376 + 377 +* [[doc:Schnittstelle ONYX WebPlayer]] 378 +{{/layout-cell}} 379 +{{/layout-section}} 380 +{{/layout}} 381 +{{/sv-translation}} 382 + 383 +{{sv-translation language="en"}} 384 +{{layout}} 385 +{{layout-section ac:type="two_equal"}} 386 +{{layout-cell}} 387 +====== Content: ====== 388 + 389 + 390 + 391 +{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}} 392 +{{/layout-cell}} 393 + 394 +{{layout-cell}} 395 +|=(% colspan="1" %)(% colspan="1" %) 396 +((( 397 +Programmversion 398 +)))|(% colspan="1" %)(% colspan="1" %) 399 +((( 400 + 401 +))) 402 +|=((( 403 +Status 404 +)))|((( 405 +(% class="status-macro aui-lozenge aui-lozenge-error" %)DONE 406 +))) 407 +|=((( 408 +Aufgaben 409 +)))|((( 410 + 411 + 412 + 413 +))) 414 +|=((( 415 +JIRA 416 +)))|((( 417 + 418 +))) 419 +{{/layout-cell}} 420 +{{/layout-section}} 421 + 422 +{{layout-section ac:type="single"}} 423 +{{layout-cell}} 424 + 425 + 426 +== General == 427 + 428 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed: 429 + 430 +|((( 431 +armSite 432 +)))|((( 433 +Registration of sequence requests at the ONYX reporter 434 +))) 435 +|((( 436 +initiateSite 437 +)))|((( 438 +Initiates the reporter session (transmission of the CP). 439 +))) 440 +|((( 441 +disarmSite 442 +)))|((( 443 +Release of all reporter resources for this session. 444 +))) 445 +|((( 446 +getResultValues 447 +)))|((( 448 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite. 449 +))) 450 +|(% colspan="1" %)(% colspan="1" %) 451 +((( 452 +getResultVariables 453 +)))|(% colspan="1" %)(% colspan="1" %) 454 +((( 455 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary. 456 +))) 457 + 458 +== Connection to the LMS == 459 + 460 +{{code title="Anmeldung des LMS" language="xml"}} 461 +@WebMethod(operationName = „armSite") 462 +public String armSite( 463 +@WebParam(name = „version") final Integer version, 464 +@WebParam(name = „userId") final String userId, 465 +@WebParam(name = „optionalRole") final Integer role, 466 +@WebParam(name = „secretToShare") final String secretToShare, 467 +@WebParam(name = „optionalUserLastName") final String userLastName, 468 +@WebParam(name = „optionalUserFirstName") final String userFirstName, 469 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 470 +} 471 +{{/code}} 472 + 473 +=== Parameter armSite === 474 + 475 +|((( 476 +version 477 +)))|((( 478 +Requested version: 1 479 +))) 480 +|((( 481 +userId 482 +)))|((( 483 +UserId of the requested reporter user 484 +))) 485 +|((( 486 +optionalRole 487 +)))|((( 488 +Optional. User role. 0=student, 1=tutor 489 +))) 490 +|((( 491 +secretToShare 492 +)))|((( 493 +Shared secret. Has to remain identical for every communication. 494 +))) 495 +|((( 496 +optionalUserLastName 497 +)))|((( 498 +Optional. User lastname. 499 +))) 500 +|(% colspan="1" %)(% colspan="1" %) 501 +((( 502 +optionalUserFirstName 503 +)))|(% colspan="1" %)(% colspan="1" %) 504 +((( 505 +Optional. User firstname. 506 +))) 507 +|(% colspan="1" %)(% colspan="1" %) 508 +((( 509 +additionalParams 510 +)))|(% colspan="1" %)(% colspan="1" %) 511 +((( 512 +Reserved for future use. 513 +))) 514 + 515 +=== ReturnValue armSite === 516 + 517 +|((( 518 +String 519 +)))|((( 520 +Session ID that has to be used to mark any further reporter call. 521 +))) 522 + 523 +== Initialisation through LMS == 524 + 525 +{{code title="Initialisierung durch LMS" language="xml"}} 526 +@WebMethod(operationName = „initiateSite") 527 +public String initiateSite( 528 +@WebParam(name = „version") final Integer version, 529 +@WebParam(name = „sessionId") final String sessionId, 530 +@WebParam(name = „secretToShare") final String secretToShare, 531 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 532 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 533 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 534 +} 535 +{{/code}} 536 + 537 +=== Parameter initiateSite === 538 + 539 +|((( 540 +version 541 +)))|((( 542 +Requested version: 1 543 +))) 544 +|(% colspan="1" %)(% colspan="1" %) 545 +((( 546 +sessionId 547 +)))|(% colspan="1" %)(% colspan="1" %) 548 +((( 549 +SessionId, as returned by armSite. 550 +))) 551 +|((( 552 +secretToShare 553 +)))|((( 554 +Shared secret. Has to remain identical at every communication. 555 +))) 556 +|((( 557 +students 558 +)))|((( 559 +List of students with their results. See below. 560 +))) 561 +|((( 562 +optionalContentPackage 563 +)))|((( 564 +Optional. Content Package (zipped) as byte array. 565 +))) 566 +|((( 567 +additionalParams 568 +)))|((( 569 +Reserved for future use. 570 +))) 571 + 572 +=== ReturnValue initiateSite === 573 + 574 +|((( 575 +String 576 +)))|((( 577 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters: 578 + 579 +* sid: Session ID as returned by armSite 580 +* ((( 581 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter. 582 +))) 583 +))) 584 + 585 +{{code language="xml"}} 586 +public class ResultsForStudent { 587 + private String studentId = „"; 588 + private String firstname = „"; 589 + private String lastname = „"; 590 + private String groupname = „"; 591 + private String tutorname = „"; 592 + private File contentFile = null; 593 + private byte[] resultsFile = null; 594 +} 595 +{{/code}} 596 + 597 +== Deconnection through the LMS == 598 + 599 + 600 + 601 +{{code}} 602 +@WebMethod(operationName = „disarmSite") 603 +public Boolean disarmSite( 604 +@WebParam(name = „version") final Integer version, 605 +@WebParam(name = „sessionId") final String sessionId, 606 +@WebParam(name = „secretToShare") final String secretToShare, 607 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 608 +} 609 +{{/code}} 610 + 611 + 612 + 613 +=== Parameter disarmSite === 614 + 615 +|((( 616 +version 617 +)))|((( 618 +Requested version: 1 619 +))) 620 +|(% colspan="1" %)(% colspan="1" %) 621 +((( 622 +sessionId 623 +)))|(% colspan="1" %)(% colspan="1" %) 624 +((( 625 +SessionId, as returned by armSite. 626 +))) 627 +|((( 628 +secretToShare 629 +)))|((( 630 +Shared secret. Has to remain identical at every communication. 631 +))) 632 +|((( 633 +additionalParams 634 +)))|((( 635 +Reserved for future use. 636 +))) 637 + 638 +=== ReturnValue disarmSite === 639 + 640 +|((( 641 +Boolean 642 +)))|((( 643 +True if successful, otherwise false. 644 +))) 645 + 646 +== Request of learning results through the LMS == 647 + 648 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 649 + @WebMethod(operationName = „getResultValues") 650 +public HashMapWrapper getResultValues( 651 + @WebParam(name = „version") final Integer version, 652 + @WebParam(name = „sessionId") final String sessionId, 653 + @WebParam(name = „secretToShare") final String secretToShare, 654 + @WebParam(name = „requestedValues") final HashMap<String, String> 655 + requestedValues, 656 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 657 +} 658 +{{/code}} 659 + 660 +=== Parameter getResultValues === 661 + 662 +|((( 663 +version 664 +)))|((( 665 +Requested version: 1 666 +))) 667 +|(% colspan="1" %)(% colspan="1" %) 668 +((( 669 +sessionId 670 +)))|(% colspan="1" %)(% colspan="1" %) 671 +((( 672 +SessionId, as returned by armSite. 673 +))) 674 +|((( 675 +secretToShare 676 +)))|((( 677 +Shared secret. Has to remain identical at every communication. 678 +))) 679 +|((( 680 +requestedValues 681 +)))|((( 682 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned. 683 +))) 684 +|((( 685 +additionalParams 686 +)))|((( 687 +Reserved for future use. 688 +))) 689 + 690 +=== ReturnValue getResultValues === 691 + 692 +|((( 693 +HashMap<String, String> 694 +)))|((( 695 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped) 696 +))) 697 + 698 +== Request of result variables through the LMS == 699 + 700 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}} 701 + @WebMethod(operationName = „getResultVariables") 702 +public HashMapWrapper getResultVariables( 703 +@WebParam(name = „version") final Integer version, 704 +@WebParam(name = „contentPackage") final byte[] contentPackage, 705 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 706 +} 707 +{{/code}} 708 + 709 +=== Parameter getResultVariables === 710 + 711 +|((( 712 +version 713 +)))|((( 714 +Requested version: 1 715 +))) 716 +|((( 717 +contentPackage 718 +)))|((( 719 +Content package (zipped) as byte array. 720 +))) 721 +|((( 722 +additionalParams 723 +)))|((( 724 +Reserved for future use. 725 +))) 726 + 727 +=== ReturnValue getResultVariables === 728 + 729 +|((( 730 +HashMap<String, String> 731 +)))|((( 732 +Map of result variables, key is the variable name, value the corresponding 733 +value (HashMap is wrapped). 734 +))) 735 + 736 +== Wrapper == 737 + 738 +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. 739 + 740 +=== Wrapper for HashMap<String, String> === 741 + 742 +HashMapWrapper.java: 743 + 744 +[[image:attach:HashMapWrapperjava.png]] 745 + 746 +[[image:attach:HashMapWrapperjava2.png]] 747 + 748 +=== Wrapper for the ArrayList<ResultsForStudent> === 749 + 750 +ResultsForStudentsWrapper.java: 751 + 752 +[[image:attach:ResultsForStudentsWrapperjava.png]] 753 +{{/layout-cell}} 754 +{{/layout-section}} 755 +{{/layout}} 756 +{{/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 -3342 3901 +3342922 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342 390/Schnittstelle ONYX Reporter1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342922/Schnittstelle ONYX Reporter