Show Menu
トピック×

OSGi 上の Forms 中心のワークフロー | ユーザーデータの処理

Forms 中心の AEM ワークフローにより、Forms 中心のビジネスプロセスを実際に自動化できます。ワークフローは、関連するワークフローモデルで指定された順序で実行される一連のステップで構成されます。各ステップで、ユーザーへのタスクの割り当てや電子メールメッセージの送信など、特定の処理が実行されます。ワークフローでは、リポジトリ内のアセット、ユーザーアカウントおよび サービスとやり取りができます。このため、ワークフローでは、Experience Manager のあらゆる側面を含む複雑なアクティビティを連携させることができます。
フォーム中心のワークフローは、次のいずれかの方法でトリガーまたは起動できます。
  • AEM インボックスからのアプリケーションの送信
  • AEM Forms アプリケーションからのアプリケーションの送信
  • アダプティブフォームの送信
  • 監視フォルダーの使用
  • インタラクティブ通信またはレターの送信
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 の発行インスタンスから開始されたワークフロー :すべてのワークフローインスタンスは、アダプティブフォーム、インタラクティブ通信またはレターが AEM の発行インスタンスから送信されたときに、サービスユーザーを使用して作成されます。このような場合、ログインしているユーザーのユーザー名はワークフローインスタンスデータには取り込まれません。

ユーザーデータへのアクセス

ワークフローインスタンスに格納されているユーザーデータを特定してアクセスするには、次の手順を実行します。
  1. On AEM author instance, go to https://'[server]:[port]'/crx/de and navigate to Tools > Query .
    SQL2 」を「 タイプ 」ドロップダウンから選択します。
  2. 使用可能な情報に応じて、次のいずれかのクエリを実行します。
    • ワークフロー開始者が分かっている場合は、次のコマンドを実行します。
    SELECT &ast; FROM [cq:Workflow] AS s WHERE ISDESCENDANTNODE([path-to-workflow-instances]) and s.[initiator]='*initiator-ID*'
    • 検索するデータを持つユーザーが現在のワークフローの担当者である場合は、次を実行します。
    SELECT &ast; FROM [cq:WorkItem] AS s WHERE ISDESCENDANTNODE([path-to-workflow-instances]) and s.[assignee]='*assignee-id*'
    クエリを実行すると、指定されたワークフロー開始者また現在のワークフロー担当者のすべてのワークフローインスタンスの場所が返されます。
    For example, the following query returns two workflow instances path from the /var/workflow/instances node whose workflow initiator is srose .
  3. クエリによって返されたワークフローインスタンスのパスに移動します。status プロパティには、ワークフローインスタンスの現在のステータスが表示されます。
  4. In the workflow instance node, navigate to data/payload/ . path プロパティには、ワークフローインスタンスのペイロードへのパスが格納されます。ペイロードに保存されたデータにアクセスするパスに移動できます。
  5. ワークフローインスタンスのドラフトおよび履歴の場所に移動します。
    次に例を示します。
    /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/
  6. 手順 2 のクエリを実行して返されたすべてのワークフローインスタンスで手順 3 から 5 を繰り返します。
AEM Forms アプリケーションはオフラインモードでもデータを格納します。ワークフローインスタンスのデータを個々のデバイスにローカルで格納し、サーバーとアプリケーションを同期するときに Forms サーバーに送信することができます。

ユーザーデータの削除

次の手順を実行して、ワークフローインスタンスからユーザーデータを削除するには、AEM 管理者である必要があります。
  1. ユーザーデータへのアクセス 」の説明に従って以下をメモします。
    • ユーザーに関連付けられたワークフローインスタンスへのパス
    • ワークフローインスタンスのステータス
    • ワークフローインスタンスのペイロードへのパス
    • ワークフローインスタンスのドラフトおよび履歴へのパス
  2. Perform this step for workflow instances in RUNNING , SUSPENDED , or STALE status:
    1. Go to https://'[server]:[port]'/aem/start.html and log in with administrator credentials.
    2. ツール/ワークフロー/インスタンス ​の順に移動します。
    3. ユーザーの関連ワークフローインスタンスを選択し、「 終了 」をタップして実行中のインスタンスを終了します。
    For more information about working with workflow instances, see Administering Workflow Instances .
  3. CRXDE Lite コンソールにアクセスし、ワークフローインスタンスのペイロードパスに移動して、 payload ノードを削除します。
  4. ワークフローインスタンスのドラフトパスに移動して、 draft ノードを削除します。
  5. Navigate to the history path for a workflow instance, and delete the history node.
  6. Navigate to the workflow instance path for a workflow instance, and delete the [workflow-instance-ID] node for the workflow.
    ワークフローインスタンスノードを削除すると、すべてのワークフロー参加者のワークフローインスタンスが削除されます。
  7. ユーザーに対して特定されたすべてのワークフローインスタンスで手順 2 から 6 を繰り返します。
  8. ワークフロー参加者の AEM Forms アプリケーションの Outbox からオフラインのドラフトと送信データを特定して削除し、サーバーに送信されないようにします。
また、API を使用してノードおよびプロパティにアクセスしてこれらを削除することができます。詳しくは、次の文書を参照してください。