現在表示中:

ワークフローを開始したときに実行される一連のステップを定義するには、ワークフローモデルを作成します。ワークフローを開始すると、その時点のワークフローモデルをコピーしたインスタンスが起動されます。

初めて作成する新しいワークフローモデルには、次のものが含まれています。

  • フロー開始ステップとフロー終了ステップ。
    これらのステップは、ワークフローの始まりと終わりを表します。これらのステップは必須で、編集または削除できません。
  • Step 1 という名前のサンプルの参加者ステップ。
    このステップは、作業項目を管理者ユーザーに割り当てるように設定されています。このステップを編集または削除し、必要に応じてステップを追加します。

新しいワークフローの作成

新しいワークフローの作成 - タッチ操作向け UI

  1. ワークフローモデルコンソールを開きます。次に例を示します。

    http://localhost:4502/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models

  2. 作成」を選択してから、「モデルを作成」を選択します。

  3. ワークフローモデルを追加ダイアログが表示されます。「タイトル」と「名前」(オプション)を入力してから、「完了」を選択します。

  4. 新しいモデルがワークフローモデルコンソールに表示されます。

新しいワークフローの作成 - クラシック UI

  1. ワークフローコンソールを開きます。例えば、http://localhost:4502/libs/cq/workflow/content/console.html を開きます。
  2. 「モデル」タブで、「新規」をクリックします。新しいワークフロー ダイアログが開きます。
  3. ワークフローのタイトルを入力して、「OK」をクリックします。
  4. 新しいモデルが「モデル」タブに表示されます。
  5. モデルを選択し、編集」をクリックすると、モデルが設定のために開かれます

既存ワークフローの編集

既存ワークフローを編集する方法は、ワークフローの作成とほとんど変わりません(「作成」または「新規」を選択した後の手順は同じです)。この場合も、実際の手順は使用する UI によって異なります。

警告:

ワークフローに変更を加える際は、個々のダイアログ(ステップ用など)に独自の保存オプションがある場合でも、(エディターツールバーの左側にある)「保存」を使用して、ワークフローモデルに対する変更を保持する必要があります。

警告:

標準提供のワークフローを編集することはお勧めしません。それは、何らかの更新(アップグレード、サービスパック、フィーチャーパック、ホットフィックスなど)を適用した後に編集内容を適用し直す必要が生じる可能性があるからです。 

ワークフローモデルを複製して変更するか、特定のシナリオではオーバーレイを使用することをお勧めします。例については、例:アクティベーション用にカスタマイズされたリクエストを参照してください。

一時的ワークフローの作成

新しいモデルを作成するときに、または既存のモデルに手を加えて、一時的ワークフローモデルを作成することができます。

  1. 使用する UI に応じて、ワークフローモデルを作成または編集します。

  2. サイドキックの「ページ」タブを選択し、「ページプロパティ...」を選択すると、ダイアログが開きます。

  3. ダイアログで、一時的ワークフローをアクティベート(または必要に応じてアクティベートを解除)します。

    chlimage_1
  4. OK」をクリックしてこの設定を保存し、(エディターツールバーの)「保存」をクリックしてワークフローモデルに対する更新を保存します。

注意:

ワークフローを一時的モードでした場合は、AEM にはワークフロー履歴が保存されません。したがって、そのワークフローに関連する情報は、タイムラインに表示されません。

マルチリソースのサポートのためのワークフローの設定

新しいモデルを作成するときに、または既存のモデルに手を加えて、マルチリソースのサポートのためのワークフローモデルを設定できます。

  1. 使用する UI に応じて、ワークフローモデルを作成または編集します。

  2. サイドキックの「ページ」タブを選択し、「ページプロパティ」を選択すると、ダイアログが開きます。

  3. ダイアログで、マルチリソースのサポートをアクティベート(または必要に応じてアクティベートを解除)します。

    chlimage_1
  4. OK」をクリックしてこの設定を保存し、(エディターツールバーの)「保存」をクリックしてワークフローモデルに対する更新を保存します。

(ワークフローの進行状況を表示する)ワークフローステージの設定

ワークフローステージは、タスクを処理するときにワークフローの進行状況を確認するのに役立ちます。

警告:

ワークフローステージがページのプロパティで定義されていても、いずれのワークフローステップでも使用されない場合は、(現在のワークフローステップに関係なく)進行状況バーに進行状況は表示されません。

使用可能なステージは、ワークフローモデルで定義されます。既存のワークフローモデルを更新すると、ステージの定義を含めることができます。ワークフローモデルに対して任意の数のステージを定義できます。 

