問題

ワークフローでルールがどのように動作するか、およびどのように使用されているかを把握する必要があります。

解決策

ワークフローのルールは、XOR の分割に使用されます。
XOR の分割でワークフローを処理する場合は、(すべての平行手順を完了する必要がある AND 分割を使用するワークフローに対して)平行手順に使用可能なルート(切り替え)の 1 つを選択する必要があります。
ルートのルールを使用してこのルートをルートセレクターに表示するかどうかを定義できます。

ルールは、ロジックを実装できる関数 check() を持つ /etc/workflow/scripts にある ECMA スクリプトである必要があります。関数はブール値を返す必要があります。
使用可能なオブジェクトは次のとおりです。

非常に単純な例のルールスクリプトは、ワークフローの現在のページが geometrixx の会社ページであるか子ページであるかを確認します。

* 
 * Example WF Rule. 
 * ECMA function with a method called check
 * 
 * This function checks if the current page in workflow is in the company tree
 * of geometrixx... 
 *
 * Available Objects:
 * - workflowData: 
 * - jcrSession: 
 * - workflowSession:
 */
function check() {
    log.info("executing script now...");
    if (workflowData.getPayloadType() == "JCR_PATH") {
         var path = workflowData.getPayload().toString();
         var node = jcrSession.getItem(path);
         
         if (node.getPath().indexOf("/content/geometrixx/en/company") >= 0) {
            return true;
         } else {
            return false;
         }  
     } else {
        return false;
     }
}

添付ファイルとしてこのスクリプトを使用するパッケージ(ExampleRuleWorkflow-1.0-1.zip)と、XOR 分割上の 1 つの手順の Step 1 および 2 つの平行手順の Left Step および Right Step を使用する例のワークフローを検索します。
Step 1 から Left Step へのルート(切り替え)が上のスクリプトを持つルートにあります。
Step 1 でワークフローを開始し、常に Right Step へのルートを選択できる場合は、ワークフローの現在のページに依存しません。
ワークフローの現在のページが geometrixx の会社ページまたは子ページである場合のみ、Left Step へのルートが使用可能です。

適用対象

CQ5.2+

ダウンロード

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー