現在表示中:

AEM には、ワークフローモデルを作成し、ワークフローステップを開発し、プログラムによってワークフローとやり取りするためのツールやリソースが用意されています。 

ワークフローにより、AEM 環境でリソースを管理し、コンテンツを公開するプロセスを自動化できます。ワークフローは一連のステップで構成され、ステップごとに個別のタスクが実行されます。ロジックとランタイムデータを使用して、いつプロセスを続行できるかを判断し、実行可能な複数のステップのうち 1 つを次のステップとして選択できます。 

例えば、Web ページを作成および公開するビジネスプロセスには、様々な参加者による承認やサインオフのタスクが伴います。AEM ワークフローを使用してこれらのプロセスをモデル化し、特定のコンテンツに適用できます。

重要な要素については以降で説明しますが、詳しい説明は次のページを参照してください。

注意:

参考情報:

モデル

WorkflowModel は、ワークフローの定義(モデル)を表します。WorkflowNodeWorkflowTransition から構成されます。切り替えはノードを結び付け、フローを定義します。モデルには必ず開始ノードと終了ノードがあります。

ワークフローモデルはバージョン管理されます。ワークフローインスタンスを実行すると、ワークフローが開始したときに使用可能なバージョンのワークフローモデルが使用され、以降も引き続き使用されます。特定のインスタンスが開始した後にワークフローモデルに対しておこなわれた編集は、そのインスタンスには適用されません。

警告:

実行されるステップは、インスタンスの作成時にワークフローモデルで定義されていたものです。

その時点より後にワークフローモデルが変更されても、インスタンスに変更が反映されることはありません。更新後に作成されるインスタンスのみに変更が反映されます。例外は、基になる ECMA スクリプトです。このスクリプトは一度だけ実行されるので、スクリプトに対する変更が取り込まれます。

ステップ

各ステップは個別のタスクを実行します。ワークフローステップには、様々な種類があります。

  • 参加者(ユーザー/グループ):このステップでは、作業項目が生成され、ユーザーまたはグループに割り当てられます。ユーザーは作業項目を完了して、ワークフローを進める必要があります。 
  • プロセス(スクリプト、Java メソッド呼び出し):このステップは、自動的に実行されます。ECMA スクリプトまたは Java クラスでステップが実装されます。特殊なワークフローイベントを検出し、ビジネスロジックに従ってタスクを実行するようにサービスを開発できます。
  • コンテナ(サブワークフロー):この種類のステップは別のワークフローモデルを開始します。
  • OR 分割/結合:ロジックを使用して、ワークフローで次に実行するステップを決定します。
  • AND 分割/結合:複数のステップを同時に実行できます。

すべてのステップは、Autoadvance アラートと Timeout アラート(スクリプトに対応)という共通のプロパティを共有します。

切り替え

WorkflowTransition は、WorkflowModel の 2 つの WorkflowNode 間の切り替えを表します。

  • 2 つの連続したステップ間のリンクを定義します。
  • 規則を適用することができます。

WorkItem

WorkItem は、WorkflowModelWorkflow インスタンスを通じて渡される単位です。WorkItem には、インスタンスが作用する WorkflowData と、基になるワークフローステップを記述する WorkflowNode への参照が含まれます。

  • タスクを識別するために使用され、それぞれのインボックスに入れられます。
  • ワークフローインスタンスは、同時に 1 つまたは複数の WorkItem を持つことができます(ワークフローモデルによって異なります)。
  • WorkItem はワークフローインスタンスを参照します。
  • リポジトリ内では、WorkItem はワークフローインスタンスの下に保存されます。

ペイロード

ワークフローに沿って前に移動する必要があるリソースを参照します。

ペイロードの実装は、リポジトリ内のリソースを(パス、UUID、URL またはシリアル化された Java オブジェクトによって)参照します。リポジトリ内のリソースの参照は、柔軟性に富み、Sling を併用すると生産性が向上します。例えば、参照されたノードをフォームとしてレンダリングできます。

Lifecycle

(対応するワークフローモデルを選択し、ペイロードを定義して)新しいワークフローを起動したときに作成され、終了ノードが処理されたときに終了します。 

ワークフローインスタンスでは、次のアクションが可能です。

  • 終了
  • 休止
  • 再開
  • 再起動

完了または強制終了したインスタンスはアーカイブされます。

インボックス

各ユーザーアカウントは、固有のワークフローインボックスを持ち、そこから割り当てられた WorkItem にアクセスできます。

