Forms门户 |处理用户数据

AEM Forms门户提供的组件可用于在AEM Sites页面列表自适应表单、HTML5表单和其他Forms资源。 此外,您还可以将其配置为显示已登录用户的草稿和已提交的自适应表单以及HTML5表单。 有关表单门户的详细信息,请参阅在门户上发布表单的简介

当登录用户将自适应表单保存为草稿或提交它时,它们会显示在表单门户的“草稿和提交”选项卡中。 草稿或已提交表单的数据存储在为AEM部署配置的数据存储中。 匿名用户的草稿和提交内容不显示在表单门户页面上;但是,数据存储在配置的数据存储中。 有关详细信息,请参阅为草稿和提交配置存储服务

用户数据和数据存储

Forms门户网站在以下情况下存储草稿和提交表单的数据:

  • 在自适应表单中配置的提交操作是​Forms门户提交操作
  • 对于除​Forms门户提交操作​之外的提交操作,在自适应表单容器的​提交​属性中启用​在表单门户中存储数据选项。

对于登录用户和匿名用户的每个草稿和提交的表单,表单门户会存储以下数据:

  • 表单元数据,如表单名称、表单路径、草稿或提交ID、附件路径和用户数据ID
  • 表单附件作为数据字节
  • 表单数据作为数据字节

根据配置的数据存储持久性,草稿和提交的表单数据存储在以下位置。

持久性类型

数据存储

位置

默认

AEM创作和发布实例存储库

/content/forms/fp/

远程

AEM作者和远程AEM实例存储库

/content/forms/fp/

数据库

AEM作者实例和数据库表存储库

数据库表datametadataadditionalmetadata

访问和删除用户数据

您可以访问已配置数据存储中已登录和匿名用户的草稿和已提交表单数据,并根据需要删除它。

AEM实例

登录用户和匿名用户的AEM实例(作者、发布或远程)中的所有草稿和提交的表单数据都存储在适用AEM存储库的/content/forms/fp/节点中。 每次登录或匿名用户保存草稿或提交表单时,都会生成每个附件的draft IDsubmission IDuser data ID和随机ID(如果适用),这些随机<a3/>与相应的草稿或提交相关联。

访问用户数据

当登录用户保存草稿或提交表单时,将使用其用户ID创建子节点。 例如,用户ID为srose的Sarah Rose的草稿和提交数据存储在AEM存储库的/content/forms/fp/srose/节点中。 在用户ID节点内,数据以分层结构组织。

下表说明了srose的所有草稿的数据如何存储在AEM存储库中。

注意

/content/forms/fp/srose/submit/节点下,为srose提交的表单复制一个精确的结构,如drafts

anonymous用户提交的所有草稿和提交都存储在/content/forms/fp/anonymous/节点下,该节点为draftsubmit节点下的所有匿名用户组织草稿和提交。

节点 描述
/content/forms/fp/srose/drafts 容器用户所有草稿的节点数据
/content/forms/fp/srose/drafts/attachments/ 根据草稿ID组织用户的所有附件
/content/forms/fp/srose/drafts/attachments/<ID> 包含所选ID的二进制格式的附件
/content/forms/fp/srose/drafts/metadata/ 根据草稿ID组织用户的表单元数据
/content/forms/fp/srose/drafts/metadata/<draft ID> 包含所选草稿ID的表单元数据
/content/forms/fp/srose/drafts/data/ 根据用户数据ID组织用户的表单数据
/content/forms/fp/srose/drafts/data/<user data ID> 包含所选用户数据ID的二进制格式表单数据

删除用户数据

要从AEM系统中完全删除已登录用户的草稿和提交的用户数据,必须从作者节点删除特定用户的user ID节点。 必须从所有适用的AEM实例中手动删除数据。

所有匿名用户的草稿和提交数据都存储在/content/forms/fp/anonymous下的公共draftssubmit节点中。 除非某些可识别信息已知,否则无法查找特定匿名用户的数据。在此例中,您可以搜索AEM存储库中标识匿名用户的信息,并从所有适用的AEM实例中手动删除包含该用户的节点,以从AEM系统中删除数据。 但是,要删除所有匿名用户的数据,您可以删除anonymous节点,以删除所有匿名用户的草稿和提交数据。

数据库

将AEM配置为将数据存储在数据库中时,登录用户和匿名用户的表单门户草稿和提交数据都存储在以下数据库表中:

  • 数据
  • 元数据
  • 附加元数据

访问用户数据

要访问数据库表中已登录和匿名用户的草稿和提交数据,请运行以下数据库命令。 在该查询中,将logged-in user替换为要访问其数据的用户ID,或将anonymous替换为匿名用户。

select * from metadata, data, additionalmetadatatable where metadata.owner = 'logged-in user' and metadata.id = additionalmetadatatable.id and metadata.userdataID = data.id

删除用户数据

要从数据库表中删除已登录用户的草稿和提交数据,请运行以下数据库命令。 在该查询中,将logged-in user替换为要删除其数据的用户ID,或将anonymous替换为匿名用户。 请注意,要从数据库中删除特定匿名用户的数据,您需要使用一些可识别信息找到该数据,并从包含该信息的数据库表中删除该数据。

DELETE FROM metadata, data, additionalmetadatatable USING metadata INNER JOIN data ON metadata.userdataID = data.id INNER JOIN additionalmetadatatable ON metadata.id = additionalmetadatatable.id WHERE metadata.owner = 'logged-in user'

在此页面上