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 アプリケーションはオフラインモードでもデータを格納します。ワークフローインスタンスのデータを個々のデバイスにローカルで格納し、サーバーとアプリケーションを同期するときに Forms サーバーに送信することができます。
次の手順を実行して、ワークフローインスタンスからユーザーデータを削除するには、AEM 管理者である必要があります。
「ユーザーデータへのアクセス」の説明に従って以下をメモします。
この手順を、RUNNING、SUSPENDED、または STALE ステータスにあるワークフローインスタンスに対して実行します。
https://[server]:[port]/aem/start.html
にアクセスして、管理者の資格情報を使用してログインします。ワークフローインスタンスの操作方法について詳しくは、ワークフローインスタンスの管理を参照してください。
CRXDE Lite コンソールにアクセスし、ワークフローインスタンスのペイロードパスに移動して、payload
ノードを削除します。
ワークフローインスタンスのドラフトパスに移動して、draft
ノードを削除します。
ワークフローインスタンスの履歴パスに移動して、history
ノードを削除します。
ワークフローインスタンスのワークフローインスタンスパスに移動して、ワークフローの [workflow-instance-ID]
ノードを削除します。
ワークフローインスタンスノードを削除すると、すべてのワークフロー参加者のワークフローインスタンスが削除されます。
ユーザーに対して特定されたすべてのワークフローインスタンスで手順 2 から 6 を繰り返します。
ワークフロー参加者の AEM Forms アプリケーションの Outbox からオフラインのドラフトと送信データを特定して削除し、サーバーに送信されないようにします。
また、API を使用してノードおよびプロパティにアクセスしてこれらを削除することができます。詳しくは、次の文書を参照してください。