Send e-mail to users having a role on the object
Using content rules (available since Plone 3) it's very easy to register for certain events and perform actions upon occurrence. One of these actions provided by Plone is a mail action.
A limitation in the supplied mail action is that one can only provide fixed email addresses. But sometimes you'd like to send an email to a user having a certain role on the object that was involved in triggering the content rule.
An examplary use case and reason for creation of this package is the reviewer role. If an object in a certain location of the site is submitted for publication, you would like to inform the user that has the 'reviewer' role on this area of the site that a new document/object is available for review.
Before contentrules was available in Plone the place to add this functionality was to to create a python script and attach it to the workflow 'submit' transition that was used for the objects.
This product supercedes collective.contentrules.mailtolocalrole. Extending that product's functionality with sending mail to global roles made it logical to rename the package.
Add collective.contentrules.mailtorole to your buildout as an egg or from source. No (generic setup) installation is necessary.
Go to the Plone Control Panel, select Content Rules and add a new Rule. Under 'actions' you now have a new option: Send email to users with role.
The checkboxes "Acquire roles" and "Global roles" are worth noting:
- If both are unchecked, mail will only be sent to members having a local role on the object.
- Checking "Acquire roles" will also send mail to users that have acquired the specified role from a parent of the object, ie. from higher up in the site.
- Checking "Global roles" will also send mail to users that have the specified role globally, that is in the entire site.
Most of this package has been directly copied from the plone.app.contentrules mail action. Additions have been made to check for directly assigned local roles, acquired roles, global roles, fetching the e-mail To addresses from the user objects, modification of the control panel action, translations and tests.
- Updated message and title to stringinterpolation, like in plone.app.contentrules
- Moved to https://github.com/collective/collective.contentrules.mailtorole [maurits]
- Fix Plone3 compatibility [toutpt]
- Add french translation [toutpt]
- Check if member exists before getting mailaddress [gborelli]
- Add checkbox for including members with global roles in mail (fixes http://plone.org/products/collective-contentrules-mailtolocalrole/issues/4) [khink]
- Rename to collective.contentrules.mailtorole
Prior to version 1.3, the product was called collective.contentrules.mailtolocalrole. That product's history is included below for completeness.
- use z3c.autoinclude plugin
- Plone 4.1 compatibility (fixes http://plone.org/products/collective-contentrules-mailtolocalrole/issues/5) [khink]
- Fix the email from header that is generated from the portal owner if no from address is specified. Backported from plone.app.contentrules 4.0.2 [fredvd]
- Add subgroups support. If a group contains a subgroup that has members, these members will also be checked for having the local role. [lzdych]
- Fixed error when used on Plone 4: passing 'From' to secureSend is not needed in Plone 3 and breaks in Plone 4. [maurits]
0.7 (2008-12-05 Sinterklaas)
- Added Italian localization [paulox]
- Added Owner to role's vocabulary [paulox]
- Add check for empty user email address [fredvd]
- If the localrole is added to a group, add all members of that group to the recipients list [Craig Swank]
- Fixed and added tests [fredvd]
- Updated locales [fredvd]
- Add locales [fredvd]
- Fix acquired roles checking & look up email addresses [fredvd]
- Add checking for acquired roles [fredvd]
- Import basic version from a client project [fredvd]
Released Feb 14, 2013 — tested with Plone 4.1, Plone 4.2
- Get collective.contentrules.mailtorole for all platforms
- If you are using Plone 3.2 or higher, you probably want to install this product with buildout. See our tutorial on installing add-on products with buildout for more information.