Drawio | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
zoom | 1 | |||||||||||||||||||||||||||||||
simple | 0 | |||||||||||||||||||||||||||||||
inComment | 0 | |||||||||||||||||||||||||||||||
pageId | 2303328290 | |||||||||||||||||||||||||||||||
custContentId | 2417950827 | |||||||||||||||||||||||||||||||
lbox | 1 | |||||||||||||||||||||||||||||||
diagramDisplayName | Digitaleksamen.drawio | |||||||||||||||||||||||||||||||
contentVer | 1 | |||||||||||||||||||||||||||||||
revision | 1 | |||||||||||||||||||||||||||||||
baseUrl | https://unit.atlassian.net/wiki | |||||||||||||||||||||||||||||||
diagramName | Digitaleksamen.drawio | |||||||||||||||||||||||||||||||
pCenter | 0 | |||||||||||||||||||||||||||||||
width | 1153.3333333333333 | links | tbstyle | |||||||||||||||||||||||||||||
height | 817 | |||||||||||||||||||||||||||||||
Table of Contents | minLevel | |||||||||||||||||||||||||||||||
Drawio | ||||||||||||||||||||||||||||||||
|
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
...
Innledning
...
Veiledning til integrasjonen og løsningsbeskrivelse :
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.
...
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 | ‘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}/explanation/request/{explanationRequestId} | |||||||
WISEflow (B & K) | Oppdater synligheten til en karakterbegrunnelse (av gitt | PATCH: /flowReturnerer grunnleggende informasjon ( | GET: /flow/{flowId}/explanation/request/{explanationRequestId}/participants | ||||||
WISEflow (B &K) | Returnerer en liste ( | GET: /license/sis/flows/{sisCode}) | Hvis den er aktivert på flyten (av gitt | POST: /flow/{flowId}/explanation/request | |||||
WISEflow ( & B K) | Henter opp grunnleggende informasjon for en gitt flyt som navn, type, start- og sluttdato som kan brukes til å identifisere flyten (basert på | GETOppretter en revurderingsflyt til en allerede opprettet flyten (av gitt NB: Dette endepunktet krever revurderingsmodulen på lisensen. | POST: /flow/{flowId}/reassessment | WISEflow (B & K) | Returnerer grunnleggende informasjon ( | WISEflow (B ) | Hvis den er aktivert på flyten (av gitt | WISEflow (K) | Oppretter en revurderingsflyt til en allerede opprettet flyten (av gitt NB: Dette endepunktet krever revurderingsmodulen på lisensen. |
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)
...
Tilgangsstyring og logging
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
Forretningsregler
Behandlingstid/responstid og volum
Integrasjonen ikke tatt til bruker nå; ingen data!
Feilhåndtering, konsekvenser av feil og overordnet risikoanalyse
...