AEM には、ワークフローモデルを作成し、ワークフローステップを開発し、プログラムによってワークフローとやり取りするためのツールやリソースが用意されています。
ワークフローを使用すると、AEM環境でリソースを管理したりコンテンツを公開したりするプロセスを自動化できます。 ワークフローは一連のステップで構成され、各ステップで個別のタスクが実行されます。 ロジックとランタイムデータを使用して、プロセスを続行できるタイミングに関する決定を下し、可能な複数のステップの中から次のステップを選択できます。
例えば、Web ページを作成して公開するビジネスプロセスには、様々な参加者による承認およびサインオフタスクが含まれます。 これらのプロセスは、AEMワークフローを使用してモデル化し、特定のコンテンツに適用できます。
主な側面については以下で説明しますが、以下のページで詳しく説明します。
参考情報:
WorkflowModel
は、ワークフローの定義(モデル)を表します。これは、WorkflowNodes
および WorkflowTransitions
で構成されています。トランジションはノードを結び付け、フローを定義します。モデルには必ず開始ノードと終了ノードがあります。
ワークフローモデルはバージョン管理されます。 ワークフローインスタンスを実行する際には、ワークフローのランタイムモデルを使用(および保持)します(ワークフローの開始時に使用可能)。
ランタイムモデルは、 次の場合に生成 同期 ワークフローモデルエディターでトリガーされる.
特定のインスタンスの開始後に、使用されるワークフローモデルと生成された実行時モデルに変更を加えても、そのインスタンスには反映されません。
実行される手順は、 ランタイムモデル;これは、 同期 ワークフローモデルエディターでアクションがトリガーされます。
この時点以降 ( 同期 を呼び出す ) 場合、ランタイムインスタンスにはそれらの変更が反映されません。 更新後に生成されたランタイムモデルのみが変更を反映します。 例外は基になる ECMA スクリプトで、1 回だけ保持され、変更が加えられます。
各ステップは、個別のタスクを実行します。 ワークフローステップには、様々なタイプがあります。
すべてのステップは、Autoadvance
アラートと Timeout
アラート(スクリプトに対応)という共通のプロパティを共有します。
WorkflowTransition
は、WorkflowModel
の 2 つの WorkflowNodes
間のトランジションを表します。
WorkItem
は、WorkflowModel
の Workflow
インスタンスを通じて渡される単位です。WorkItem には、インスタンスが作用する WorkflowData
と、基になるワークフローステップを記述する WorkflowNode
への参照が含まれます。
WorkItems
を持つことができます(ワークフローモデルによって異なります)。WorkItem
はワークフローインスタンスを参照します。WorkItem
はワークフローインスタンスの下に保存されます。ワークフローを通じて高度にする必要があるリソースを参照します。
ペイロード実装は、リポジトリ内のリソース(パス、UUID または URL)またはシリアル化された Java オブジェクトを参照します。 リポジトリ内のリソースを参照する際の柔軟性は非常に高く、Sling と組み合わせて非常に生産的です。例えば、参照先のノードをフォームとしてレンダリングできます。
新しいワークフローの開始時(それぞれのワークフローモデルを選択し、ペイロードを定義することで)に作成され、終了ノードが処理されたときに終了します。
ワークフローインスタンスでは、次のアクションが可能です。
完了および終了したインスタンスはアーカイブされます。
各ユーザーアカウントは、固有のワークフローインボックスを持ち、そこから割り当てられた WorkItems
にアクセスできます。
WorkItems
は、ユーザーアカウントに直接、またはユーザーが所属するグループに割り当てられます。
ワークフローモデルコンソールで示されるように、様々なタイプのワークフローがあります。
デフォルト
標準の AEM インスタンスに含まれるデフォルトのワークフローです。
カスタムワークフロー(インジケーターはコンソールに表示されません)
これらは、新規作成されたワークフロー、または標準のワークフローから作成されたワークフローで、カスタマイズが適用された状態でオーバーレイされています。
レガシー
AEM の旧バージョンで作成されたワークフローです。これらは、アップグレード時に保持したり、以前のバージョンからワークフローパッケージとしてエクスポートした後、新しいバージョンにインポートしたりできます。
標準ワークフローは、実行時にランタイム(履歴)情報を保存します。 このような履歴を保持したくない場合は、ワークフローモデルを「一時的」なものとして定義することができます。これは、情報の保持に使用する時間やリソースを節約または回避するため、パフォーマンスの調整に使用します。
一時的なワークフローは、以下に示すワークフローに使用できます。
一時的なワークフローは、多数のアセットを読み込むために導入されました。この場合、アセット情報は重要ですが、ワークフローのランタイム履歴は重要ではありません。
詳しくは、 一時的なワークフローの作成 詳しくは、を参照してください。
ワークフローモデルに「一時的」フラグが設定されている場合、ランタイム情報が引き続き保持されるシナリオがいくつかあります。
一時的なワークフロー内では、 ステップに移動.
これは、ステップに移動によって Sling ジョブが作成され、ワークフローが goto
ポイントで継続されるためです。これにより、ワークフローを一時的にする目的がなくなり、ログファイルにエラーが生成されます。
一時的なワークフローで決定するには、 OR 分割.
詳しくは、 Assets のベストプラクティス 一時的なワークフローがアセットのパフォーマンスに与える影響について詳しくは、を参照してください。
ワークフローモデルのマルチリソースサポートをアクティベートすると、複数のリソースを選択した場合でも、起動されるワークフローインスタンスは 1 つになります。選択したリソースはパッケージとして付加されます。
If マルチリソースのサポート がワークフローモデルに対して有効化されず、複数のリソースが選択された場合、個々のワークフローインスタンスが各リソースに対して開始されます。
詳しくは、 マルチリソースサポートのためのワークフローの設定 詳しくは、を参照してください。
ワークフローステージは、タスクを処理する際のワークフローの進行状況を視覚化するのに役立ちます。 ワークフローを実行する際に、ユーザーは、 ステージ (個々の手順とは異なります)。
個々のステップ名には具体的な名前や技術的な名前を指定できるので、ステージ名はワークフローの進行状況を概念的に示すように定義できます。
例えば、6 つの手順と 4 つのステージを持つワークフローの場合:
以下が可能です。 (ワークフローの進行状況を表示する)ワークフローステージを設定し、適切なステージをワークフローの各ステップに割り当てます。:
ステップ名 | ステージ(ステップに割り当て済み) |
---|---|
手順 1 | 作成 |
手順 2 | 作成 |
手順 3 | レビュー |
手順 4 | 承認 |
手順 5 | 完了 |
手順 6 | 完了 |
ワークフローが実行されると、ユーザーは進行状況を(ステップ名ではなく)ステージ名に照らして確認できます。ワークフローの進行状況は、インボックスに表示される作業項目のタスクの詳細ウィンドウにある「ワークフロー情報」タブに表示されます。
通常、ワークフローはAEMでのフォーム送信の処理に使用されます。 これは、標準 AEM インスタンスで使用できるコアコンポーネントフォームコンポーネント、または AEM Forms ソリューションを使用しておこなわれます。
新しいフォームを作成する場合、フォーム送信をワークフローモデルに簡単に関連付けることができます。例えば、リポジトリの特定の場所にコンテンツを保存したり、フォームの送信とそのコンテンツについてユーザーに通知したりする場合です。
ワークフローは、翻訳プロセスの重要な要素でもあります。