HOWTO

Fortløpende punkter "hvordan gjør jeg dette og hva må jeg passe på". Vi strukturerer i avsnitt og emner etterhvert.

Generering og henting av data for testing av integrasjon med  Canvas

«Vi» = CERES, «Du/Dere» = Utdanningsinstitusjonen

Generering/eksport

Innstillinger i FS (LMS-løpenr)

Først må man vite hvilket LMS-løpenummer Canvas-integrasjonen skal ha og sette som verdi i sitt FS (i feltet «WS-tjenestenummer»). For institusjoner som har en eksisterende WS-integrasjon (typisk mot Fronter eller Itslearning) bør denne bli stående på løpenr 1, mens Canvas-integrasjonen får et høyere løpenr (normalt 2, hvis det ikke finnes andre parallelle LMS-integrasjoner). Da kan man eksperimentere med innstillinger og hvilke data som skal eksporteres til Canvas, parallelt med at eksisterende integrasjon(er) fortsetter som før.

WSTjeneste/WSAuth samt modulvalg for aktuelt LMSLøpenr initieres av CERES (noen av modulvalgene skal ha bestemte verdier for Canvas, men ikke alle, så valgene bør gjennomgås av institusjonen etterpå). Du må tvangskjøre henting av felleskoder i FS SYSTEM for å få modulvalgene.

Når det gjelder Emne, Kull og EVU-kurs, kan institusjonen

  • enten sette løpenr på et lite datasett manuelt for å se resultatet, eller

  • la CERES sette løpenr på alle forekomster maskinelt

CERES legger inn brukernavn og passord i WSTjeneste/WSAuth. Brukernavnet vil ligge i klartekst, men passordet vil være kryptert. Vi sender dette på sms, da institusjonen trenger begge deler for å laste ned eksporterte filer fra SFTP-serveren.

Andre innstillinger i FS

Resten av innstillingene er dokumentert her:

https://www.fellesstudentsystem.no/dokumentasjon/teknisk/fsws-dok/lms/

I tillegg til avsnittene som eksplisitt omhandler Canvas, er alt annet som ikke eksplisitt omhandler et annet LMS aktuelt.

Eksportjobb

Obs! Denne jobben vil gå av seg selv når testperioden er slutt.

Ceres må ha satt opp en vei, brukernavn og passord til dere slik at dere kan eksportere dataene fra FS. Dette gjøres i bildet WS Tjeneste i FS System Demo. Hvis dette bildet er blankt må dere altså kontakte Ceres.

 

 

Når dette er klart tvangskjører du FSWS Overføring til Canvas i FS demo

 

Henting av eksporterte filer

Det er to måter å gjøre dette på:

  1. Fra eksportloggene i FS (egner seg best hvis man bare vil kikke på innholdet)

  2. Fra SFTP-serveren (egner seg best hvis man ønsker å kjøre import)

Henting fra eksportlogger

Dette er en REST-tjeneste som vil være kjent for de som har jobbet med Fronter- eller Itslearning-integrasjonen:

https://jboss-test.uio.no/fsrest/rest/lms/intern/logg?operasjonsnavn=CANVAS

Her ligger eksporter noen dager bakover i tid. Når man laster ned en eksportfil får den navn rapport_dd_mm_yyyy-hh_mi_ss.xml. Det anbefales å omnavne fil for fil til et mer beskrivende navn, hvis man har tenkt å laste ned flere filer (da det ellers kan være vanskelig å holde rede på hva som er hva). Hvis man ønsker å importere dem, må de omnavnes til Canvas-standard (se under).

Henting av filer fra SFTP-server

Kun hvis du skal bruke Powershell. For å hente filene må du ha installert et SFTP-program a la WinSCP (det holder ikke med Filezilla på Windows). Brukernavn og passord får du fra CERES.



 

Det enkleste er å laste filen ned til samme mappen du har programmet curl liggende.

Laste opp filer til Canvas testbase

Du må få oppgitt en curl-kommando fra Instructure. Først genererer du en accesstoken fra profil->settings til en adminbruker (ingen utløpsdato) som du sender til instructure via sharefile. Deretter får du en url og en nøkkel (access token) fra Instructure som vil ligge på https://instructure.sharefile.com/. Du må få brukernavn og passord fra Instructure. Her hjelper det å mase på CSM eller Lefteris (Teknisk oppstartshjelp hos Instructure) for fortgang.

Du finner programmet Curl her: https://curl.haxx.se/dlwiz/?type=bin og laster ned den versjonen som passer for ditt operativsystem.

