如果内容的角色发生变化,我们如何执行操作?

时间:2012-07-24 05:49:50

标签: python plone

我希望在通过“共享”标签更改某段内容的角色时触发邮件。怎么能实现这一目标?我知道如果对象被修改则触发邮件,但如果更改/添加权限则不知道。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

内容规则框架基于Zope事件;当内容被修改时,发送一个事件,并且内容规则订阅该事件,通知并执行配置的操作。

不幸的是,共享选项卡和底层的Zope访问控制框架都没有发出事件(Zope的部分事件发布前几年)。

你必须:

  1. 自定义“共享”标签视图(plone.app.workflow.browser.sharing),以便在添加或删除角色时发出自定义事件。

  2. 使用内容规则引擎注册此事件类型;您需要使用IRuleEventType注册事件界面:

     <interface
      interface="your.package.interfaces.IRolesChangedEvent"
      type="plone.contentrules.rule.interfaces.IRuleEventType"
      name="Roles added or removed on this object"
      />
    
  3. 创建可由新事件类型触发的条件。此过程为documented in this Plone.org knowledgebase article