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. AEMオーサーインスタンスで、https://[server]:[port]/crx/deに移動し、ツール/クエリ​に移動します。

    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*'

    クエリを実行すると、指定されたワークフロー開始者また現在のワークフロー担当者のすべてのワークフローインスタンスの場所が返されます。

    例えば、次のクエリは、ワークフロー開始者がsroseである/var/workflow/instancesノードから2つのワークフローインスタンスパスを返します。

    workflow-instance

  3. クエリによって返されたワークフローインスタンスのパスに移動します。status プロパティには、ワークフローインスタンスの現在のステータスが表示されます。

    status

  4. ワークフローインスタンスノードで、data/payload/に移動します。 path プロパティには、ワークフローインスタンスのペイロードへのパスが格納されます。ペイロードに保存されたデータにアクセスするためのパスに移動できます。

    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. RUNNINGSUSPENDED、または​STALE​ステータスのワークフローインスタンスに対して、次の手順を実行します。

    1. https://[server]:[port]/aem/start.htmlに移動し、管理者の資格情報でログインします。
    2. ツール/ワークフロー/インスタンス​の順に移動します。
    3. ユーザーの関連ワークフローインスタンスを選択し、「終了」をタップして実行中のインスタンスを終了します。

    ワークフローインスタンスの使用に関する詳細は、「ワークフローインスタンスの管理」を参照してください。

  3. CRXDE Lite コンソールにアクセスし、ワークフローインスタンスのペイロードパスに移動して、payload ノードを削除します。

  4. ワークフローインスタンスのドラフトパスに移動して、draft ノードを削除します。

  5. ワークフローインスタンスの履歴パスに移動し、historyノードを削除します。

  6. ワークフローインスタンスのワークフローインスタンスのパスに移動し、ワークフローの[workflow-instance-ID]ノードを削除します。

    メモ

    ワークフローインスタンスノードを削除すると、すべてのワークフロー参加者のワークフローインスタンスが削除されます。

  7. ユーザーに対して特定されたすべてのワークフローインスタンスで手順 2 から 6 を繰り返します。

  8. ワークフロー参加者の AEM Forms アプリケーションの Outbox からオフラインのドラフトと送信データを特定して削除し、サーバーに送信されないようにします。

また、API を使用してノードおよびプロパティにアクセスしてこれらを削除することができます。詳しくは、次の文書を参照してください。

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now