E-post-lister i MDB2, v2, spek
(Jeg har lest Joel on software, og blitt revet med av speke-ånden. Spek grundig først, skriv programvare etterpå.)
MDB2 har e-post-adressene til alle medlemmer, samt informasjon om gruppetilhørighet og et eksisterende webgrensesnitt for av- og påmelding av e-post-lister. E-post-lister i MDB2 har opprinnelig vært bare av- og påmelding for lister som er tilgjengelig for alle medlemmer. Denne speken tar for seg et system for av- og påmelding av e-post-lister som tar inn gruppetilhørighet i ligningen.
Hovedsaklig er idéen at medlemmer i gitte grupper får tilgang til interne e-post-lister bare for den gruppen. Medlemmer skal kunne melde seg av og på listene. Det skal også være mulighet for å automatisk melde medlemmer på enkelte lister idet de blir medlemmer av en gruppe, samt ha obligatorisk påmelding til lister.
Lister for gjenger har tradisjonelt vært løst ved at e-post-listene er i Amsit, og en designert person i gjengen (vanligvis gjengsjef) har som oppgave å melde medlemmene av og på listene. Det er mer praktisk dersom dette i større grad kan løses av medlemmet selv og systemet ellers. Dette gjelder også ved bytte av e-post-adresse. For store gjenger er det svært vanskelig og tidkrevende å holde e-post-listene oppdatert. Dette gjelder i spesielt stor grad UKA. Det var et ønske fra UKA-07 som satte igang det som ble denne speken.
Use cases
- FG har bare funker i gjengen sin. De vil ha en e-post-liste som alltid går til funkene i gjengen, altså de medlemmene som er tatt opp i gruppen «FG, funk» i medlemsdatabasen.
- Alle medlemmene på Samfundet får tilbud om å være med på en del e-post-lister som informerer om tilbud på Samfundet. Alle er frivillige for oppmelding, men én av disse e-post-listene er allerede avkrysset for når medlemmet registrerer medlemskapet sitt.
- UKA vil ha en mulighet for å nå alle gjengmedlemmene sine per e-post, uten at de kan reservere seg mot det.
- KISS har mange gjengmedlemmer med forskjellige roller som er tatt opp i forskjellige grupper i medlemsdatabase, men alle gruppene arver én gruppe («KISS, gjengmedlem»). De vil ha en liste som går til alle som har gruppemedlemskap som arver denne gruppen.
- UKA vil ha en e-post-liste som informerer om sosiale tiltak, men medlemmene ønsker å kunne reservere seg mot slik informasjon. De blir automatisk påmeldt når de blir tatt opp i UKA, men kan melde seg av etterpå.
- LIM ønsker en e-post-liste for alle sine panger og aktive for ymse sosial e-post. Alle i LIM skal kunne melde seg på listen.
- Gjengsjefen i SIT ser at en e-post-liste ikke er nødvendig før UKA, og hun vil deaktivere listen foreløpig uten å røre medlemskapene på den.
Krav
- E-post-lister skal kunne knyttes til en gruppe i medlemsdatabasen, og bare medlemmer som er knyttet til gruppen, enten direkte eller gjennom arv, skal kunne melde seg på listen. Teknisk: lister=-tabellen får et =gruppe_id=-felt som fremmednøkles til =gruppe.
- E-post-lister skal kunne være obligatoriske, slik at det ikke er mulig å melde seg av eller på dem. Brukerene skal likevel se at de er påmeldt. Teknisk: Flagg i lister som sier om listen er obligatorisk eller ikke, samt sjekk i databasen slik at bare lister med gruppetilhørighet kan være obligatoriske.
- E-post-listene skal kunne skjules, slik at de ikke dukker opp i brukernes grensesnitt. Teknisk: Skjult-flagg i lister.
- Medlemmer skal automatisk meldes på enkelte lister når de blir tatt opp i tilhørende grupper. Teknisk: Felt for autopåmelding i databasen, samt sjekk for at bare lister med gruppetilhørlighet skal kunne være autopåmeldbare.
- E-post-listene skal være aktive eller inaktive, uten at medlemskap for øvrig rotes med. Teknisk: Aktiv-flagg i lister.
- E-post-listene skal sende korrekte List*-headere på e-post, samt ha fornuftig bounce-håndtering. Teknisk: Vi bruker Mailman.
Brukergrensesnitt
På medlem.samfundet.no/account/edit kan medlemmer logge inn og endre informasjon om seg selv, så som e-post-adresse, telefonnummer og studiested. Her kan de også melde seg av og på e-post-lister. Listen over e-post-lister skal inneholde alle lister medlemmet har tilgang til: Offentlige så vel som de listene som er tilgjengelig jf gruppetilhørighet. Listene som har gruppetilhørighet skal angi dette. Listen blir seende omtrent slik ut:
Epostlister [x] Ukesoversikt fra Samfundet [ ] Musikkarrangementer [ ] Fotballvisninger [ ] Kino [x] Teater [ ] Lørdagsmøter [ ] Excenteraftener [ ] Medlemsfordeler [ ] Informasjon til alle medlemmer [x] ITK-intern (fra gruppen ITK, funk) [x] UKA-alle (fra gruppen UKA-07)* [ ] UKA-sosialt (fra gruppen UKA-07) * Det er obligatorisk for deg å stå på denne epostlisten, og du kan derfor ikke melde deg av.
Merk at avkrysningboksen for UKA-alle skal være avhuket, men «grået ut», altså dekativert. Denne listen er obligatorisk, som indikert med en stjerne og en fotnote. Listene som hører til grupper har dette indikert med gruppenavn i parantes.
Dersom noen forsøker å melde seg på eller av en liste de ikke har tilgang til (altså ikke gjennom webgrensesnittet, med ved å sende egne POST til webtjeneren), skal websiden svare med en feilmelding: «Du har ikke tilgang til denne e-post-listen.». Denne feilmeldingen skal også komme ved ikke-eksisterende e-post-lister, for å skjule informasjon for potensielle inntrengere.
Teknisk implementasjon
Det finnes allerede to e-post-listesystemer på Samfundet, Mailman (se Exim) og Amsit. Vi ønsker ikke nok et system for selve sending og mottak av e-post. Derfor vil vi heller utvide funksjonaliteten som eksporterer e-post-lister fra MDB2 til Mailman til å også ta høyde for de øvrige kravene i denne speken. Mailman har dessuten fornuftig bounce-håndtering, modereringsbiter og andre praktiske ting for e-post-liste-systemer.
For brukerdelen av systemet trenger vi bare utvide to ting: Tabellen lister i MDB2 og webgrensesnittet på medlem.samfundet.no. Dette er relativt trivielt i forhold til speken.
Synkroniseringen med Mailman trenger vi ikke røre.
Problemer
- Det er ingen eksterne medlemskap-funksjonalitet til gruppelister. Det går altså ikke an å melde seg på en e-post-liste uten å være medlem av gruppen. Dette kunne vært løst med eksterne e-post-liste-medlemskap, men dette vil innføre mer implementasjonskompleksitet, samt økt kompleksitet for gjengsjefer og andre.
- Dersom en et medlem blir tatt opp i en gruppe som arver en automagisk påmeldt liste medlemmet allerede har meldt seg av, blir medlemmet påmeldt igjen. Dette skjer dog relativt sjeldent. Problemet kan plastres ved at det sendes e-post til medlemmet når det blir tatt opp i en gruppe. Bør uansett implementeres, se MedlemsDB2TODO.
Lenker: Start, medlemsdb2
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2007-06-02 01:42 | Revisjon: 10 (historie, blame) | Totalt: 1899 kB | Rediger