Forms门户 | 处理用户数据 forms-portal-handling-user-data
AEM Forms Portal提供了一些组件,您可以使用这些组件在页面上列出自适应表单、HTML5表单和其他Forms资源 AEM Sites 页面。 此外,您还可以将其配置为显示草稿以及为登录用户提交的自适应表单和HTML5表单。 有关Forms门户的更多信息,请参阅 在门户上发布表单的简介.
当登录用户将自适应表单另存为草稿或提交时,它们显示在Forms Portal的草稿和提交选项卡中。 起草或提交表单的数据存储在为AEM部署配置的数据存储中。 匿名用户的草稿和提交内容不会显示在Forms Portal页面上;但是,数据存储到配置的数据存储中。 请参阅 为草稿和提交配置存储服务.
用户数据和数据存储 user-data-and-data-stores
Forms Portal在以下场景中存储草稿和已提交表单的数据:
- 在自适应表单中配置的提交操作为 Forms Portal提交操作.
- 用于提交操作,而不是 Forms Portal提交操作, 在Forms Portal中存储数据 选项在中启用 提交 自适应表单容器的属性。
对于已登录和匿名用户的每个草稿和已提交的表单,Forms门户都会存储以下数据:
- 表单元数据,例如表单名称、表单路径、草稿或提交ID、附件路径和用户数据ID
- 数据字节形式的表单附件
- 表单数据作为数据字节
根据配置的数据存储持久性,草稿和提交的表单数据存储在以下位置。
访问和删除用户数据 access-and-delete-user-data
您可以在配置的数据存储中访问已登录和匿名用户的草稿和已提交的表单数据,并在必要时将其删除。
AEM实例 aem-instances
AEM实例(作者、发布或远程)中针对已登录和匿名用户的所有草稿和已提交的表单数据都存储在 /content/forms/fp/
AEM节点。 每次登录用户或匿名用户保存草稿或提交表单时, draft ID
或 submission ID
, a user data ID
和随机 ID
会为每个附件(如果适用)生成。 该文件与相应的草稿或提交文件相关联。
访问用户数据 access-user-data
当登录用户保存草稿或提交表单时,将使用其用户ID创建子节点。 例如,为其用户ID为 srose
存储在 /content/forms/fp/srose/
AEM节点。 在用户ID节点中,数据以层次结构组织。
下表说明按以下方式生成的所有草稿的数据: srose
存储在AEM存储库中。
drafts
为已提交的表单复制 srose
在 /content/forms/fp/srose/submit/
节点。anonymous
用户存储在 /content/forms/fp/anonymous/
节点,用于组织以下所有匿名用户的草稿和提交 draft
和 submit
节点。/content/forms/fp/srose/drafts
/content/forms/fp/srose/drafts/attachments/
/content/forms/fp/srose/drafts/attachments/<ID>
/content/forms/fp/srose/drafts/metadata/
/content/forms/fp/srose/drafts/metadata/<draft ID>
/content/forms/fp/srose/drafts/data/
/content/forms/fp/srose/drafts/data/<user data ID>
删除用户数据 delete-user-data
要从AEM系统的已登录用户的草稿和提交中完全删除用户数据,您必须删除 user ID
作者节点中特定用户的节点。 从所有适用的AEM实例中手动删除数据。
所有匿名用户的草稿和提交数据都存储在公共 drafts
和 submit
下的节点 /content/forms/fp/anonymous
. 除非某些可识别的信息是已知的,否则没有方法可以为特定的匿名用户查找数据。 在这种情况下,您可以搜索在AEM存储库中标识匿名用户的信息,并从所有适用的AEM实例中手动删除包含该匿名用户的节点,以从AEM系统中删除数据。 但是,要删除所有匿名用户的数据,您可以删除 anonymous
节点,用于移除所有匿名用户的草稿和提交数据。
数据库 database
如果将AEM配置为将数据存储在数据库中,则Forms Portal草稿和提交数据会存储在以下数据库表中,以供登录用户和匿名用户使用:
- 数据
- 元数据
- 其他元数据
访问用户数据 access-user-data-1
要访问数据库表中已登录和匿名用户的草稿和提交数据,请运行以下数据库命令。 在查询中,替换 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
删除用户数据 delete-user-data-1
要从数据库表中删除登录用户的草稿和提交数据,请运行以下数据库命令。 在查询中,替换 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'