CMFNotification is a Plone product that allows users to be notified when various events occur in the portal: item creation or modification, workflow actions, etc.

## Project description

CMFNotification is a Plone product that allows users to be notified when various events occur in the portal:

• when an item is created or copy-pasted;
• when an item is modified;
• when a workflow transition occurs.

Other notifications might be implemented but, for now, only the three above can be safely used. (In other words, do not trust the configuration form, which includes for example fields for discussion notification, although it is not implemented.)

• rules to decide who should be notified;
• rules to decide what mail template to use.

Besides these rules, CMFNotification handles extra subscription to any portal item. This allows authenticated users to subscribe to an item and receive notification, if the notification policy does not already include him/her in the list of notified users. These extra subscription may be recursive: if so, an user which has subscribed to a folder is notified for any event which occurs on the folder and any of its items (including its subfolders, etc.).

## Dependencies

This version of CMFNotification runs on Plone 3.3 and Plone 4. It should also run on Plone 3.0 to 3.3 (automated tests are not run on those versions). However, it does not run on Plone 1.x and 2.x.

Despite the name, this product may not work in a pure CMF portal. Minor changes may be needed. I thought about having an implementation which works for pure CMF portals, hence the name. However, use-cases rules and I did not have any pure CMF use-case… This may or may not happen in the future.

Important note: please note that the standard Secure MailHost (which is shipped with Plone) and its base product (MailHost) are not intended to send a lot of emails. It is highly suggested to install MaildropHost if you are about to do so.

## Installation and configuration

See doc/install.txt.

## Troubleshooting and bug report

See doc/how-to-troubleshoot.txt. Patches are welcome.

## Documentation

Documentation is located in the doc folder. Start by doc/index.txt. It is also mirrored on CMFNotification home page on plone.org.

## Credits

This product has been partially sponsored by Pilot Systems.

The following people have developed, given help or tested this product:

• Damien Baty (damien DOT baty AT gmail DOT com): original author, tests, documentation, maintenance;
• Kurt Bendl: better uninstallation;
• Jan-Carel Brand: eggification;
• Alex Garel: “labels” feature;
• Gaël Le Mignot (gael AT pilotsystems DOT net - Pilot Systems): bug fixes;
• Gaël Pasgrimaud: bug fixes, insightful comments and default mail templates in the early days.

Translations:

• Gunter Vasold (gunter DOT vasold AT fh-joanneum DOT at - FH Joanneum): translation in German;
• Júlio Monteiro (monteiro AT lab DOT pro DOT br): translation in Brazilian Portuguese;
• Leonardo caballero: translation in Spanish;
• Victor Fernandez de Alba: translation in Catalan.

## Changelog

### 2.2 (29 March 2011)

• Minor tweaks to the README and the setup.py files. [dbaty]

### 2.2 release candidate 2 (6 January 2011)

• fixed a bug that made impossible to subscribe to the default “Events” and “News” collections and, more generally, to any folderish item that was selected as the default page of its parent. [dbaty] (issue #32)
• added translation in Catalan [sneridagh]

### 2.2 release candidate 1 (30 December 2010)

• worked around a nasty bug that caused the portal to be broken when CMFNotification was uninstalled and a subscription portlet was still configured somewhere;
• cleaned uninstallation through a GenericSetup profile. [kurt]
• updated tests for Plone 4. [dbaty]
• fixed default notification templates to have them work in Plone 4 (and still in Plone 3) [dbaty]

### 2.2a1 (21 April 2010)

• Registered the permission in zcml and call setDefaultRoles in __init__.py. [jcbrand]

### 2.2dev1 (25 February 2010)

• The svn repository for the new eggified package has changed: http://svn.plone.org/svn/collective/Products.CMFNotification [jcbrand]
• Remove the creation/registration of the PTSTranslationDomain utility. It has been deprecated in favour of zope.18n.translationdomain.TranslationDomain [jcbrand]

### 2.1 (4 July 2008)

• added safety belts for perverted usage;
• added AJAX features in the subscription portlet: if the user has enabled Javascrpt, the page is not refreshed when (s)he presses the subscribe/unsubscribe button;
• rewrote overly complicated _getPreviousVersion() method.

### 2.0 (24 June 2008)

• finally provided an implementation for the previous binding that will let integrators display changes in notification template when an item is modified;
• added handler for item copy/paste, which now triggers “item creation” rules;
• moved installation code to Generic Setup steps;
• added an old Brazilian Portuguese translation contributed by Julio Monteiro;
• added labels on users selection rules so that different e-mails can be sent on the same action;
• fixed an i18n bug in the portal status messages generated by the subscribe/unsubscribe buttons in the portlet;
• added import/export mechanism for Generic Setup;
• changed the method that retrieves the mail template: by using restrictedTraverse() instead of getattr(), we now allow the template to be a browser view;
• replaced title by Title in default mail templates (thanks to Martin Stadler for his bug report);
• added safety belt when we cannot fetch an user’s e-mail address (thanks to Laurence Pawling for his bug report);
• header encoding function is now more robust and handles more fields (including From, which it did not handle);
• header encoding function now encodes only headers. It used to be a bit greedy and could possibly encode the message itself, leading to funny text, though not really readable;
• fixed uninstallation issues (CMFNotification used to leave remnants of itself);
• fixed a bug that caused bindings not to be included in mail templates options;
• added current_state binding for all rules and mail templates;
• “Mail subscription” portlet is now automatically added when the product is installed;
• minor changes in tests and documentation.

### 2.0 release candidate 1 (unknown release date)

• CMFNotification now requires Plone 3. It is not compatible with prior versions of Plone anymore;
• new, simplified, text-only notification mail templates. If you have a CMFNotification 1.x notification templates, they may still work, though.

### 1.1 (14 September 2007)

• added how-to’s, arranged documentation and converted it to reST.
• fixed a bug which caused CMFNotification to ask the user to download a file when (s)he subscribes or unsubscribes to it. Thanks to Christophe Sauthier for the patch.
• added translation in German, thanks to Gunter Vasold.

### 1.0 (28 August 2007)

• added debug properties to the configuration.
• added Maildrop Host in list of recognized mailhost types.
• removed useless sendTemplateTo() method from notification tool.
• stripped rule components so that we can now write rules which are readable, like * :: * instead of the ugly *::*.

### 0.9.0 (4 June 2006)

First public release.

## Project details

Uploaded source