Innhold
- 1 FS-kommunikasjon
- 2 Oppdatering av FS
- 3 Bruk av fildump
- 3.1 Filer
- 3.1.1 studieprogrammer.xml
- 3.1.2 emner.xml
- 3.1.3 fnr_update.xml
- 3.1.4 paid_print.xml
- 3.1.5 nettpublisering.xml
- 3.1.6 roles.xml
- 3.1.7 edu_info.xml
- 3.1.8 undervisningsaktiviteter.xml
- 3.1.9 undervisningenheter.xml
- 3.1.10 evukurs.xml
- 3.1.11 kull.xml
- 3.1.12 evukursakt.xml
- 3.1.13 persons.xml
- 3.1.14 merged_persons.xml
- 3.1.15 drgrad.xml
- 3.1.16 fritak_kopi.xml
- 3.1.17 betalt_papir.xml
- 3.1 Filer
- 4 Script
- 4.1 contrib/no/merge_xml_files.py
- 4.2 contrib/no/uio/process_bofhd_requests.py
- 4.3 contrib/no/uio/printer_quota/quota_update.py
- 4.4 contrib/no/uio/printer_quota/money2paper.py
- 4.5 contrib/no/uio/process_students.py
- 4.6 contrib/no/uio/import_FS.py
- 4.7 contrib/statistics/generate_quarantine_report.py
- 4.8 contrib/no/uio/generate_kurs_ldif.py
- 4.9 contrib/generate_org_ldif.py
- 4.10 contrib/no/uio/fnr_update.py
- 4.11 contrib/no/uio/populate_fronter_groups.py
- 4.12 contrib/no/uio/generate_fronter_full.py
- 4.13 contrib/no/uio/import_from_FS.py
- 4.14 contrib/no/uio/get_uname_evu_kurs.py
- 4.15 contrib/no/uio/get_uname_emnekode.py
- 4.16 contrib/no/uio/get_kurs_evu_kurs.py
- 4.17 contrib/no/uio/generate_portal_export.py
- 4.18 contrib/no/uio/fs2ltPerson.py
- 4.19 contrib/no/uio/dbfg_update.py
- 4.20 servers/bofhd/bofhd.py
- 5 access_FS
- 5.1 FS
- 5.2 Person
- 5.2.1 person.list_uname
- 5.2.2 person.write_uname
- 5.2.3 person.list_email
- 5.2.4 person.write_email
- 5.2.5 person.get_person
- 5.2.6 person.add_person
- 5.2.7 person.set_ansattnr
- 5.2.8 person.get_fagperson
- 5.2.9 person.add_fagperson
- 5.2.10 person.update_fagperson
- 5.2.11 person.get_telephone
- 5.2.12 person.add_telephone
- 5.2.13 person.update_telephone
- 5.2.14 person.list_fnr_endringer
- 5.2.15 person.list_status_nettpubl
- 5.3 Student
- 5.3.1 student.list
- 5.3.2 student.get_semreg
- 5.3.3 student.list_semreg
- 5.3.4 student.list_aktiv
- 5.3.5 student.list_aktiv_emnestud
- 5.3.6 student.list_eksamensmeldinger
- 5.3.7 student.list_permisjon
- 5.3.8 student.list_privatist
- 5.3.9 student.list_privatist_emne
- 5.3.10 student.list_drgrad
- 5.3.11 student.get_undervisningsmelding
- 5.3.12 student.get_studierett
- 5.3.13 student.get_eksamensmeldinger
- 5.3.14 student.get_utdanningsplan
- 5.3.15 student.get_emne_eksamensmeldinger
- 5.4 Studieinfo
- 5.5 Undervisning
- 5.5.1 undervisning.list_alle_personroller
- 5.5.2 undervisning.list_studenter_alle_kull
- 5.5.3 undervisning.list_studenter_alle_undenh
- 5.5.4 undervisning.list_studenter_alle_undakt
- 5.5.5 undervisning.list_aktiviteter
- 5.5.6 undervisning.list_undervisningenheter
- 5.5.7 undervisning.list_fagperson_semester
- 5.6 EVU
- 5.7 Betaling
1 FS-kommunikasjon
Kommunikasjon med FS foregår gjennom modulen access_FS.
Modulen brukes av:
- Script som dumper data fra FS til fildump
- Data fra FS hentes periodisk, typisk en gang om dagen. Dette skjer med scriptet contrib/no/uio/import_from_FS.py.
- Script som sørger for oppdatering av FS
- Dette er scripts som skriver og ufører endringer i FS-data.
- Script og moduler som leser data direkte fra FS
Dette er typisk:
- legacy-scripts som har kommunisert direkte med FS.
- script for feilsøking.
- scripts og bofhd-kommandoer som trenger oppdatert informasjon fra FS.
2 Oppdatering av FS
FS er autoritativt for personinformasjon og studieinformasjon, mens Cerebrum er autoritativt for informasjon som brukernavn og epostadresse.
I tillegg har FS behov for informasjon om fagpersoner som HR-system er autoritativt for.
All oppdatering av FS foregår gjennom bruk av modulen access_FS.
2.1 contrib/no/update_FS_mailadr.py
Script for å tilbakeføre informasjon til FS som Cerebrum er autoritativ for.
Scriptet har mulighet for å oppdatere FS med informasjon om brukernavn og epostadresse for personer som er kjent i begge systemer (samme fødselsnummer).
- Brukernavn
- Bruker person.list_uname for å liste ut (fodselsdato, personnr, brukernavn)-tupler fra FS. Bruker person.write_uname for å oppdatere brukernavn for en gitt person i FS.
- Epostadresse
- Bruker person.list_email for å liste ut (fodselsdato, personnr, emailadresse)-tupler fra FS. Bruker person.write_email for å oppdatere epostadresse for en gitt person i FS.
2.2 contrib/no/hr2fs-person.py
Script for å opprette personer og tilordne roller i FS fra HR-system.
Personer som også skal sameksistere i FS og HR-system, men som HR-system er autoritativ for, vil vedlikeholdes av dette scriptet.
Hvilke personer dette gjelder, velges ut i fra tilknytning som er registrert på personen i Cerebrum fra HR-system.
2.2.1 Person
- Oppslag på eksisterende personinformasjon i FS gjøres med person.get_person.
- Personer som ikke eksisterer i FS, legges til med person.add_person.
- Personer som eksisterer i FS, vil få vedlikeholdt sitt ansattnummer med person.set_ansattnr.
2.2.2 Fagperson
- Oppslag på eksisterende fagperson i FS gjøres med person.get_fagperson.
- Personer som ikke er registrert som fagperson i FS, blir registrert som dette med person.add_fagperson.
- Personer som er registrert som fagperson i FS, blir vedlikeholdt med person.update_fagperson.
I tillegg vedlikeholdes jobb-telefonnummer og faksnummer for fagpersoner.
- Oppslag på telefonnummer gjøres med person.get_telephone.
- Personer uten telefunnummer av riktig type, får dette lagt til med person.add_telephone.
- Personer med ulikt telefonnummer av riktig type, får dette oppdatert med person.update_telephone.
3 Bruk av fildump
Import av personinformasjon, samt bruk av FS-data som ikke importeres foregår gjennom fildumper som utføres med contrib/no/uio/import_from_FS.py.
3.1 Filer
3.1.1 studieprogrammer.xml
Filen inneholder liste over studieprogrammer.
Studieprogrammene listes ut med info.list_studieprogrammer
Hvert studieprogram er et XML-objekt i denne filen, <studprog>, med attibutter:
- studieprogramkode
- status_utdplan
- institusjonsnr_studieansv
- faknr_studieansv
- instituttnr_studieansv
- gruppenr_studieansv
- studienivakode
- status_utgatt
- studieprognavn
Filen benyttes av følgende scripts:
3.1.2 emner.xml
Filen inneholder en liste over studieemner.
Emner listes ut med info.list_emner.
Hvert emne er et XML-objekt i denne filen, <emne>, med attributter:
- emnekode
- versjonskode
- institusjonsnr
- faknr_reglement
- instituttnr_reglement
- gruppenr_reglement
- studienivakode
Filen benyttes i
3.1.3 fnr_update.xml
Filen inneholder lister over personnummer som er blitt endret.
Filen har følgende struktur:
<data source_system="<system>"> <external_id … /> … </data>
Filen som lages av contrib/no/uio/import_from_FS.py har ett enkelt <data>-objekt med source_system="FS". For hvert personnummer som er registrert endret i FS, vil det finnes et <external_id>-objekt med attributter:
- date
- new
- old
- type
Endringer listes ut med person.list_fnr_endringer.
Filen benyttes kun av contrib/no/uio/fnr_update.py, for å oppdatere fødselsnummer i Cerebrum.
3.1.4 paid_print.xml
Filen inneholder innbetalinger for kjøp av tilleggsutskrift.
Betalte avgifter listes ut med betaling.list_utskrifts_betaling. For hver innbetaling vil filen inneholde et XML-objekt, <betaling>, med attributter:
- fodselsdato
- personnr
- fakturanr
- belop
- detaljlopenr
- kidkode
Filen benyttes kun av contrib/no/uio/printer_quota/money2paper.py, for å oppdatere betalt kvote i Cerebrum.
3.1.5 nettpublisering.xml
Filen inneholder liste over ulike samtykker og reservasjoner.
Samtykker hentes med person.list_status_nettpubl. Hvert enkelt samtykke eller reservasjon representeres med et XML-objekt,
<nettpubl>, med følgende attributter:
- fodselsdato
- personnr
- akseptansetypekode
- status_svar
- dato_svar
Filen benyttes kun til å generere merged_persons.xml, med scriptet contrib/no/merge_xml_files.py.
3.1.6 roles.xml
Filen inneholder en liste over personroller.
Roller listes ut med undervisning.list_alle_personroller. Hver rolle er et XML-objekt <rolle>, med attibutter:
- fodselsdato
- personnr
- rollenr
- rollekode
- dato_fra
- dato_til
- institusjonsnr
- emnekode
- versjonskode
- aktivitetkode
- terminkode
- arstall
- terminnr
- saksbehinit_opprettet
- dato_opprettet
- saksbehinit_endring
- dato_endring
- undplanlopenr
- institusjonsnr_eier
Og kan også inneholde attributter:
- fakultetnr
- instituttnr
- gruppenr
- studieprogramkode
- etterutdkurskode
- kurstidsangivelsekode
- merknadtekst
- prioritetsnr
- klassekode
- status_publisering
- status_default_veileder
Filen benyttes kun i contrib/no/uio/populate_fronter_groups.py.
3.1.7 edu_info.xml
Filen inneholder undervisningsinformasjon for studenter.
Undervisningsinformasjon er delt inn i følgende XML-objekter:
- kull
Informasjon om personer som tilhører et spesielt årskull.
Objekter hentes med undervisning.list_studenter_alle_kull, og hvert objekt har attributter:
- fodselsdato
- personnr
- studieprogramkode
- terminkode_kull
- arstall_kull
- undenh
Undervisningsenhet hentes med undervisning.list_studenter_alle_undenh.
For hver person som hører til en undervisningsenhet, finnes det et XML-objekt med attibutter:
- fodselsdato
- personnr
- institusjonsnr
- emnekode
- versjonskode
- terminkode
- arstall
- terminnr
- undakt
Undervisningsaktivitet hentes med undervisning.list_studenter_alle_undakt.
For hver student som hører til en undervisningsaktivitet, finnes det et XML-objekt med attributter:
- fodselsdato
- personnr
- institusjonsnr
- emnekode
- versjonskode
- terminkode
- arstall
- terminnr
- aktivitetkode
- kursakt
EVU-kursdeltakelse – studenter og kursaktivitet hentes med evu.list_studenter_alle_kursakt.
For hver student som hører til et kurs, finnes det et objekt med attributter:
- fodselsdato
- personnr
- etterutdkurskode
- kurstidsangivelsekode
- aktivitetskode
- evu
EVU-studenter og kurs hentes med evu.list.
Hvert XML-objekt har attributter:
- fodselsdato
- personnr
- etterutdkurskode
- kurstidsangivelsekode
Filen benyttes kun i contrib/no/uio/populate_fronter_groups.py.
3.1.8 undervisningsaktiviteter.xml
Filen inneholder en liste over ulike undervisningsaktiviteter.
Undervisningsaktiviteter hentes med undervisning.list_aktiviteter. Hver aktivitet er et XML-objekt i denne filen, <aktivitet>, med attributter:
- institusjonsnr
- emnekode
- versjonskode
- terminkode
- arstall
- terminnr
- aktivitetkode
- undpartilopenr
- disiplinkode
- undformkode
- aktivitetsnavn
- status_eksport_lms
- institusjonsnr_kontroll
- faknr_kontroll
- instituttnr_kontroll
- gruppenr_kontroll
Filen benyttes i:
3.1.9 undervisningenheter.xml
Filen inneholder en liste over undervisningsenheter.
Undervisningsaktiviteter hentes med undervisning.list_undervisningenheter. Hver enhet er et XML-objekt i denne filen, <enhet>, med attributter:
- institusjonsnr
- emnekode
- versjonskode
- terminkode
- arstall
- terminnr
- institusjonsnr_kontroll
- faknr_kontroll
- instituttnr_kontroll
- gruppenr_kontroll
- emnenavn_bokmal
- emnenavnfork
- status_eksport_lms
Filen benyttes i:
3.1.10 evukurs.xml
Filen inneholder en liste over EVU-kurs.
Kurslisten hentes med evu.list_kurs. For hvert kurs finnes det et XML-objekt <evu>, med attributter:
- etterutdkurskode
- kurstidsangivelsekode
- etterutdkursnavn
- etterutdkursnavnkort
- institusjonsnr_adm_ansvar
- faknr_adm_ansvar
- instituttnr_adm_ansvar
- gruppenr_adm_ansvar
- dato_fra
- dato_til
- status_aktiv
- status_nettbasert_und
- status_eksport_lms
Filen benyttes i scriptene:
3.1.11 kull.xml
Filen inneholder en liste over studentkull.
Kull hentes med info.list_kull. Hvert kull et et XML-objekt, <kull>, med attributter:
- studieprogramkode
- terminkode
- arstall
- studiekullnavn
- kulltrinn_start
- status_generer_epost
- institusjonsnr_studieansv
- faknr_studieansv
- instituttnr_studieansv
- gruppenr_studieansv
Filen benyttes i scriptene:
3.1.12 evukursakt.xml
Filen inneholder en liste over EVU-aktiviteter.
Listen hentes med evu.list_kurs_aktiviteter. Hver aktivitet et et XML-objekt <kursakt>, med attributter:
- etterutdkurskode
- kurstidangivelsekode
- aktivitetskode
- aktivitetsnavn
- undformkode
- status_eksport_lmx
- lmsrommalkode
Filen benyttes i scriptene:
3.1.13 persons.xml
Filen inneholder en serie XML-objekter med person-informasjon.
Informasjon er delt inn i følgende XML-objekter:
- aktiv
Alle aktive studenter.
Student-objekt hentes med student.list_aktiv, og hvert objekt har attributter:
- fodselsdato
- personnr
- studieprogramkode
- terminkode_kull
- arstall_kull
- emnekode
- versjonskode
- studentnr_tildelt
- drgrad
Doktorgradsstudenter med opptak.
Stipendiat-objekter hentes på samme måte, og inneholder samme informasjon som informasjon i drgrad.xml.
- eksamen
Eksamensmeldinger.
Eksamensmeldinger hentes med student.list_eksamensmeldinger, og hvert objekt har attributter:
- fodselsdato
- personnr
- emnekode
- studieprogramkode
- arstall
- versjonskode
- vurdtidkode
- terminkode_gjelder_i
- arstall_gjelder_i
- emnestud
Aktive emnestudenter.
Objekt med emne og personinformasjon hentes med student.list_aktiv_emnestud, og hvert objekt har attributter:
- fodselsdato
- personnr
- etternavn
- fornavn
- Adresse og kontaktinformasjon
- status_reserv_nettpubl
- sprakkode_malform
- kjonn
- studentnr_tildelt
- emnekode
- versjonskode
- terminkode
- arstall
- evu
Alle EVU-studenter.
Objekter med personinformasjon hentes med evu.list, og har attributtene:
- fodselsdato
- personnr
- etternavn
- fornavn
- adrlin2_hjem
- postnr_hjem
- adrlin3_hjem
- status_reserv_nettpubl
- adrlin2_hjemsted
- postnr_hjemsted
- adrlin3_hjemsted
- deltakernr
- emailadresse
- etterutdkurskode
- kurstidsangivelsekode
- studieprogramkode
- faknr_adm_ansvar
- instituttnr_adm_ansvar
- gruppenr_adm_ansvar
- kjonn
- telefonlandnr_mobil
- telefonnr_mobil
- fagperson
Personer registrert som fagperson.
Fagpersoner for aktuelle semestere hentes med undervisning.list_fagperson_semester, og hver fagperson-tilknytning er et objekt med attributter:
- fodselsdato
- personnr
- etternavn
- fornavn
- telefonnr_arbeide
- adrlin2_hjemsted
- postnr_hjemsted
- adrlin3_hjemsted
- telefonnr_hjemsted
- institusjonsnr
- faknr
- instituttnr
- gruppenr
- status_aktiv
- kjonn
- opptak
Personer som har opptak til studie.
Informasjon om opptak hentes med student.list, og hvert objekt har attributter:
- fodselsdato
- personnr
- etternavn
- fornavn
- adrlin2_semadr
- postnr_semadr
- adrlin3_semadr
- adrlin2_hjemsted
- postnr_hjemsted
- adrlin3_hjemsted
- sprakkode_malform
- studieprogramkode
- studieretningkode
- studierettstatkode
- studentstatkode
- terminkode_kull
- arstall_kull
- studienivakode
- kjonn
- studentnr_tildelt
- telefonlandnr_mobil
- telefonnr_mobil
- permisjon
Alle personer med gyldig persmisjon fra studie.
Permisjoner hentes med student.list_permisjon, og hver permisjon et et objekt med attributter:
- studieprogramkode
- fodselsdato
- personnr
- fraverarsakkode_hovedarsak
- privatist_emne
Privatist-opptak til emne.
Emne-opptak hentes med student.list_privatist_emne, og hvert opptak er et objekt med attributter:
- fodselsdato
- personnr
- etternavn
- fornavn
- adrlin2_semadr
- postnr_semadr
- adrlin3_semadr
- adrlin1_hjemsted
- adrlin2_hjemsted
- postnr_hjemsted
- adrlin3_hjemsted
- sprakkode_malform
- kjonn
- emnekode
- studentnr_tildelt
- telefonlandnr_mobil
- telefonnr_mobil
- privatist_studieprogram
Privatist-opptak til studieprogram.
Opptak hentes med student.list_privatist, og hvert objekt har attributter:
- fodselsdato
- personnr
- etternavn
- fornavn
- adrlin2_semadr
- postnr_semadr
- adrlin3_semadr
- adrlin2_hjemsted
- postnr_hjemsted
- adrlin3_hjemsted
- sprakkode_malform
- studieprogramkode
- studierettstatkode
- studentstatkode
- terminkode_kull
- arstall_kull
- kjonn
- studentnr_tildelt
- telefonlandnr_mobil
- telefonnr_mobil
- regkort
Semesterregistreringer.
Informasjon om semesterregistrering hentes med student.list_semreg. Hver registrering er et objekt med attributter:
- fodselsdato
- personnr
- regformkode
- dato_endring
- dato_opprettet
Filen benyttes kun til å generere merged_persons.xml, med scriptet contrib/no/merge_xml_files.py.
3.1.14 merged_persons.xml
Inneholder liste over personer fra FS.
Hver person som vi henter informasjon om fra FS, eksisterer som et <person>-objekt i denne filen, med attributter:
- fodselsdato
- personnr
For hver person, finnes det informasjon fra:
Informasjonen slåes sammen, slik at alle objekter med lik fødselsdato og personnummer grupperes under ett og samme person-objekt. Sammenslåing utføres av contrib/no/merge_xml_files.py.
Eksempel på XML-fil:
<data> <person fodselsdato="010170" personnr="00000"> <regkort regformkode="STUDWEB" … /> <nettpubl akseptansetypekode="NETTPUBL" … /> <opptak … /> … </person> … </data>
Filen brukes i:
3.1.15 drgrad.xml
Filen inneholder liste over doktorgradsstudenter med opptak.
Filen genereres med en egen kjøring av import_from_FS.py, dedikert til henting av FS-data som er relevant for printer-kvote. Merk at informasjonen også finnes i persons.xml, som egne <drgrad>-objekter, samt merged_persons.xml.
Opptak med student.list_drgrad. For hvert opptak, finnes det ett objekt <drgrad>, med attributter:
- fodselsdato
- personnr
- institusjonsnr
- faknr
- instituttnr
- gruppenr
- dato_studierett_tildelt
- studieprogramkode
- adrlin2_semadr
- postnr_semadr
- adrlin3_semadr
- adrlin2_hjemsted
- adrlin3_hjemsted
- postnr_hjemsted
- telefonlandnr_mobil
- telefonnr_mobil
Filen benyttes kun av scriptet contrib/no/uio/printer_quota/quota_update.py, for å gi fritak fra kopiavgift for stipendiater.
3.1.16 fritak_kopi.xml
Filen genereres med en egen kjøring av import_from_FS.py, dedikert til henting av FS-data som er relevant for printer-kvote.
Filen inneholder en liste over personer som er fritatt for betaling av kopiavgift.
Fritak hentes med betaling.list_kopiavgift_data. For hver person med fritak, vil filen inneholde ett objekt <betfritak> med attributter:
- fodselsdato
- personnr
Filen benyttes kun av scriptet contrib/no/uio/printer_quota/quota_update.py.
3.1.17 betalt_papir.xml
Filen genereres med en egen kjøring av import_from_FS.py, dedikert til henting av FS-data som er relevant for printer-kvote.
Filen inneholder en liste over personer som har betalt kopiavgift.
Listen over personer som har betalt kopiavgift listes ut med betaling.list_kopiavgift_data, og for hver person som har betalt, finnes det et objekt <betalt>, med attributter:
- fodselsdato
- personnr
Filen benyttes kun av scriptet contrib/no/uio/printer_quota/quota_update.py.
4 Script
4.1 contrib/no/merge_xml_files.py
Scriptet prosesserer andre XML-filer, hvor hvert enkelt objekt refererer til en person.
Scriptet parser informasjon fra disse filene, og samler all personinformasjon under et felles personobjekt per person, <person>, for enklere parsing av andre scripts.
Scriptet samler pr. dags dato objekter fra:
og genererer en fellesfil med informasjon, merged_persons.xml.
4.2 contrib/no/uio/process_bofhd_requests.py
Scriptet prosesserer interne hendelser i Cerebrum. Mange av disse er relatert til bygging og flytting av hjemmeområder (med reguser).
Hendelser av type move_student batch-prosesseres, og trenger studentinformasjon for å finne ut hvilken disk studentbrukere skal ligge på.
Scriptet bruker da:
som input for å finne disk for studentbrukere, og lager nye, ordinære move_user-hendelser som inkluderer riktig disk.
4.3 contrib/no/uio/printer_quota/quota_update.py
Scriptet prosesserer alle FS-personer, og sørger for å (re)sette riktig printerkvote, samt sette og ta bort frikvote, basert på informasjon fra FS.
Scriptet bruker da:
for å regne ut hvilke brukere som skal ha fritak fra utsriftskvote, hvilke brukere som skal ha kvote-begrensing på utskrift, og hvilke brukere som skal få fornyet kvote.
4.4 contrib/no/uio/printer_quota/money2paper.py
Scriptet prosesserer alle innbetalinger for utskrift, og sørger for å oppdatere tilgjengelige utskrifter i Cerebrum.
Scriptet bruker da:
for å regne ut hvilke brukere som skal ha endret sin betalte utskriftkvote.
4.5 contrib/no/uio/process_students.py
Scriptet prosesserer nye personer i Cerebrum, og provisjonerer brukerkonti i Cerebrum for disse.
Scriptet bruker:
4.6 contrib/no/uio/import_FS.py
Scriptet importerer personer fra FS i Cerebrum, og setter tilknytning basert på tilleggsinformasjon om studier.
Scriptet bruker:
Studieprogrammer og emner benyttes for å oversette emne- og studieprogramtilknytning i merged_persons.xml til stedkode som kan benyttes for å lage tilknytning til OU i Cerebrum.
4.7 contrib/statistics/generate_quarantine_report.py
Script for å generere rapport over brukerkonti som har hatt karantene over lengre tid (og som potensielt da kan avvikles).
Scriptet benytter student-informasjon for å filtrere ut brukere som har hjemmeområde (skal ha hjemmeområde?) på student-disker??
Scriptet bruker:
4.8 contrib/no/uio/generate_kurs_ldif.py
Script for å dumpe studieinformasjon ut i LDAP. Scriptet inneholder objekter for undervisningsaktiviteter og undervisningsenheter.
LDAP-treet inneholder:
- cn=ua-<løpenummer>,cn=course,dc=uio,dc=no
- Informasjon om undervisningsaktiviteter, supplert med emne-informasjon.
- cn=ue-<løpenummer>,cn=course,dc=uio,dc=no
- Informasjon om undervisningsenheter, supplert med emne-informasjon.
Scriptet bruker filene:
Scriptet genererer også en pickle-fil, typisk ownerid2urnlist.pickle, som inneholder en egen mapping fra Cerebrum sin interne person-id (entity_id) til en liste over undervisningsenheter og aktiviteter som denne personen har en rolle i.
Filen benyttes videre i contrib/generate_org_ldif.py, slik at referanser til kurstreet kan benyttes i person-objekter fra organisasjonstreet.
URN-referansene inneholder en unik id, som er en sammensetning av intern gruppe-id for fronter-grupper som tilhører enheten eller undervisningsaktiviteten. Fronter-gruppene må altså lages med contrib/no/uio/populate_fronter_groups.py før denne filen kan lages.
4.9 contrib/generate_org_ldif.py
Script for å dumpe personinformasjon og organisasjonsinformasjon til LDAP.
Scriptet benytter en pickle-fil fra contrib/no/uio/generate_kurs_ldif.py, til å legge på referanser til undervisningsaktiviteter og undervisningsenheter for personer (eduPersonEntitlement).
4.10 contrib/no/uio/fnr_update.py
Script for å oppdatere fødselsnummer i Cerebrum som har blitt endret i kildesystem.
Scriptet går gjennom endringer i filen fnr_update.xml, og oppdaterer førselsnummer fra FS på personer i Cerebrum.
4.11 contrib/no/uio/populate_fronter_groups.py
Vedlikehold av grupper for LMS-systemet Fronter.
Scriptet går gjennom roller og undervisningstilhørighet fra filene:
- roles.xml
- edu_info.xml
- undervisningsaktiviteter.xml
- undervisningenheter.xml
- evukurs.xml
- kull.xml
- evukursakt.xml
Basert på denne informasjonen opprettes og vedlikeholdes egne Fronter-grupper i Cerebrum.
I tillegg benytter scriptet access_FS for å finne nåværende semester og år. Dette finnes på bakgrunn av lokal tid, og krever ikke kommunikasjon med FS. Informasjonen er tilgjengelig i et hvilket som helst FSObject, men hentes fra attributtene:
- studieinfo.semester
- studieinfo.year
4.12 contrib/no/uio/generate_fronter_full.py
Eksportscript for LMS-systemet Fronter.
Scriptet genererer en XML-dump for Fronter, med student-brukere, samt brukere for fagansvarlige.
I tillegg til bruker-informasjon, eksporteres også informasjon om fronter-grupper (som populeres med contrib/no/uio/populate_fronter_groups.py), samt roller og fagtilhørighet fra filene:
4.13 contrib/no/uio/import_from_FS.py
Script for å lese data fra FS og dumpe til fil.
Scriptet benytter modulen access_FS for å liste ut informasjon fra FS, og skriver dette til XML-filer. Filene benyttes videre av import-scripts, samt andre scripts for å aksessere informasjon som Cerebrum ikke importerer – f.eks. kurs-data.
Oversikt over hvilke data som hentes og dumpes finnes i avsnitt om bruk av fildump.
4.14 contrib/no/uio/get_uname_evu_kurs.py
Script for å lese ut liste over deltakere på EVU-kurs. Gir en oversikt over hvilke deltakere på et kurs som har fått tildelt brukernavn, og hvilke som ikke har gått dette enda.
Bruker access_FS:
4.15 contrib/no/uio/get_uname_emnekode.py
Tilsvarende contrib/no/uio/get_uname_evu_kurs.py, men for ordinære studieemner.
Bruker access_FS:
4.16 contrib/no/uio/get_kurs_evu_kurs.py
Lister hvilke semester et gitt EVU-kurs avholdes.
Bruker access_FS:
4.17 contrib/no/uio/generate_portal_export.py
Ikke i bruk. access_FS-objektet som benyttes i scriptet er ikke lenger implementert.
Bruker access_FS:
- portal.list_eksmeld
4.18 contrib/no/uio/fs2ltPerson.py
Ikke lenger i bruk. Ble benyttet for å populere HR-systemet LT fra FS-data (doktorgradsstipendiater).
Bruker access_FS:
4.19 contrib/no/uio/dbfg_update.py
Script for å oppdatere tilgangsgrupper, samt rapportere om inkonsistens i tilgangsgrupper for databaser.
Scriptet oppdaterer kun tilgangsgrupper i Cerebrum, slik at disse speiler brukermasse som finnes i database.
Scriptet benytter ulike rutiner for å kommunisere med flere ulike databaser, men for FS benyttes:
4.20 servers/bofhd/bofhd.py
Bofhd benytter ikke FS direkte, men laster inn to moduler som kan benytte oppslag i FS.
4.20.1 Cerebrum.modules.no.uio.bofhd_uio_cmds
Bofh-kommandoen person student_info henter studentinformasjon om et gitt brukernavn, dersom dette finnes.
Informasjonen kommer fra
4.20.2 Cerebrum.modules.no.uio.printer_quota.bofhd_pq_cmds
Bofh-kommandoen pquota info henter informasjon om betalt kopiavgift, samt betalt semesteravgift, for å gi oppdatert, relevant informasjon for feilsøking.
Informasjonen kommer fra:
5 access_FS
All direkte kommunikasjon med FS-databasen skjer gjennom database-objekter som finnes i access_FS-moduler. Disse objektene eksponerer metoder hvor SQL-spørringer og SQL-instruksjoner er definert.
Modulen består av ett container-objekt, FS, som inneholder en serie fs-komponenter (FSObject). Hvert enkelt komponent er et database-objekt med domene-spesifik funksjonalitet. Alle spørringer relatert til personinformasjon samles i et Person(FSObject), mens studierelatert informasjon samles i et eget StudieInfo(FSObject).
Hvilken implementasjon som brukes til enhver tid, vil variere avhengig av versjon (FS-databaseskjema) og konfigurasjon (cereconf.FS_MODULE). Ved UiO brukes nå:
- FS_MODULE
- Cerebrum.modules.no.uio.access_FS (hvor komponentene stort sett arver fra Cerebrum.modules.no.access_FS).
- fsversion
- 7.9.1
Videre i avsnittet finnes en oversikt over komponenter og metoder som benyttes ved UiO, og hvilken implementasjon som blir benyttet.
5.1 FS
5.1.1 FS.list_dbfg_usernames
Lister database-brukere i FS.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- FS.list_dbfg_usernames
5.1.2 FS.list_dba_usernames
Lister interne database-brukere i FS.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- FS.list_dba_usernames
5.2 Person
5.2.1 person.list_uname
Lister fødselsdato, personnummer og brukernavn.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.list_uname
5.2.2 person.write_uname
Oppdaterer brukernavn for en gitt fødselsdator og personnummer.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.write_uname
5.2.3 person.list_email
Lister fødselsdato, personnummer og epostadresse.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.list_email
5.2.4 person.write_email
Oppdaterer epostadresse for en gitt fødselsdator og personnummer.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.write_email
5.2.5 person.get_person
Henter personinformasajon.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.get_person
5.2.6 person.add_person
Lager en person i FS.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOPerson.add_person
5.2.7 person.set_ansattnr
Registererer ansattnummer på person i FS.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOPerson.set_ansattnr
5.2.8 person.get_fagperson
Henter informasjon om fagperson.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.get_fagperson
5.2.9 person.add_fagperson
Legger til en person som fagperson i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.add_fagperson
5.2.10 person.update_fagperson
Oppdaterer fagperson-informasjon i FS.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOPerson.update_fagperson
5.2.11 person.get_telephone
Henter telefonnummer fra FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person78.get_telephone
5.2.12 person.add_telephone
Legger til telefonnummer for en person i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person78.add_telephone
5.2.13 person.update_telephone
Oppdaterer telefonnummer for person i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person78.update_telephone
5.2.14 person.list_fnr_endringer
Lister endring av fødselsnumre i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.list_fnr_endringer
5.2.15 person.list_status_nettpubl
Lister samtykker i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Person.list_status_nettpubl
5.3 Student
5.3.1 student.list
Lister alle studenter med opptak.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOStudent78.list
5.3.2 student.get_semreg
Viser semesterregistrering for en gitt person.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.get_semreg
5.3.3 student.list_semreg
Lister semesterregistreringer.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.list_semreg
5.3.4 student.list_aktiv
Lister aktive studenter.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOStudent78.list_aktiv
5.3.5 student.list_aktiv_emnestud
Lister aktive emnestudenter.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOStudent78.list_aktiv_emnestud
5.3.6 student.list_eksamensmeldinger
Lister aktive studenter.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.list_eksamensmeldinger
5.3.7 student.list_permisjon
Lister personer med permisjon.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.list_permisjon
5.3.8 student.list_privatist
Lister personer som har opptak på et studieprogram som privatist.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOStudent78.list_privatist
5.3.9 student.list_privatist_emne
Lister personer eksamensmeldt på enkeltemne som privatist.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOStudent78.list_privatist_emne
5.3.10 student.list_drgrad
Lister doktorgradsstudenter.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student78.list_drgrad
5.3.11 student.get_undervisningsmelding
Henter undervisningsmelding for en gitt student.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.get_undervisningsmelding
5.3.12 student.get_studierett
Lister studierett som en gitt person har/har hatt
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.get_studierett
5.3.13 student.get_eksamensmeldinger
Henter eksamensmeldinger for en gitt person.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.get_eksamensmeldinger
5.3.14 student.get_utdanningsplan
Henter utdanningsplan for en gitt student.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.get_utdanningsplan
5.3.15 student.get_emne_eksamensmeldinger
Lister eksamensmeldinger for et gitt emne.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Student.get_emne_eksamensmeldinger
5.4 Studieinfo
5.4.1 studieinfo.list_studieprogrammer
Lister studieprogrammer i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- StudieInfo.list_studieprogrammer
5.4.2 studieinfo.list_emner
Lister emner i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- StudieInfo.list_emner
5.4.3 studieinfo.list_kull
Lister studentkull i FS.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOStudieInfo.list_kull
5.4.4 studieinfo.get_emne_i_studieprogram
Henter studieprogram som et emne kan inngå i.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- StudieInfo.get_emne_i_studieprogram
5.5 Undervisning
5.5.1 undervisning.list_alle_personroller
Lister personroller i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Undervisning.list_alle_personroller
5.5.2 undervisning.list_studenter_alle_kull
Lister alle tilknytninger til undervisningskull.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOUndervisning.list_studenter_alle_kull
5.5.3 undervisning.list_studenter_alle_undenh
Lister alle tilknytninger til undervisningsenhet.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOUndervisning.list_studenter_alle_undenh
5.5.4 undervisning.list_studenter_alle_undakt
Lister alle tilknytninger til undervisningsaktivitet.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Undervisning.list_studenter_alle_undakt
5.5.5 undervisning.list_aktiviteter
Lister undervisningsaktiviteter.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOUndervisning.list_aktiviteter
5.5.6 undervisning.list_undervisningenheter
Lister undervisningsenheter.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOUndervisning.list_undervisningenheter
5.5.7 undervisning.list_fagperson_semester
Lister fagpersoner i FS.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- Undervisning78.list_fagperson_semester
5.6 EVU
5.6.1 evu.list
Lister EVU-kursdeltakere.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOEVU78.list
5.6.2 evu.list_kurs
Lister EVU-kurs.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOEVU.list_kurs
5.6.3 evu.list_kurs_deltakere
Lister EVU-kursdeltakere for et gitt kurs.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- EVU.list_kurs_deltakere
5.6.4 evu.list_kurs_aktiviteter
Lister undervisningsaktiviteter for EVU-kurs.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOEVU.list_kurs_aktiviteter
5.6.5 evu.list_studenter_alle_kursakt
Lister tilknytninger til kursaktivitet på EVU-kurs.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOEVU.list_studenter_alle_kursakt
5.6.6 evu.get_kurs_informasjon
Lister informasjon for et gitt EVU-kurs.
- Modul
- Cerebrum.modules.no.access_FS
- Metode
- EVU.get_kurs_informasjon
5.7 Betaling
5.7.1 betaling.list_utskrifts_betaling
Lister innbetaling for utskrift.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOBetaling.list_utskrifts_betaling
5.7.2 betaling.list_kopiavgift_data
Lister ut personer som har fritak fra kopiavgift, og/eller personer som har betalt kopiavgift.
- Modul
- Cerebrum.modules.no.uio.access_FS
- Metode
- UiOBetaling.list_kopiavgift_data