Änderungen von Dokument 08 Schnittstelle ONYX Reporter
Zuletzt geändert von Carina Enke am 13.02.2024
Von Version 401.1
bearbeitet von Carina Enke
am 13.02.2024
am 13.02.2024
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 380.1
bearbeitet von sandra_riediger
am 17.12.2014
am 17.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,17 +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 style="square" maxLevel="5" 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"/}} 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 + 10 10 11 - **Weitere Informationen:** 12 - 13 -* [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]] 14 -{{/panel}} 30 + 31 +))) 32 +|=((( 33 +JIRA 34 +)))|((( 35 + 36 +))) 15 15 {{/layout-cell}} 16 16 {{/layout-section}} 17 17 ... ... @@ -21,7 +21,6 @@ 21 21 22 22 Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen: 23 23 24 -(% class="wrapped" %) 25 25 |((( 26 26 armSite 27 27 )))|((( ... ... @@ -52,7 +52,7 @@ 52 52 53 53 == Anmeldung des LMS == 54 54 55 -{{code language="xml"title="Anmeldung des LMS"}}76 +{{code title="Anmeldung des LMS" language="xml"}} 56 56 @WebMethod(operationName = „armSite") 57 57 public String armSite( 58 58 @WebParam(name = „version") final Integer version, ... ... @@ -67,7 +67,6 @@ 67 67 68 68 === Parameter armSite === 69 69 70 -(% class="wrapped" %) 71 71 |((( 72 72 version 73 73 )))|((( ... ... @@ -110,7 +110,6 @@ 110 110 111 111 === ReturnValue armSite === 112 112 113 -(% class="wrapped" %) 114 114 |((( 115 115 String 116 116 )))|((( ... ... @@ -119,7 +119,7 @@ 119 119 120 120 == Initialisierung durch LMS == 121 121 122 -{{code language="xml"title="Initialisierung durch LMS"}}141 +{{code title="Initialisierung durch LMS" language="xml"}} 123 123 @WebMethod(operationName = „initiateSite") 124 124 public String initiateSite( 125 125 @WebParam(name = „version") final Integer version, ... ... @@ -133,7 +133,6 @@ 133 133 134 134 === Parameter initiateSite === 135 135 136 -(% class="wrapped" %) 137 137 |((( 138 138 version 139 139 )))|((( ... ... @@ -169,7 +169,6 @@ 169 169 170 170 === ReturnValue initiateSite === 171 171 172 -(% class="wrapped" %) 173 173 |((( 174 174 String 175 175 )))|((( ... ... @@ -193,6 +193,7 @@ 193 193 194 194 == Abmeldung durch LMS == 195 195 213 + 196 196 197 197 {{code}} 198 198 @WebMethod(operationName = „disarmSite") ... ... @@ -204,10 +204,10 @@ 204 204 } 205 205 {{/code}} 206 206 225 + 207 207 208 208 === Parameter disarmSite === 209 209 210 -(% class="wrapped" %) 211 211 |((( 212 212 version 213 213 )))|((( ... ... @@ -233,7 +233,6 @@ 233 233 234 234 === ReturnValue disarmSite === 235 235 236 -(% class="wrapped" %) 237 237 |((( 238 238 Boolean 239 239 )))|((( ... ... @@ -242,7 +242,7 @@ 242 242 243 243 == Abfrage von Lernerresultaten durch LMS == 244 244 245 -{{code language="xml"title="Abfrage von Lernerresultaten durch LMS"}}262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 246 246 @WebMethod(operationName = „getResultValues") 247 247 public HashMapWrapper getResultValues( 248 248 @WebParam(name = „version") final Integer version, ... ... @@ -256,7 +256,6 @@ 256 256 257 257 === Parameter getResultValues === 258 258 259 -(% class="wrapped" %) 260 260 |((( 261 261 version 262 262 )))|((( ... ... @@ -287,7 +287,6 @@ 287 287 288 288 === ReturnValue getResultValues === 289 289 290 -(% class="wrapped" %) 291 291 |((( 292 292 HashMap<String, String> 293 293 )))|((( ... ... @@ -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, ... ... @@ -307,7 +307,6 @@ 307 307 308 308 === Parameter getResultVariables === 309 309 310 -(% class="wrapped" %) 311 311 |((( 312 312 version 313 313 )))|((( ... ... @@ -326,7 +326,6 @@ 326 326 327 327 === ReturnValue getResultVariables === 328 328 329 -(% class="wrapped" %) 330 330 |((( 331 331 HashMap<String, String> 332 332 )))|((( ... ... @@ -335,21 +335,386 @@ 335 335 336 336 == Wrapper == 337 337 338 -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. 339 339 340 340 === Wrapper für die HashMap<String, String> === 341 341 342 342 HashMapWrapper.java: 343 343 344 -[[image:attach:HashMapWrapperjava.png ||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]357 +[[image:attach:HashMapWrapperjava.png]] 345 345 346 -[[image:attach:HashMapWrapperjava2.png ||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]359 +[[image:attach:HashMapWrapperjava2.png]] 347 347 348 348 === Wrapper für die ArrayList<ResultsForStudent> === 349 349 350 350 ResultsForStudentsWrapper.java: 351 351 352 -[[image:attach:ResultsForStudentsWrapperjava.png ||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]365 +[[image:attach:ResultsForStudentsWrapperjava.png]] 353 353 {{/layout-cell}} 354 354 {{/layout-section}} 368 + 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}} 355 355 {{/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 + 396 +{{/layout-cell}} 397 +{{/layout-section}} 398 + 399 +{{layout-section ac:type="single"}} 400 +{{layout-cell}} 401 + 402 + 403 +== General == 404 + 405 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed: 406 + 407 +|((( 408 +armSite 409 +)))|((( 410 +Registration of sequence requests at the ONYX reporter 411 +))) 412 +|((( 413 +initiateSite 414 +)))|((( 415 +Initiates the reporter session (transmission of the CP). 416 +))) 417 +|((( 418 +disarmSite 419 +)))|((( 420 +Release of all reporter resources for this session. 421 +))) 422 +|((( 423 +getResultValues 424 +)))|((( 425 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite. 426 +))) 427 +|(% colspan="1" %)(% colspan="1" %) 428 +((( 429 +getResultVariables 430 +)))|(% colspan="1" %)(% colspan="1" %) 431 +((( 432 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary. 433 +))) 434 + 435 +== Connection to the LMS == 436 + 437 +{{code title="Anmeldung des LMS" language="xml"}} 438 +@WebMethod(operationName = „armSite") 439 +public String armSite( 440 +@WebParam(name = „version") final Integer version, 441 +@WebParam(name = „userId") final String userId, 442 +@WebParam(name = „optionalRole") final Integer role, 443 +@WebParam(name = „secretToShare") final String secretToShare, 444 +@WebParam(name = „optionalUserLastName") final String userLastName, 445 +@WebParam(name = „optionalUserFirstName") final String userFirstName, 446 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 447 +} 448 +{{/code}} 449 + 450 +=== Parameter armSite === 451 + 452 +|((( 453 +version 454 +)))|((( 455 +Requested version: 1 456 +))) 457 +|((( 458 +userId 459 +)))|((( 460 +UserId of the requested reporter user 461 +))) 462 +|((( 463 +optionalRole 464 +)))|((( 465 +Optional. User role. 0=student, 1=tutor 466 +))) 467 +|((( 468 +secretToShare 469 +)))|((( 470 +Shared secret. Has to remain identical for every communication. 471 +))) 472 +|((( 473 +optionalUserLastName 474 +)))|((( 475 +Optional. User lastname. 476 +))) 477 +|(% colspan="1" %)(% colspan="1" %) 478 +((( 479 +optionalUserFirstName 480 +)))|(% colspan="1" %)(% colspan="1" %) 481 +((( 482 +Optional. User firstname. 483 +))) 484 +|(% colspan="1" %)(% colspan="1" %) 485 +((( 486 +additionalParams 487 +)))|(% colspan="1" %)(% colspan="1" %) 488 +((( 489 +Reserved for future use. 490 +))) 491 + 492 +=== ReturnValue armSite === 493 + 494 +|((( 495 +String 496 +)))|((( 497 +Session ID that has to be used to mark any further reporter call. 498 +))) 499 + 500 +== Initialisation through LMS == 501 + 502 +{{code title="Initialisierung durch LMS" language="xml"}} 503 +@WebMethod(operationName = „initiateSite") 504 +public String initiateSite( 505 +@WebParam(name = „version") final Integer version, 506 +@WebParam(name = „sessionId") final String sessionId, 507 +@WebParam(name = „secretToShare") final String secretToShare, 508 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 509 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 510 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 511 +} 512 +{{/code}} 513 + 514 +=== Parameter initiateSite === 515 + 516 +|((( 517 +version 518 +)))|((( 519 +Requested version: 1 520 +))) 521 +|(% colspan="1" %)(% colspan="1" %) 522 +((( 523 +sessionId 524 +)))|(% colspan="1" %)(% colspan="1" %) 525 +((( 526 +SessionId, as returned by armSite. 527 +))) 528 +|((( 529 +secretToShare 530 +)))|((( 531 +Shared secret. Has to remain identical at every communication. 532 +))) 533 +|((( 534 +students 535 +)))|((( 536 +List of students with their results. See below. 537 +))) 538 +|((( 539 +optionalContentPackage 540 +)))|((( 541 +Optional. Content Package (zipped) as byte array. 542 +))) 543 +|((( 544 +additionalParams 545 +)))|((( 546 +Reserved for future use. 547 +))) 548 + 549 +=== ReturnValue initiateSite === 550 + 551 +|((( 552 +String 553 +)))|((( 554 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters: 555 + 556 +* sid: Session ID as returned by armSite 557 +* ((( 558 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter. 559 +))) 560 +))) 561 + 562 +{{code language="xml"}} 563 +public class ResultsForStudent { 564 + private String studentId = „"; 565 + private String firstname = „"; 566 + private String lastname = „"; 567 + private String groupname = „"; 568 + private String tutorname = „"; 569 + private File contentFile = null; 570 + private byte[] resultsFile = null; 571 +} 572 +{{/code}} 573 + 574 +== Deconnection through the LMS == 575 + 576 + 577 + 578 +{{code}} 579 +@WebMethod(operationName = „disarmSite") 580 +public Boolean disarmSite( 581 +@WebParam(name = „version") final Integer version, 582 +@WebParam(name = „sessionId") final String sessionId, 583 +@WebParam(name = „secretToShare") final String secretToShare, 584 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 585 +} 586 +{{/code}} 587 + 588 + 589 + 590 +=== Parameter disarmSite === 591 + 592 +|((( 593 +version 594 +)))|((( 595 +Requested version: 1 596 +))) 597 +|(% colspan="1" %)(% colspan="1" %) 598 +((( 599 +sessionId 600 +)))|(% colspan="1" %)(% colspan="1" %) 601 +((( 602 +SessionId, as returned by armSite. 603 +))) 604 +|((( 605 +secretToShare 606 +)))|((( 607 +Shared secret. Has to remain identical at every communication. 608 +))) 609 +|((( 610 +additionalParams 611 +)))|((( 612 +Reserved for future use. 613 +))) 614 + 615 +=== ReturnValue disarmSite === 616 + 617 +|((( 618 +Boolean 619 +)))|((( 620 +True if successful, otherwise false. 621 +))) 622 + 623 +== Request of learning results through the LMS == 624 + 625 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 626 + @WebMethod(operationName = „getResultValues") 627 +public HashMapWrapper getResultValues( 628 + @WebParam(name = „version") final Integer version, 629 + @WebParam(name = „sessionId") final String sessionId, 630 + @WebParam(name = „secretToShare") final String secretToShare, 631 + @WebParam(name = „requestedValues") final HashMap<String, String> 632 + requestedValues, 633 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 634 +} 635 +{{/code}} 636 + 637 +=== Parameter getResultValues === 638 + 639 +|((( 640 +version 641 +)))|((( 642 +Requested version: 1 643 +))) 644 +|(% colspan="1" %)(% colspan="1" %) 645 +((( 646 +sessionId 647 +)))|(% colspan="1" %)(% colspan="1" %) 648 +((( 649 +SessionId, as returned by armSite. 650 +))) 651 +|((( 652 +secretToShare 653 +)))|((( 654 +Shared secret. Has to remain identical at every communication. 655 +))) 656 +|((( 657 +requestedValues 658 +)))|((( 659 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned. 660 +))) 661 +|((( 662 +additionalParams 663 +)))|((( 664 +Reserved for future use. 665 +))) 666 + 667 +=== ReturnValue getResultValues === 668 + 669 +|((( 670 +HashMap<String, String> 671 +)))|((( 672 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped) 673 +))) 674 + 675 +== Request of result variables through the LMS == 676 + 677 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}} 678 + @WebMethod(operationName = „getResultVariables") 679 +public HashMapWrapper getResultVariables( 680 +@WebParam(name = „version") final Integer version, 681 +@WebParam(name = „contentPackage") final byte[] contentPackage, 682 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 683 +} 684 +{{/code}} 685 + 686 +=== Parameter getResultVariables === 687 + 688 +|((( 689 +version 690 +)))|((( 691 +Requested version: 1 692 +))) 693 +|((( 694 +contentPackage 695 +)))|((( 696 +Content package (zipped) as byte array. 697 +))) 698 +|((( 699 +additionalParams 700 +)))|((( 701 +Reserved for future use. 702 +))) 703 + 704 +=== ReturnValue getResultVariables === 705 + 706 +|((( 707 +HashMap<String, String> 708 +)))|((( 709 +Map of result variables, key is the variable name, value the corresponding 710 +value (HashMap is wrapped). 711 +))) 712 + 713 +== Wrapper == 714 + 715 +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. 716 + 717 +=== Wrapper for HashMap<String, String> === 718 + 719 +HashMapWrapper.java: 720 + 721 +[[image:attach:HashMapWrapperjava.png]] 722 + 723 +[[image:attach:HashMapWrapperjava2.png]] 724 + 725 +=== Wrapper for the ArrayList<ResultsForStudent> === 726 + 727 +ResultsForStudentsWrapper.java: 728 + 729 +[[image:attach:ResultsForStudentsWrapperjava.png]] 730 +{{/layout-cell}} 731 +{{/layout-section}} 732 +{{/layout}} 733 +{{/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 +3342937 - 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/3342937/Schnittstelle ONYX Reporter