Gruppemedlemskap

Brukerne gis gruppemedlemskap ut fra to ulike kilder:

  • Emnetilknytning i FS

  • Manuelt vedlikeholdte gruppemedlemskap (OBS: Kun gruppemedlemskap av typen DiscourseGroup, ikke Djangos vanlige Group-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.