You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Vad är SUNETs Ladokadapter?

SUNETs Ladokadapter är en tjänst som alla lärosäten inom ramen för SUNET kan beställa. Den hjälper lärosätet att erhålla händelser från sin Ladokinstans som XML-meddelanden enligt industristandarden LIS (Learning Information Services). Adaptern är utvecklar för att fungera gentemot Ladok 3.

Tjänsten är händelsebaserad - det betyder att adaptern kontinuerligt lyssnar på er Ladokinstans, och när en händelse inträffar i Ladok, så kommer Ladokadaptern att uppfatta detta, berika händelsen med information om objektet som händelsen inträffade för, och publicera det resulterande objektet som ett XML-meddelande.

Vad är SUNETs Canvasadapter?

SUNETs Canvasadapter är en tjänst som alla lärosäten inom ramen för SUNET kan beställa. Den hjälper lärosätet att få data i LIS-format att hamna i Canvas.

Tjänsten är händelsebaserad - det betyder att tjänsten lyssnar på en uppsättning ändpunkter, och när ett korrekt meddelande anländer på någon av dessa ändpunkter så förs denna data över till Canvas (via ett LIS-interface som kallas Kimono - mer om det senare).

SUNETs Canvasadapter accepterar XML-meddelanden formaterade enligt LIS-standarden.

Översikt av helhetslösningen

Om man väljer att konfugera upp båda ovanstående adaptrar för sitt lärosäte så får man en helhetslöning för att hålla Canvas i synk med Ladok3. Viktigt att komma ihåg är att ingen data flödar åt andra hållet (i dagsläget), dvs en ändring i Canvas reflekteras inte i Ladok, och t.ex. resultat som registreras i Canvas förs INTE automatiskt över till Ladok.

Personal

Personal finns ej i Canvas och måste föras över av lärosätet själv. Det enklaste sättet är att skapa en CSV-fil som laddas upp manuellt i Canvas. Om lärosätet har ett personalsystem eller integrationsplattform som kan producera LIS-meddelanden för sina anställda så kan lärosätet välja att skicka dessa till sin Canvasadapter hos SUNET. Detaljerna kring hur man gör detta hittar ni här: (WIP) Användningsfall: Använd Canvasadaptern för att synka användare från ert personalsystem till Canvas

Student

En användare skapas i Canvas när studenten blir antagen till en kurs på lärosätet.

Följande information förs över om studenten

  • StudentID (Ladok UUID)
  • Förnamn
  • Efternamn
  • E-post
  • Personnummer

Kurstillfälle

Ett kursrum skapas i Canvas för varje kurstillfälle som skapas i Ladok3. Det går att styra flera kurstillfällen till samma kursrum för att hantera samlästa kurstillfällen utan att skapa duplicerade kurstum i Canvas. Följande information förs över om ett kurstillfälle

  • KurstillfällesID (Ladok)
  • Termin
  • Tillfällesskod
  • Kurskod
  • Kursnamn
  • Poäng
  • Undervisningstakt
  • Undervisningstid
  • Studieort
  • Startdatum
  • Slutdatum

Studiedeltagande

Studiedeltagande är en sammanfattning för flera händelser:

  • Antagning
  • Registrering
  • Studieavbrott
  • Uppehåll 

Sammanfattning meddelande

  • Kolumn Ladok avser de meddelanden som kommer från Ladok
  • Kolumn LIS avser vilket LIS meddelande som skapas utifrån Ladok händelsen.
  • Kimono/Canvas avser vilken SOAP metor metod som används i Canvas LIS implementation.
LadokLISKimono/CanvasKommentarer 
 


Normalprocess

Följande Normalprocess används som mall för integrationslösningen. Den är under utvecklings och bygger på arbete inom Göteborgs Universitet. Det går att konfigurera uppträdandet i processen till viss del genom att konfigurera mappningen av informationen i meddelandena tillsammans med Instructure.

Kort om processen

Processen går att navigera i. Klicka på objekten för korta beskrivningar. Små pilar indikerar att processen är nedbruten, klicka på pilen för att navigera in i processen.

Processen beskriver de viktigaste händelserna från att  ett kurstillfälle skapas i Ladok3 till att kursen är klar i Canvas. Den visar också vad man behöver göra manuellt.

Konfigurering av Processen