ワークフローのステージを定義するには:

  1. 編集するワークフローモデルを開きます。

  2. ページのプロパティを開き、「ステージ」タブを開きます。

  3. 必要なステージを追加(および配置)します。ワークフローモデルに対して任意の数のステージを定義できます。

    次に例を示します。

    chlimage_1
  4. OK」をクリックしてプロパティを保存します。

  5. ワークフローモデルの各ステップにステージを割り当てます。 

    chlimage_1

    1 つのステージを複数のステップに割り当てることができます。次に例を示します。

    ステップ ステージ                              
    Step 1 作成                              
    Step 2 作成                              
    Step 3 レビュー                              
    Step 4 承認                              
    Step 5 承認                              
    Step 6 完了                              
    chlimage_1
  6. (エディターツールバーにある)「保存」をクリックして、ワークフローモデルに対する更新を保存します。

    警告:

    プロパティや個々のステップを設定したり、それらに対する更新を保存したりしても、「保存」をクリックしなければ、ワークフローモデルに対する更新は保持されません。

モデルにステップを追加

実行するアクティビティを表すために、ステップをモデルに追加する必要があります。各ステップは固有のアクティビティを実行します。標準の AEM インスタンスには、いくつかのステップコンポーネントが用意されています。 

モデルを編集するときには、ワークフローのサイドキックの「コンポーネント」タブに、使用可能なステップがグループ別に分類されて表示されます。

chlimage_1

注意:

AEM と共にインストールされる主なステップコンポーネントについては、ワークフローステップのリファレンスを参照してください。

ワークフローモデルへのステップの追加手順

  1. 編集するワークフローモデルを開きます。

  2. 必要なワークフローステップコンポーネントをサイドキックからモデルにドラッグします。コンポーネント上のチェックマークアイコンは、ドロップ可能な位置を示します。

    chlimage_1
  3. 実行時には、ステップがモデル内に配置されている順序で実行されます。いったん追加したステップコンポーネントを、モデル内の別の場所にドラッグすることもできます。

  4. (エディターツールバーにある)「保存」をクリックして、ワークフローモデルに対する更新を保存します。

    警告:

    個々のステップを設定したり、それに対する更新を保存したりしても、「保存」をクリックしなければ、ワークフローモデルに対する更新は保持されません。

ワークフローステップの編集

ステップのプロパティダイアログを使用すると、ステップコンポーネントを編集し、動作を設定およびカスタマイズできます。

  1. ステップに対応するステップのプロパティダイアログを開くには、次のどちらかを実行します。

    • ワークフローモデル内のステップをダブルクリックし、「編集」をクリックします。
    • ステップをダブルクリックします。

    注意:

    AEM と共にインストールされる主なステップコンポーネントについては、ワークフローステップのリファレンスを参照してください。

  2. 必要に応じてステップのプロパティを設定します。ステップのタイプによっては、複数のタブが表示されることがあります。例えば、新しいワークフローの「手順 1」に表示されるデフォルトの参加者ステップでは、次のようになります。

    workflowstepedit
  3. OK」をクリックして、ステップに対する更新を保存します。

  4. (エディターツールバーにある)「保存」をクリックして、ワークフローモデルに対する更新を保存します。

    警告:

    個々のステップに対する更新を保存しても、「保存」をクリックしなければ、更新はワークフローモデルに反映されません。

ワークフローのデバッグとテスト

ログファイルにデバッグメッセージを記録するように AEM を設定できます。

  1. Web コンソールの設定マネージャーを開きます。次に例を示します。

    http://localhost:4502/system/console/configMgr

  2. 注意:

    詳しくは、 ログ機能を参照してください。

  3. 作成が終了したら、「ログレベル」を「情報」に戻します。

新しいワークフローを、次のようにしてテストします。

  1. コンソールからワークフローモデルを開始します。
  2. ペイロードを定義して、「OK」をクリックします。
  3. ワークフローが進行するように、必要なアクションを実行します。
  4. ワークフローの動作中にログファイルを監視します。

注意:

ワークフローのデバッグ時に、ペイロード作成時のタイプと異なる各種ペイロードタイプを使用してワークフローをテストすることをお勧めします。例えば、アセットを処理するワークフローの場合、ページをペイロードとして設定して、ワークフローでエラーがスローされないことを確認します。

ワークフローを使用したフォーム送信処理

フォームを特定のワークフローで処理するように設定できます。ユーザーがフォームを送信すると、フォームの送信データをペイロードとして持つ新しいワークフローインスタンスが作成されます。

フォームを使用するためのワークフローの設定手順

  1. 新しいページを作成して、編集用に開きます。

  2. フォームコンポーネントをページに追加します。

  3. ページに表示された「フォームの最初」コンポーネントを編集します。

  4. ワークフローを開始」で、使用可能なワークフローの中から目的のワークフローを選択します。

    workfloweditform
  5. OK」をクリックして、新しいフォームの設定を確定します。

例:公開のリクエストを承認/拒否する(単純な)ワークフローの作成

