Oversikt over publiseringa av sidegjøremål

Ein oversikt over korleis publiseringa av sidegjøremål skal gjerast, kva data som trengs og korleis informasjonen skal overførast. Tanken er at Cerebrum skal vere eit mellomledd for å overføre sidegjøremål frå SAPUiO over til Vortex.

1   Motivasjon for å bruke Cerebrum

Årsaken til at Cerebrum brukast for å hente ut sidegjøremåla frå SAPUiO og sende dei vidare til Vortex, er at Cerebrum har allereie ein import frå SAPUiO som kan utvidast, og Vortex bruker allereie informasjon frå Cerebrum til personpresentasjonane. I tillegg er sidegjøremåla knytta til tilsette, som Cerebrum allereie har informasjon om og kan vidareformidle denne tilknyttinga.

I dag benyttes et annet system for sidegjøremålsdata, og Det juridiske fakultet publiserer oversikt her: http://www.jus.uio.no/om/aapenhet/sidegjoremal/ (som eksempel på hvordan det ser ut i dag).

2   Løysinga

TODO: Kva med eigarinteresser? Skal det også behandlast? Ja, det skal det høyst sannsynlig, men kanskje ikke nå

Alle registrerte sidegjøremål skal etterkvart ligge i SAPUiO. Derfrå skal alle godkjende sidegjøremål som ikkje treng beskyttelse publiserast på nettsidene til UiO, i Vortex. For å hente ut informasjonen frå SAPUiO til Vortex brukast Cerebrum som eit mellomledd.

Informasjonsflyten:

  1. SAPUiO utvider SAP2BAS-eksporten sin med å legge til alle godkjende sidegjøremål under kvar person sine data.

    SAPUiO har ansvar for å filtrere vekk alle sidegjøremål som ikkje skal publiserast, enten fordi dei ikkje er godkjende av linjeledar eller fordi er unntatt publisering, eller fordi den ansatte er reservert mot publisering. Cerebrum reknar alle sidegjøremål som ligg i fila som offentlege, med mindre eieren er reservert mot publisering.

  2. Cerebrum importerer alle sidegjøremåla frå fila.

  3. Cerebrum sender sidegjøremåla vidare til ein stad Vortex får tilgang til dei.

    Det er ikkje avklart korleis overføringa skal gjerast. Det er vurdert om dei skal publiserast gjennom LDAP, eller om Vortex berre skal få ei fil frå oss dagleg, eller om vi skal sette opp ein webservice. Alt dette vert støtta av Vortex.

3   SAP2BAS-overføringa

Overføringa frå SAPUiO til Cerebrum skjer i dag gjennom ei CSV-fil. Denne skal om kort tid endrast til å bruke XML-formatering. Overføringa kan ikkje utvidast med sidegjøremål før XML-formateringa er blitt utført, godkjend og satt i produksjon.

3.1   Data-element

Kva data er det SAPUiO må gi oss:

  • Tilknytting til person: I SAP2BAS-fila vert all person-informasjon registrert under kvar person ved hjelp av SAP-id og fødselsnummer. Sidegjøremål skal også registrerast med denne tilknyttinga, så Cerebrum kan knytte informasjonen til riktig person.
  • Organisasjon: Organisasjonen sidegjøremålet er registrert ved. Fritekst. SPEC sier maks 100 tegn, men vi bør håndtere utvidelser automatisk.
  • Organisasjonstype: Kva type organisasjon sidegjøremålet er registrert ved. Cerebrum behandler dette som fritekst. (Maks 60 tegn)
  • Startdato: Startdato for sidegjøremålet. YYYYMMDD.
  • Sluttdato: Sluttdato for gjøremål der det er kjent når gjøremålet opphører (f.eks. åremål) eller ved oppsigelse.
  • Omfang: Prosentvis omfang av sidegjøremålet. Fritekst, men inneholder gjerne bare sifre og komma.
  • Arbeidets art: Personen sitt arbeid i sidegjøremålet. Fritekst. Merk: SAP inneholder to fritekstfelter. Det ene er kun til intern bruk, og skal ikke overføres, det andre inneholder fritekstbeskrivelse til publisering.

Av disse er det kun arbeidets art som kan ha ukjent lengde.

Vi venter også at eierinteresser skal overføres når dette kommer inn i SAP. Data om eierinteresser er relativt like sidegjøremål.

4   Overføringa til Vortex

