[AEM Forms]{class="badge positive" title="适用于AEM Forms)。"}

创建表单数据模型(FDM) create-form-data-model

版本
文章链接
AEM 6.5
单击此处
AEM as a Cloud Service
本文

数据集成

Experience Manager Forms中的​ 表单数据模型(FDM) ​定义了如何在表单与后端系统之间构造和交换数据。 Experience Manager Forms数据集成提供了一个直观的用户界面,用于创建和使用表单数据模型。 表单数据模型(FDM)依赖数据源进行数据交换;但是,您可以创建具有或不具有数据源​的表单数据模型(FDM)。 这种灵活性允许您甚至在后端连接可用之前开始设计和测试表单,然后稍后绑定数据源而不重建模型。

创建表单数据模型(FDM)的方法有两种,具体取决于您是否配置了数据源:

  • 使用预配置的数据源:如果您已按照配置数据源中的说明配置数据源,则可以在创建表单数据模型(FDM)时选择它们。 选择已配置的数据源将来自选定数据源的所有数据模型对象、属性和服务可用于表单数据模型(FDM)。 如果您已建立集成端点,并且希望FDM反映来自这些系统的实时模式、操作和服务,则此方法非常理想。

  • 没有数据源:如果尚未为表单数据模型(FDM)配置数据源,则仍可以创建没有数据源的表单数据模型(FDM)。 您可以使用表单数据模型(FDM)创作自适应Forms并使用示例数据测试它们。 在数据源可用时,您可以将表单数据模型(FDM)与数据源绑定,并且此绑定会自动传播到关联的自适应Forms — 因此,一旦添加了真正的后端连接,针对样本数据构建的表单将继续工作。

NOTE
先决条件:​您必须同时是​ fdm-author ​和​ forms-user ​组的成员才能创建和使用表单数据模型(FDM)。 如果两个组中都没有成员资格,则FDM创作功能不可用。 联系您的Experience Manager管理员以成为​ fdm-author ​和​ forms-user ​组的成员。

创建表单数据模型(FDM) data-sources

在创建表单数据模型(FDM)之前,请确保已配置要在表单数据模型(FDM)中使用的数据源,如配置数据源中所述。 表单数据模型(FDM)提供将Adobe Experience ManagerForms连接到一个或多个配置的数据源的统一层,允许您绑定表单字段到后端数据并调用数据源服务。 执行以下操作以基于配置的数据源创建表单数据模型(FDM):

  1. 在Experience Manager创作实例中,导航到​Forms >数据集成。

  2. 选择​创建>表单数据模型。

  3. 在创建表单数据模型对话框中:

    • 指定表单数据模型(FDM)的名称。
    • (可选)为表单数据模型(FDM)指定标题、描述和标记。
    • (可选,并且仅在配置了数据源时适用)选择​ 数据Source配置 ​字段旁边的勾号图标,然后选择您要使用的数据源的云服务所在的配置节点。 因此,可在下一页选择的数据源列表仅限于在所选配置节点中可用的数据源。 但是,默认情况下会列出所有Experience Manager用户配置文件数据源。 如果不选择配置节点,则会列出所有配置节点的数据源。
  4. 选择​下一步。

  5. (仅当配置了数据源时才适用)选择数据源​屏幕列出了可用的数据源。 选择要在表单数据模型中使用的数据源。

  6. 选择​创建,然后在确认对话框中,选择​ 打开 ​以打开表单数据模型编辑器。

    具有三个数据源的表单数据模型 — RESTful服务、Experience Manager用户配置文件和RDBMS

    表单数据模型编辑器UI包含以下组件:

    A. 数据源​列出表单数据模型中的数据源。 展开数据源以查看其数据模型对象和服务。

    B. 刷新数据Source定义​从配置的数据源中获取数据源定义的任何更改,并在表单数据模型编辑器的“数据源”选项卡中更新它们。 这可确保模型反映连接数据源的当前状态。

    C. 模型​显示添加的数据模型对象的内容区域。

    D. 服务​显示添加的数据源操作或服务的内容区域。

    E. 工具栏​用于表单数据模型(FDM)的工具。 工具栏根据表单数据模型(FDM)中的选定对象显示更多选项。

    F. 添加选定项​将选定数据模型对象和服务添加到表单数据模型。