SUNETs Ladok3-adapter skickar standardiserade meddelanden till Canvas. Det går dock att i samråd med Instructure anpassa hur man vill mappa informationen i meddelandet till Canvas för det enskilda lärosätet. Detta görs i ett integrationsverktyg som heter Kimono av personal från Instructure. Nedan beskrivs några typfall av mappningar som styr beteendet i Canvas.

Sammanslagning av Kursrum

Normalfallet är att ett kursrum skapas per kurstillfälle i ladok3. Om man vill slå samman flera parallella kurstillfällen som samläses till ett kursrum i Canvas kan man slå samman ett antal attribut i meddelandet som nyckel för kursrummet.

Exempel:

Värden som Instructure ska sätta i Kimono:

Stryp tillgång till kursrummet för antagna studenter som inte registrerat sig

Ett vanligt scenario är att man vill låsa upp kursrummet för antagna studenter så att de kan förbereda sig. Man vill däremot inte att dessa studenter ska finnas kvar i kursrummet om de aldrig dyker upp. Detta går att lösa genom att sätta ett tidsbegränsat medlemskap i kursrummet vid antagning, tex fram till ett par dagar innan kursen startar. En registrering ger studenten permanent medlemskap. Det gör att studenter som registrerar sig i tid inte kommer att märka övergången.

Exempel:

Värden som Instructure ska sätta i Kimono:

Hantering av termin

Termin styr statistik och filter i Canvas. Det går att koppla kursen till en termin automatiskt vid integration.  Man kan lämna termin tom och man kan sätta ett datumintervall på kursen i Canas.

Exempel:

Värden som Instructure ska sätta i Kimono:

Tjänstearkitektur

Tjänstearkitekturen bygger på att vi skapar så kallade integrationskontrakt till tjänster definierade i Ladok-adaptern. Tjänsten ritas som en klubba (lollipop) och kontraktet som en konnektor som "griper" om tjänsten. Sync är ett verb som betyder att information synkroniseras ut till potentiellt många informationslavar. Ladok3 är master för samtliga integrationer i denna lösning. Ladok3-adaptern lyssnar på relevanta meddelanden i Ladok3 och sätter ihop en sammansatt meddelande som motsvarar ett helt informationsobjekt, tex studiedeltagande. Meddelandet formateras till ett LIS-meddelande och publiceras på en sk. Topic. Canvas-adaptern lyssnar på Ladok3-adaperns publiceringar och anropas Canvas LIS-API som tar emot meddelandet och gör en sista mappning från LIS till Canvas proprietära format. Detta sker i en produkt som kallas Kimono. I Kimono kan Instructure styra hur informationen mappas - se (WIP) Användningsfall: Använd Ladok- och Canvasadaptern för att synka data från er Ladokinstans till er Canvasinstans.

Lösningsarkitektur

Informationssamband

Denna bild beskriver de övergripande informationssambanden mellan Ladok3 och Canvas. Bilden kommer inom kort ersättas med en renritad bild.

 

Mappningspecifikationer

Under denna rubrik kan du läsa om hur vi standardmässigt mappar attribut från LIS (från Ladok3) till Canvas. Det mesta går att ändra i Kimono tillsammans med Instructure. Specarna nedan ska ses som en standardmappning att utgå från så man slipper börja med ett blankt papper. Specarna kan användas som beställningsunderlag till Instructure.

Autentisering av användare

Användarens identitet federeras via SWAMID och mappas via fält i attributreleasen till en lokal användare i Canvas. Ladok3 har dock ingen kännedom om en students användar-ID. För att lösa detta tittar projektet på en lösning som liknar inloggningsförfarandet i Ladok3. Dvs. kunna ta tex personnummer ur attributreleasen och mappa mot ett fält på användaren i Canvas. SUNET driver frågan om en anpassning mot Canvas.

  • EduID

    För att kunna använda EduID som autentiseringslösning för Canvas så måste er Canvas-instans registreras i SWAMID. För att göra detta, kontakta operations@swamid.se. Som Login ID i Canvas behöver i så fall samma mailadress sättas som mailadressen på personens EduID. Detta går att konfigurera i Kimono. För att konfigurera upp EduID som SAML-provider i Canvas kan man göra enligt följande mall:



Så här beställer du SUNET Canvas Adapter

Vänd dig till: ????@sunet.se för mer detaljer. Konfigurering av SUNET Ladok3-adapter ingår i lösningen.


  • No labels