AEM Forms数据集成让您可以使用不同的后端数据源创建表单数据模型,并将其用作各种自适应表单和交互式通信工作流的架构。 它需要根据数据源中可用的数据模型对象和服务配置数据源并创建表单数据模型。 有关更多信息,请参阅以下内容:
表单数据模型是JSON架构的扩展,可用于执行以下操作:
您可以创建 自适应表单 和 自适应表单片段 基于表单数据模型。 创建自适应表单或自适应表单片段时,请执行以下操作以使用表单数据模型:
在添加属性屏幕上的表单模型选项卡中,选择 表单数据模型 在 选择自 下拉列表。
点按以展开 选择表单数据模型. 将列出所有可用的表单数据模型。
从数据模型中选择一个。
(仅自适应表单片段)您可以仅基于表单数据模型中的一个数据模型对象创建自适应表单片段。 展开 表单数据模型定义 下拉菜单。 它列出了指定表单数据模型中的所有数据模型对象。 从列表中选择一个数据模型对象。
创建基于表单数据模型的自适应表单或自适应表单片段后,表单数据模型对象将显示在 数据模型对象 在自适应表单编辑器中,选择内容浏览器的选项卡。
对于自适应表单片段,只有创作时选择的数据模型对象及其关联的数据模型对象才会显示在“数据模型对象”选项卡中。
您可以将数据模型对象拖放到自适应表单或片段上以添加表单字段。 添加的表单字段保留元数据属性,并与数据模型对象属性绑定。 绑定可确保字段值在表单提交时更新到对应的数据源中,并在表单呈现时预填充。
您可以基于表单数据模型创建交互式通信,该表单数据模型可用于使用来自配置数据源的数据预填充交互式通信。 此外,交互式通信的构建块(例如文本、列表和条件文档片段)可以基于表单数据模型。
创建交互式通信或文档片段时,您可以选择表单数据模型。 下图显示了“创建交互式通信”对话框的“常规”选项卡。
“创建交互式通信”对话框的“常规”选项卡
有关更多信息,请参阅:
利用表单数据模型编辑器,可生成和编辑表单数据模型中数据模型对象的示例数据。 您可以使用此数据预览和测试交互式通信和自适应表单。 在预览之前必须生成示例数据,如中所述 使用表单数据模型.
要预览包含示例表单数据模型数据的交互式通信,请执行以下操作:
交互式通信将打开,其中预填了示例数据。
同样,要预览包含示例数据的自适应表单,请在创作模式下打开自适应表单并点按 预览.
AEM Forms提供现成的表单数据模型预填充服务,您可以基于表单数据模型为自适应表单和交互式通信启用该服务。 预填充服务在自适应表单和交互式通信中查询数据模型对象的数据源,并相应地在呈现表单或通信时预填充数据。
要为自适应表单启用表单数据模型预填充服务,请打开自适应表单容器属性,然后选择 表单数据模型预填充服务 从 预填充服务 基本折叠面板中的下拉列表。 然后,保存属性。
要在交互式通信中配置表单数据模型预填充服务,您可以在创建时选择预填充服务下拉列表中的表单数据模型预填充服务,或者稍后通过修改属性来选择该服务。
交互式通信的“编辑属性”对话框
当用户提交基于表单数据模型的表单时,您可以配置表单以将数据模型对象的已提交数据写入其数据源。 要实现此用例,AEM Forms提供 表单数据模型提交操作,仅适用于基于表单数据模型的自适应表单。 它将为数据模型对象提交的数据写入其数据源。
要配置表单数据模型提交操作,请打开自适应表单容器属性并选择 使用表单数据模型提交 从“提交”折叠面板下的“提交操作”下拉列表中。 然后,浏览并选择数据模型对象 要提交的数据模型对象的名称 下拉菜单。 保存属性。
在表单提交时,将配置的数据模型对象的数据写入各自的数据源。
您还可以使用二进制数据模型对象属性将表单附件提交到数据源。 执行以下操作以将附件提交到JDBC数据源:
将包含二进制属性的数据模型对象添加到表单数据模型。
在自适应表单中,拖放 文件附件 组件从组件浏览器转至自适应表单。
点按以选择添加的组件,然后点按 以打开组件的属性浏览器。
在绑定引用字段中,点按 并导航以选择您在表单数据模型中添加的二进制属性。 根据需要配置其他属性。
点按 以保存属性。 附件字段现在绑定到表单数据模型的二进制属性。
在自适应表单容器属性的“提交”部分中,启用 提交表单附件. 在提交表单时,它将二进制属性字段中的附件提交到数据源。
在基于表单数据模型的自适应表单中,您可以 创建规则 以调用在表单数据模型中配置的服务。 此 调用服务 规则中的操作列出了表单数据模型中的所有可用服务,并允许您选择服务的输入和输出字段。 您还可以使用 设置值 规则类型,用于调用表单数据模型服务并将字段的值设置为服务返回的输出。
例如,以下规则调用一个将Employee ID作为输入的get服务,并且返回的值填充到表单中相应的Dependent ID、Last Name、First Name和Gender字段中。
此外,您还可以使用 guidelib.dataIntegrationUtils.executeOperation
用于在规则编辑器的代码编辑器中编写JavaScript的API。 有关API的详细信息,请参阅 用于调用表单数据模型服务的API.