Prosjekt: Videreutvikling av gruppe-API-et

I dag har tjenester i Feide tilgang til gruppeinformasjonen som klasser, fag, trinn, programområde og utdanningsprogram fra Utdanningsdirektoratet sin GREP-database (udir.no). Dette gir tjenesteleverandørene mulighet til å tilpasse innholdet i en tjeneste til hvor elevene er i utdanningsløpet.

Etter videreutviklingen av gruppe-API-et kan tjenester hente informasjon om alle lærere og elever i en gruppe, uten at hver enkelt elev har logget inn på forhånd. Dette gir lærere mulighet å planlegge undervisningen før skolestart uten å vente på at alle elevene må logge seg inn på tjenesten. Læreren som logger inn på tjenesten får en komplett oversikt over alle elevene i klassen eller utdanningsgruppen.

Bakgrunn for videreutviklingen

Både resultatene fra innsiktsarbeidet om Feide-grupper og ønsker om endringer fra sektoren viser at dagens gruppe-API ikke er tilstrekkelig.

Det er behov for å videreutvikle gruppe-API-et fordi

  • Noen tjenester har behov for å ha oversikt over alle grupper, brukere i en vertsorganisasjon eller brukere ved en skole før noen har logget inn
  • Noen tjenester har behov for å oppdatere denne oversikten for å forsikre seg om at de har oversikt over grupper eller elever gjennom hele skoleåret

For at en tjeneste skal få en komplett oversikt over gruppene hos en vertsorganisasjon må de i dag enten

  • Få vertsorganisasjonen til å sende en oversikt over grupper for alle sine brukere fra systemene deres
  • Be vertsorganisasjonen om å få alle lærere til å logge inn på tjenestene ved skolestart

Begge disse måtene er ressurskrevende for alle parter, og dette sikrer bare oversikt over grupper og gruppemedlemmer ved starten av skoleåret.

Hvis det skjer endringer med gruppemedlemmer i løpet av skoleåret, blir ikke oversikten oppdatert. Dette fungerer fint for tjenester som brukes jevnlig i undervisningen, der oversikt over medlemmene i gruppene blir oppdatert når tjenesten benyttes av elevene og lærerne.

Dette kan skape problemer for tjenester der gruppemedlemmene ikke logger inn på tjenesten, men hvor tjenesten fortsatt har behov for en oversikt over grupper og gruppemedlemmer. Dette kan for eksempel være tjenester som benyttes for administrering av lisenser, læringsanalyse og oppfølging av elever.

Hvis det er gjort noen feil med registrering av gruppene ved skolestart, eller ikke alle brukere er registrert med alt av gruppeinformasjon, kan dette bli vanskelig og tidkrevende å rydde opp i for tjenesteleverandøren.

Siden tjenesten mottar gruppeinformasjon ved innlogging, kan det bli vanskelig å vite om gruppene var feilregistrert eller om brukeren ikke benytter verktøyet enda. Dette har resultert i at tjenester lagrer unødvendig mengder med data siden de er usikre om informasjonen kan slettes.

Se sjekklisten angående datakvalitet på gruppeinformasjon.

Hvilken informasjon blir tilgjengelig?

Vi har gjennomført en kartlegging og fått oversikt over behovene som gruppe-API-et ikke dekker i dag.

Behovene som kom frem fra kartleggingen er å

  • Hente gruppeinformasjon fra vertsorganisasjoners Feide-katalog utenom en innloggingssesjon, altså uavhengig om en bruker er pålogget eller ikke
  • Liste ut alle grupper ved en organisasjon eller organisasjonsenhet (skoleeier eller skole)
  • Liste ut medlemmer i et trinn, programområde og utdanningsprogram
  • Liste ut alle medlemmer ved en organisasjon eller organisasjonsenhet (skoleeier eller skole)
  • Hente informasjon om medlemmer i en gitt gruppe. Dette krever at tjenesten vet ID-en til gruppen
  • Hente basisinformasjon om alle gruppemedlemmer tilsvarende dagens gruppe-API som navn og brukernavn (eduPersonPrincipalName). Etter hvert kan det bli aktuelt med mer informasjon som e-post og fødselsnummer

Formatet på informasjonen blir i utgangspunktet tilsvarende dagens gruppe-API. Se dagens endepunktene i gruppe-API-et (docs.feide.no)

Hva skjer videre?

Utvidet gruppe-API er i produksjon og kan nå tas i bruk.

 

Ferdig: Videreutvikling av gruppe-API-et

Dette har vi gjort

I løpet av utprøvingen kom det flere ønsker om videreutvikling av API-et. Dette har vi fått på plass: 

  • filtrering på gruppetype
  • testdata for å teste utvidet gruppe-API

Se hvordan utvidet gruppe-API er brukt i arbeidet med MinID for ungdom. 

Vi har nå mulighet til å hente inn denne informasjonen gjennom API-et user information for specific users (docs.feide.no):

  • kontaktinformasjon til brukeren (telefonnummer og e-postadresse)
  • domenet til skoleeier som brukeren tilhører (eduPersonScopedAffiliation)
  • OIDC-ID (Felles identifikator på brukeren på alle OIDC-tjenester)
  • fødselsnummer som brukeridentifikator

Ønsker om videreutvikling

Følgende videreutviklingsønsker har kommet inn per juni 2023:

  • Filtrering, f.eks. på gruppetype (hente bare basisgrupper, hente ut alle skoler hos en vertsorganisasjon).
  • Kontaktinformasjon til brukeren (telefonnummer og e-postadresse).
  • Kontaktinformasjon til foresatte til elever.
  • OIDC-ID (Felles identifikator på brukeren på alle OIDC-tjenester).
  • Fødselsnummer som brukeridentifikator.
  • Domenet til skoleeier som brukeren tilhører (eduPersonScopedAffiliation)
  • Metadata som f.eks. "Sist oppdatert" (Når data om brukere er oppdatert til tjenesten)
  • Driftsstatus på API-et og brukerkatalogen for skoleeier og tjenesteleverandør. (Sist oppdatert)
  • Testdata for å teste utvidet gruppe-API

Vi jobber ikke med videreutvikling av de andre ønskene i dette prosjektet nå.

Ferdig: Lansering av utvidet gruppe-API

Vi lanserte det utvidede gruppe-API-et i november 2023. Med dette API-et kan en tjeneste hente ut informasjon om grupper kontinuerlig, og uten at noen av brukerne trenger å logge inn først. På denne måten sikrer vi at tjenester har en oppdatert oversikt over grupper og brukere.

Tjenesten får tilgang til den samme dataen som i det vanlige gruppe-API-et.

Ferdig: Testing av utvidet gruppe-API

Prosjektet for videreutviklingen av gruppe-API-et startet i mars 2023. Både tjenesteleverandører og vertsorganisasjoner testet funksjonaliteten. Tilbakemeldingene har vært positive fra begge hold.