Ah, if only someone had found Chris's comments earlier about doing Groups similarly to Maling lists - "I had planned to do Groups based on the way that MailingLists work. A simple table joins users to groups." - Chris

Unfortunately groups are currently different objects than mailing lists and this certianly the wrong direction. We should bring groups and mailing lists together. Particularly because we want to be able to mail groups -

Scenario

Send a special newsletter to everyone who has paid their dues to the YAAMNY group.

  • membership in the newsletter group is going to be dependent on paid membership in the Yaamny Group
  • the "paid membership" itself is actually a subscription group that is dependent on being a member of YAAMNY
  • the closest I am aware of us getting to unraveling these dependencies is a group_group table that describes relationships between groups: groupsschema.png

Scenario

Send a reminder to everyone who has bought a ticket to the Happy Hour that it's tomorrow night at 10pm.

  • this is an event with an event group tied to it, so here there is a relationship between an event and a group
  • in this case group membership and mailing list membership would be identical


Scenario

Send a reminder to everyone who paid their dues to the Welcome Club that they need to renew their membership.

  • in this case again the mailing list is identical to the group list

Consideration

subscribe/unsubscribe

  • the newsletter list is the only "group" for which unsubscribe applies - in the other scenarios, the mailing is going to group members and the only option is to quit the group if you don't want the email, but Quit in those cases involves other priviliges beyond receipt of the email

some conclusions

I don't believe the mailing list objekt belongs in the objekt_objekt table but should be moved into the groups table. We will need to add some attributes to groups anyway and one such attribute could be "is this group more like a mailing list."

-- David and Alberto March 2007