Arkivering av eksamensoppgaver og veiledning
Innledning
Dette er en integrasjon for arkivering av eksamensoppgaver og veiledninger.
Til arkivering benyttes p360-arkiv-appen
Integsasjon lenken: Arkivering av eksamensoppgaver og veiledninger (åpen)
Også studentsynk-integrasjon dokumentasjon mellom FS og Public360 finnes på: https://unit.atlassian.net/wiki/spaces/IPM/pages/979828737/StudentSynk+FS-+P360
Nøkkel info
Initiesering av flyt | scheduled Polling | 4 g/år, i starten av semester og ved slutten (for kjøring for semesteret før) |
---|---|---|
Flyt mønster | semi synkron/batch | Den delen som leser inn fra FS og den delen som leser fra Inspera/WISEflow er egne prosesser og er fra-koblet fra resten. Men den delen som arkiverer går synkront til arkiv-tjenesten |
Bruk av meldingskø | Ja, Kafka | Mottar/forbruker webhook-meldinger som skal omdirigeres til eksamenssystemer (Inspera/WISEflow); Publiserer Og publiserer |
Open API | Nei |
|
IntArk | Ikke brukt |
|
Bakgrunn
Arkivering av eksamensoppgaver og veiledninger er et krav som alle institusjoner skal oppfylle. Oppdraget og bestillingen kommer fra Arbeidsgruppen for dokumentasjonsforvaltning.
Interessenter
Dette er en leveranse til både Arkiv og Digital-eksamen. Kostnadene deles derfor mellom disse 2.
Arkiv har produsert og bestemt den såkalte mappinsdokument som definerer hvordan oppgavene skal arkiveres i arkiv-systemet.
Brukerhistorie
Prøve er gjennomført og ferdigstilt i eksamenssystem, og klar til arkivering. Integrasjon poller FS for alle vurderinger foregående semester og søker opp oppgavesett og vedlegg samt veiledninger i eksamenssystemene (WISEflow og Inspera), og arkiverer disse i arkivsystemet Public360.
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) |
---|---|---|
Config-databasen | Get Slack blacklist | configDB.slack-blacklists |
Config-databasen | Get single org |
|
Config-databasen | Get orgs having exam archiving Liste over alle institusjoner med utgangen inkluderer: FsId, ShortName, ArkivEksamenOppgaver (active, P360Instance, ExamSysInstance, SaksbehandlersEpost, SakProsjek og DokProsjekt) og ExamSystem | MongoDb |
Config-databasen | set ArkivEksamenOppgaver | MongoDb |
FS (digex-api) | Henter eksamen list info basert på institusjon nummer, eksamensystemet og til/fra dato | GET: /eksamen/liste/ |
FS API | Henter emne basert på institusjon (fsId) og emne id | https://api.fellesstudentsystem.no/swagger.html#/koder/getEmner |
Inspera | Henter informasjon om en bruker basert på en ekstern bruker-ID ( | GET: /users/external/ |
Inspera | Henter alle relevante metadata for testen gitt av | GET: /test/ |
Inspera | Dette vil se ut som en pdf generert gjennom Inspera-frontend (basert på | GET: /test/{testId}/assessment/pdf |
Slack | Sender feilmeldinger (inkludert også data på | Slack-kanalen (mule-prod) |
OAI-databasen | legger auditInfoMap log til databasen | oai-GenAudit |
LaaS |
| do Index |
Amazon S3 | Laster opp filer (med |
|
WISEflow | Henter en liste over flyter med en | GET: /license/sis/flows/{sisCode} |
WISEflow | Henter grunnleggende informasjon for en gitt | GET: /flow/{flowId} |
WISEflow | Henter tildelingsinformasjon for en gitt | GET: /flow/{flowId}/{assignments} |
WISEflow | Henter tilleggsinnhold for en gitt | GET: /flow/{flowId}/{content} |
Public360 | ||
Documaster |
Tilgangsstyring og logging
Integrasjonen loger til Humio med detaljert logging av prosessen.
Integrasjonen er knyttet logg-oversikten som vil logge følgende data:
submodule
examSystem
examSysInstance
p360Instance
orgId
vurdId
env
fetchFsListDates
success (true/false)
errorMessage (hvis aktuelt)
decodedFsTestId
filesToArchive
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 så kan vi alltids 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
Kommentarer
WISEflow FLOWmulti-oppgaver blir, av arkivtekniske årsaker, arkivert som xml. I enkelte tilfeller går det ikke å omkode og oppgavesettet blir ikke arkivert. WISEflow har en sak på å levere disse oppgavesettene i en arkiverbar form.
Inspera mangler et godt endepunkt for å få tak i veiledninger.