FS - Emneevaluering (CES)
- 1 Innledning
- 2 Nøkkel info
- 3 Bakgrunn
- 4 Interessenter
- 5 Brukerhistorie / Integrasjonens omfang (arbeidet som skal gjøres)
- 6 Systemer/tjenester
- 7 Tilgangsstyring og logging
- 8 Behandlingstid/responstid og volum
- 9 Brukte spørringer mot FS (Graph)
- 10 Feilhåndtering, konsekvenser av feil og overordnet risikoanalyse
- 11 Nødvendige tilganger
- 12 FS Graph:
- 13 CES :
- 14 Kommentarer
Innledning
Dette er en integrasjon for overføring av nødvendige data fra FS til Emneeveluering. Integrasjonen består av 2 hoved deler.
Koble emner og studieprogram i CES (Bygge opp emne/studieprogram hierarkiet)
formålet : Sørge for at strukturen i CES speiler det som ligger i FS til enhver tid. Sørge for at riktig studieprogram til enhver tid rapporterer til korrekt studieprogram.Legge til og slette administratorer i hierarkiet i CES
formålet : Sikre at riktige personer får riktige rapporter selv om personer skifter roller i organisasjonen.
Dette er en typisk synk-integrasjon der en del data fra FS skal kopieres over til CES (Emneevaluering systemet) og holdes i synk.
Nøkkel info
Initiesering av flyt | scheduler og meldingsbasert | Kjører daglig og mottar meldinger om endring av emner |
---|---|---|
Flyt møsnter | Synkron |
|
Bruk av meldingskø | Nei |
|
Open API | Nei |
|
IntArk | Ikke brukt |
|
Bakgrunn
Emneevaluering systemet (CES) innholder/trenger en del data som studie-strukturen (instiusjon, fakultet, institutt og studieprogram) og knyttede emner. Denne informasjon har sin kilde i FS.
I dag gjøre alt arbeidet manuelt for hånd, noe som er svært tungvint.
For kravspek/bestillings-dokument, se her :
Interessenter
Dette er en leveranse til tjenesten utdanningstjenesten.
Brukerhistorie / Integrasjonens omfang (arbeidet som skal gjøres)
Daglig skal det kjøres en synk som vil sørge for :
- alle emner (course) (emner i aktive prosjekter) er knyttet til sitt studieprogram i hierarkiet.
- hvis studieprogrammet (eller fakultet og institutt) ikke finnes i hierarkiet skal det opprettes først.Daglig skal det sjekkes for eventuelle endringer i emne tilknytting eller studieprogram og utføre dem. F.eks om en studieprogram er flyttet.
Daglig sjekke og oppdatere rolle-tilknyttinger på emne og studieprogram nivå.
Systemer/tjenester
Detaljert liste av alle innvolverte systemer/tjenester Hva utveksler data? Fra hvor / Til hvor?
Brukerhåndtering flytdiagram
Tilgangsstyring og logging
Integrasjonen loger til Humio/Logscale med detaljert logging av prosessen.
Integrasjonen benytter bruker en egen integrasjons-bruker mot FS. Brukeren må være tildelt nødvendige tilganger.
For tilgang til CES, benyttes API nøkkel til en bruker opprettet av institusjonen.
Behandlingstid/responstid og volum
Integrasjonen ikke tatt til bruker nå; ingen data!
Brukte spørringer mot FS (Graph)
Spørring brukt til oppbygging av emne-hiererkiet
query emneHierarki ($inst:String!, $aar:Int!,$termin:EmneIkkeUtloptITerminTerminbetegnelse!){
emner(
filter : {
eierInstitusjonsnummer: $inst
ikkeUtloptITermin: { arstall: $aar, terminbetegnelse: $termin}
}
first: 10
) {
...QueryEmneConnectionFragment
}
}
fragment QueryEmneConnectionFragment on QueryEmneConnection {
nodes {
id
kode
versjonskode
navnAlleSprak {
nob
}
studieniva{
kode
}
rapporteringsstudieprogram {
kode
navnAlleSprak {
nob
}
}
organisasjonsenhet{
studieAnsvarlig {
navnAlleSprak{
nob
}
fakultet{
navn{
nob
}
}
institusjon{
navn {
nob
}
}
}
}
}
pageInfo {
endCursor
hasNextPage
}
}
Spørring brukt til lesing av personroller på emner
query emneHierarkiGittEmne($inst: String!, $emnekode: String!, $versjonskode:String!) {
emner:emnerGittEmnekoder(
eierInstitusjonsnummer: $inst
emnekoder: {emnekode: $emnekode, versjonskode: $versjonskode}
) {
id
kode
navnAlleSprak {
nob
}
studieniva{
kode
}
organisasjonsenhet {
studieAnsvarlig {
navnAlleSprak {
nob
}
fakultet {
navn {
nob
}
}
institusjon {
navn {
nob
}
}
}
}
rapporteringsstudieprogram {
navnAlleSprak {
nob
}
personroller {
rolle:fsRolle {
erAktiv
harTilgangTilFagpersonweb
kode
}
personProfil {
institusjonsEpost
fornavn
etternavn
}
}
}
}
}
Spørring for å lese inn hendelser på Emner :
query emneHEndelser ($inst:String!,$limit:Int,$after:String){
emnehendelser(
hendelsestype: EMNE_ENDRET,
first:$limit
after:$after
eierinstitusjonsnummer: $inst) {
pageInfo {
startCursor
endCursor
hasNextPage
}
nodes {
tidspunkt
emne {
id
kode
versjonskode
navnAlleSprak {
nob
}
studieniva{
kode
}
rapporteringsstudieprogram {
kode
navnAlleSprak {
nob
}
}
organisasjonsenhet{
studieAnsvarlig {
navnAlleSprak{
nob
}
fakultet{
navn{
nob
}
}
institusjon{
navn {
nob
}
}
}
}
}
}
}
}
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.
Overføres det noe personopplysninger som del av integrasjonen ?
Ja. Navn, e-post og brukernavn på administratorer (De med roller på studieprogram)
Noe om viktige feil/situasjoner som må passes ekstra på (som kan ha stor konsekvens) :
Feil i oppbygging av Node-Hierarkiet vil gjøre systemet ubrukelig
Feil i oppdatering av emner (courses), kan ødelegge dem og føre til tap av data.
Feil oppdatering og synkronisering av admins, kan føre til at administratorer ikke kan gjøre jobben sin.
Nødvendige tilganger
FS Graph:
personrolle_les1
studieelementer_les1
studieelementer_les2
persondata_les1
fagpersondata_les1
CES :
API Nøkkel
Kommentarer