Forms中心のAEMワークフローを使用すると、実世界のForms中心のビジネスプロセスを自動化できます。 ワークフローは、関連付けられたワークフローモデルで指定された順序で実行される一連のステップで構成されます。 各手順では、ユーザーへのタスクの割り当てや電子メールメッセージの送信など、特定のアクションを実行します。 ワークフローでは、リポジトリ内のアセット、ユーザーアカウントおよびサービスとやり取りができます。このため、ワークフローでは、Experience Manager のあらゆる側面を含む複雑なアクティビティを連携させることができます。
フォーム中心のワークフローは、次のいずれかの方法でトリガーまたは起動できます。
Forms中心のAEMワークフローと機能について詳しくは、 OSGi 上のForms中心のワークフロー.
ワークフローがトリガーされると、そのワークフローインスタンスに対してペイロードが自動生成されます。 各ワークフローインスタンスには、一意のインスタンス ID と、関連するペイロード ID が割り当てられます。 ペイロードには、ワークフローインスタンスに関連付けられたユーザーデータとフォームデータのリポジトリの場所が含まれます。 さらに、ワークフローインスタンスのドラフトと履歴データもAEMリポジトリに保存されます。
ワークフローインスタンスのペイロード、ドラフト、履歴が存在するデフォルトのリポジトリの場所は次のとおりです。
ワークフローまたはアプリケーションを作成する際に、ペイロード、ドラフトおよび履歴データを保存する様々な場所を設定できます。 ワークフローまたはアプリケーションがデータを保存する場所を特定するには、ワークフローを確認します。
AEM 6.4 Forms | AEM 6.3 Forms | |
ワークフロー インスタンス |
/var/workflow/instances/[server_id]/<date>/[workflow-instance]/ | /etc/workflow/instances/[server_id]/[date]/[workflow-instance]/ |
ペイロード | /var/fd/dashboard/payload/[server_id]/[date]/ [payload-id]/ |
/etc/fd/dashboard/payload/[server_id]/[date]/ [payload-id]/ |
ドラフト | /var/fd/dashboard/instances/[server_id]/ [date]/[workflow-instance]/draft/[workitem]/ |
/etc/fd/dashboard/instances/[server_id]/ [date]/[workflow-instance]/draft/[workitem]/ |
History | /var/fd/dashboard/instances/[server_id]/ [date]/[workflow_instance]/history/ |
/etc/fd/dashboard/instances/[server_id]/ [date]/[workflow_instance]/history/ |
リポジトリ内のワークフローインスタンスからユーザーデータにアクセスして削除できます。 これをおこなうには、ユーザーに関連付けられたワークフローインスタンスのインスタンス ID を把握しておく必要があります。 ワークフローインスタンスのインスタンス ID は、ワークフローインスタンスを開始したユーザーのユーザー名またはワークフローインスタンスの現在の担当者を使用して確認できます。
ただし、次のシナリオでは、イニシエーターに関連付けられたワークフローを識別する際に、特定できない場合や、結果があいまいになる場合があります。
ワークフローインスタンスに格納されているユーザーデータを特定してアクセスするには、次の手順を実行します。
AEM オーサーインスタンスで、https://[server]:[port]/crx/de
にアクセスして、ツール/クエリに移動します。
選択 SQL2 から タイプ 」ドロップダウンリストから選択できます。
使用可能な情報に応じて、次のいずれかのクエリを実行します。
SELECT * FROM [cq:Workflow] AS s WHERE ISDESCENDANTNODE([path-to-workflow-instances]) and s.[initiator]='*initiator-ID*'
SELECT * FROM [cq:WorkItem] AS s WHERE ISDESCENDANTNODE([path-to-workflow-instances]) and s.[assignee]='*assignee-id*'
クエリを実行すると、指定されたワークフロー開始者また現在のワークフロー担当者のすべてのワークフローインスタンスの場所が返されます。
例えば、次のクエリを実行すると、ワークフロー開始者が /var/workflow/instances
の srose
ノードから 2 つのワークフローインスタンスのパスが返されます。
クエリから返されたワークフローインスタンスのパスに移動します。 status プロパティは、ワークフローインスタンスの現在のステータスを表示します。
ワークフローインスタンスのノードで、data/payload/
に移動します。path
プロパティには、ワークフローインスタンスのペイロードへのパスが格納されます。パスに移動すれば、ペイロードに格納されたデータにアクセスできます。
ワークフローインスタンスのドラフトと履歴の場所に移動します。
次に例を示します。
/var/fd/dashboard/instances/server0/2018-04-09/_var_workflow_instances_server0_2018-04-09_basicmodel_54/draft/
/var/fd/dashboard/instances/server0/2018-04-09/_var_workflow_instances_server0_2018-04-09_basicmodel_54/history/
手順 2 のクエリを実行して返されたすべてのワークフローインスタンスで手順 3 から 5 を繰り返します。
また、AEM Forms App はデータをオフラインモードで保存します。 ワークフローインスタンスのデータは、個々のデバイスにローカルに保存され、アプリがサーバーと同期する際にFormsサーバーに送信される可能性があります。
次の手順を実行して、ワークフローインスタンスからユーザーデータを削除するには、AEM管理者である必要があります。
詳しくは、 ユーザーデータにアクセス 次の点に注意してください。
この手順を、RUNNING、SUSPENDED、または STALE ステータスにあるワークフローインスタンスに対して実行します。
https://[server]:[port]/aem/start.html
にアクセスして、管理者の資格情報を使用してログインします。ワークフローインスタンスの操作方法について詳しくは、ワークフローインスタンスの管理を参照してください。
CRXDE Liteコンソールに移動し、ワークフローインスタンスのペイロードパスに移動して、 payload
ノード。
ワークフローインスタンスのドラフトパスに移動して、draft
ノードを削除します。
ワークフローインスタンスの履歴パスに移動して、history
ノードを削除します。
ワークフローインスタンスのワークフローインスタンスパスに移動して、ワークフローの [workflow-instance-ID]
ノードを削除します。
ワークフローインスタンスノードを削除すると、すべてのワークフロー参加者のワークフローインスタンスが削除されます。
ユーザーに対して識別されたすべてのワークフローインスタンスに対して、手順 2 ~ 6 を繰り返します。
ワークフロー参加者のAEM Formsアプリの送信トレイからオフラインのドラフトおよび送信データを特定して削除し、サーバーに送信されないようにします。
また、API を使用してノードやプロパティにアクセスし、削除することもできます。 詳しくは、次のドキュメントを参照してください。