クラシック UI の使用方法については、AEM 6.3 のドキュメントを参照してください。
ワークフローを開始したときに実行される一連のステップを定義するには、ワークフローモデルを作成します。ワークフローを一時的なものにするか、複数のリソースを使用するかなど、モデルのプロパティを定義することもできます。
ユーザーがワークフローを開始すると、インスタンスが開始されます。これは対応するランタイムモデルです。変更内容を同期すると作成されます。
初めて作成する新しいワークフローモデルには、次のものが含まれています。
フロー開始ステップとフロー終了ステップ。
これらのステップは、ワークフローの始まりと終わりを表します。これらの手順は必須で、編集または削除できません。
「手順 1」という名前のサンプルの参加者ステップ。
このステップは、作業項目をワークフロー開始者に割り当てるように設定されています。このステップを編集または削除し、必要に応じてステップを追加します。
エディターを使用して新しいワークフローを作成するには:
を開きます。 ワークフローモデル コンソール~の方法で ツール, ワークフロー, モデル 例:
「作成」を選択してから、「モデルを作成」を選択します。
この ワークフローモデルを追加 ダイアログボックスが表示されます。 「タイトル」と「名前」(オプション)を入力してから、「完了」を選択します。
新しいモデルがワークフローモデルコンソールに表示されます。
新しいワークフローを選択し、「編集」をクリックすると、ワークフローが設定のために開かれます。
(CRX パッケージを使用して)プログラムによってモデルを作成する場合は、次の場所にサブフォルダーを作成することもできます。
/var/workflow/models
例:/var/workflow/models/prototypes
このフォルダーは、そのフォルダー内のモデルへのアクセス権を管理するために利用できます。
既存のワークフローモデルを編集して、次のことができます。
ステージ、ワークフローを一時的にするか、複数のリソースを使用するかなど、ワークフロープロパティを設定する
の編集 デフォルトまたはレガシー (標準)ワークフロー には、 セーフコピー は、変更がおこなわれる前に実行されます。
ワークフローの変更を完了するには、「同期」を使用して、ランタイムモデルを生成する必要があります。詳しくは、ワークフローの同期を参照してください。
「同期」(エディターのツールバーの右側)をクリックすると、ランタイムモデルが生成されます。ランタイムモデルは、ユーザーがワークフローを開始したときに実際に使用されるモデルです。変更内容を同期しない場合は、その変更内容は実行時には反映されません。
ワークフローに変更を加えた場合は、「同期」をクリックしてランタイムモデルを生成する必要があります。個々のダイアログ(ステップなど)に保存オプションがある場合でも同様です。
変更内容がランタイム(保存済み)モデルと同期されると、「同期済み」に表示が変わります。
ステップによっては必須のフィールドや組み込みの検証が含まれている場合があります。こうした条件を満たしていない場合は、モデルの同期をおこなうと、エラーが表示されます。例えば次のように、参加者ステップで参加者が定義されていない場合などです。
デフォルトまたはレガシーのモデルを開いて編集する際は、次の点に注意してください。
この 手順 ブラウザーを使用できません(左側)。
ツールバーで「編集」操作を利用できます(右側)。
次の理由から、最初はモデルとそのプロパティが読み取り専用モードで開かれます。
/libs
にあります。/etc
「編集」をクリックすると、次のようになります。
/conf
にコピーされます。詳しくは、ワークフローモデルの場所を参照してください。
実行するアクティビティを表すために、ステップをモデルに追加する必要があります。各ステップは固有のアクティビティを実行します。標準の AEM インスタンスには、いくつかのステップコンポーネントが用意されています。
モデルを編集すると、使用可能なステップが 手順 ブラウザー。 次に例を示します。
AEM と共にインストールされる主なステップコンポーネントについては、ワークフローステップのリファレンスを参照してください。
モデルにステップを追加するには:
編集する既存のワークフローモデルを開きます。ワークフローモデルコンソールで、必要なモデルを選択し、編集をクリックします。
を開きます。 手順 ブラウザ;using サイドパネルを切り替え(上部のツールバーの左端) ここでは、以下のことができます。
対象のステップをドラッグしてモデル内の目的の場所に移動します。
参加者ステップなどです。
フローに追加された後は、次の操作を実行できます。 ステップの設定.
必要に応じてステップを追加したり、変更を加えたりします。
実行時には、ステップがモデル内に配置されている順序で実行されます。いったん追加したステップコンポーネントを、モデル内の別の場所にドラッグすることもできます。
ページエディターと同様に、ステップのコピー、切り取り、貼り付け、グループ分け、削除をおこなうこともできます。
分割ステップは、ツールバーオプション を利用して折りたたんだり展開したりできます。
同期(エディターツールバー)をクリックして変更内容を確認し、ランタイムモデルを生成します。
詳しくは、ワークフローの同期を参照してください。
以下が可能です。 設定 をクリックし、 ステップのプロパティ ダイアログボックス
次の手順で ステップのプロパティ ステップのダイアログボックスは、次のいずれかの方法で表示されます。
AEM と共にインストールされる主なステップコンポーネントについては、ワークフローステップのリファレンスを参照してください。
必要に応じてステップのプロパティを設定します。利用できるプロパティはステップのタイプによって異なります。複数のタブが表示されることもあります。例えば、新しいワークフローで Step 1
として表示されるデフォルトの参加者ステップでは、次のようになります。
チェックマークをクリックして、アップデート内容を確認します。
同期(エディターツールバー)をクリックして変更内容を確認し、ランタイムモデルを生成します。
詳しくは、ワークフローの同期を参照してください。
新しいモデルを作成するときに、または既存のモデルに手を加えて、一時的ワークフローモデルを作成することができます。
編集するワークフローモデルを開きます。
ツールバーから「ワークフローモデルのプロパティ」を選択します。
ダイアログボックスで、をアクティブにします。 一時的なワークフロー (必要に応じて非アクティブ化):
「保存して閉じる」をクリックし、同期(エディターツールバー)をクリックして変更内容を確認し、ランタイムモデルを生成します。
詳しくは、ワークフローの同期を参照してください。
クラシック UI に表示されるワークフローモデルがタッチ UI のタイムラインレールの選択ポップアップメニューに表示されない場合は、設定に従ってワークフローモデルを使用可能にします。以下の手順は、アクティベーションのリクエストと呼ばれるワークフローモデルの使用を説明します。
該当するモデルがタッチ対応 UI で使用できないことを確認します。/assets.html/content/dam
パスを使用してアセットにアクセスします。アセットを選択します。左側のレールでタイムラインを開きます。ワークフローを開始をクリックして、アクティベーションのリクエスト モデルがポップアップリストに存在しないことを確認します。
ツール/一般/タグ付けと移動します。ワークフローを選択します。
「作成/タグを作成」を選択します。タイトルを DAM
に、名前を dam
に、それぞれ設定します。送信を選択します。
ツール/ワークフロー/モデルに移動します。アクティベーションのリクエストを選択し、次に編集を選択してください。
選択 編集 を開き、 ワークフローモデルのプロパティ. 次に移動: 基本 タブをクリックします。
Workflow : DAM
をタグフィールドに追加します。 チェック(チェックマーク)で選択を確認します。
保存して閉じるでタグの追加を確認します。
同期でプロセスを完了します。 タッチ操作対応 UI でワークフローを使用できるようになりました。
新しいモデルを作成するときに、または既存のモデルに手を加えて、マルチリソースのサポートのためのワークフローモデルを設定できます。
編集するワークフローモデルを開きます。
ツールバーから「ワークフローモデルのプロパティ」を選択します。
ダイアログボックスで、をアクティブにします。 マルチリソースのサポート (必要に応じて非アクティブ化):
変更内容を「保存して閉じる」で確認し、「同期」(エディターツールバー)でランタイムモデルを生成します。
詳しくは、ワークフローの同期を参照してください。
ワークフローステージは、タスクを処理するときにワークフローの進行状況を確認するのに役立ちます。
ワークフローステージがページのプロパティで定義されていても、いずれのワークフローステップでも使用されない場合は、(現在のワークフローステップに関係なく)進行状況バーに進行状況は表示されません。
使用可能なステージは、ワークフローモデルで定義されます。既存のワークフローモデルを更新すると、ステージの定義を含めることができます。ワークフローモデルに対して任意の数のステージを定義できます。
ワークフローのステージを定義するには:
編集するワークフローモデルを開きます。
ツールバーから「ワークフローモデルのプロパティ」を選択します。「ステージ」タブを開きます。
必要なステージを追加(および配置)します。ワークフローモデルに対して任意の数のステージを定義できます。
次に例を示します。
「保存して閉じる」をクリックしてプロパティを保存します。
ワークフローモデルの各ステップにステージを割り当てます。次に例を示します。
1 つのステージを複数のステップに割り当てることができます。次に例を示します。
ステップ | ステージ |
---|---|
手順 1 | 作成 |
手順 2 | 作成 |
手順 3 | レビュー |
手順 4 | 承認 |
手順 5 | 承認 |
手順 6 | 完了 |
「同期」(エディターツールバー)をクリックして変更内容を確定し、ランタイムモデルを生成します。
詳しくは、ワークフローの同期を参照してください。
パッケージマネージャーを使用して新しいパッケージを作成します。
新しいパッケージのツールバーの「編集」をクリックします。
「フィルター」タブを開きます。
「フィルターを追加」を選択し、ワークフローモデルの設計のパスを指定します。
/conf/global/settings/workflow/models/<*your-model-name*>
「完了」をクリックします。
「フィルターを追加」を選択し、ランタイムワークフローモデルのパスを指定します。
/var/workflow/models/<*your-model-name*>
「完了」をクリックします。
モデルで使用されるカスタムスクリプトのフィルターを追加します。
「保存」をクリックしてフィルターの定義を確定します。
パッケージ定義のツールバーの「ビルド」を選択します。
パッケージのツールバーの「ダウンロード」を選択します。
フォームを特定のワークフローで処理するように設定できます。ユーザーがフォームを送信すると、フォームの送信データをペイロードとして持つ新しいワークフローインスタンスが作成されます。
フォームを使用するためのワークフローの設定手順
新しいページを作成して、編集用に開きます。
フォームコンポーネントをページに追加します。
ページに表示されたフォーム開始コンポーネントを設定します。
「ワークフローを開始」で、使用可能なワークフローの中から目的のワークフローを選択します。
チェックマークをクリックして、新しいフォーム設定を確認します。
ワークフローのテスト時には、開発時のタイプと異なるものも含め、様々なペイロードタイプを使用してワークフローをテストすることをお勧めします。例えば、アセットを処理するワークフローの場合、ページをペイロードとして設定して、ワークフローでエラーがスローされないことを確認します。
例えば、新しいワークフローを次のようにテストします。
コンソールからワークフローモデルを開始します。
ペイロードを定義して確定します。
ワークフローが進行するように、必要なアクションを実行します。
ワークフローの動作中にログファイルを監視します。
ログファイルにデバッグメッセージを記録するように AEM を設定することもできます。詳しくは、ログを参照してください。開発が完了したら、ログレベルを情報に戻します。
ワークフロー作成の可能性をいくつか示すために、ここでは、Publish Example
ワークフローのバリエーションを作成します。
新しいワークフローモデルを作成します。
新しいワークフローには、次のステップが含まれます。
Step 1
Step 1
を削除します(この例には不適切なステップタイプです)。
次の ワークフロー ステップブラウザーの選択、 参加者ステップ をワークフロー上に配置し、次の間に配置します。 フロー開始 およびフロー終了.
プロパティダイアログボックスを開くには、次のいずれかを実行します。
「共通」タブで、「タイトル」と「説明」の両方に Validate Content
と入力します。
「ユーザー / グループ」タブを開きます。
Administrator
(admin
)」を選択します。電子メールを送信するには、メールサービスとユーザーアカウントの詳細を設定する必要があります。
チェックマークをクリックして、変更内容を確認します。
ワークフローモデルの概要に戻ります。ここで、参加者ステップが Validate Content
という名前に変更されます。
OR 分岐をワークフローにドラッグして、「Validate Content
」と「フロー終了」の間に配置します。
OR 分割を設定用に開きます。
設定:
OR 分割の変更内容を確定します。
参加者ステップを左側のブランチにドラッグし、プロパティを開き、次の値を指定してから変更内容を確定します。
Reject Publish Request
projects-administrators
などプロセスステップを右側のブランチにドラッグし、プロパティを開き、次の値を指定してから変更内容を確認します。
Publish Page as Requested
Activate Page
を選択します。 このプロセスは、選択されているページをパブリッシャーインスタンスに公開します。「同期」(エディターのツールバー)をクリックし、ランタイムモデルを生成します。
詳しくは、ワークフローの同期を参照してください。
新しいワークフローモデルは次のようになります。
このワークフローをページに適用します。その結果、ユーザーが「コンテンツを検証」ステップの「完了」に移動すると、「リクエストに応じてページを公開」と「公開リクエストを拒否」のどちらを実行するかを選択できます。
OR 分割ステップを使用すると、ワークフローに条件分岐の処理パスを導入できます。
OR ルールを定義するには:
2 つのスクリプトを作成して、リポジトリ内の次の場所などに保存します。
/apps/myapp/workflow/scripts
スクリプトには、ブール値を返す関数 check()
を含める必要があります。
ワークフローを編集し、OR 分割をモデルに追加します。
OR 分割のブランチ 1 のプロパティを編集します。
「値」を true
に設定して、これを「デフォルトのルート」として定義します。
「ルール」として、そのスクリプトへのパスを設定します。次に例を示します。
/apps/myapp/workflow/scripts/myscript1.ecma
必要に応じて、ブランチの順序を切り替えることができます。
OR 分割のブランチ 2 のプロパティを編集します。
「ルール」として、もう 1 つのスクリプトへのパスを設定します。次に例を示します。
/apps/myapp/workflow/scripts/myscript2.ecma
各ブランチ内の個々のステップのプロパティを設定します。「ユーザー/グループ」が設定されていることを確認します。
「同期」(エディターのツールバー)をクリックして、ランタイムモデルに対する変更を保持します。
詳しくは、ワークフローの同期を参照してください。
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;
}
}
標準提供のワークフローは、いずれもカスタマイズすることができます。動作をカスタマイズするには、適切なワークフローの詳細をオーバーレイします。
例えば、アクティベーションをリクエストをカスタマイズするとします。このワークフローは、サイト内でページを公開するために使用され、コンテンツ作成者が適切なレプリケーション権限を持っていない場合に自動的に実行されます。詳しくは、ページオーサリングのカスタマイズ - アクティベーションをリクエストワークフローのカスタマイズを参照してください。