Forms上以OSGi为中心的工作流 |处理用户数据

以Forms为中心的AEM工作流使您能自动处理以Forms为中心的真实业务流程。 工作流由一系列步骤组成,这些步骤按关联工作流模型中指定的顺序执行。 每个步骤都执行特定操作,如向用户分配任务或发送电子邮件。 工作流可以与存储库、用户帐户和服务中的资产进行交互。 因此,工作流可以协调涉及任何Experience Manager方面的复杂活动。

可通过以下任意方法触发或启动以表单为中心的工作流:

  • 从AEM收件箱提交应用程序
  • 从AEM Forms App提交应用程序
  • 提交自适应表单
  • 使用监视文件夹
  • 提交交互式通信或信件

有关以Forms为中心的AEM工作流和功能的详细信息,请参阅OSGi](/docs/experience-manager-64/forms/using/aem-forms-workflow.html?lang=zh-Hans)上以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/仪表板/payload/[server_id]/[date]/
[payload-id]/
/etc/fd/仪表板/payload/[server_id]/[date]/
[payload-id]/
草稿 /var/fd/仪表板/instances/[server_id]/
[date]/[workflow-instance]/draft/[workitem]/
/etc/fd/仪表板/instances/[server_id]/
[date]/[workflow-instance]/draft/[workitem]/
历史 /var/fd/仪表板/instances/[server_id]/
[date]/[workflow_instance]/history/
/etc/fd/仪表板/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节点返回两个工作流实例路径。

    工作流实例

  3. 转到由查询返回的工作流实例路径。 状态属性显示工作流实例的当前状态。

    状态

  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. 对于​RUNNINGSUSPEDED​或​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应用程序工作流参与者外框的脱机草稿和提交数据,以避免任何提交到服务器。

您还可以使用API访问和删除节点和属性。 有关详细信息,请参阅以下文档。

On this page

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