So, here’s the question.
Given a mailman mailing list, and a corresponding buddypress forum**, what are the options for linking them? And what’s best?
There will be 2 groups of posters: those who post via email, and those who post via forum***. There will be 2 groups of readers: those who read via email, and those who read via forum***.
Posting via email: the options
P1: post to a single email box
P2: post to mailman (as mailing-list users do currently)
Ways that wordpress could collect post:
M1: by reading a POP3 email box
M2?: is it possible to put a trigger in mailman, so every time a message will be distributed to subscribers, it calls a web page? That way, it could pass the message as POSTed variables.
Ways that things go from wordpress forum to the mailing list:
W1: by hooking groups_new_forum_topic every time a new topic appears on the forum, a new thread is injected into mailman; and by hooking groups_new_forum_topic_post, every time a new post is added to a topic, a new post is injected into mailman, with in-reply-to headers to match the subject. A custom-header would be added to record that this mailman message originated in wordpress
W2: hook the creation of all posts, and submit them to the mailing list. Only show a post on the forum, once it appears on the mailing list. That way, all post-moderation can be done via the mailman interface
Alternative routes to combine these
- P1+M1+W1: users post to a single email box, never to mailman directly. The email address currently used by mailman is reassigned to a pop3 box, and a new, obscured email address is created for the mailing list: this obscured address will be known only to the list admin, and to wordpress. A cron task runs on wordpress frequently, checking on that email box. It adds messages to the forum. So for a user posting by email, the route is user -> pop3 box -> wordpress -> forum -> mailman. All moderation would be done in wordpress.
- P2+M1+W1: users post to the mailman list. The wordpress cron task checks the pop3 of an email address subscribed to the mailman list. Any messages that didn’t originate in wordpress (check custom headers to find this), get inserted into the forums. So for a user posting by email, the route is user -> mailman -> wordpress -> forum . Moderation would have to be split across wordpress and mailman. This is bad.
- P2+M1+W2: users post to the mailman list. All forum posts are intercepted, and held from appaering on the forum until they go via the mailing list. So, as above, for a user posting by email, the route is user -> mailman -> wordpress -> forum. And for a user posting by web, the route is user -> wordpress -> mailman -> forum . For list administrators & moderators used to the mailman moderation interface, this will offer the path of least resistance.
I think those are the options, anyway.
**(let’s keep it simple with just one of each, for now)
*** we’ll get to posting and reading by IMAP, SMS, twitter or carrier-pigeon later. One thing at a time, drak it.