有关表单数据模型编辑器以及如何使用它来编辑和配置表单数据模型(FDM)的详细信息,请参阅使用表单数据模型。

更新数据源 update

按照以下步骤在Adobe Experience Manager Forms中的现有​ 表单数据模型(FDM) ​中添加、替换或删除数据源。 保持数据源为最新状态可确保基于模型构建的自适应Forms能够继续读取和写入正确的系统。

  1. 转到​Forms >数据集成,选择要添加或更新数据源的​表单数据模型(FDM),然后选择​属性。

  2. 在“表单数据模型”属性中,转到​ 更新Source ​选项卡。

    在​ 更新Source ​选项卡中,您可以选择配置上下文,然后添加、替换或删除数据源:

    • 选择配置上下文:​在​ 上下文感知配置 ​字段中选择浏览图标,然后选择要添加的数据源的云配置驻留的配置节点。 这将确定哪些云配置可见。 如果不选择节点,则在选择​ 添加源 ​时,将列出仅驻留在global节点中的云配置。

    • 添加新数据源:​选择​ 添加源 ​并选择要添加到​ 表单数据模型(FDM) ​的数据源。 将显示在global中和所选配置节点中配置的所有数据源(如果有)。 这将添加选定的数据源,以便其数据模型对象可用于在模型中绑定。

    • 替换现有数据源:​要使用相同类型的另一个数据源替换现有数据源,请选择数据源的​ 编辑 ​图标,然后从可用数据源列表中选择。 替换为相同类型的源将保留现有的数据模型结构,因此依赖的绑定将保持有效。
      fdm-properties

    • 删除现有数据源:​要删除现有数据源,请选择数据源的​ 删除 ​图标。 “删除”图标已禁用,因为该数据源中的数据模型对象已添加并正在​ 表单数据模型(FDM) ​中使用,这可阻止删除仍被引用的依赖项。

  3. 选择​ 保存并关闭 ​以保存更新。

NOTE
在​ 表单数据模型(FDM) ​中添加新数据源或更新现有数据源后,请根据需要在使用更新后的​ 表单数据模型(FDM) ​的自适应Forms中更新绑定引用。 这可确保字段继续正确映射,并且表单数据可从目标源读取并写入目标源。

特定运行模式的上下文感知配置 runmode-specific-context-aware-config

表单数据模型(FDM)使用Sling上下文感知配置提供不同的数据源参数,从而启用与Experience Manager运行模式中不同数据源的连接。 此功能允许单个部署目标不同的端点,具体取决于它在​开发、暂存​还是​ 生产 ​中运行。

当表单数据模型(FDM)使用云配置存储参数时,这些参数在通过源代码管理(Cloud-Manager GIT存储库)签入和部署时,使用在所有运行模式(开发、暂存和生产)中的相同参数创建单个云配置。 当用例需要不同的数据集用于测试和生产环境时,请使用特定于每个Experience Manager运行模式的数据源参数(例如,数据源URL)。

为此,请创建包含数据源参数值对的​OSGi配置。 这可确保OSGi值优先,在运行时覆盖表单数据模型(FDM)云配置中的相同对。 由于OSGi配置默认支持这些运行模式,因此您可以根据运行模式将数据源参数覆盖为不同的值,从而允许每个环境解析为自己的端点。

