...
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
...
Veiledning til integrasjonen og løsningsbeskrivelse :
Inc drawio | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Nøkkel info
Initiering av flyt | Inspera : Push (inspera-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 |
|
Open API | Nei | |
IntArk | Ikke brukt |
Bakgrunn
Arkivering av masteroppgaver er et krav som alle institusjoner skal oppfylle.
...
Dette er en leveranse til både Arkiv og Digital-eksamen. Kostandene deles derfor mellom disse 2.
...
System | Data | Brukt API (endepunkter) |
---|---|---|
Config-databasen (& WB ) | Finner | configDB.orgs |
Config-databasen (ALL) | Hvis prosessen var mislykket ( NB: Modulen hjelper utviklere og testere av systemet; sluttbrukeren vil ikke legge merke til det. | configDB.slack-blacklists |
FS-Digex ( & WB) | Henter ut en liste (en json-liste) over begrunnelsesforespørsler som har blitt opprettet eller endret siden oppgitt tidspunkt basert på | GET: /eksamen/begrunnelse/{examSystem} URL for test: https://fs-test.uio.no/eksamen/begrunnelse/<examSystem>?institusjonsnr=...&siden=...& https://www.fellesstudentsystem.no/brukersider/teknisk/fsws-dok/rest/digitaleksamen.html |
FS-Digex | Henter ut en json-liste basert på | GET: /eksamen/klager/{examSystem}/ URL for test: https://fs-test.uio.no/eksamen/klager/<examSystem>?institusjonsnr=...&siden=...& https://www.fellesstudentsystem.no/brukersider/teknisk/fsws-dok/rest/digitaleksamen.html |
FS-Digex | Henter begrunnelser for en gitt eksamen basert på | GET: /eksamen/begrunnelser/{examSystem}/{examId} URL for test: https://fs-test.uio.no/eksamen/begrunnelser/{examSystem}/{examId} https://www.fellesstudentsystem.no/brukersider/teknisk/fsws-dok/rest/digitaleksamen.html |
FS-Digex | Henter klager for en gitt eksamen basert på | GET: /eksamen/klager/{examSystem}/{examId} URL for test: https://fs-test.uio.no/eksamen/klager/{examSystem}/{examId} https://www.fellesstudentsystem.no/brukersider/teknisk/fsws-dok/rest/digitaleksamen.html |
FS-Digex (InB & WB) | Registrerer | POST: /eksamen/begrunnelser/{examSystem} URL for test: https://fs-test.uio.no/eksamen/begrunnelser/<examSystem> |
Inspera (InK & InB) | Henter alle relevante metadata | GET: /test/{testId} |
Inspera (InK & InB) | Lar en søke etter tester basert på enkle kriterier ( | GET: /test/search |
Inspera (InB) | Henter alle begrunnelser og begrunnelse forespørsler for en gitt | GET: /test/{testId}/explanations |
Inspera (InK) | Når | POST: /test/{testId}/appeals/withdraw |
Inspera (InK) | Når | POST: /test/{testId}/appeals |
Inspera (InB) | Aktiver/oppdater alternativer for test | POST: /test/{testId}/options |
Inspera (InB) | Poster NB: Når de er publisert, er begrunnelse endelige, og det vil ikke være mulig å be om dem igjen. | POST: /test/{testId}/explanations https://api.inspera.no/apidoc/#/test/requestTestExplanations |
LaaS (ALL) | Registrerer en indeks | do Index |
Mongo-databasen | Finner alle dokumenter i databasen ( | Find documents i oai.KlageBegrunnelseEnvs kolleksjonen |
Oai-databasen (ALL) | legger auditInfoMap log til databasen | oai-addAuditLog |
Oai-databasen (InK & InB) | Henter aktive institusjoner med aktiv klage- og begrunnelse-status som tilsvarer | oai.KlageBegrunnelseEnvs |
Oai-databasen (InK & InB & WK) | Hvis prosessen var mislykket ( | ‘Delete Kafka Message By Hash’ i oai.Records |
Oai-databasen (InK & InB) | Henter | ‘Get Instance By Org And Env’ i oai.KlageBegrunnelseEnvs |
Oai-databasen (InK & InB) | Legger klagen eller begrunnelsen (hvis den ikke er i databasen) til i databasen ( | oai.Records |
Oai-databasen (WB) | Henter dokumenter som ikke ble behandlet ( | oai.LastAudit |
Slack (ALL) | Sender feilmeldinger (inkludert også data på | Slack-kanalen (mule-prod) |
WISEflow (B) | Returnerer informasjon om karakterbegrunnelsen (av gitt | GET: /flow/{flowId}/explanation/request/{explanationRequestId} |
WISEflow (B) | Oppdater synligheten til en karakterbegrunnelse (av gitt | PATCH: /flow/{flowId}/explanation/request/{explanationRequestId} |
WISEflow (B &K) | Returnerer en liste ( | GET: /license/sis/flows/{sisCode} |
WISEflow ( & B ) | Henter opp grunnleggende informasjon for en gitt flyt som navn, type, start- og sluttdato som kan brukes til å identifisere flyten (basert på | GET: /flow/{flowId} |
WISEflow (B & K) | Returnerer grunnleggende informasjon ( | GET: /flow/{flowId}/participants |
WISEflow (B ) | Hvis den er aktivert på flyten (av gitt | POST: /flow/{flowId}/explanation/request |
WISEflow (K) | Oppretter en revurderingsflyt til en allerede opprettet flyten (av gitt NB: Dette endepunktet krever revurderingsmodulen på lisensen. | POST: /flow/{flowId}/reassessment |
...
Integrasjonen loger til Humio med detaljert logging av prosessen.
Integrasjonen er knyttet logg-oversikten som vil logge følgende data:
Inspera-begrunnelse:
env
errorMessage (String)
examSys
inputTopic
instance
kafkaOffset
kandidatnr
key
orgId
personlopenr
submodule
success (boolsk)
testId
userCandidateId
vurdId
Inspera-klage:
env
errorMessage (String)
examSys
inputTopic
instance
kandidatnr
key
klagestatus
orgId
personlopenr
submodule
success (boolsk)
testId
userCandidateId
vurdId (decodedVurdId)
WISEflow-klage:
env
errorMessage (String)
errorCode (Number)
examSys
flowId
hash
inputTopic
kandidatNr
orgId
personlopeNr
reassessmentFlowId
submodule
success (boolsk)
vurdId (decodedVurdId)
WISEflow-begrunnelse:
env
errorMessage (String)
errorCode (Number)
examSys
explanationRequestId
flowId
hash
kandidatNr
key
orgId
participantId
personlopeNr
submodule
success (boolsk)
vurdId (decodedVurdId)
Integrasjonen har ikke noe behov for tilgangstyring
...
Behandlingstid/responstid og volum
Klage-beg-dispatcher
behandlingstid/responstid: ca. 1s
volum: 2-minutter poll timeout for manuelt triggering (antall parallelle forbrukere: 1) og 120-minutters tidsplaner for faste frekvenser
Inspera-webhook
behandlingstid/responstid: ca. 1s
volum: ‘listener’ repeterbar fillagerstrøm for datastrømmestrategi
Inspera-klage
behandlingstid/responstid: ca. 2s
volum: 2-minutter poll timeout for Apache-Kafka forbruk for klage og 2-sekunder poll timeout for Apache-Kafka forbruk for klage-vedtak (antall parallelle forbrukere: 1)
Inspera-begrunnelse
behandlingstid/responstid: ca. 2s
volum: 2-minutter poll timeout for Apache-Kafka forbruk for både begrunnelse og begrunnelse-svar (antall parallelle forbrukere: 1)
WISEflow-klage
behandlingstid/responstid: ca. 2s
volum: 2-minutter poll timeout for Apache-Kafka forbruk (antall parallelle forbrukere: 1)
WISEflow-begrunnelse
behandlingstid/responstid: ca. 4s
volum: 2-minutter poll timeout for Apache-Kafka forbruk for begrunnelse og 1-minutt poll timeout for Apache-Kafka forbruk for begrunnelse-svar (antall parallelle forbrukere: 1)
Feilhåndtering, konsekvenser av feil og overordnet risikoanalyse
...