Teknisk beskrivning


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.


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.

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!

  • No labels