Deme Email integration plan

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.

For Internet Explorer users: Click on the Tools menu, located at the top of your browser window. When the drop-down menu appears, select the option labeled Full Screen.

For Chrome users:Click on the Chrome "wrench" icon, located in the upper right hand corner of your browser window. When the drop-down menu appears, select the choice labeled Full Screen.

For Firefox user:Click on the View menu, located at the top of your browser window. When the drop-down menu appears, select the option labeled Full Screen.

For Safari users: Safari currently does not support the ability to go fullscreen.