我希望在通过“共享”标签更改某段内容的角色时触发邮件。怎么能实现这一目标?我知道如果对象被修改则触发邮件,但如果更改/添加权限则不知道。
答案 0 :(得分:1)
通过自定义插件http://collective-docs.readthedocs.org/en/latest/getstarted/index.html
自定义Plone您可能需要修补共享选项卡以触发保存共享选项卡时触发的自定义事件。
活动http://collective-docs.readthedocs.org/en/latest/components/events.html
此自定义可以通过
完成覆盖http://collective-docs.readthedocs.org/en/latest/components/zcml.html#overrides
或猴子修补http://collective-docs.readthedocs.org/en/latest/misc/monkeypatch.html
然后为自定义事件创建内容规则条件:
http://plone.org/documentation/kb/creating-content-rule-conditions-and-actions/adding-the-condition
答案 1 :(得分:0)
内容规则框架基于Zope事件;当内容被修改时,发送一个事件,并且内容规则订阅该事件,通知并执行配置的操作。
不幸的是,共享选项卡和底层的Zope访问控制框架都没有发出事件(Zope的部分事件发布前几年)。
你必须:
自定义“共享”标签视图(plone.app.workflow.browser.sharing
),以便在添加或删除角色时发出自定义事件。
使用内容规则引擎注册此事件类型;您需要使用IRuleEventType
注册事件界面:
<interface
interface="your.package.interfaces.IRolesChangedEvent"
type="plone.contentrules.rule.interfaces.IRuleEventType"
name="Roles added or removed on this object"
/>
创建可由新事件类型触发的条件。此过程为documented in this Plone.org knowledgebase article。