Teknisk information


Ladok LIS-adapter lyssnar på händelser från Ladok och konverterar dessa till LIS-meddelanden. Dessa kan lärosätena sedan ta del av via egen AMQP-kö, alternativt AMQP-kö som Ladokkonsortiet tillhandahåller. Inspera hämtar sedan meddelanden från denna kö och lägger in i systemet. För rapportering av resultat är flödet det omvända. LIS-adapter hämtar de LIS-meddelanden som Inspera lägger på en utgående kö, konverterar dessa och skriver sedan informationen till Ladok. De standarder som används är LIS (OneRoster/Learning Information Services/Edu-API | IMS Global Learning Consortium) och AMQP 1.0. För tillfället stöds endast uppkoppling mot lärosätets kö, från Inspera, med användarnamn/lösenord.


Vad krävs?

Lärosätet behöver vara anslutet till Ladok-LIS adapter (se: LIS-dokumentation - Ladok Integrationer, för åtkomst till denna del av Ladoks Confluence krävs ett supportärende till lärosätets Ladoksupport). För rapportering av resultat går det att välja om skrivningspoäng ska läggas in. 

AMQP-köer

Lärosätet behöver två köer för meddelandehantering, enligt AMQP 1.0. På den ena kön läggs meddelanden som kommer från Ladok (aktivitetstillfällen och anmälan på dessa). Se Teknisk beskrivning i dokumentet ovan för exempel på hur man kan filtrera ut endast dessa medelanden. På den andra kön läggs meddelanden som kommer från Inspera (resultat). Köerna kan antingen tillhandahållas, sättas upp och administreras av lärosätet, eller tillhandahållas av Ladokkonsortiet. Inspera autentiserar sig med användarnamn och lösenord.

  • Om det på lärosätet finns en egen infrastruktur för att hantera AMQP 1.0-köer så kan det vara en fördel att tillhandahålla egna köer. Eller om det finns specifika behov kring egen övervakning eller andra tekniska krav.
  • Om lärosätet inte har denna infrastruktur, eller tillräckliga incitament för att skapa en sådan, så kan köerna istället tillhandahållas av Ladokkonsortiet.

Studenter

För att studenten ska kunna matchas med anmälan på aktivitetstillfället behöver studentens Ladok UUID (StudentUid) knytas till studenten vid inloggningen i systemet. Detta värde kommuniceras via attributet norEduPersonLIN i samband med att attribut släpps. Se vidare SWAMIDs rekommendationer How-To - Ladok StudentUID vid attributerelease - Sunet Wiki. OBS: Inspera klarar bara av ett värde i detta attribut, trots att standarden säger det kan vara multipla värden. För befintliga kunder kan detta innebära att en konvertering av befintliga studentanvändare behöver utföras av Inspera!

Till lärosätets kö/Inspera inkommande meddelanden

  • Nytt aktivitetstillfälle: groupRecord + lineItemRecord (OriginEvent = "LADOK.AddActivityOccasion")
  • Ta bort aktivitetstillfälle: groupRecord + lineItemRecord (OriginEvent = "LADOK. RemoveActivityOccasion")
  • Inaktivera aktivitetstillfälle: groupRecord + lineItemRecord (OriginEvent ="LADOK. ModifyActivityOccasionStatus", education.activityoccasion.status = "Inactive")
  • Aktivera aktivitetstillfälle: groupRecord + lineItemRecord (OriginEvent = "LADOK. ModifyActivityOccasionStatus", education.activityoccasion.status = "Active")
  • Anmälan till aktivitetstillfälle: membershipRecord (OriginEvent = "LADOK.AddActivityOccasionApplication", status = "Active")
  • Avanmälan till aktivitetstillfälle: membershipRecord (OriginEvent = "LADOK. RemoveActivityOccasionApplication", status = "Inactive")
  • Person i samband med anmälan på aktivitetstillfälle: personRecord (OriginEvent = "LADOK.AddActivityOccasionApplication")

Filtrering / Headers

Lärosätet filtrerar i sin inkommande kö, med hjälp av meddelandets header, så att endast de ovanstående LIS-meddelandena finns att hämta för Inspera.

Detta kan göras med hjälp av följande headers:

  • ladok_originevent
  • ladok_activitiyinstancetypeid

För integrationen med Inspera behövs idag endast ett filter på aktivitetstillfällestyp. Aktivitetstillfällen med typerna i filtret, och anmälan på dessa, kommer att hamna på kön.
Så här kan ett exempel på detta se ut, där de nationella typerna Digital tentamen (LIS) och Digital omtentamen (LIS) använts i ett filter i ActiveMQ:

<filter string="ladok_activityinstancetypeid='151856' OR ladok_activityinstancetypeid='151857'"/>

Från lärosätets kö/Inspera utgående meddelanden

Följande data skickas från Inspera:

  • AktivitetstillfällesID (Ladoks UUID)
  • StudentID (Ladoks UUID)
  • Betygskod (Ladok, ex. "VG", "5") eller betygsID (Ladoks ID)
  • Examinationsdatum
  • Skrivningspoäng


Resultatet sparas som ett utkast i Ladok.
Finns redan ett utkast uppdateras detta utkast med examinationsdatum, betyg och eventuellt skrivningspoäng.

Tre konfigurationsmöjligheter finns när det gäller hantering av skrivningspoäng:

  • Välj om skrivningspoäng ska sparas överhuvudtaget. (sparas i resultatnoteringen “skrivningspoäng”)
  • Vid sparande av skrivningspoäng, välj om resultatnoteringen för poäng ska skapas om den inte finns.
  • Vid skapande av resultatnotering, välj om poängen ska visas/döljas för studenten efter attestering.


  • No labels