Den enkle måten

Du åpner Ledetekst (CMD)  og limer inn curl-kommandoen du har fått fra Instructure. Husk å få med de to tødlene på slutten av kommandoen.

 

Dersom CURL klagar på sertifikat, at tilkoblinga ikkje er sikker, legg til parameter   -k  .  F.eks. rett før  -d , altså blir slutten slik:    -k -d ''  

Den omstendelige måten

Med denne metoden kan du laste opp en og en fil til testing. Når filen er lastet ned og pakket ut på et greit sted  åpner du Windows powershell og navigerer til mappen der du har lagt curl (og evt. filene dine).

 

Hvis filene ligger et annet sted enn programmet må du legge inn hele banen til filen. Det skal alltid stå .\ foran banen/filnavnet.

Første tegn på at overføringen går er at du får meldingen («Message»:»Submitted», «batch_id»:[tallrekke]) Batch_id kan du bruke for å sjekke status grundigere. Du skal ha fått denne kommandoen fra Instructure også.

 

Og så er det bare å vente og se at Canvas blir fylt opp.

Produksjonssetting av integrasjon

Dette består i å gjenta alle punkter over i Prod som er blitt gjort i Test/Demo, med noen forskjeller:

Renske/slette "alt" fra Canvas

Noen ganger er det aktuelt å "renske" hele testmiljøet, for å se nøyaktig hva som kommer inn ved neste overføring fra FS.  Her er en oppskrift på hvordan man kan gjøre det.

Grov oppskrift

Ordforklaring «CSV»: CSV står for Comma-separated Values. En CSV-fil er en tekstfil hvor innholdet består av verdier som er strukturert som i et regneark. Celler horisontalt (kolonner) blir skilt ved hjelp av et komma. Celler vertikalt (rader) skilles med linjeskift.

  • Bruke Provisioning rapport for å laste ned CSV filer som inneholder alt som ligger i Canvas

  • Redigere enkelte av CSV filene for å sette status "deleted" på alt man vil skal slettes fra Canvas

  • Zippe de redigerte CSV filene til én ZIP-fil

  • Bruke SIS Import i Canvas, laste opp ZIP filen og kjøre "Process Data"

Ordforklaring «SIS»: SIS står for Student information system. Les mer på Wikipedia!

Hente ut SIS-importerte ting som CSVer

  • Gå til Admin -> Sin root account

  • Gå inn på Settings -> Reports

  • Klikk på Configure - knappen som gjelder Provisioning

  • Ut fra hvilke ting man vil renske bort fra Test Canvas, velg de ulike CSV typene man vil.  Vi har pleid å velge alle CSV typene, og har da fått lastet ned alle slags CSV filer, men vi har bare brukt accounts, courses, sections og users CSVene.

  • Hvis man i tillegg setter hake på "Created by SIS", så skulle man få CSVer som bare inneholder SIS importerte ting.

  • Så klikker man "Run Report". Dette vll da ta litt tid. Det står at man vil få en epost når rapporten er ferdig, men jeg har aldri fått noen slik epost.  Jeg har da bare sjekket innom "Reports" siden av og til for å se når den er ferdig.  Dette pleier imidlertid ikke å ta så mange minutter.

  • Når rapporten er ferdig, kan man laste den ned (ZIP fil) og pakke den ut.

  • Så må man ta for seg hver enkelt av de CSV filene hvor det er ting man vil renske vekk, f.eks. courses.csv.  På grunn av tegnsett (UTF-8) er det enklest å bruke Google Sheets til å gjøre endringer i CSVene.

 

Man må så redigere på de aktuelle CSV filene. I hovedsak skal man da endre "status" til å være "deleted". Men, selv om vi man har valgt "Created by SIS", så kan det jo være man tidligere manuelt har importert ting fra egenlagde CSVer, og disse tingene vil da også være med i disse CSVene fra rapportkjøringen.  Hvis man bruker en regneark applikasjon kan man filtrere innholdet og så slette de radene som inneholder ting som ikke skal slettes fra Canvas.

For å gjøre endringer i CSV filene, er det flere aktuelle alternativer:

  • Google Sheets

  • LibreOffice Calc

  • Teksteditor

 

Google Sheets

Hvis man har en google konto, går man inn på sin Google Drive og lager et nytt Google Sheet et sted. Så  importerer man en CSV fil (File -> Import, Upload, og dra CSV fila inn). Man kan da klikke på "Import" uten å gjøre noe mer, så skulle Google Sheet importere det korrekt.

 

LibreOffice Calc

