Ticket #13276 (confirmed Bug)
Better contentRules add-on for plone.org
Reported by: | eleddy | Owned by: | aclark |
---|---|---|---|
Priority: | minor | Milestone: | 4.x |
Component: | Website | Version: | 4.2 |
Keywords: | Cc: |
Description
I'm on a mission to automate some of these foundation board tasks such as emailing agenda items and meeting notes automatically. This accomplishes the task of making sure it never gets dropped and continues throughout multiple boards.
We have noticed that if people actually read the minutes in email vs having to click through for example, then there is more openness and responsiveness. Adding a simple content rule to auto email published agendas and minutes will be a good start. Content rules doesn't support htis OOB.
I *think* that http://pypi.python.org/pypi/collective.contentrules.mail/ will do this. We just need support for emailing the body of a content item. The other options seem nutty. Will also use this for the contrib agreement process.
If you can add this to plone.org buildout and rerun so its available I would be fantastically happy! Then reassign to me and I'll make sure the rule is applied properly.
Thanks in advance!!
Change History
comment:2 Changed 3 years ago by aclark
This thing is old:
$ vanity collective.contentrules.mail collective.contentrules.mail-0.2.tar.gz 2009-03-24 607 collective.contentrules.mail-0.3.tar.gz 2009-03-24 771 collective.contentrules.mail-0.4.tar.gz 2009-09-06 1,382
And blows up in Plone 4.2.x:
aclark@Alexs-MacBook-Pro:/var/folders/ks/sh5b4vj13q7_clr_h8tt0vj00000gn/T/tmpIRz5_I/ > bin/plone fg 2012-10-17 20:10:43 INFO ZServer HTTP server started at Wed Oct 17 20:10:43 2012 Hostname: 0.0.0.0 Port: 8080 2012-10-17 20:10:45 WARNING SecurityInfo Conflicting security declarations for "setText" 2012-10-17 20:10:45 WARNING SecurityInfo Class "ATTopic" had conflicting security declarations 2012-10-17 20:10:46 WARNING ZODB.blob (23358) Blob dir /private/var/folders/ks/sh5b4vj13q7_clr_h8tt0vj00000gn/T/tmpIRz5_I/var/blobstorage/ has insecure mode setting 2012-10-17 20:10:46 INFO collective.contentrules.mail Logging level set to INFO Traceback (most recent call last): File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/Zope2/Startup/run.py", line 76, in <module> run() File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/Zope2/Startup/run.py", line 22, in run starter.prepare() File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/Zope2/Startup/__init__.py", line 86, in prepare self.startZope() File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/Zope2/Startup/__init__.py", line 259, in startZope Zope2.startup() File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/Zope2/__init__.py", line 47, in startup _startup() File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/Zope2/App/startup.py", line 118, in startup load_zcml() File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/Zope2/App/startup.py", line 52, in load_zcml load_site() File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/Zope2/App/zcml.py", line 46, in load_site _context = xmlconfig.file(site_zcml) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 649, in file include(context, name, package) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include processxmlfile(f, context) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile parser.parse(src) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse self.feed(buffer) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 349, in end_element_ns self._cont_handler.endElementNS(pair, None) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS self.context.end() File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end self.stack.pop().finish() File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish actions = self.handler(context, **args) File "/Users/aclark/Developer/eggs-directory/Zope2-2.13.16-py2.7.egg/OFS/metaconfigure.py", line 46, in loadProducts xmlconfig.include(_context, zcml, package=product) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include processxmlfile(f, context) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile parser.parse(src) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse self.feed(buffer) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 349, in end_element_ns self._cont_handler.endElementNS(pair, None) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS self.context.end() File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end self.stack.pop().finish() File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 706, in finish actions = self.handler(context, **args) File "/Users/aclark/Developer/eggs-directory/z3c.autoinclude-0.3.4-py2.7.egg/z3c/autoinclude/zcml.py", line 104, in includePluginsDirective includeZCMLGroup(_context, info, filename) File "/Users/aclark/Developer/eggs-directory/z3c.autoinclude-0.3.4-py2.7.egg/z3c/autoinclude/zcml.py", line 30, in includeZCMLGroup include(_context, filename, includable_package) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 548, in include processxmlfile(f, context) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile parser.parse(src) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse self.feed(buffer) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/sax/expatreader.py", line 349, in end_element_ns self._cont_handler.endElementNS(pair, None) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS self.context.end() File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 558, in end self.stack.pop().finish() File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 705, in finish args = toargs(context, *self.argdata) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 1397, in toargs args[str(name)] = field.fromUnicode(s) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/fields.py", line 137, in fromUnicode value = self.context.resolve(name) File "/Users/aclark/Developer/eggs-directory/zope.configuration-3.7.4-py2.7.egg/zope/configuration/config.py", line 179, in resolve mod = __import__(mname, *_import_chickens) File "/Users/aclark/Developer/eggs-directory/collective.contentrules.mail-0.4-py2.7.egg/collective/contentrules/mail/vocabulary.py", line 20, in <module> from zope.app.schema.vocabulary import IVocabularyFactory zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/private/var/folders/ks/sh5b4vj13q7_clr_h8tt0vj00000gn/T/tmpIRz5_I/parts/plone/etc/site.zcml", line 16.2-16.23 ZopeXMLConfigurationError: File "/Users/aclark/Developer/eggs-directory/Products.CMFPlone-4.2.1.1-py2.7.egg/Products/CMFPlone/configure.zcml", line 102.4-106.10 ZopeXMLConfigurationError: File "/Users/aclark/Developer/eggs-directory/collective.contentrules.mail-0.4-py2.7.egg/collective/contentrules/mail/configure.zcml", line 11.2-14.6 ImportError: No module named schema.vocabulary
Is it worth fixing? If so, I'll take a look. Also, you know there are two similar add-ons installed already right?
'collective.contentrules.mailtogroup', 'collective.contentrules.mailtolocalrole',
comment:4 Changed 3 years ago by eleddy
- Owner changed from eleddy to aclark
I'm unfortunately not surprised. thanks for checking.
I basically just need to include the body of a f*cking page in a mailto. don't worry about fixing that old thing, although I need to refind who recommended that and fix it. Suggestions? It seems like this should be pretty easy and maybe I'm just being retarded. I basically want ${text}
THanks!
comment:6 Changed 3 years ago by aclark
Content-rule-fu is not popping in to my head at the moment, but I certainly don't mind fixing old add-ons, so maybe I'll take a look.
As for ${text}, maybe I'll play with some content rules at which point it will probably come to me. We can certainly implement this before the time of the next Board meeting (every 2 weeks?)
comment:7 Changed 3 years ago by eleddy
if you can do this, it would save me a thousand headaches AND we can use it for many different tasks. Board meeting today and then at the next one is in two weeks, yes. No rush of course, but just means we can automate this process faster and move on to more important things.
THANKS!!!!
comment:8 follow-up: ↓ 9 Changed 3 years ago by ida
Hi, I extended c.c.mailtogroup to be able to substitute the text-field-variable, please have a look, it is checked-in in svn-trunk and I have asked the mentioned author 'K. C. Leong' to consider a release. Best regards, Ida
comment:9 in reply to: ↑ 8 Changed 3 years ago by eleddy
Replying to ida:
Hi, I extended c.c.mailtogroup to be able to substitute the text-field-variable, please have a look, it is checked-in in svn-trunk and I have asked the mentioned author 'K. C. Leong' to consider a release. Best regards, Ida
Ida! holy awesome! Can you post a link to this and I'll look asap?
comment:10 Changed 3 years ago by ida
Thanks for reviewing!
https://svn.plone.org/svn/collective/collective.contentrules.mailtogroup/trunk
Changes were made only in mailtogroup/actions/mail.py
Also I set the recipients to 'Bcc' and not in 'To', assuming we don't want the recipients to see all the adresses in a mail-header. Please let me know if this is reasonable for you, too.
comment:11 Changed 3 years ago by ida
Hi Liz, collective.contentrules.mailtogroup has been released today with the text-variable added, version is 1.3, just add it to your buildout's egg-section. Cheers Ida
On it