AEM Forms门户提供的组件可用于在AEM Sites页面列表自适应表单、HTML5表单和其他Forms资源。 此外,您还可以将其配置为显示已登录用户的草稿和已提交的自适应表单以及HTML5表单。 有关表单门户的详细信息,请参阅在门户上发布表单的简介。
当登录用户将自适应表单保存为草稿或提交它时,它们会显示在表单门户的“草稿和提交”选项卡中。 草稿或已提交表单的数据存储在为AEM部署配置的数据存储中。 匿名用户的草稿和提交内容不显示在表单门户页面上;但是,数据存储在配置的数据存储中。 有关详细信息,请参阅为草稿和提交配置存储服务。
Forms门户网站在以下情况下存储草稿和提交表单的数据:
对于登录用户和匿名用户的每个草稿和提交的表单,表单门户会存储以下数据:
根据配置的数据存储持久性,草稿和提交的表单数据存储在以下位置。
持久性类型 |
数据存储 |
位置 |
默认 |
AEM创作和发布实例存储库 |
|
远程 |
AEM作者和远程AEM实例存储库 |
|
数据库 |
AEM作者实例和数据库表存储库 |
数据库表data 、metadata 和 additionalmetadata |
您可以访问已配置数据存储中已登录和匿名用户的草稿和已提交表单数据,并根据需要删除它。
登录用户和匿名用户的AEM实例(作者、发布或远程)中的所有草稿和提交的表单数据都存储在适用AEM存储库的/content/forms/fp/
节点中。 每次登录或匿名用户保存草稿或提交表单时,都会生成每个附件的draft ID
或submission ID
、user 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/
节点下,该节点为draft
和submit
节点下的所有匿名用户组织草稿和提交。
节点 | 描述 |
---|---|
/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
下的公共drafts
和submit
节点中。 除非某些可识别信息已知,否则无法查找特定匿名用户的数据。在此例中,您可以搜索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'