当通过“共享”选项卡更改内容的角色时,我希望触发邮件。如何做到这一点?我知道如果修改对象会触发邮件,但如果更改/添加权限则不会。
2 回答
通过您的自定义插件自定义 Plone http://collective-docs.readthedocs.org/en/latest/getstarted/index.html
您可能需要修补共享选项卡以触发在保存共享选项卡时触发的自定义事件。
活动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
内容规则框架建立在 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" />
创建可由新事件类型触发的条件。此过程记录在此 Plone.org 知识库文章中。