Sunet Digital tentamen
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!