WorkItem は、ユーザーアカウントに直接、またはユーザーが所属するグループに割り当てられます。

一時的ワークフロー

標準ワークフローは、実行中にランタイム(履歴)情報を保存します。このような履歴を保持したくない場合は、ワークフローモデルを「一時的」なものとして定義することができます。このモデルは、情報の保持に使用される時間やリソースが節約または回避されるので、パフォーマンスチューニングに使用されます。

一時的ワークフローは、次のようなワークフローに使用できます。

  • 頻繁に実行される。
  • ワークフロー履歴が必要ない。

一時的ワークフローは、アセットを大量に読み込むときのための機能です。このような場合、アセット情報は重要ですが、ワークフローのランタイム履歴は重要ではありません。 

注意:

詳しくは、一時的ワークフローの作成を参照してください。

警告:

ワークフローモデルに「一時的」というフラグを設定しても、次のようなシナリオでは引き続きランタイム情報が保持されます。

  • ペイロードタイプ(ビデオなど)の処理に外部のステップが必要となる。そのような場合は、ステータスの確認にランタイム履歴が必要になります。
  • ワークフローが AND 分割に入る。そのような場合は、ステータスの確認にランタイム履歴が必要になります。
  • 一時的ワークフローが参加者ステップに入ると、(実行時に)モードが恒久的に変更されます。ユーザーにタスクが渡されるので、履歴を保持する必要があるためです。

警告:

一時的ワークフロー内では、ステップに移動を使用しないでください。

これは、ステップに移動によって sling ジョブが作成され、ワークフローが移動先のポイントで継続されるためです。これにより、ワークフローを一時的にする目的が損なわれ、ログファイルにエラーが生成されます。

一時的ワークフローで判断をおこなうには、OR 分割を使用できます。

注意:

一時的ワークフローがアセットのパフォーマンスに与える影響について詳しくは、アセットのベストプラクティスを参照してください。

マルチリソースのサポート

ワークフローモデルのマルチリソースのサポートをアクティベートすると、複数のリソースを選択した場合でも、起動されるワークフローインスタンスは 1 つになります。選択したリソースはパッケージとして付加されます。

ワークフローモデルのマルチリソースのサポートをアクティベートせずに複数のリソースを選択した場合、各リソースに対して個別のワークフローインスタンスが起動します。

注意:

詳しくは、マルチリソースのサポートのためのワークフローの設定を参照してください。

ワークフローステージ

ワークフローステージは、タスクを処理するときにワークフローの進行状況を確認するのに役立ちます。ワークフローステージを使用すると、ワークフローがどの処理段階にあるのかについて概要を示すことができます。ユーザーは、ワークフローを実行すると、(個々のステップとは対照的に)ステージで表される進行状況を確認できます。

個々のステップ名には具体的な名前や技術的な名前を指定できるので、ステージ名はワークフローの進行状況を概念的に示すように定義できます。 

例えば、6 つのステップと 4 つのステージがあるワークフローの場合は次のようになります。

  1. (ワークフローの進行状況を表示する)ワークフローステージを設定し、ワークフローの各ステップに適切なステージを割り当てることができます。

    • 複数のステージ名を作成できます。
    • その後、個々のステージ名を各ステップに割り当てます(1 つのステージ名を 1 つ以上のステップに割り当てることができます)。
    ステップ名 (ステップに割り当てられた)ステージ
    ステップ 1 作成
    ステップ 2 作成
    ステップ 3 レビュー
    ステップ 4 承認
    ステップ 5 完了
    ステップ 6 完了
    chlimage_1
  2. ワークフローが実行されると、ユーザーは進行状況を(ステップ名ではなく)ステージ名に照らして確認できます。ワークフローの進行状況は、インボックスに表示される作業項目のタスクの詳細ウィンドウにある「ワークフロー情報」タブに表示されます。

    chlimage_1

ワークフローおよびフォーム

一般的には、ワークフローは AEM でのフォーム送信の処理に使用されます。これは、標準 AEM インスタンスで使用できるフォームコンポーネント、または AEM Forms ソリューションを使用しておこなわれます。

新しいフォームの作成時に、フォームの送信を簡単にワークフローモデルに関連付けることができます。これにより、例えばコンテンツをリポジトリの特定の場所に格納したり、ユーザーにフォームの送信とその内容について通知したりすることができます。

ワークフローおよび翻訳

ワークフローは、翻訳プロセスの重要な要素でもあります。

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

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