企業は、膨大な数のフォーム、様々なバックエンドシステム、オンラインやオフラインのデータソースからデータを収集します。また、データに関する意思決定を行うための動的なユーザーセットもあります。これには、反復的なレビューと承認のプロセスが含まれます。
内部および外部オーディエンスのレビューや承認プロセスと併せて、大規模な組織や事業では反復タスクを実施しています。例えば、PDF ドキュメントの別フォーマットへの変換などを行います。これらのタスクは、手動で行うと多くの時間とリソースを要します。企業には、後で事前定義された形式で使用するために、ドキュメントにデジタル署名し、フォームデータをアーカイブする法的要件もあります。
AEM ワークフローを使用することで、アダプティブフォームベースのワークフローをすばやく構築することができます。これらのワークフローをレビューや承認、ビジネスプロセスフローに使用して、ドキュメントサービスを開始したり、Adobe Sign 署名ワークフローと統合したり、また類似の操作を行うことができます。例えば、クレジットカードの申請処理、従業員の休暇承認ワークフロー、フォームの PDF ドキュメントとしての保存などです。さらに、これらのワークフローは組織内やネットワークファイアウォール全体で使用することができます。
OSGi での Forms 中心のワークフローを使用すると、JEE スタックに本格的なプロセス管理機能をインストールしなくても、OSGi スタックで様々なタスクのワークフローを迅速に構築およびデプロイできます。ワークフローの開発と管理では、従来の AEM ワークフロー機能と AEM インボックス機能が使用されます。ワークフローにより、複数のソフトウェアシステム、ネットワーク、部門、組織にわたる実際のビジネスプロセスを自動化するための基礎が構築されます。
これらのワークフローは一度設定すると、手動でトリガーして定義済みプロセスを完了することも、ユーザーによるフォームまたは Correspondence Management レターの送信時にワークフローをプログラムで実行することもできます。この拡張 AEM ワークフロー機能により、2 つの類似した機能を AEM Forms で使用することができます。デプロイメントを計画する際に、どちらの機能を使用するかを決める必要があります。OSGi での Forms 中心の AEM ワークフローと JEE での Process Management の比較を参照してください。さらに、デプロイメントトポロジーについては、「AEM Forms のアーキテクチャとデプロイメントトポロジー」を参照してください。
OSGi 上の Forms 中心のワークフローは、AEM インボックスを拡張し、AEM ワークフローエディターに追加のコンポーネント(手順)を提供することで、AEM Forms 中心のワークフローをサポートします。拡張 AEM インボックスは、AEM Forms ワークスペースと同様の機能を持ちます。人間中心のワークフロー(承認やレビューなど)とともに AEM ワークフローを使用して、ドキュメントサービスに関する操作(PDF の生成など)と、Adobe Sign による電子署名処理を自動化することができます。
すべての AEM Forms ワークフロー手順で変数の使用が可能です。変数を使用すると、ワークフロー手順で、実行時に複数の手順にわたってメタデータを保持および渡すことができます。様々なタイプの変数を作成して、様々なタイプのデータを保存できます。変数コレクション(配列)を作成して、関連する同じタイプのデータのインスタンスを複数保存することもできます。一般に、変数または変数のコレクションを使用するのは、変数が保持する値に基づいて決定する必要がある場合、またはプロセスで後で必要になる情報を保存する場合です。これらの Forms 中心のワークフローコンポーネント(手順)で変数を使用する方法について詳しくは、 OSGi での Forms 中心のワークフロー - 手順リファレンス を参照してください。変数の作成と管理については、AEM ワークフローの変数を参照してください。
次の図は、OSGi 上の Forms 中心のワークフローを作成、実行、監視するためのエンドツーエンドの手順を示します。
ワークフローモデルは、ビジネスプロセスのロジックとフローで構成されます。また、一連の手順で構成されています。これらの手順は、AEM のコンポーネントです。必要に応じて、ワークフロー手順をパラメーターやスクリプトを使用してさらに機能性や制御が高くなるように拡張することができます。初期状態で使用できる AEM 手順に加えて、AEM Forms はいくつかの手順を提供しています。AEM と AEM Forms の手順の詳細なリストについては、「AEM ワークフロー手順のリファレンス」と「OSGi 上の Forms 中心のワークフロー - 手順のリファレンス」を参照してください。
AEM には、提供されているワークフロー手順を使用してワークフローモデルを作成するための直感的なユーザーインターフェイスが用意されています。ワークフローモデルを作成するためのステップごとの手順については、「ワークフローモデルの作成」を参照してください。次の例では承認およびレビューワークフローでワークフローモデルを作成するためのステップごとの手順が示されています。
ワークフローモデルを作成または編集するには、workflow-editor グループのメンバーである必要があります。
承認およびレビューワークフローは、判断に人間の介入を必要とするタスクに使用されます。次の例では、金融機関本部で記入される住宅ローン申し込み用のワークフローモデルを作成します。アプリケーションが記入されると、承認に送信されます。その後、承認されたアプリケーションは申込者に送信され、Adobe Sign を使用した電子署名が求められます。
サンプルは、下記に添付されたパッケージとしてご利用いただけます。パッケージマネージャーを使ってサンプルをインポートしてインストールします。また、アプリケーションのワークフローモデルを手動で作成するには、次の手順を実行します。
この例では、金融機関の担当者が記入する住宅ローン申し込みのためのワークフローモデルを作成します。アプリケーションが記入されると、承認に送信されます。その後、承認されたアプリケーションはお客様に送信され、Adobe Sign を使用した電子署名が求められます。パッケージマネージャーを使ってサンプルを読み込んでインストールできます。
ワークフローモデルコンソールを開きます。デフォルトの URL は、https://[server]:[port]/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models
「作成」を選択してから、「モデルを作成」を選択します。「ワークフローモデルを追加」のダイアログが表示されます。
「タイトル」と「名前」(オプション)を入力します。例えば、住宅ローン申し込みと入力します。「完了」をタップします。
新しく作成されたワークフローモデルを選択して「編集」をタップします。これで、ワークフローステップを追加してビジネスロジックを構築できるようになりました。新しいワークフローモデルを初めて作成する場合、次のものが含まれます。
電子メール通知を有効にします。OSGi でフォーム中心のワークフローを設定して、ユーザーまたは担当者に電子メール通知を送信できます。電子メール通知を有効にするには、以下の設定を実行します。
https://[server]:[port]/system/console/configMgr
)に移動します。ワークフローステージを作成します。ワークフローには複数のステージが含まれることがあります。これらのステージは、AEM インボックスに表示され、ワークフローの進捗をレポートします。
ステージを定義するには、 アイコンをタップしてワークフローモデルのプロパティを表示し、「ステージ」タブを開いてワークフローモデルのステージを追加して、「保存して閉じる」をタップします。住宅ローン申し込みの例では、ローン申請、ローン申請ステータス、署名予定ドキュメント、署名済みローンドキュメントのステージを作成します。
「タスクの割り当て」ステップブラウザーをワークフローモデルにドラッグアンドドロップします。これをモデルの最初の手順にします。
タスクの割り当てコンポーネントは、ワークフローの作成したタスクをユーザーまたはグループに割り当てます。このコンポーネントにより、タスクの割り当てだけでなく、タスクで使用するアダプティブフォームや非インタラクティブ PDF を指定することもできます。アダプティブフォームはユーザーからの入力を受け付けるために必要であり、非インタラクティブ PDF または読み取り専用のアダプティブフォームはレビュー専用のワークフローに使用されます。
また、タスクの動作を制御するためにその手順を使用することもできます。例えば、レコードの自動ドキュメントの作成、特定のユーザーまたはグループへのタスクの割り当て、送信されたデータのパス、事前に入力されるデータのパス、デフォルトのアクションを制御できます。タスク割り当てのオプションについては、「OSGi 上の Forms 中心のワークフロー - ステップのリファレンス」を参照してください。
住宅ローンのサンプルでは、読み取り専用のアダプティブフォームを使用してタスクの割り当て手順を設定し、タスクの完了後に PDF ドキュメントを表示します。また、ローン申請を承認できるユーザーグループも選択します。「アクション」タブで、「送信」オプションを無効にします。文字列データ型の actionTaken 変数を作成し、その変数をルート変数として指定します。例えば、actionTaken のように指定します。また、承認と拒否のルートを追加します。ルートは、AEM インボックスでは別のアクション(ボタン)として表示されます。ワークフローでは、ユーザーがタップした操作(ボタン)に基づいて分岐が選択されます。
セクションの始めに示すサンプルパッケージを読み込むことにより、住宅ローン申し込みの例に設定されているタスク割り当て手順のすべてのフィールドの値を一式入手できます。
OR 分割コンポーネントをステップブラウザーからワークフローモデルにドラッグ&ドロップします。OR 分割は、ワークフロー内に分割を作成し、以降は 1 つの分岐だけがアクティブになります。これを使用すると、ワークフローに条件付き処理パスを導入できます。必要に応じて、各分岐にワークフローステップを追加できます。
分岐のルーティング式は、ルール定義、ECMA スクリプト、または外部スクリプトを使用して定義できます。
式エディターを使用して、分岐 1 と分岐 2 のルーティング式を作成します。これらのルーティング式により、AEM インボックスのユーザーアクションに基づいて分岐を選択できるようになります。
分岐 1 のルーティング式
AEM インボックスで「承認」をタップすると、分岐 1 がアクティブになります。
分岐 2 のルーティング式
AEM インボックスで「拒否」をタップすると、分岐 2 がアクティブになります。
変数を使用したルーティング式の作成については、AEM Forms ワークフローの変数を参照してください。
その他のワークフローステップを追加し、ビジネスロジックを構築します。
住宅ローンのサンプルでは、以下の画像に示すように、1 つのレコードのドキュメント、2 つのタスクの割り当て手順、1 つのドキュメントの署名ステップをモデルのブランチ 1 に追加します。タスクの割り当てステップの 1 つは申請者の署名予定ローンドキュメントの表示と送信に使用し、もう 1 つは、署名済みドキュメントの表示に使用します。また、分岐 2 にタスクの割り当てコンポーネントも追加します。AEM インボックスで「拒否」をタップすると、分岐 2 がアクティブになります。
サンプルの住宅ローン申し込みに設定されているタスクの割り当て手順、レコードのドキュメント手順、ドキュメントの署名手順のすべてのフィールドの値セットは、セクションの始めに示す場所からダウンロードできます。
ワークフローモデルが準備できました。ワークフローを様々な方法で起動することができます。詳しくは、「OSGi 上での Forms 中心のワークフローの起動」を参照してください。
アプリケーションは、ワークフローに関連付けられているアダプティブフォームです。インボックス経由でアプリケーションが送信されると、関連するワークフローが起動します。AEM インボックス および AEM Forms アプリケーションで、フォームワークフローをアプリケーションとして使用できるようにするには、以下の手順でワークフローアプリケーションを作成します。
ワークフローアプリケーションを作成して管理するには、fd-administrator グループのメンバーである必要があります。
フィールド | 説明 |
タイトル | タイトルは AEM インボックスに表示され、ユーザーがアプリケーションを選択するのに役立ちます。タイトルは、内容が分かりやすいものにしてください。例えば、預金口座開設アプリケーションのようにします。 |
名前 | アプリケーションの名前を指定します。英数字、ハイフン、アンダースコア以外の文字はすべてハイフンで置き換えられます。 |
説明 | 説明は、AEM インボックスに表示されます。アプリケーションに関する詳細な情報を説明フィールドに入力します。例えば、アプリケーションの目的を入力します。 |
アダプティブフォーム | アダプティブフォームのパスを指定します。ユーザーがアプリケーションを起動すると、指定したアダプティブフォームが表示されます。 注意:ワークフローアプリケーションは、2 ページ以上または Apple iPad でスクロールが必要なフォームや PDF ドキュメントをサポートしません。Apple iPad でアプリケーションを開く際にアダプティブフォームや PDF ドキュメントが 2 ページにまたがる場合は、フォームのフィールドや 2 ページ目のコンテンツが失われます。 |
アクセスグループ | グループを選択します。アプリケーションは、選択されたグループのメンバーにのみ AEM インボックスで表示されます。アクセスグループオプションを使用すると、ワークフローユーザーグループのすべてのグループを選択することができます。 |
事前入力サービス | アダプティブフォームの事前入力サービスを選択します。 |
ワークフローモデル | アプリケーションの ワークフローモデル を選択します。ワークフローモデルは、ビジネスプロセスのロジックとフローで構成されます。 |
データファイルのパス | crx-repository のデータファイルのパスを指定します。パスは、アダプティブフォームのペイロードに対する相対パスとなり、データファイルの名前が含まれます。必ず拡張子を含む完全なファイル名を指定してください(該当する場合)。例えば、[payload]/data.xml のようになります。 |
添付ファイルのパス | crx-repository の添付ファイルフォルダーのパスを指定します。添付ファイルのパスは、ペイロードの場所を基準とします。例えば、[payload]/data.xml のようになります。 |
レコードのドキュメントのパス | crx-repository のレコードファイルのドキュメントのパスを指定します。パスは、アダプティブフォームのペイロードの場所に対する相対パスです。必ず拡張子を含む完全なファイル名を指定してください(該当する場合)。例えば、[payload]/DOR/creditcard.pdf のようになります。 |
Forms 中心のワークフローは、次のように起動またはトリガーできます。
作成したワークフローアプリケーションは、インボックスでアプリケーションとして使用できます。workflow-users グループのメンバーであるユーザーは、関連するワークフローをトリガーするアプリケーションを入力して送信できます。AEM インボックスを使用してアプリケーションを送信し、タスクを管理する方法について詳しくは、「AEM インボックスでの Forms アプリケーションとタスクの管理」を参照してください。
AEM Forms アプリケーションは、AEM Forms サーバーと同期されます。AEM Forms アプリケーションをアカウントで使用することで、フォームデータ、タスク、ワークフローアプリケーション、保存済み情報(ドラフト、テンプレート)を変更することができます。詳しくは、「AEM Forms アプリケーション」と関連記事を参照してください。
アダプティブフォームの送信アクションを、アダプティブフォームの送信時にワークフローを開始するように設定することができます。アダプティブフォームでは、AEM ワークフローを起動送信アクションにより、アダプティブフォームの送信時にワークフローが開始するようにできます。送信アクションについて詳しくは、「送信アクションの設定」を参照してください。AEM Forms アプリケーションを使用してアダプティブフォームを送信するには、アダプティブフォームのプロパティで「AEM Forms アプリケーションと同期」オプションを有効にします。
アダプティブフォームを設定して、ワークフローの同期、送信、トリガーを AEM Forms アプリケーションから実行することができます。詳しくは、「フォームの操作」を参照してください。
管理者(fd-administrator グループのメンバー)はネットワークフォルダーを設定することにより、ユーザーがそのフォルダーにファイル(PDF ファイルなど)を配置すると、設定済みワークフローが実行されるようにすることができます。ワークフローが完了したら、結果のファイルを指定した出力フォルダーに保存できます。このようなフォルダーを監視フォルダーと呼びます。監視フォルダーがワークフローを起動するよう設定するには、以下の手順を実行します。
フィールド | 説明 |
名前 | 監視フォルダーの名前を指定します。このフィールドは、英数字のみサポートします。 |
パス | 監視フォルダーの物理的な位置を指定します。クラスター環境では、AEM クラスターノードからアクセスできる共有ネットワークフォルダーを指定します。 |
次を使用してファイルを処理 | 「ワークフロー」オプションを選択します。 |
ワークフローモデル | ワークフローモデルを選択します。 |
出力ファイルのパターン | 出力ファイルと出力ディレクトリのディレクトリ構造を指定します。出力ファイルと出力ディレクトリのパターンを指定することもできます。 |
「詳細設定」をタップします。以下のフィールドの値を指定して「作成」をタップします。ワークフローを起動するように監視フォルダーを設定できます。これで、監視フォルダーの入力ディレクトリにファイルが配置されるといつでも、指定されたワークフローがトリガーされます。
フィールド | 説明 |
---|---|
ペイロードマッパーフィルター | 監視フォルダーを作成すると、crx-repository にフォルダー構造を作成します。このフォルダー構造はワークフローへのペイロードとして使用されます。AEM ワークフローをマッピングして監視フォルダー構造からの入力を受け入れるようにするスクリプトを記述することができます。初期設定済みの実装を使用することができ、ペイロードマッパーフィルターにリストされます。カスタムの実装がない場合は、デフォルトの実装を選択します。 |
「詳細設定」タブには多数のフィールドが含まれています。これらのほとんどのフィールドにはデフォルトの値が指定されています。すべてのフィールドについて詳しくは、「監視フォルダーの作成または設定」の記事を参照してください。
インタラクティブ通信やレターを送信する際に、OSGi 上の Forms 中心のワークフローを関連付けて実行することができます。通信の管理では、ワークフローを使用して、インタラクティブ通信とレターの後処理を実行します。例えば、最終的なレターの送信、印刷、Fax、アーカイブでワークフローが使用されます。詳しい手順については、「インタラクティブ通信とレターの後処理」を参照してください。
AEM ワークフローの「タスクを割り当て」ステップと「電子メールを送信」ステップを使用して、電子メールを送信することができます。電子メールを送信するために必要な電子メールサーバーと各種の設定を指定するには、以下の手順を実行します。
https://[server]:[port]/system/console/configMgr
)に移動します。ワークフローインスタンスの数を最小限に抑えるとワークフローエンジンのパフォーマンスが向上します。完了したワークフローインスタンスや実行中のワークフローインスタンスはリポジトリーから定期的に削除できます。詳しくは、「ワークフローインスタンスの定期的なパージ」ワークフローインスタンスのパージを参照してください.
アダプティブフォームから Experience Manager ワークフローに送信されたデータに、エンドユーザーの PII(個人を特定できる情報)または SPD(機密の個人データ)を含めることができます。ただし、Adobe Experience Manager JCR リポジトリにデータを保存する必要はありません。情報をワークフロー変数にパラメーター化することで、エンドユーザーデータの管理対象データストレージ(Azure BLOB ストレージなど)への外部化が可能です。
Adobe Experience Manager Forms のワークフローでは、データが処理され、ワークフロー変数を介して一連のワークフローステップを通過します。これらの変数は、名前の付いたプロパティまたはキーと値のペアで、ワークフローインスタンスのメタデータノードに保存されます。例:/var/workflow/instances/<serverid>/<datebucket>/<uniquenameof model>_<id>/data/metaData
。これらのワークフロー変数は、JCR 以外の別のリポジトリに外部化し、Adobe Experience Manager ワークフローで処理できます。Adobe Experience Manager は UserMetaDataPersistenceProvider
API を提供して、管理対象の外部ストレージにワークフロー変数を保存します。顧客が所有する Adobe Experience Manager のデータストアに対するワークフロー変数の使用について詳しくは、外部データストアのワークフロー変数の管理を参照してください。
Adobe は、API UserMetaDataPersistenceProvider を使用して、ワークフローメタデータマップから Azure blob ストレージに変数を保存するために、以下のサンプルを提供しています。同様に、サンプルを参考にして、[UserMetaDataPersistenceProvider] API を使用して、Adobe Experience Manager の外部の他のデータストレージにワークフロー変数を外部化し、同じものを管理することができます。
ワークフロー変数を外部データストレージに格納する場合は、外部データストレージのワークフローに関するガイドラインのポインターを参照してください。
管理対象の Azure blob ストレージにワークフロー変数を格納するには、次の手順に従います。
次のようにサンプルワークフロー API UserMetaDataPersistenceProvider をインストールします。
プロジェクトのルートディレクトリで、Maven 3 を使用して mvn clean install
コマンドを実行します。
バンドルとコンテンツパッケージをオーサーにデプロイするには、mvn clean install -PautoInstallPackage
.を実行します。
オーサーにバンドルのみをデプロイするには、mvn clean install -PautoInstallBundle
.を実行します。
ui.config
コンテンツパッケージの Externalizer OSGi 設定ファイルで、次のプロパティを初期化します。
accountKey=""
accountName=""
endpointSuffix=""
containerName=""
protocol=""
これらのプロパティの目的(および例)を次に示します。
accountKey は、アクセスを許可するための秘密鍵です。
accountName は、データを保存する必要がある azure アカウントです。
endpointSuffix、例:core.windows.net
。
containerName は、データの保存が必要なアカウントのコンテナです。このサンプルでは、コンテナが存在すると仮定しています。
protocol、例:https
または http
。
外部データストレージを使用するための AEM ワークフローモデルを設定するには、次の手順に従います。
ツール/ワークフロー/モデルに移動します。
モデル名を選択し、「編集」をタップします。
「ページ情報」アイコンを選択し、「プロパティを開く」を選択します。
「ワークフローのデータストレージを具体化」を選択します。
「保存して閉じる」を選択して、プロパティを保存します。
Adobe Experience Manager ワークフローを使用し、外部データストレージ(例:Microsoft Azure ストレージサーバー)にデータを保存する場合のガイドラインを以下に示します。
ワークフローモデルステップで入出力データファイルと添付ファイルを定義する際は、変数を使用してデータを格納します。「ペイロードを基準とする」オプションと「絶対パスで利用可能」オプションを選択しないでください。外部データストレージを使用するように Adobe Experience Manager ワークフローモデルを設定したら、「ペイロードを基準とする」オプションと「絶対パスで利用可能」オプションは自動的には表示されません。
アダプティブフォームを AEM ワークフローに送信する際は、変数を使用してデータファイルと添付ファイルを格納します。アダプティブフォームを Adobe Experience Manager ワークフローに送信する際に、「ペイロードを基準とする」オプションを選択しないでください。外部データストレージを使用するように Adobe Experience Manager ワークフローモデルを設定したら、「ペイロードを基準とする」オプションは自動的には表示されません。
ワークフローモデルでカスタム Adobe Experience Manager ワークフローステップを使用して CRX DE リポジトリにデータを保存しないでください。
外部データストレージ用に Adobe Experience Manager ワークフローモデルを設定する場合、Adobe Experience Manager インボックス内の作業項目が外部ストレージとしてマークされたワークフローに属しているとカスタム列の値は取得されないので、Adobe Experience Manager インボックス用にカスタム列を作成しないでください。