Enhetsrom i Fronter

Dokument skreve og oppdater i 2008 av igorr.

Det er besluttet å etablere muligheten for opprettelse av enhetsrom, dvs rom i Fronter knyttet til stedkode. Hensikten med dette er å gi folk knyttet til undervisningen ved et sted et rom der de kan samarbeide om hva det nå enn måtte være.

Dette gjøres ved at der etableres en egen jobb som produserer den XML-filen som inneholder alt knyttet til enhetsrom, og som så lastet inn i den Fronterinstansen som dette skal til. Det medfører at denne jobben kun kan kjøre efter at den ordinære jobben er kjørt efter som denne jobben ikke tar mål av seg til å definere brukere, men kun gi rettigheter, bygge rom og korridorer (dersom disse ikke finnes for stedet, merk at dette kan også innebære at vi må lage overordnet korridor også dersom denne heller ikke finnes).

Hvilke steder skal der bygges for?

Det skal tas primært utgangspunkt i eksporten fra SAP og det som der står om de enkelte sted der. Trigger for bygging av enhetsrom er at det for den aktuelle stedkoden er anført en stedbruk lik 'LMSSTED'. Dvs at det for det aktuelle stedet finnes en:

<StedType>LMSSTED</StedType>

Slike steder burde få en passende trait i Cerebrum, slik at generate-enhetsrom-xml.py enkelt skal kunne plukke dem ut.

Disse rommene skal plasseres i strukturen direkte under den korridoren som representerer stedkoden. Korridoren har typisk en id lik:

<id>STRUCTURE/Sko:185:150500</id>

der de 6 siste sifferene er stedkoden.

Hvordan skal enhetsrom se ut?

Enhetsrom skal bygges på profilen 'UiOstdrom2003'.

Som navn på rommet bruker vi kortnavnet til stedet dersom dette finnes, hvis ikke bruker vi akronymet.

Hvem skal ha hvilke roller i enhetsrommet?

  • Lese/skrive Primærbruker til personer som har ANSATT/* eller TILKNYTTET/* (med source SAP) ved enhet og underliggende enheter, slik det er registrert i Cerebrum. ANSATT/* skal vi kunne finne ut av gruppen meta_ansatt@<sted>. Tilsvarende gruppe for tilknyttet finnes ikke enda.
  • Slette Primærbruker til personer som har ANSATT/tekadm eller ANSATT/vitenskapelig (med source SAP) ved enhet og underliggende enheter slik det er registrert i Cerebrum. Disse gruppene finnes ikke. Dvs. ansatt_vitenskapelig@<sted> lister opp de vitenskapelige ansatte, men bare ved det gitt stedet (og ikke dets underliggende steder).
  • Eier Primærbruker til person som i FS er gitt personrollen 'UNDLEDER' på det angivelige sted. Her må vi bygge gruppen for den aktuelle rollen.

Tekniske aspekter av det hele

Ved UiO får vi da følgende jobber relatert til ClassFronter:

  • import_OU.py skal dele ut traits til de OU-ene som har LMSSTED.
  • populate_fronter_groups.py genererer en rekke grupper på bakgrunn av FS data. Disse gruppene er automatisk vedlikeholdt og har en fast struktur hva navn angår.
  • generate_fronter_full.py genererer en XML-fil basert på gruppene fra populate_fronter_groups.py og noe tilleggsinformasjon fra FS. Denne XML-filen definerer alle CF-strukturer og inneholder alle personer man ønsker å tildele rettighetene til.
  • populate-automatic-groups.py genererer en rekke grupper på bakgrunn av SAP og FS data. Disse gruppene er automatisk vedlikeholdt og har en fast struktur hva navn angår.
  • generate-enhetsrom-xml.py som bruker gruppene generert av populate-automatic-groups.py til å generere en tillegs-XML-fil som inneholder informasjon om enhetsrom og personer som gis rettigheter der og som er ment til å importeres etter at importen av g_f_full.py-filen er gått inn.

Gitt reglene for enhetsromtilgang, er vi avhengige av å ha gruppene bygget av p-a-groups.py for å kunne generere filen.

Et annet punkt ved det hele er at siden vi bruker roller gitt i SAP og i FS, burde vi hatt en jobb som sjekker at FS (som ikke er autoritativt på steder) ikke nevner steder som ikke finnes i SAP. Denne sjekken burde varsle om evt. forskjeller, slik at vi kan spore opp rollene gitt i FS ved steder som egentlig finnes.

populate-automatic-groups.py må fikses til å:

  • bygge grupper som inneholder ANSATT/tekadm + ANSATT/vit ved et sted og dets underliggende steder (eller omdefinere betydningen av meta_ansatt?)
  • bygge grupper basert på FS-rollen 'UNDERLEDER'.
  • bygge grupper basert på evt. andre FS-roller, dersom DML ønsker å gi de menneskene en eller annen tilgang til enhetsrom. I så fall må vi ha listen av disse rollene og rettighetene som de skal gi opphav til.

generate-enhetsrom-xml.py skal da ta utgangspunktet i OU-er med visse traits (gitt av import_OU) og gruppene generert av populate-automatic-groups.py.

Publisert 10. apr. 2013 13:40