Ladok erbjuder ett antal standardiserade och sammansatta meddelanden som kan användas i olika sammanhang. Meddelandena är representationer av informationsobjekt i Ladok och är uttryckta i formatet LIS från IMS Global. Dessa meddelanden används även som input till SUNETs Canvas adapter.
Lösningen bygger på att Ladok-adaptern lyssnar på specifika events inne i Ladok och paketerar ihop dessa till sammansatta meddelanden som motsvarar ett helt informationsobjekt, tex studiedeltagande. Sync är ett verb som betyder att information synkroniseras ut till potentiellt många informationslavar. Meddelandet formateras till ett LIS-meddelande. Detta möjliggör att samma meddelande kan användas av flera konsumenter i olika sammanhang.
Grundläggande princip för lösningen är tjänsteorienterad arkitektur med lös koppling:
Tjänsterna förutsätter att konsumenten är idempotent. Det innebär att samma meddelande från tjänsten alltid ger samma resultat hos konsumenten. Eftersom inte tjänsten känner till om konsumenten tagit emot innehållet tidigare, kan det upplevas som en dubblett hos konsumenten. Det är viktigt att konsumenten inte skapar en dubblett, utan uppdaterar befintlig post med samma information eller själv kastar duplikatet.
Sync Student synkroniserar ut studentmeddelanden. Följande Ladok meddelanden hanteras:
Följande information om studenten tas med:
Genererar ett PersonRecord (LIS) meddelande.
Detaljspecifikation nedan
Sync Kurstillfälle synkroniserar ut ett sammansatt meddelande för en studieperiod med alla väsentliga attribut för både kurs och kurstillfälle inkluderat. Följande Ladok meddelanden hanteras:
KurstillfalleTillStatusEvent (status=komplett, paborjad)
KurstillfalleUppdateradEvent (status=komplett, paborjad)
Följande information om kurstillfället tas med:
Genererar ett CourseOffringRecord (LIS) meddelande.
Detaljspecifikation nedan
Sync tudiedeltagande synkroniserar ut flera händelser som har med studiedeltagande att göra. Följande Ladok meddelanden hanteras:
AvbrottBorttagetEvent
UppehallEvent
Följande information tas med:
När en student lämnar studieuppehåll och lyssnar på Ladoks händelser om detta, så kommer systemet att slå upp vilka pågående kurser studenten har och uppdatera alla dessa medlemskap till att vara inaktiva. När studenten häver uppehållet så reflekteras även detta.
Genererar ett MembershipRecord (LIS) meddelande.
Detaljspecifikation nedan
Ladok | LIS | Operation | Kommentar |
---|---|---|---|
StudentTillLarosateEvent | PersonRecord | createPerson | |
ForvantatStudiedeltagandeEvent | MembershipRecord | createMembership | Lägg till medlemskap (Antagen) status =Active extensionField: Admitted=true OriginEvent = Ladok.AddAdmission |
ForvantatStudiedeltagandeBorttagenEvent | MembershipRecord | deleteMembership | Ta bort medlemskap (Antagen) status =Inactive extensionField: OriginEvent = Ladok.RemoveAdmission |
RegistreringEvent | MembershipRecord | updateMembership | Lägg till registrering status=Active extensionField: OriginEvent = Ladok.AddRegistration
|
OmregistreringEvent | MembershipRecord | updateMembership | Omregistrering status=Active extensionField: Admitted=true OriginEvent = Ladok.ReRegistration
|
AterkalladRegistreringEvent | MembershipRecord | updateMembership | Återkallad registrering status=Inactive Admitted=true OriginEvent = Ladok.RemoveRegistration |
AterkalladOmregistreringEvent | MembershipRecord | updateMembership | Återkallad omregistrering status=Inactive extensionField: Admitted=true OriginEvent=Ladok.RemoveReRegistration |
AterbudEvent | MembershipRecord | deleteMembership | Ta bort medlemskap status=Inactive OriginEvent=Ladok.RemoveAdmission |
AvbrottEvent | MembershipRecord | updateMembership | Avbrott status=Inactive extensionField: Admitted=true OriginEvent = Ladok.AddDroppout |
AvbrottBorttagetEvent | MembershipRecord | updateMembership | Avbrott borttaget status=Active extensionField: Admitted=true OriginEvent= Ladok.RemoveDropout |
UppehallEvent | MembershipRecord | updateMembership | Studieuppehåll status=Inactive extensionField: Admitted=true OriginEvent= Ladok.AddBreak |
UppehallborttagenEvent | MembershipRecord | updateMembership | Studieuppehåll borttagen status=Active extensionField: Admitted=true OriginEvent= Ladok.RemoveBreak |
LokalStudentEvent | PersonRecord | updatePerson | |
KontaktuppgifterEvent | PersonRecord | updatePerson | |
KurstillfalleTillStatusEvent | CourseOfferingRecord | createCourseOffering | |
KurstillfalleUppdateratEvent | CourseOfferingRecord | replaceCourseOffering |
I fältet OriginEvent kan följande värden förekomma: Ladok.AddPerson. Ladok.AddAdmission, Ladok.RemoveAdmission, Ladok.AddRegistration, Ladok.AddReRegistration, Ladok.RemoveRegistration, Ladok.RemoveReRegistration, Ladok.AddDropout, Ladok.RemoveDropout, Ladok.ModifyPerson, Ladok.ModifyPersonContact, Ladok.AddCourseInstance, Ladok.ModifyCourseInstance, Ladok.AddBreak, Ladok.RemoveBreak, Ladok.ModifyCourse, Ladok.RemoveCourseInstance
Platformen tillhandahåller även möjligheten att filtrera bort vilket händelser från ladok som systemet ska lyssna på. Om man t.ex. skulle vilja endast få medlemskapsmeddelanden för registreringar, så kan man välja att filtrera bort antagningsmeddelanden. För mer information. och för att använda funktionaliteten, kontakta driftsansvarig (UmU).
Platformen erbjuder möjligheten till så kallad early-access funktionalitet, vilket innebär att studenterna kan räknas som aktiva redan vid antagning. De räknas då som tidsbegränsat aktiva fram tills dess att registreringsperioden löpt ut. När en registrering på kursen sker så förlängs medlemskapet till kursens slut. Detta är användbart om det önskas att studenterna ska få tillgång till material redan innan kursstart.
För att reglera detta beteende så ska du informera driftsansvarige (UmU) att du önskar använda beteendet. Funktionaliteten bygger på att du skapar en markeringsnyckel i ladok som du markerar kurser som ska använda funktionaliteten. När platformen sedan läser information om kursen från ladok kommer en kontroll göras om markeringsnyckeln är satt på kursen. Om så är fallet kommer antagningsmeddelanden att få roll-status satt till 'Active' istället för det vanliga 'Inactive', och en tidsram för medlemskapet kommer att bli satt. När ett registreringsmeddelanden sedan kommer för studenten så förlängs tidsramen för medlemskapet tills kursens slutdatum.
En kurs som platformen ser är en s.k. early-access kurs kommer att markeras med ett LIS-extension med namn 'EarlyAccess' av typ 'Boolean' satt till värdet 'true'. Om inte är värdet satt till 'false'.