• Listen Specification

last modified October 8, 2008 by sonali



Admin - defined by having the permission "listen:edit mailing list" for that particular list; an admin can make other people admins; an admin can set the archival method and can edit the allowed senders / subscribers; admins receive moderation requests and any bounced mail.  When there is more than one admin for a list, the first admin to act seals the fate of the request.  The admins for a list will receive general inquiries to listname-admin@lists.openplans.org.

Subscriber - Someone whose email or ID is registered with the list and who receives emails from it.­

Allowed Sender - Someone whose email or ID is registered with the list and so is allowed to post to the list.  All Subscribers are Allowed Senders.

Stranger - Someone who is not registered with the list. 

­List Types ­

type membership messages UI moderation tabs
Public open unmoderated no moderation tabs
Post-Moderated open moderated post moderation
Membership-Moderated applications are moderated unmoderated membership moderation

- Stranger postings-by-email get an auto-response allowing the stranger to confirm their email to become an Allowed Sender / Subscriber.  If a set length of time elapses without the Stranger doing this, the admin is notified that a stranger has posted a message (with message attached).  The admin can then go to the site and make the Stranger an Allo­wed Sender (implicitly accepting the message), or discard the message. Stranger postings-TTW get accepted immediately if the Stranger is logged in. 

Post-Moderated (Announce List) - All postings get an auto-response notifying them that their message is waiting approval and, if applicable, inviting the sender to become a subscriber.  The admin is notified immediately that a post has been made (with message attached) and can accept, reject, or discard the message.  The sender is only notified if the message is rejected (can include a custom message from the admin).

Membership-Moderated (Members List) - Applications to become a subscriber get an auto-response notifying them that their request is waiting approval.  Strangers who post to the list will get an auto-response saying that their post is waiting approval; admins receive the post attempt; admin can choose to add the person as an Allowed Sender which, in effect, pre-approves them as a Subscriber and the message goes through; or, the admin can reject or discard the message.  The sender is notified if the message is rejected but not if it is discarded.

List Archive


Each list has an archival setting.  When archiving is enabled, all messages sent to the list will be saved on the server. You may choose whether to archive just the message text, or include attachments.  The archive can be viewed by thread, date, or author

Lists have an option about whether or not to expose the list archives to people who are not members of the list.  The default behavior is implied by the contextual Zope security but the list setting can adjust this for the archive directly.  (Note that this will probably be more useful and more widely used to hide the archive of what would otherwise be publicly visible than vice-versa.)

Archives have gmail-style quoting of commented text in message.  Message footers and DSPAM tags are removed from the archived versions of messages.

OpenPlans Interaction

  • Merge listen into openplans setting. This involves, at least, porting openplans listen setup to generic setup.
  • The security policy on the project will inform the default list type (Open project -> Public list, etc.) and defaults for other settings
  • list names are restricted to have project names in them. On project creation, a list is created with the same name as the project.
  • project members can be subscribed to lists within the project by the admin without confirmation
  • when someone joins openplans (becomes a user), their email address(es) are searched for in all lists and their user id is subscribed in its place
  • member/email association will occur in openplans membership management.
  • when a new list is created, an option will be presented to invite the team members of that project and other email addresses to the list
  • anytime anyone registers an email address, it should check to see if there is an associated openplans id that should be registered in place; we need to talk to Rob Miller about Openplans IDs associated with email addresses (identities and sub-identities created with email addresses)
  • you can copy the project roster to the membership data of a list

Other Features

  • listen enforces a sending size and an attachment size limit
  • each list has a reply-to setting
  • ability to search
  • we need a UID adapter for each listen content type so that we can link directly to a list from wicked docs see here; wicked links to messages are less useful because it is hard to uniquely identify a message, also, it is easier to identify messages by absolute url and for these an external link could be used
  • subscribed addresses that bounce messages (more than n times) are added to a 'bounce' list and are skipped from subsequent messages; there is an admin interface that admins can use to reactivate one of these 'bouncing' addresses
  • there's some rapid sending protection that disables posts from addresses that attempt to post 12 messages in 600 s
  • you can copy the membership data from one list to a new list and then make modifications
  • notification email messages can appear in appropriate languages via i18n

UI Interfaces Needed

Here are some interfaces we shouldn't forget to include:

  • we need a TTW interface for anyone to add an email as a subscriber (on member moderated lists these will be requests that must be approved)
  • we need to allow an admin to bulk add a team or email addresses (email addresses can be comma or semicolon separated in the various email string formats used by mail apps today)
  • A stranger can become a subscriber by applying TTW or with an email request
  • a search interface
  • an interface to add individuals to multiple mailing lists at once

Deferred Ideas

Ideas from the BBQ Sprint

  • logging for how messages are handled
  • custom messages for lists, set by list admins; custom boilerplates etc.
  • save names with emails for people without plone ids and display it in admin interfaces
  • verify user pin against list of pins, so user can verify any pin that was given, instead of just last one
  • Josh's idea: say what email is subscribed to the list in the footer of the message sent