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