Vortex treng å få tilgang til sidegjøremåla. Dei bruker allereie LDAP-oppslag for å hente ut personinformasjon, men var opne for andre metodar. Det enklaste, og kjappaste, for Cerebrum, er å produsere vanlege filer og overføre dei til Vortex.

Fila vert produsert og overførd til ein stad som er tilgjengelig for Vortex. All informasjon i fila er offentleg, så den har ikkje behov for lese-beskyttelse. Den kan difor til dømes leggast på eit fellesområde som ingen andre enn Cerebrum og Vortex kan skrive til.

Overføringa vil i utgangspunktet etter at vi har fått ny SAP2BAS-fil frå SAPUiO. Dette skjer per i dag to ganger i døgnet. Tidspunkt må diskuterast.

4.1   Data-element

Kva data som skal overførast til Vortex om kvart sidegjøremål:

  • Tilknytting til ansatt: Sidegjøremål må kunne knyttast til personar. Sidan Vortex ikkje kjenner til SAP-id eller fødselsnummer, går vi for primærbrukaren sitt brukarnamn som identifikator.
  • Organisasjon: Fritekst, henta frå SAPUiO.
  • Organisasjonstype: Fritekst, henta frå SAPUiO.
  • Startdato: Dato, henta frå SAPUiO. Har formatet YYYY-MM-DD.
  • Sluttdato: Dato, henta frå SAPUiO. Har formatet YYYY-MM-DD.
  • Omfang: Fritekst, henta frå SAPUiO. Prosentvis omfang. Merk: Feltet er et tall fra SAP, men vi bør behandle det som fritekst som matcher regex([0-9,]*).
  • Tekst til offentliggjørelse: Fritekst, henta frå SAPUiO. Beskrivelse.

Merk at Cerebrum gjer ingen filtreringar eller endringar på informasjonen som vert motteke frå SAPUiO, men sender alt blindt vidare.

4.2   Filformat

Fila til Vortex er i CSV-format, og vert formatert ved hjelp av python sin CSV-modul. Reglane er:

  • Kvart element vert separert med komma.
  • Dersom eit element sjølv inneheld eit komma vert elementet innramma av dobbelfnuttar.
  • Dersom eit element sjølv inneheld ein dobbelfnutt vert dobbelfnutten "escapa" av ein etterfølgande dobbelfnutt.

Døme på ei formateringa av ei linje:

jokim,Statoil,Bedrift,2013-01-01,20%,"Deltidsstilling, konsulent"

TODO: Sjå til at dømet har riktig rekkefølge på elementa.

4.3   Mulige overføringsmetodar

Dei alternativa som har blitt vurdert for å gjere sidegjøremåla tilgjengelige for Vortex:

  • Utvide eksisterande LDAP-synk: Ved å utvide LDAP-synken med ekstra, UiO-spesifikke attributtar, kan Vortex hente ut desse verdiane på samme måte som anna personinformasjon.

    For å kunne utvide LDAP-synken må vi også importere sidegjøremåla til Cerebrum sin database, for å unngå å bruke ulike kjelder i LDAP-eksporten. Dette krever at utvider databasen, då vi ikkje kan gjenbruke traits-tabellen.

  • Overføre ei eiga fil til Vortex: Cerebrum kan hente ut alle sidegjøremåla frå SAP2BAS-fila og legge dei i ei anna fil, XML- eller CSV-formatert. Fila kan deretter overførast til ein stad Vortex har tilgang til den, og så kan dei bruke den som dei vil.

    Dette er løysinga som skaper minst arbeid for Cerebrum, då vi slepp å måtte gjere endringar i Cerebrum-koden og ikkje minst SAP-importen, men kan køyre dette uavhengig av resten av Cerebrum.

  • Gje Vortex tilgang til ein Webservice: Ein eigen webservice kan settast opp i Cerebrum, som Vortex får tilgang til.

    Vi er usikre på kor høg ytelse som krevast for å kunne gje ut denne informasjonen til Vortex, og vi har ikkje testa kor mykje Cerebrum sin webservice kan takle. I tillegg må vi gjere ein del endringar i Cerebrum uansett, og LDAP har bedre funksjonalitet for dette.

Sidan det er knapt med tid, og det ser ikkje ut til at dette er noko Cerebrum kjem til å bruke til noko som helst anna, går vi i utgangspunktet for å generere ei fil som overførast til Vortex.

Av jokim
Publisert 16. sep. 2013 15:02