Om integrasjon med System-X
Integrasjon med System X består i hovedsak av:
- Parser for System-X CSV-eksportfil (Cerebrum.modules.no.uit.access_SYSX)
- Import-script (contrib/no/uit/import_systemx.py)
- Brukerkonto-automatikk (contrib/no/uit/process_systemx.py)
- Eksport av Org-enheter til System-X (contrib/no/uit/generate_sysx_ouoptions.py)
Import av data fra System-X og eksport av data til System-X gjøres mer eller mindre i helt separate integrasjoner.
Integrasjonen gjøres i ulike steg:
Eksport
Eksport av org-enheter til System-X skjer i grove trekk gjennom å
- Hente en CSV-fil med org-struktur fra filutvekslingstjener hos UiT (stellanova.uit.no). Kun stedtre-gjeldende.csv brukes.
- Lese inn og parse org-informasjon fra CSV-fil, eksportere en fil med stedkode og navn på alle relevante org-enheter.
- Plassere eksportfil på filutvekslingstjener hos UiT.
Usikker på hvorfor dette gjøres av Cerebrum? Usikker på hvorfor kun stedtre-gjeldende.csv brukes? Usikker på hvorfor vi ikke snakker med stedkode-tjenesten hos UiT for dette?
Merk at eksportfilen ouoptions.xml ikke er en XML-fil.
Import
Import av gjester og oppretting av brukerkonto fra System-X skjer i grove trekk gjennom å:
Hente en CSV-fil med gjestedata fa filutvekslingstjener hos UiT
Kjøre importscriptet som...
parser import-fil
oppretter eller oppdaterer personer i Cerebrum fra import-fil
- fjerner alle tilknytninger fra System-X som ikke lenger forekommer/blir
hentet inn fra import-fil
Kjøre automatikk-script som...
parser import-fil
for hver person i import-fil:
- Hvis brukerkonto mangler (men person eksisterer i Cerebrum, med
System-X ID og System-X affiliations), oppretter ny brukerkonto
- Hvis brukerkonto finnes eller ble opprettet: Oppdaterer med
expire-date fra system-x importfil (hvis expire-date er lenger inn i fremtid enn dagens expire-date)
- Hvis brukerkonto finnes eller ble opprettet: Oppdaterer brukerkonto
(med account-affs, spreads, posix-promote, sysx-karantene)
Importfil og data
Importfil fra System-X er en CSV med følgende felter
- sysx_id
- Intern System-X ID - external-id i Cerebrum
- birth_date
- Fødselsdato for gjest. Brukes som birth_date i Cerebrum. Ikke alle personer har dette feltet - hvis det mangler, parses det fra fnr i stedet. Hvis ikke noen fødselsdato kan hentes ut fra CSV-fil, så vil heller ikke personen oppdateres/regnes som gyldig.
- fnr
- Fødselsnummer for gjest. Legges inn som external-id i Cerebrum
- gender
- Kjønn på gjest. Brukes som gender i Cerebrum.
- fornavn
- Fornavn på gjest.
- etternavn
- Etternavn på gjest.
- ou
- Stedkode på org-enhet å knytte gjest til. Hvis stedkoden ikke finnes i Cerberum, blir gjesten heller knyttet til stedkode "000000" (rotnode?)
- affiliation, affiliation_status
- Tilknytning som skal tildeles gjest.
- expire_date
Utløpsdato på gjest, og utløpsdato for en eventuell brukerkonto.
expire_date legges kun inn på brukerkonto dersom den er etter nåværende utløpsdato, og dersom personen ikke er markert som død.
- spreads
Spreads som skal tildeles gjestens brukerkonto.
Kun utvalgte spreads kan legges til. Spread legges kun til, de fjernes ikke. Utvalgte spreads får satt en spread-expire via UiT-spesifikk funksjonalitet for å avvikle spreads. Expire-date på spreads settes til expire_date fra import-fil.
- hjemmel
- Årsak for tildeling av gjesterolle. Fritekst-aktig. Brukes kun av brukerkonto-automatikk, dersom en e-post sendes til ansvarlig_epost.
- kontaktinfo
- Kontaktinfo for gjest. Fritekst-aktig. Brukes kun av brukerkonto-automatikk, dersom en e-post sendes til ansvarlig_epost.
- ansvarlig_epost
- E-postadresse for sponsor? Brukes kun av brukerkonto-automatikk, for å varsle sponsor om at brukerkonto har blitt opprettet/sperret/endret.
- bruker_epost
- Privat e-postadresse for gjest. Brukes kun av brukerkonto-automatikk, for å varsle bruker om at brukerkonto har blitt opprettet/sperret/endret.
- national_id
- Landkode for gjest? Brukes ikke i integrasjonen
- approved
- Brukes for å avgjøre om en person skal importeres/oppdateres/få brukerkonto