Innledning
Dette er en integrasjon for arkivering av Master oppgaver fra Wiseflow og Inspera. Integrasjonen bygger videre på arbeidet allerede gjort i forbindelse med Brage-integrasjonen. Da Brage-integrasjonen allerede henter inn master-oppgaver med tilhørende meta-data fra eksamen-systemene, benyttes den delen videre i denne integrasjonen.
Til arkivering, benyttes p360-arkiv-appen
Nøkkel info
Initiesering av flyt | Inspera : Push (Webhooks) | |
---|---|---|
Flyt møsnter | Halveis synkron | Den delen som leser inn fra Inspera/Wiseflow er en egen prosess og er fra-koblet fra resten. Men den delen som arkiverer går synkront til arkiv-tjenesten |
Bruk av meldingskø | Ja, Kafka | Bare for mottakk av webhook-meldinger fra Inspera |
Open API | Nei | |
IntArk | Ikke brukt |
Oversikt
Bakgrunn
Arkivering av masteroppgaver er et krav som alle institusjoner skal oppfylle.
Interessenter
Dette er en leveranse til både Arkiv og Digital-eksamen. Kostandene deles derfor mellom disse 2.
Arkiv har produsert og bestemt den såkalte mappinsdokument som definerer hvordan oppgavene skal arkiveres i arkiv-systemet.
Brukerhistorie
Student A leverer masteroppgave i Inspera/Wiseflow. Oppgaven skal automatisk arkiveres i institusjonens arkivsystem etter at div. klage/begrunnelse frister er gått ut.
Systemer/tjenester
Detaljert liste av alle innvolverte systemer/tjenester Hva utveksler data? Fra hvor / Til hvor?
Tabellen under tar for seg BARE
System | Data | Brukt API (endepunkter) |
---|---|---|
Brage-integrasjonen | Denne leser inn opgavene fra Inspera og Wiseflow og lagrer metadata i Oai-databasen som del av Brage-integrasjonen Brage | Se Brage |
Config-databasen | Liste over alle institusjoner med | configDB.orgs |
Oai-databasen (Brage integrasjonens database) | Liste over alle oppgaver og deres metadata; liste over | oai.Records |
FS (digex-api) | Henter full exam info for å finne fram til studentens | https://fsws.usit.no/eksamen/<system>/<ID> |
FS (digex-api) | Henter status på kandidatens oppgave ifm overføring til Brage som tilsvarer | GET: /eksamen/ferdigstatus/ https://www.fellesstudentsystem.no/brukersider/teknisk/fsws-dok/rest/digitaleksamen.html |
Inspera | Henter test (prøve) for å finne | GET: /test/ |
Inspera | Henter opp user, for å mappe | GET: /users/ |
Inspera | Henter kandidatens innsendings-id som tilsvarer | GET: /candidates/submission/ |
Wiseflow | – ikke implementert – noe likt det med Inspera | ! |
Public360 | Henter privatpersoner (en list) fra P360 basert på | GetPrivatePersons: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 3.8) |
Public360 | Oppretter en sak med “Sak/Noark Sak” ( | CreateCase: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 6.1) |
Public360 | Oppdaterer en sak i P360, baseert på | UpdateCase: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 6.2) |
Public360 | Sender spesifisert json til arkiv-appen (HTTP-call) Henter en liste over alle tilfeller som oppfyller kriteriene for alle de ikke-blanke egenskapene til den oppgitte parameteren basert på | GetCases: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 6.3) |
Public360 | Oppretter et arkivdokument | CreateDocument: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 7.1) |
Public360 | Avskriver et dokument med en svarkode og en valgfri merknad. Parametrene består av | SignOffDocument: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 7.3) |
Public360 | Henter metadata på dokumenter basert på | GetDocuments: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 7.5) |
Public360 | Strømmer en fil til Public360-serveren (lagret midlertidig), og referert til i CreateDocument() eller UpdateDocument() | Upload: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 9.1) |
Public360 | Oppdaterer en sak i P360, baseert på | UpdateCaseStatus: https://help.360online.com/ReleaseInformation/SIF APIs - Documentation.pdf (kapittel 15.1) |
Tilgangsstyring og logging
Integrasjonen loger til Humio med detaljert logging av prosessen.
Integrasjonen er knyttet logg-oversikten som vil logge følgende data:
orgId
oppgaveIdentifier
testId
userOrGroupId
examSystem
studentRefs
success (true/false)
errorMessage (hvis aktuelt)
Integrasjonen har ikke noe behov for tilgangstyring
Forretningsregler
Behandlingstid/responstid og volum
Integrasjonen ikke tatt til bruker nå; ingen data!
Feilhåndtering, konsekvenser av feil og overordnet risikoanalyse
Generelt vil status og dermed eventuelle feil være synlig og tilgjengelig for institusjonen via logg-oversikten. Det er også utarbeidet mulighet for at enkelt personer ved institusjonen kan melde seg på for mottak av feilmeldinger på epost daglig.
Videre har vi overvåkning av loggene via Humio for å fange opp feil-situasjoner utenfor institusjonens virkeområde, som f.eks. utilgjengelige API endepunkter og bugs i koden.
Hva skjer ved overload i kø?
Det skjer ikke. Men om vi skulle på grunn av noe feil ikke motta meldingene fra eksamensystemene, vil : Inspera vite om det og sende dem på nytt. Wiseflow: er basert på polling, så vi kan alltid polle igjen
Hva skjer med ufullstendige meldinger?
De vil feile og det vil vi oppdage i loggene og kan ta aksjon basert på det.
Inneholder meldingene personopplysninger?
Merk at det utveksles mange “meldinger” mellom ulike systemer i løpet av en integrasjon. Melinger fra eksamensystem inneholder ikke noe persondata, men data vi henter fra FS basert på de meldingene gjør det. Filene vi arkiverer (som kommer fra eksamensystemene) kan også potensielt inneholde personopplysninger.
Noe om viktige feil/situasjoner som må passes ekstra på (som kan ha stor konsekvens) :
Oppgavene ikke arkiveres (miste meldinger)
Oppgaver arkiveres med feil info. (feiltolking eller feil logikk)
Oppgaver arkiveres med feil tilganger (slik at oppgaver som ikke skal være offentlige, arkiveres slik at de blir offentlig synlige)