ワークフロー作成の可能性をいくつか示すために、ここでは、公開例ワークフローのバリエーションを作成します。

  1. 新しいワークフローモデルを作成します。

    新しいワークフローには、次のステップが含まれます。

    • フロー開始
    • 手順 1
    • フロー終了
  2. Step 1 を削除します(この例には不適切なステップタイプです)。

    • ステップを右クリックし、「削除」をクリックします。アクションを確定します。
  3. サイドキックの「コンポーネント」タブのワークフローセクションから参加者ステップをワークフローにドラッグして、フロー開始フロー終了の間に配置します。

  4. 次のいずれかの方法でプロパティダイアログを開きます。

    • 参加者ステップを右クリックし、「編集」をクリックします。
    • 参加者ステップをダブルクリックします。
  5. 共通」タブで、「タイトル」と「説明」の両方に Validate Content と入力します。

  6. ユーザー/グループ」タブを開きます。

    • ユーザー/グループ」フィールドで「管理者admin)」を選択します。
    • ユーザーに電子メールで通知するために、電子メールをアクティベートします。
  7. OK」をクリックします。

    ワークフローモデルの概要に戻ります。ここで、参加者ステップが Validate Content という名前に変更されます。

  8. OR 分割をワークフローにドラッグして、「コンテンツを検証」と「フロー終了」の間に配置します。

  9. OR 分割を編集用に開きます。

  10. 次の設定をおこないます。

    • 共通:「2 ブランチ」を選択します。
    • ブランチ 1:「デフォルトのルート」を選択します。
    • ブランチ 2:「デフォルトのルート」を選択しません。
  11. OK」をクリックして、OR 分割に対する更新を保存します。

  12. 参加者ステップを左側のブランチにドラッグし、プロパティを開き、次の値を指定して、「OK」をクリックします。

    • タイトルReject Publish Request
    • ユーザー/グループprojects-administrators など
    • 電子メール:ユーザーに電子メールで通知するためにアクティベートします。
  13. プロセスステップを右側のブランチにドラッグし、プロパティを開き、次の値を指定して、「OK」をクリックします。

    • タイトルPublish Page as Requested
    • プロセス:「ページをアクティベート」を選択します。このプロセスは、選択されているページをパブリッシュインスタンスに公開します。
  14. (エディターツールバーにある)「保存」をクリックして、ワークフローモデルに対するすべての更新を保存します。

    警告:

    個々のステップに対する更新を保存しても、「保存」をクリックしなければ、ワークフローモデルに対する更新は保持されません。

    新しいワークフローモデルは次のようになります。

    workflowexample
  15. このワークフローをページに適用します。その結果、ユーザーは、Validate Content ステップの完了に移動すると、Publish Page as Requested または Reject Publish Request のどちらを実行するかを選択できます。

    chlimage_1

例:OR 分割用のルールの定義

OR 分割ステップを使用すると、ワークフローに条件分岐の処理パスを導入できます。

OR ルールを定義するには、次の手順に従います。

  1. 2 つのスクリプトを作成して、リポジトリ内の次の場所などに保存します。

    /apps/myapp/workflow/scripts

    注意:

    スクリプトには、ブール値を返す関数 check() を含める必要があります。

  2. ワークフローを編集し、OR 分割をモデルに追加します。

  3. OR 分割ブランチ 1 のプロパティを編集します。

    • 」を true に設定して、「デフォルトのルート」として定義します。
    • ルール」として、そのスクリプトへのパスを設定します。例:
      /apps/myapp/workflow/scripts/myscript1.ecma

    注意:

    必要に応じて、ブランチの順序を切り替えることができます。

  4. OR 分割ブランチ 2 のプロパティを編集します。

    • ルール」として、もう 1 つのスクリプトへのパスを設定します。例:
      /apps/myapp/workflow/scripts/myscript2.ecma
  5. 各ブランチ内の個々のステップのプロパティを設定します。「ユーザー/グループ」が設定されていることを確認します。

  6. (エディターツールバーにある)「保存」をクリックして、ワークフローモデルに対する変更を保持します。

    警告:

    個々のステップに対する更新を保存しても、「保存」をクリックしなければ、ワークフローモデルに対する更新は保持されません。

関数 Check()

注意:

ECMAScript の使用を参照してください。

次のサンプルスクリプトは、ノードが /content/we-retail/us/en の下に位置する JCR_PATH の場合、true を返します。

function check() {
    if (workflowData.getPayloadType() == "JCR_PATH") {
	     var path = workflowData.getPayload().toString();
	     var node = jcrSession.getItem(path);
	     
	     if (node.getPath().indexOf("/content/we-retail/us/en") >= 0) {
	     	return true;
	     } else {
	     	return false;
	     }	
     } else {
     	return false;
     }
}

例:アクティベーション用にカスタマイズされたリクエスト

標準提供のワークフローは、いずれもカスタマイズすることができます。動作をカスタマイズするには、適切なワークフローの詳細をオーバーレイします。

例えば、アクティベーションをリクエストをカスタマイズするとします。このワークフローは、サイト内でページを公開するために使用され、コンテンツ作成者が適切なレプリケーション権限を持っていない場合に自動的に実行されます。詳しくは、ページオーサリングのカスタマイズ - アクティベーションをリクエストワークフローのカスタマイズを参照してください。

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

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