要在表单数据模型(FDM)中启用特定于部署的云配置,请执行以下操作:

  1. 在本地开发实例上创建云配置。 有关详细步骤,请参阅如何配置数据源。

  2. 将云配置存储到文件系统。

    1. 使用筛选器/conf/{foldername}/settings/cloudconfigs/fdm创建包。 使用与步骤1中相同的{foldername}。 对于Azure存储配置,请将fdm替换为azurestorage。
    2. 生成并下载包。 有关详细信息,请参阅包操作。
  3. 在Experience Manager原型项目中集成云配置。

    1. 解压缩下载的包。
    2. 复制jcr_root文件夹并将其放入您的ui.content > src > main > content。
    3. 更新ui.content > src > main > content > META-INF > vault > filter.xml以包含筛选器/conf/{foldername}/settings/cloudconfigs/fdm。 有关详细信息,请参阅AEM项目原型的ui.content模块。 当通过Cloud Manager (CM)管道部署此原型项目时,相同的云配置会安装在所有环境(或运行模式)上。 要根据环境更改云配置的字段(如URL)值,请使用以下步骤中讨论的OSGi配置。
  4. 创建Apache Sling上下文感知配置。 要创建OSGi配置,请执行以下操作:

    1. 在Experience Manager原型项目中设置OSGi配置文件。
      创建PID为org.apache.sling.caconfig.impl.override.OsgiConfigurationOverrideProvider的OSGi工厂配置文件。 在每个运行模式文件夹下创建一个名称相同的文件,其中每个运行模式的值都需要更改。 这可确保每个运行模式都应用其自身的覆盖值。 有关详细信息,请参阅为 Adobe Experience Manager配置OSGi。

    2. 设置OSGi配置JSON。 配置Apache Sling上下文感知配置覆盖提供程序,以便在部署时自动应用特定于环境的值。 要使用Apache Sling上下文感知配置覆盖提供程序,请执行以下操作:

      1. 在本地开发实例/system/console/configMgr上,选择名为​ Apache Sling上下文感知配置覆盖提供程序 ​的工厂OSGi配置。
      2. 提供描述。
      3. 选择​已启用。
      4. 在覆盖下,根据Sling覆盖语法中的环境,提供需要更改的字段。 有关详细信息,请参阅Apache Sling上下文感知配置 — 覆盖。 例如,cloudconfigs/fdm/{configName}/url="newURL"。
        通过选择​ + ​添加多个覆盖。
      5. 选择​保存。
      6. 要获取OSGi配置JSON,请按照使用AEM SDK快速入门生成OSGi配置中的步骤操作。
      7. 将JSON放入上一步创建的OSGi工厂配置文件中。
      8. 将覆盖配置中的newURL值更改为每个环境(或运行模式)的正确目标值,以便每个环境解析为自己的URL。
      9. 要基于运行模式更改密码值,请使用Cloud Manager (CM) API创建密码变量,稍后再在OSGi配置中引用它。
        当通过Cloud Manager (CM)管道部署此原型项目时,覆盖将在不同的环境(或运行模式)上提供不同的值。 因此,单个代码库在运行时解析为特定于环境的配置。 这可确保开发、暂存和生产实例均可接收正确的URL和密码值,而无需手动更改代码。
      note
      NOTE
      Adobe Managed Service用户可以使用加密支持来加密密钥值。 有关详细信息,请参阅对配置属性的加密支持,并将加密文本置于上下文感知配置在Service Pack 6.5.13.0中可用后的值中。
  5. 使用刷新表单数据模型编辑器中的数据源定义的选项刷新数据源定义,以通过FDM用户界面(UI)刷新表单数据模型(FDM)缓存并获取最新配置。 这可确保FDM缓存反映新应用的覆盖值。

后续步骤 next-steps

您现在拥有已添加数据源的​表单数据模型(FDM)。 在连接数据源的情况下,下一步是优化和扩展​表单数据模型(FDM),以便它准确地表示您的表单需要捕获和处理的数据。

编辑​ 表单数据模型(FDM) ​以执行以下任务:

  • 添加和配置数据模型对象和服务。
  • 在数据模型对象之间添加关联以定义相关数据的连接方式。
  • 编辑现有数据模型对象的属性。
  • 将自定义数据模型对象和属性添加到所连接数据源中不可用的模型数据。
  • 生成样本数据以测试和预览表单数据模型的行为。

这些配置步骤允许您在将​ 表单数据模型(FDM) ​绑定到表单之前,根据特定业务要求对其进行定制。

有关详细信息,请参阅使用表单数据模型。

recommendation-more-help
experience-manager-cloud-service-help-main-toc