opencore-listen is a mailing list management application that integrates into the Plone Content Management System. It is based on the venerable MailBoxer Zope Product by Maik Jablonski, and offers most of the features of that product.
This product makes heavy use of Zope3 features within Plone via Five; it uses views, adapters, Zope3 schemas (add and edit views), local utilities, factories, and events. It is not an ideally componentized application because of its dependence on MailBoxer, which is used as the base class for the primary content type, and provides more logic/functionality than an ideal content class would. Hopefully, those parts which make heavy use of Five technologies can serve as a helpful example for those intending to use Five in their own products.
Here are some key features of "opencore-listen":
· Easily create mailing lists through the Plone interface.
· Lists may be moderated or unmoderated, open to all or restricted to subscribers only.
· Optional archiving of mail with or without attachments.
· Fully threaded archive display, including a forum-like view.
· Portal members and visitors can easily subscribe/unsubscribe themselves through the Plone interface.
· Each list maintains its own catalog featuring a full text index of messages.
· Members can make responses with quotation to archived messages through the Plone interface.
· Automatic masking of member email addresses with links to author pages.
· Provides a registry of lists on a Zope instance allowing lists to be added without any additional SMTP server configuration.
· Performs well due to use of simple Zope types and z3/Five techniques. Capable of higher mail volume that MailBoxer itself, and much greater volume than Archetypes-based mailing list systems.
· Plone CMS
· Five 1.4
· ManagableIndex 1.1
What's New in This Release: [ read full changelog ]
· Port from opencore's override of the csv exporter: optionally include allowed senders in export; and always include a final item in each row of the CSV, describing the user's subscription-status.
· Add export_messages_to_tempfile method on export utility which writes the messages' mbox to a tempfile and returns the (tmpfd, tmpfilename) -- this is better than writing to memory for lists with large archives. (Code written by slinkp in opencore -- i'm moving it to listen)
· Make "confirm-member" behavior consistent with "subscribe" behavior: on a non-member-moderated list, both actions should allow the confirmation email to come from a different address than the original message, provided the subject is left intact (including both the pin and the original sender) * Handle non-ASCII characters in message subject
· Fix moderation queue when non-ASCII emails are queued