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