[共有] タブでコンテンツの役割が変更されたときに、メールをトリガーしたいと考えています。これはどのように達成できますか?オブジェクトが変更された場合にメールがトリガーされることは認識していますが、権限が変更/追加された場合はそうではありません。
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ナレッジベースの記事に記載されています。