Änderungen von Dokument 08 Schnittstelle ONYX Reporter
Zuletzt geändert von Carina Enke am 13.02.2024
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
-
Objekte (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. tleu1 +XWiki.sandra_riediger - Inhalt
-
... ... @@ -1,3 +1,4 @@ 1 +{{sv-translation language="de"}} 1 1 {{layout}} 2 2 {{layout-section ac:type="two_right_sidebar"}} 3 3 {{layout-cell}} ... ... @@ -60,9 +60,7 @@ 60 60 |((( 61 61 getResultValues 62 62 )))|((( 63 -Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: 64 - 65 -Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste. 64 +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. 66 66 ))) 67 67 |(% colspan="1" %)(% colspan="1" %) 68 68 ((( ... ... @@ -209,33 +209,524 @@ 209 209 } 210 210 {{/code}} 211 211 212 -{{code title="Initialisierung durch LMS" language="xml"}} 213 -@WebMethod(operationName = „initiateSite") 214 -public String initiateSite( 211 +== Abmeldung durch LMS == 212 + 213 + 214 + 215 +{{code}} 216 +@WebMethod(operationName = „disarmSite") 217 +public Boolean disarmSite( 215 215 @WebParam(name = „version") final Integer version, 216 216 @WebParam(name = „sessionId") final String sessionId, 217 217 @WebParam(name = „secretToShare") final String secretToShare, 218 -@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 219 -@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 220 220 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 221 221 } 222 222 {{/code}} 224 + 225 + 226 + 227 +=== Parameter disarmSite === 228 + 229 +|((( 230 +version 231 +)))|((( 232 +Angefragte Version: 1 233 +))) 234 +|(% colspan="1" %)(% colspan="1" %) 235 +((( 236 +sessionId 237 +)))|(% colspan="1" %)(% colspan="1" %) 238 +((( 239 +SessionId, wie von armSite zurück geliefert. 240 +))) 241 +|((( 242 +secretToShare 243 +)))|((( 244 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 245 +))) 246 +|((( 247 +additionalParams 248 +)))|((( 249 +Reserved for future use. 250 +))) 251 + 252 +=== ReturnValue disarmSite === 253 + 254 +|((( 255 +Boolean 256 +)))|((( 257 +True bei Erfolg, sonst false. 258 +))) 259 + 260 +== Abfrage von Lernerresultaten durch LMS == 261 + 262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 263 + @WebMethod(operationName = „getResultValues") 264 +public HashMapWrapper getResultValues( 265 + @WebParam(name = „version") final Integer version, 266 + @WebParam(name = „sessionId") final String sessionId, 267 + @WebParam(name = „secretToShare") final String secretToShare, 268 + @WebParam(name = „requestedValues") final HashMap<String, String> 269 + requestedValues, 270 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 271 +} 272 +{{/code}} 273 + 274 +=== Parameter getResultValues === 275 + 276 +|((( 277 +version 278 +)))|((( 279 +Angefragte Version: 1 280 +))) 281 +|(% colspan="1" %)(% colspan="1" %) 282 +((( 283 +sessionId 284 +)))|(% colspan="1" %)(% colspan="1" %) 285 +((( 286 +SessionId, wie von armSite zurück geliefert. 287 +))) 288 +|((( 289 +secretToShare 290 +)))|((( 291 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben. 292 +))) 293 +|((( 294 +requestedValues 295 +)))|((( 296 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück. 297 +))) 298 +|((( 299 +additionalParams 300 +)))|((( 301 +Reserved for future use. 302 +))) 303 + 304 +=== ReturnValue getResultValues === 305 + 306 +|((( 307 +HashMap<String, String> 308 +)))|((( 309 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 310 +))) 311 + 312 +== Abfrage von Ergebnisvariablen durch LMS == 313 + 314 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}} 315 + @WebMethod(operationName = „getResultVariables") 316 +public HashMapWrapper getResultVariables( 317 +@WebParam(name = „version") final Integer version, 318 +@WebParam(name = „contentPackage") final byte[] contentPackage, 319 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 320 +} 321 +{{/code}} 322 + 323 +=== Parameter getResultVariables === 324 + 325 +|((( 326 +version 327 +)))|((( 328 +Angefragte Version: 1 329 +))) 330 +|((( 331 +contentPackage 332 +)))|((( 333 +Content Package (gezippt) als Byte-Array. 334 +))) 335 +|((( 336 +additionalParams 337 +)))|((( 338 +Reserved for future use. 339 +))) 340 + 341 +=== ReturnValue getResultVariables === 342 + 343 +|((( 344 +HashMap<String, String> 345 +)))|((( 346 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt) 347 +))) 348 + 349 +== Wrapper == 350 + 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. 352 + 353 +=== Wrapper für die HashMap<String, String> === 354 + 355 +HashMapWrapper.java: 356 + 357 +[[image:attach:HashMapWrapperjava.png]] 358 + 359 +[[image:attach:HashMapWrapperjava2.png]] 360 + 361 +=== Wrapper für die ArrayList<ResultsForStudent> === 362 + 363 +ResultsForStudentsWrapper.java: 364 + 365 +[[image:attach:ResultsForStudentsWrapperjava.png]] 223 223 {{/layout-cell}} 224 224 {{/layout-section}} 225 225 226 226 {{layout-section ac:type="two_right_sidebar"}} 227 227 {{layout-cell}} 228 -====== untergeordnete Seiten: ====== 371 + 372 +{{/layout-cell}} 229 229 374 +{{layout-cell}} 375 +====== relevante Links: ====== 230 230 377 +* [[doc:Schnittstelle ONYX WebPlayer]] 378 +{{/layout-cell}} 379 +{{/layout-section}} 380 +{{/layout}} 381 +{{/sv-translation}} 231 231 232 -{{children all="true"/}} 383 +{{sv-translation language="en"}} 384 +{{layout}} 385 +{{layout-section ac:type="two_equal"}} 386 +{{layout-cell}} 387 +====== Content: ====== 388 + 389 + 390 + 391 +{{toc maxLevel="5" style="square" outline="true" absoluteUrl="true"/}} 233 233 {{/layout-cell}} 234 234 235 235 {{layout-cell}} 236 -====== relevante Links: ====== 395 + 396 +{{/layout-cell}} 397 +{{/layout-section}} 237 237 238 -* [[lorem ipsum>>url:https://www.bps-system.de/help/display/OPAL/Handbuch+OPAL||shape="rect"]] 399 +{{layout-section ac:type="single"}} 400 +{{layout-cell}} 401 +== General == 402 + 403 +The API to the ONYX WebReporter enables the communication between the LMS and the reporter. Therefore, a couple of commands will be executed: 404 + 405 +|((( 406 +armSite 407 +)))|((( 408 +Registration of sequence requests at the ONYX reporter 409 +))) 410 +|((( 411 +initiateSite 412 +)))|((( 413 +Initiates the reporter session (transmission of the CP). 414 +))) 415 +|((( 416 +disarmSite 417 +)))|((( 418 +Release of all reporter resources for this session. 419 +))) 420 +|((( 421 +getResultValues 422 +)))|((( 423 +Returns all or all requested results for the test. Condition: there is exactly one student in list transmitted in the initiateSite. 424 +))) 425 +|(% colspan="1" %)(% colspan="1" %) 426 +((( 427 +getResultVariables 428 +)))|(% colspan="1" %)(% colspan="1" %) 429 +((( 430 +Returns all or all requested outcome variables for the test. No armSite, initiateSite or disarmSite is necessary. 431 +))) 432 + 433 +== Connection to the LMS == 434 + 435 +{{code title="Anmeldung des LMS" language="xml"}} 436 +@WebMethod(operationName = „armSite") 437 +public String armSite( 438 +@WebParam(name = „version") final Integer version, 439 +@WebParam(name = „userId") final String userId, 440 +@WebParam(name = „optionalRole") final Integer role, 441 +@WebParam(name = „secretToShare") final String secretToShare, 442 +@WebParam(name = „optionalUserLastName") final String userLastName, 443 +@WebParam(name = „optionalUserFirstName") final String userFirstName, 444 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 445 +} 446 +{{/code}} 447 + 448 +=== Parameter armSite === 449 + 450 +|((( 451 +version 452 +)))|((( 453 +Requested version: 1 454 +))) 455 +|((( 456 +userId 457 +)))|((( 458 +UserId of the requested reporter user 459 +))) 460 +|((( 461 +optionalRole 462 +)))|((( 463 +Optional. User role. 0=student, 1=tutor 464 +))) 465 +|((( 466 +secretToShare 467 +)))|((( 468 +Shared secret. Has to remain identical for every communication. 469 +))) 470 +|((( 471 +optionalUserLastName 472 +)))|((( 473 +Optional. User lastname. 474 +))) 475 +|(% colspan="1" %)(% colspan="1" %) 476 +((( 477 +optionalUserFirstName 478 +)))|(% colspan="1" %)(% colspan="1" %) 479 +((( 480 +Optional. User firstname. 481 +))) 482 +|(% colspan="1" %)(% colspan="1" %) 483 +((( 484 +additionalParams 485 +)))|(% colspan="1" %)(% colspan="1" %) 486 +((( 487 +Reserved for future use. 488 +))) 489 + 490 +=== ReturnValue armSite === 491 + 492 +|((( 493 +String 494 +)))|((( 495 +Session ID that has to be used to mark any further reporter call. 496 +))) 497 + 498 +== Initialisation through LMS == 499 + 500 +{{code title="Initialisierung durch LMS" language="xml"}} 501 +@WebMethod(operationName = „initiateSite") 502 +public String initiateSite( 503 +@WebParam(name = „version") final Integer version, 504 +@WebParam(name = „sessionId") final String sessionId, 505 +@WebParam(name = „secretToShare") final String secretToShare, 506 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students, 507 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage, 508 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 509 +} 510 +{{/code}} 511 + 512 +=== Parameter initiateSite === 513 + 514 +|((( 515 +version 516 +)))|((( 517 +Requested version: 1 518 +))) 519 +|(% colspan="1" %)(% colspan="1" %) 520 +((( 521 +sessionId 522 +)))|(% colspan="1" %)(% colspan="1" %) 523 +((( 524 +SessionId, as returned by armSite. 525 +))) 526 +|((( 527 +secretToShare 528 +)))|((( 529 +Shared secret. Has to remain identical at every communication. 530 +))) 531 +|((( 532 +students 533 +)))|((( 534 +List of students with their results. See below. 535 +))) 536 +|((( 537 +optionalContentPackage 538 +)))|((( 539 +Optional. Content Package (zipped) as byte array. 540 +))) 541 +|((( 542 +additionalParams 543 +)))|((( 544 +Reserved for future use. 545 +))) 546 + 547 +=== ReturnValue initiateSite === 548 + 549 +|((( 550 +String 551 +)))|((( 552 +Absolute URL of the reporter site for the frame. It has to be enriched by the LMS with the following URLparameters: 553 + 554 +* sid: Session ID as returned by armSite 555 +* ((( 556 +uid: Student ID as registrated in the initiateSite at the ONYX Reporter. 557 +))) 558 +))) 559 + 560 +{{code language="xml"}} 561 +public class ResultsForStudent { 562 + private String studentId = „"; 563 + private String firstname = „"; 564 + private String lastname = „"; 565 + private String groupname = „"; 566 + private String tutorname = „"; 567 + private File contentFile = null; 568 + private byte[] resultsFile = null; 569 +} 570 +{{/code}} 571 + 572 +== Deconnection through the LMS == 573 + 574 + 575 + 576 +{{code}} 577 +@WebMethod(operationName = „disarmSite") 578 +public Boolean disarmSite( 579 +@WebParam(name = „version") final Integer version, 580 +@WebParam(name = „sessionId") final String sessionId, 581 +@WebParam(name = „secretToShare") final String secretToShare, 582 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 583 +} 584 +{{/code}} 585 + 586 + 587 + 588 +=== Parameter disarmSite === 589 + 590 +|((( 591 +version 592 +)))|((( 593 +Requested version: 1 594 +))) 595 +|(% colspan="1" %)(% colspan="1" %) 596 +((( 597 +sessionId 598 +)))|(% colspan="1" %)(% colspan="1" %) 599 +((( 600 +SessionId, as returned by armSite. 601 +))) 602 +|((( 603 +secretToShare 604 +)))|((( 605 +Shared secret. Has to remain identical at every communication. 606 +))) 607 +|((( 608 +additionalParams 609 +)))|((( 610 +Reserved for future use. 611 +))) 612 + 613 +=== ReturnValue disarmSite === 614 + 615 +|((( 616 +Boolean 617 +)))|((( 618 +True if successful, otherwise false. 619 +))) 620 + 621 +== Request of learning results through the LMS == 622 + 623 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}} 624 + @WebMethod(operationName = „getResultValues") 625 +public HashMapWrapper getResultValues( 626 + @WebParam(name = „version") final Integer version, 627 + @WebParam(name = „sessionId") final String sessionId, 628 + @WebParam(name = „secretToShare") final String secretToShare, 629 + @WebParam(name = „requestedValues") final HashMap<String, String> 630 + requestedValues, 631 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 632 +} 633 +{{/code}} 634 + 635 +=== Parameter getResultValues === 636 + 637 +|((( 638 +version 639 +)))|((( 640 +Requested version: 1 641 +))) 642 +|(% colspan="1" %)(% colspan="1" %) 643 +((( 644 +sessionId 645 +)))|(% colspan="1" %)(% colspan="1" %) 646 +((( 647 +SessionId, as returned by armSite. 648 +))) 649 +|((( 650 +secretToShare 651 +)))|((( 652 +Shared secret. Has to remain identical at every communication. 653 +))) 654 +|((( 655 +requestedValues 656 +)))|((( 657 +Can be empty, thus all result variables will be returned. If it contains keys, only those will be returned. 658 +))) 659 +|((( 660 +additionalParams 661 +)))|((( 662 +Reserved for future use. 663 +))) 664 + 665 +=== ReturnValue getResultValues === 666 + 667 +|((( 668 +HashMap<String, String> 669 +)))|((( 670 +Map of result variables, key is the variable name, value the corresponding value (HashMap is wrapped) 671 +))) 672 + 673 +== Request of result variables through the LMS == 674 + 675 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}} 676 + @WebMethod(operationName = „getResultVariables") 677 +public HashMapWrapper getResultVariables( 678 +@WebParam(name = „version") final Integer version, 679 +@WebParam(name = „contentPackage") final byte[] contentPackage, 680 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) { 681 +} 682 +{{/code}} 683 + 684 +=== Parameter getResultVariables === 685 + 686 +|((( 687 +version 688 +)))|((( 689 +Requested version: 1 690 +))) 691 +|((( 692 +contentPackage 693 +)))|((( 694 +Content package (zipped) as byte array. 695 +))) 696 +|((( 697 +additionalParams 698 +)))|((( 699 +Reserved for future use. 700 +))) 701 + 702 +=== ReturnValue getResultVariables === 703 + 704 +|((( 705 +HashMap<String, String> 706 +)))|((( 707 +Map of result variables, key is the variable name, value the corresponding 708 +value (HashMap is wrapped). 709 +))) 710 + 711 +== Wrapper == 712 + 713 +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. 714 + 715 +=== Wrapper for HashMap<String, String> === 716 + 717 +HashMapWrapper.java: 718 + 719 +[[image:attach:HashMapWrapperjava.png]] 720 + 721 +[[image:attach:HashMapWrapperjava2.png]] 722 + 723 +=== Wrapper for the ArrayList<ResultsForStudent> === 724 + 725 +ResultsForStudentsWrapper.java: 726 + 727 +[[image:attach:ResultsForStudentsWrapperjava.png]] 239 239 {{/layout-cell}} 240 240 {{/layout-section}} 241 241 {{/layout}} 731 +{{/sv-translation}}
- Confluence.Code.ConfluencePageClass[0]
-
- id
-
... ... @@ -1,1 +1,1 @@ 1 - 33423941 +5996724 - url
-
... ... @@ -1,1 +1,1 @@ 1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/ 3342394/Schnittstelle ONYX Reporter1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/5996724/Schnittstelle ONYX Reporter