0

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

4

2 に答える 2

1

カスタムアドオンで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

于 2012-07-24T07:43:46.187 に答える
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. 新しいイベントタイプによってトリガーできる条件を作成します。この手順は、このPlone.orgナレッジベースの記事に記載されています

于 2012-07-24T07:49:06.733 に答える