Ticket #13276 (confirmed Bug)

Opened 3 years ago

Last modified 3 years ago

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:1 Changed 3 years ago by aclark

On it

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:3 Changed 3 years ago by aclark

  • Owner changed from aclark to eleddy

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:5 Changed 3 years ago by kleist

  • Status changed from new to confirmed

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.

Last edited 3 years ago by ida (previous) (diff)

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

Note: See TracTickets for help on using tickets.