LibreOffice Calc er en del av en gratis Office suite, og kan lastes ned fra https://www.libreoffice.org/. Denne ser ut til å håndtere UTF-8 tegnsett på en mye enklere måte en f.eks. Excel.

Med LibreOffice Calc velger man bare "Åpne", finner CSV fila, og så dukker det opp et vindu for importinnstillinger. Her er det viktig at man velger korrekt:

  • Tegnsett Unicode (UTF-8)

  • Separator Options: Comma

  • Text delimiter: "

  • Markere alle kolonnene og velge at de skal være Column type: Text

 

Redigering med Google Sheet eller LibreOffice Calc

Så må man endre innholdet i cellene i kolonnen "status", slik at det står "deleted" som status på alle radene hvor man vil at de aktuelle tingene skal slettes fra Canvas.

Hvis det er veldig mange rader tar det en stund å fylle inn teksten "deleted" hvis man gjør det ved å ta tak i høyre hjørne på en celle, og dra den nedover. Tips for å gjøre dette mye fortere:

  1. Klikk i øverste celle som skal endres, og skriv inn "deleted"

  2. Bruk så vertikal scrollbar, dra deg ned til siste rad, hold SHIFT og klikk på cellen i siste rad. Mao., vanlig teknikk for å markere alle celler nedover, fra og med den cellen som er markert øverst oppe.

  3. Så, trykk CTRL + D på tastaturet. Da skal inneholdet av øverste celle bli kopiert til alle de andre markerte cellene.

 

Lagre filen som en ny CSV fil på lokal disk. I Google Sheet velger man File -> Download as -> Comma-separated values. I LibreOffice Calc velger man Lagre som, velger Save as type: "Text CSV".

Lagre gjerne med navn som "courses-delete.csv" eller noe lignende, så du lett ser forskjell på disse, og de som er fra Canvas rapporten.

Gjenta prosessen for andre CSV filer hvor som inneholder ting du vil slette fra Canvas. Aktuelle filer kan være accounts.csv, courses.csv, enrollments.csv, sections.csv og users.csv.

 

accounts.csv

Her kan det kanskje være lurt å finne det som er root-accounten for FS-overføringen, og fjerne den raden fra fila.  For HSNs eksempel er det den som har "canvas_parent_id" = 1, og "account_id" = "ST_0222000000".  Jeg vil tro at "canvas_parent_id" vil være lik for alle Canvas nettstedene.

 

users.csv

Hvis det er brukere i Canvas som man ikke vil skal bli slettet (f.eks. din egen admin-bruker), pass nøye på at disse enten ikke finnes i CSV fila, eller at du sletter dem fra CSV fila. Det er kjedelig hvis man ikke får logget inn etter at man har kjørt inn slette-sis-importen..

 

enrollments.csv

Filen enrollments.csv for HSN er for stor (ca. 27MB) for å importere i Google Sheet..  Jeg har forsøkt å importere i flere omganger, og det ser i utgangspunktet ut til å la seg gjøre, men likevel blir regnearket så stort at man vil få trøbbel med å redigere det. Jeg fikk feilmeldinger om at nettleseren (Chrome) hadde brukt for mye minne, bl.a.

Da kan man f.eks. bruke LibreOffice Calc (går helt fint der).

Man kan også bruke en teksteditor, søke etter "active" og erstatte med "deleted".  Ulempen med teksteditor er da bl.a. at man ikke kan bruke sortering eller filtrering for å sjekke/redigere på flere ting, og f.eks. slette rader.

 

Importere slette-CSVer til Canvas

Så, når man har et sett med CSV filer hvor status er satt til "deleted" på de tingene man vil skal slettes fra Canvas, gjør man dette:

  1. Marker de aktuelle CSV filene, og pakk disse til én ZIP-fil

  2. Så, i Canvas Test, gå til SIS Import -> Choose File. Velg ZIP fila du laget nettopp, og klikk Process Data.

 

Fusjoner og omnavning av institusjon

Canvas-eksportfiler havner i en katalog på SFTP-serveren med navn = institusjonsakronym ("Forkortelse" i institusjonsbildet), med noen unntak/justeringer hvis akronymet inneholder andre tegn enn A-Z:

  • DIAKONOVA => HSD

  • HIØ => HIOF

  • SA/SH => SASH

Endring av institusjonsakronym må synkroniseres med:

  • Melding til CERES

  • Tilsvarende endring av katalognavn (under hhv. DMO/PRD ved endring i FS Demo/Prod)

  • Melding til Instructure