Änderungen von Dokument 08 Schnittstelle ONYX Reporter
Zuletzt geändert von Carina Enke am 24.11.2025
Von Version 397.1
bearbeitet von Carina Enke
am 13.02.2024
am 13.02.2024
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 379.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 - 10Schnittstelle 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,13 +1,39 @@ 1 +{{sv-translation language="de"}} 1 1 {{layout}} 2 2 {{layout-section ac:type="two_right_sidebar"}} 3 3 {{layout-cell}} 4 - 5 +====== Inhalt: ====== 6 + 7 + 8 + 9 +{{toc maxLevel="5" style="square" outline="true" absoluteUrl="true"/}} 5 5 {{/layout-cell}} 6 6 7 7 {{layout-cell}} 8 -{{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}} 9 -{{toc start="2"/}} 10 -{{/panel}} 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 + 29 + 30 + 31 +))) 32 +|=((( 33 +JIRA 34 +)))|((( 35 + 36 +))) 11 11 {{/layout-cell}} 12 12 {{/layout-section}} 13 13 ... ... @@ -17,7 +17,6 @@ 17 17 18 18 Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: 19 19 20 -(% class="wrapped" %) 21 21 |((( 22 22 armSite 23 23 )))|((( ... ... @@ -48,7 +48,7 @@ 48 48 49 49 == Anmeldung des LMS == 50 50 51 -{{code language="xml"title="Anmeldung des LMS"}}76 +{{code title="Anmeldung des LMS" language="xml"}} 52 52 @WebMethod(operationName = „armSite") 53 53 public String armSite( 54 54 @WebParam(name = „version") final Integer version, ... ... @@ -63,7 +63,6 @@ 63 63 64 64 === Parameter armSite === 65 65 66 -(% class="wrapped" %) 67 67 |((( 68 68 version 69 69 )))|((( ... ... @@ -106,7 +106,6 @@ 106 106 107 107 === ReturnValue armSite === 108 108 109 -(% class="wrapped" %) 110 110 |((( 111 111 String 112 112 )))|((( ... ... @@ -115,7 +115,7 @@ 115 115 116 116 == Initialisierung durch LMS == 117 117 118 -{{code language="xml"title="Initialisierung durch LMS"}}141 +{{code title="Initialisierung durch LMS" language="xml"}} 119 119 @WebMethod(operationName = „initiateSite") 120 120 public String initiateSite( 121 121 @WebParam(name = „version") final Integer version, ... ... @@ -129,7 +129,6 @@ 129 129 130 130 === Parameter initiateSite === 131 131 132 -(% class="wrapped" %) 133 133 |((( 134 134 version 135 135 )))|((( ... ... @@ -165,7 +165,6 @@ 165 165 166 166 === ReturnValue initiateSite === 167 167 168 -(% class="wrapped" %) 169 169 |((( 170 170 String 171 171 )))|((( ... ... @@ -189,6 +189,7 @@ 189 189 190 190 == Abmeldung durch LMS == 191 191 213 + 192 192 193 193 {{code}} 194 194 @WebMethod(operationName = „disarmSite") ... ... @@ -200,10 +200,10 @@ 200 200 } 201 201 {{/code}} 202 202 225 + 203 203 204 204 === Parameter disarmSite === 205 205 206 -(% class="wrapped" %) 207 207 |((( 208 208 version 209 209 )))|((( ... ... @@ -229,7 +229,6 @@ 229 229 230 230 === ReturnValue disarmSite === 231 231 232 -(% class="wrapped" %) 233 233 |((( 234 234 Boolean 235 235 )))|((( ... ... @@ -238,7 +238,7 @@ 238 238 239 239 == Abfrage von Lernerresultaten durch LMS == 240 240 241 -{{code language="xml"title="Abfrage von Lernerresultaten durch LMS"}}262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 242 242 @WebMethod(operationName = „getResultValues") 243 243 public HashMapWrapper getResultValues( 244 244 @WebParam(name = „version") final Integer version, ... ... @@ -252,7 +252,6 @@ 252 252 253 253 === Parameter getResultValues === 254 254 255 -(% class="wrapped" %) 256 256 |((( 257 257 version 258 258 )))|((( ... ... @@ -283,7 +283,6 @@ 283 283 284 284 === ReturnValue getResultValues === 285 285 286 -(% class="wrapped" %) 287 287 |((( 288 288 HashMap<String, String> 289 289 )))|((( ... ... @@ -292,7 +292,7 @@ 292 292 293 293 == Abfrage von Ergebnisvariablen durch LMS == 294 294 295 -{{code language="xml"title="Abfrage von Ergebnisvariablen durch LMS"}}314 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}} 296 296 @WebMethod(operationName = „getResultVariables") 297 297 public HashMapWrapper getResultVariables( 298 298 @WebParam(name = „version") final Integer version, ... ... @@ -303,7 +303,6 @@ 303 303 304 304 === Parameter getResultVariables === 305 305 306 -(% class="wrapped" %) 307 307 |((( 308 308 version 309 309 )))|((( ... ... @@ -322,7 +322,6 @@ 322 322 323 323 === ReturnValue getResultVariables === 324 324 325 -(% class="wrapped" %) 326 326 |((( 327 327 HashMap<String, String> 328 328 )))|((( ... ... @@ -331,21 +331,21 @@ 331 331 332 332 == Wrapper == 333 333 334 -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. 335 335 336 336 === Wrapper für die HashMap<String, String> === 337 337 338 338 HashMapWrapper.java: 339 339 340 -[[image:attach:HashMapWrapperjava.png ||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]357 +[[image:attach:HashMapWrapperjava.png]] 341 341 342 -[[image:attach:HashMapWrapperjava2.png ||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]359 +[[image:attach:HashMapWrapperjava2.png]] 343 343 344 344 === Wrapper für die ArrayList<ResultsForStudent> === 345 345 346 346 ResultsForStudentsWrapper.java: 347 347 348 -[[image:attach:ResultsForStudentsWrapperjava.png ||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]365 +[[image:attach:ResultsForStudentsWrapperjava.png]] 349 349 {{/layout-cell}} 350 350 {{/layout-section}} 351 351 ... ... @@ -357,7 +357,380 @@ 357 357 {{layout-cell}} 358 358 ====== relevante Links: ====== 359 359 360 -* [[ ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]377 +* [[doc:Schnittstelle ONYX WebPlayer]] 361 361 {{/layout-cell}} 362 362 {{/layout-section}} 363 363 {{/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" %)DRAFT 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 +== Allgemeines == 427 + 428 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: 429 + 430 +|((( 431 +armSite 432 +)))|((( 433 +Anmeldung von Folgerequests beim ONYX Reporter. 434 +))) 435 +|((( 436 +initiateSite 437 +)))|((( 438 +Initiiert die Reporter-Session (Übertragung des CPs). 439 +))) 440 +|((( 441 +disarmSite 442 +)))|((( 443 +Freigabe von allen Reporter-Ressourcen für diese Session. 444 +))) 445 +|((( 446 +getResultValues 447 +)))|((( 448 +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. 449 +))) 450 +|(% colspan="1" %)(% colspan="1" %) 451 +((( 452 +getResultVariables 453 +)))|(% colspan="1" %)(% colspan="1" %) 454 +((( 455 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich. 456 +))) 457 + 458 +== Anmeldung des 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 +Angefragte Version: 1 479 +))) 480 +|((( 481 +userId 482 +)))|((( 483 +UserId des anfragenden Reporter-Benutzers 484 +))) 485 +|((( 486 +optionalRole 487 +)))|((( 488 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor 489 +))) 490 +|((( 491 +secretToShare 492 +)))|((( 493 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 494 +))) 495 +|((( 496 +optionalUserLastName 497 +)))|((( 498 +Optional. Nachname des Benutzers. 499 +))) 500 +|(% colspan="1" %)(% colspan="1" %) 501 +((( 502 +optionalUserFirstName 503 +)))|(% colspan="1" %)(% colspan="1" %) 504 +((( 505 +Optional. Vorname des Benutzers. 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, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen. 521 +))) 522 + 523 +== Initialisierung durch 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 +Angefragte Version: 1 543 +))) 544 +|(% colspan="1" %)(% colspan="1" %) 545 +((( 546 +sessionId 547 +)))|(% colspan="1" %)(% colspan="1" %) 548 +((( 549 +SessionId, wie von armSite zurück geliefert. 550 +))) 551 +|((( 552 +secretToShare 553 +)))|((( 554 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 555 +))) 556 +|((( 557 +students 558 +)))|((( 559 +Liste der Studenten mit ihren Resultaten. Siehe unten. 560 +))) 561 +|((( 562 +optionalContentPackage 563 +)))|((( 564 +Optional. Content Package (gezippt) als 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 der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern: 578 + 579 +* sid: Session ID, wie von armSite zurück gegeben 580 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet 581 +))) 582 + 583 +{{code language="xml"}} 584 +public class ResultsForStudent { 585 + private String studentId = „"; 586 + private String firstname = „"; 587 + private String lastname = „"; 588 + private String groupname = „"; 589 + private String tutorname = „"; 590 + private File contentFile = null; 591 + private byte[] resultsFile = null; 592 +} 593 +{{/code}} 594 + 595 +== Abmeldung durch LMS == 596 + 597 + 598 + 599 +{{code}} 600 +@WebMethod(operationName = „disarmSite") 601 +public Boolean disarmSite( 602 +@WebParam(name = „version") final Integer version, 603 +@WebParam(name = „sessionId") final String sessionId, 604 +@WebParam(name = „secretToShare") final String secretToShare, 605 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 606 +} 607 +{{/code}} 608 + 609 + 610 + 611 +=== Parameter disarmSite === 612 + 613 +|((( 614 +version 615 +)))|((( 616 +Angefragte Version: 1 617 +))) 618 +|(% colspan="1" %)(% colspan="1" %) 619 +((( 620 +sessionId 621 +)))|(% colspan="1" %)(% colspan="1" %) 622 +((( 623 +SessionId, wie von armSite zurück geliefert. 624 +))) 625 +|((( 626 +secretToShare 627 +)))|((( 628 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 629 +))) 630 +|((( 631 +additionalParams 632 +)))|((( 633 +Reserved for future use. 634 +))) 635 + 636 +=== ReturnValue disarmSite === 637 + 638 +|((( 639 +Boolean 640 +)))|((( 641 +True bei Erfolg, sonst false. 642 +))) 643 + 644 +== Abfrage von Lernerresultaten durch LMS == 645 + 646 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 647 + @WebMethod(operationName = „getResultValues") 648 +public HashMapWrapper getResultValues( 649 + @WebParam(name = „version") final Integer version, 650 + @WebParam(name = „sessionId") final String sessionId, 651 + @WebParam(name = „secretToShare") final String secretToShare, 652 + @WebParam(name = „requestedValues") final HashMap<String, String> 653 + requestedValues, 654 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 655 +} 656 +{{/code}} 657 + 658 +=== Parameter getResultValues === 659 + 660 +|((( 661 +version 662 +)))|((( 663 +Angefragte Version: 1 664 +))) 665 +|(% colspan="1" %)(% colspan="1" %) 666 +((( 667 +sessionId 668 +)))|(% colspan="1" %)(% colspan="1" %) 669 +((( 670 +SessionId, wie von armSite zurück geliefert. 671 +))) 672 +|((( 673 +secretToShare 674 +)))|((( 675 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 676 +))) 677 +|((( 678 +requestedValues 679 +)))|((( 680 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück. 681 +))) 682 +|((( 683 +additionalParams 684 +)))|((( 685 +Reserved for future use. 686 +))) 687 + 688 +=== ReturnValue getResultValues === 689 + 690 +|((( 691 +HashMap<String, String> 692 +)))|((( 693 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 694 +))) 695 + 696 +== Abfrage von Ergebnisvariablen durch LMS == 697 + 698 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}} 699 + @WebMethod(operationName = „getResultVariables") 700 +public HashMapWrapper getResultVariables( 701 +@WebParam(name = „version") final Integer version, 702 +@WebParam(name = „contentPackage") final byte[] contentPackage, 703 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 704 +} 705 +{{/code}} 706 + 707 +=== Parameter getResultVariables === 708 + 709 +|((( 710 +version 711 +)))|((( 712 +Angefragte Version: 1 713 +))) 714 +|((( 715 +contentPackage 716 +)))|((( 717 +Content Package (gezippt) als Byte-Array. 718 +))) 719 +|((( 720 +additionalParams 721 +)))|((( 722 +Reserved for future use. 723 +))) 724 + 725 +=== ReturnValue getResultVariables === 726 + 727 +|((( 728 +HashMap<String, String> 729 +)))|((( 730 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 731 +))) 732 + 733 +== Wrapper == 734 + 735 +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. 736 + 737 +=== Wrapper für die HashMap<String, String> === 738 + 739 +HashMapWrapper.java: 740 + 741 +[[image:attach:HashMapWrapperjava.png]] 742 + 743 +[[image:attach:HashMapWrapperjava2.png]] 744 + 745 +=== Wrapper für die ArrayList<ResultsForStudent> === 746 + 747 +ResultsForStudentsWrapper.java: 748 + 749 +[[image:attach:ResultsForStudentsWrapperjava.png]] 750 +{{/layout-cell}} 751 +{{/layout-section}} 752 +{{/layout}} 753 +{{/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 +3342793 - 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/3342793/Schnittstelle ONYX Reporter