Proposal after discussion with Mike, Noam, Jimmy, Chris, and Joe (updated by Todd, 6/4/2011)
Sending addresses for Agents
*When an agent posts a comment via the website, agent selects FromContactMethod from available EmailContactMethods. If none exist, default is a no-reply email address with a null field for FromContactMethod.
Subscribed item prefix option for Subscriptions
* Subscription has email_includes_subject_prefix field. If true, then subject lines of messages sent through a subscription will include a prefix showing the email list name of the subscribed item responsible for sending the message to the agent.
Email lists
* Folio will be the default way people create email lists / discussions. It unites message board and email list as concepts.
* Folio has email_list_name field which, when prepended to @<domain> replaces the automatically assigned "To:" address for messages to the Folio
* Item has email_sets_reply_to_all_subscribers field (advanced field). If true, reply goes to sender and all subscribers, else just sender. Default just sender.
* A Group can have more than one Folio
Email header fields for email lists (sent through Folio subscriptions)
* From: <sending address>@<domain>
** NOTE: Bounce if comment is posted via email from an address that is not a valid EmailContactMethod for an agent with permission to make the comment
* To: <email list name>@<domain>
* Email list name defaults to item-[itemid] or comment-[itemid] if not defined or not a folio.
* Reply-to: <sender address> or <sender and subscribers to Comment-<id>>@<domain>
* Subject: {[<email list name>]} <comment title>
* Subject is based on the item we're subscribed to (user will get multiple subscription emails if they are subscribed via multiple subscriptions). Prefix defaults to [item name] if there is no email_list_name or not folio, truncated to 15 characters (settable by a DemeSetting).
** NOTE: Use same comment title on subject line for all posts in thread, even if user changes comment title for follow-up comments. Title of follow-up comments can be given at the start of the body of the email message when it differs from the initial comment title.
* NOTE on Reply-all: If Reply-to goes to sender and subscribers to comment, then Deme bounces back a message to sender explaining that we don't allow replies to both an email list and a comment, and instructing them how to post either to the comment or to the list directly.
** Change proposed by Todd after discussion with Noam, Chris, Jimmy, and Joe: Instead of bouncing message to sender on Reply-all when Reply-to goes to sender and subscribers to comment, do the following: (1) Check To: line on incomping messages to see if comment has been sent to both the email list address and the sender and subscribers to the comment: (2) If both addresses are included, (a) post the comment only to the comment thread where it belongs, (b) note the message-ID, and (c) discard subsequent received messages with the same message-ID (i.e. the second message received in the case of one sent to two list addresses.
Keeping track of who sent the comment
* When someone posts a comment from email, it associates the email contact method with that comment (already works)
* When someone posts a comment from the website, it associates the FromContactMethod with that comment.
Longer term idea
* Each agent has a message box that unifies the subscribed to comments they have received together with personal messages.
* Subscription could specify an EmailContactMethod, message box, or both
* Message box would be organized so the user could separate comments by group, etc.