Gruppemedlemskap
Brukerne gis gruppemedlemskap ut fra to ulike kilder:
Emnetilknytning i FS
Manuelt vedlikeholdte gruppemedlemskap (OBS: Kun gruppemedlemskap av typen
DiscourseGroup
, ikke Djangos vanligeGroup
-gruppemedlemskap)
Applikasjonen oppretter ingen Discourse-grupper automatisk, så for at gruppemedlemskapene skal kunne brukes inne i Discourse må en Discourse-gruppe med samme navn opprettes manuelt.
Emnetilknytning i FS
Gruppemedlemskapet avhenger av hvilken rolle man har i emnet i FS:
Studenter gis medlemskap i Discourse-gruppen EMNEKODE_student for hvert emne de er oppmeldt i.
Fag-/øvingslærer gis medlemskap i gruppen EMNEKODE.
Årsaken til at vi bruker gruppenavnet EMNEKODE i stedet for f.eks EMNEKODE_teacher er at disse gruppenavnene kan bli brukt til direktemeldinger inne i Discourse. For å gjøre det lett for studentene å sende meldinger til fagstaben er det derfor ønskelig at navnet studentene må sende melding til er lett å huske.
I tillegg til per-emne-gruppene legges også brukeren til i noen samlegrupper:
Gruppen student inneholder summen av alle EMNEKODE_student-gruppene.
Gruppen teacher inneholder summen av alle EMNEKODE-gruppene.
Disse samlegruppene kan brukes til å gi adgang til internt diskusjons-/brukerstøtteforum for alle faglærere, og så videre.
Manuelt vedlikeholdte gruppemedlemskap
Alle gruppemedlemskap tilordnet manuelt i Django-admingrensesnittet eller via gruppeadministrasjonsgrensesnittet blir også overført til Discourse.
Det er derfor mulig å supplere gruppemedlemskapene som kommer fra Feide med gruppemedlemskap tildelt manuelt i Django-admingrensesnittet.
Det er ikke mulig å fjerne brukere fra en gruppe hvis gruppemedlemskapet kommer fra FS. I Django-admingrensesnittet vil det se ut som at gruppemedlemskapet er fjernet, men brukeren vil bli lagt til igjen i gruppen neste gang brukeren logger inn (hvis brukeren fremdeles har den samme emnetilknytningen i FS).
Delegering av gruppeadministrasjon
Enkeltbrukere eller -grupper (typisk faglærer/øvingslærer) kan få rettigheter til å administrere sine grupper (for eksempel for å legge til studasser, som ikke er registrert med emnetilknytning i FS).
En gruppeadministrator kan redigere både hvem som er medlem og administrator av gruppen.
Disse rettighetene delegeres enten fra redigeringsgrensesnittet for gruppene inne i
Discourse SSO-løsningen, eller i Django-admingrensesnittet ved å redigere
DiscourseGroup
-gruppen som rettighetene skal gjelde for.
(Foreløpig har redigeringsgrensesnittet kun funksjonalitet for å legge til enkeltbrukere.
For å sette en hel gruppe som gruppeadministrator må Django-admingrensesnittet brukes.)
Gruppeadministratorene kan da redigere sine grupper ved å logge inn på Discourse SSO-løsningen. Hovedsiden har lenker til redigeringsgrensesnittet for alle gruppene brukeren kan redigere.
Superbruker kan også redigere grupper ved å slå opp gruppenavnet (søkefeltet vises kun for Django-superbrukere og søker case-insensitivt).
Det er ikke mulig å administrere/redigere gruppene via Discourse (forumgrensesnittet), siden alle gruppetilhørigheter i Discourse overskrives med gruppetilhørighetene som SSO-løsningen har kalkulert, hver gang brukeren logger inn i Discourse.
Administrator- og moderatorrettigheter
Alle brukere som er Django-superbruker (“Superuser status”-flagget er avkrysset) blir automatisk en adminbruker i Discourse.
Alle brukere som er med i gruppen moderator får globale moderatorrettigheter i Discourse. I tillegg er det mulig å tildele moderatorrettigheter per forum inne i Discourse (dette gjøres i innstillingene for forumet/kategorien).
Gruppen moderator blir vedlikeholdt i Django.