建立本地开发环境和初始开发项目

设置和配置 Adobe Experience Manager Forms as a Cloud Service 环境中,您可以在云上设置开发、暂存和生产环境。 此外,您还可以设置和配置本地开发环境。

您可以使用本地开发环境创建表单和相关资产(主题、模板、自定义提交操作等)以及 将PDF forms转换为自适应Forms 无需登录到云开发环境。 在本地开发实例上准备好自适应表单或相关资产后,您可以将自适应表单和相关资产从本地开发环境导出到Cloud Service环境,以进一步测试和发布。

您还可以在本地开发环境中开发和测试自定义代码(如自定义组件和预填充服务)。 测试并准备好自定义代码后,您可以使用Cloud Service开发环境的Git存储库来部署自定义代码。

要设置新的本地开发环境并使用该环境进行活动开发,请按列出顺序执行以下操作:

前提条件

您需要以下软件来设置本地开发环境。 在开始设置本地开发环境之前,请先下载这些内容:

软件 描述 下载链接
Adobe Experience Manager as a Cloud Service SDK SDK包含 Adobe Experience Manager 快速入门和调度程序工具 从下载最新的SDK Software Distribution
Adobe Experience Manager Forms功能存档(AEM Forms附加组件) 用于创建、设置样式和优化自适应Forms和其他Adobe Experience Manager表单功能的工具 下载来源 Software Distribution
(可选)Adobe Experience Manager Forms引用内容 用于创建、设置样式和优化自适应Forms和其他Adobe Experience Manager表单功能的工具 下载来源 Software Distribution
(可选)Adobe Experience Manager Forms Designer 用于创建、设置样式和优化自适应Forms和其他Adobe Experience Manager表单功能的工具 下载来源 Software Distribution

从Software Distribution下载最新版本的软件

要从下载最新版本的Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms功能存档(AEM Forms附加组件)、表单引用资产或Forms Designer,请执行以下操作 软件分发:

  1. 使用您的Adobe ID登录https://experience.adobe.com/#/downloads

    注意

    必须为您的Adobe组织配置AEMas a Cloud Service,才能下载AEMas a Cloud ServiceSDK。

  2. 导航到 AEM as a Cloud Service 选项卡。

  3. 按发布日期以降序排序。

  4. 单击最新的Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms功能存档(AEM Forms附加组件)、表单引用资产或Forms Designer。

  5. 审阅并接受EULA。 点按 Download 按钮。

为AEM项目设置开发工具

Adobe Experience Manager Forms项目是一个自定义代码库。 它包含通过Cloud Manager部署到 Adobe Experience Manager as a Cloud Service。 的 AEM Project Maven Archetype 提供项目的基线结构。

设置以下开发工具以用于 Adobe Experience Manager 开发项目:

有关设置之前提到的开发工具的详细说明,请参阅 设置开发工具.

设置本地Experience Manager环境以进行开发

Cloud ServiceSDK提供了快速入门文件。 它运行本地版本的Experience Manager。 您可以在本地运行创作实例或发布实例。

虽然快速入门提供了本地开发体验,但它并没有在 Adobe Experience Manager as a Cloud Service。 因此,请始终使用 Adobe Experience Manager as a Cloud Service的开发环境。

要安装和配置本地Experience Manager环境,请执行以下步骤:

将Forms存档添加到本地创作实例和发布实例,并配置特定于Forms的用户

在所列的位置中执行以下步骤,以将Forms存档添加到Experience Manager实例并配置特定于表单的用户:

安装最新的Forms附加组件功能存档

Adobe Experience Manager Formsas a Cloud Service功能存档提供了用于在本地开发环境中创建、设置和优化自适应Forms的工具。 安装包以创建自适应表单,并使用 AEM Forms. 要安装包,请执行以下操作:

  1. 下载并提取最新版本 AEM Forms 从 Software Distribution.

  2. 导航到crx-quickstart/install目录。 如果文件夹不存在,请创建该文件夹。

  3. 停止AEM实例,将 AEM Forms 附加功能存档, aem-forms-addon-<version>.far,并重新启动实例。

配置用户和权限

创建诸如表单开发人员和表单从业者和 将这些用户添加到预定义的表单组 以向他们提供所需的权限。 下表列出了每种类型表单用户的所有类型用户和预定义群组:

用户类型 AEM组
从业人员/ forms-users (AEM Forms用户)、 template-authors, workflow-users, workflow-editors和 fdm-authors
表单开发人员 forms-users (AEM Forms用户)、 template-authors, workflow-users, workflow-editors和 fdm-authors
客户体验潜在客户或UX设计人员 forms-users, template-authors
AEM 管理员 aem-administrators, fd-administrators
最终用户 当用户必须登录才能查看和提交自适应表单时,请将此类用户添加到 forms-users 群组。
当访问自适应Forms时不需要用户身份验证时,请勿向此类用户分配任何组。

为记录文档(DoR)设置本地开发环境

AEM Forms as aCloud Services提供了基于Docker的SDK环境,以便更轻松地开发记录文档和使用其他微服务。 它使您无需手动配置特定于平台的二进制文件和适应。 要设置环境,请执行以下操作:

  1. 安装和配置Docker:

    • (对于Microsoft Windows)安装 Docker Desktop. 它会在您的计算机上配置Docker引擎和Docker撰写。

    • (Apple macOS)安装 适用于Mac的Docker Desktop. 它包括Docker引擎、Docker CLI客户端、Docker撰写、Docker内容信任、Kubernetes和凭据帮助程序。

    • (对于Linux)安装 Docker引擎Docker Compose 你的机器上。

    注意
    • 对于Apple macOS,将包含本地AEM创作实例的文件夹列入白名单。

    • 适用于Windows的Docker桌面支持两个后端,Hyper-V
      (旧版)和WSL2(新版)。 文件共享是自动的
      使用WSL2(现代版)时由Docker管理。 你必须
      使用Hyper-V(旧版)时明确配置文件共享。

  2. 创建一个与创作实例和发布实例并行的文件夹,如aem-sdk。 例如C:\aem-sdk。

  3. 提取 aem-forms-addon-<version>.zip\aem-forms-addon-native-<version>.zip 文件。

    本机的提取aem forms add

  4. 创建环境变量AEM_HOME并指向本地AEM创作安装。 例如C:\aem\author\。

  5. 打开sdk.bat或sdk.sh进行编辑。 将AEM_HOME设置为指向本地AEM创作安装。 例如C:\aem\author\。

  6. 打开命令提示符并导航到 aem-forms-addon-native-<version> 文件夹。

  7. 确保本地AEM创作实例已启动且正在运行。 运行以下命令以启动SDK:

    • (在Microsoft Windows上) sdk.bat start
    • (在Linux或Apple Mac OS上) AEM_HOME=[local AEM Author installation] ./sdk.sh start
    注意

    如果您在sdk.sh文件中定义了环境变量,则在命令行中指定该变量是可选的。 在命令行中提供了定义环境变量的选项,用于执行命令而不更新外壳程序脚本。

    start-sdk-command

您现在可以使用本地开发环境来渲染记录文档。 要测试,请将XDP文件上传到您的环境并渲染它。 例如,http://localhost:4502/libs/xfaforms/profiles/default.print.pdf?template=crx:///content/dam/formsanddocuments/check-request.xdp会将XDP文件转换为PDF文档。

基于Experience Manager原型设置Forms开发项目

使用此项目可在本地创建自适应Forms、部署配置更新、叠加、创建自定义自适应表单组件、测试和自定义代码 Experience Manager Forms SDK。 在本地测试后,您可以将项目部署到 Experience Manager Forms as a Cloud Service的生产和非生产环境。 在部署项目时,还会部署以下AEM Forms资产:

主题 模板 表单数据模型
画布3.0 基本 Microsoft Dynamics 365
空白 Salesforce
注意

设置基于AEM Archetype版本30或更高版本的项目,以在AEM Formsas a Cloud Service中获取并使用Microsoft Dynamics 365和Salesforce表单数据模型。

要设置项目,请执行以下操作:

  1. 在本地开发实例上克隆Cloud Manager Git存储库: 您的Cloud Manager Git存储库包含一个默认的AEM项目。 基于 AEM原型. 使用Cloud Manager UI中的自助服务Git帐户管理来克隆Cloud Manager Git存储库,以将项目引入本地开发环境。 有关访问存储库的详细信息,请参阅 访问存储库.
  1. 创建 Experience Manager Forms as a [Cloud Service] 项目: 创建 Experience Manager Forms as a [Cloud Service] 项目基于 AEM原型27 或更晚。 原型可帮助开发人员轻松开始开发 AEM Forms as a Cloud Service。 它还包含一些帮助您快速入门的示例主题和模板。

    打开命令提示符并运行以下命令以创建 Experience Manager Forms as a Cloud Service项目。 包含 Forms 特定配置、主题和模板,设置 includeForms=y.

    mvn -B archetype:generate -DarchetypeGroupId=com.adobe.aem -DarchetypeArtifactId=aem-project-archetype -DarchetypeVersion=30 -DaemVersion="cloud" -DappTitle="My Site" -DappId="mysite" -DgroupId="com.mysite" -DincludeForms="y"
    

    此外,更改 appTitle, appIdgroupId,以反映您的环境。

  2. 将项目部署到本地开发环境。 您可以使用以下命令部署到本地开发环境

    mvn -PautoInstallPackage clean install

    有关命令的完整列表,请参阅 构建和安装

  3. 将代码部署到 AEM Forms as a Cloud Service环境.

设置本地Dispatcher工具

Dispatcher是一个Apache HTTP Web服务器模块,在CDN和AEM发布层之间提供一个安全和性能层。 Dispatcher是整体Experience Manager架构的一个组成部分,应是本地开发环境的一部分。

请执行以下步骤来配置本地Dispatcher,然后向其添加特定于Forms的规则:

设置本地Dispatcher

的 Experience Manager as a Cloud ServiceSDK包含推荐的Dispatcher工具版本,该版本便于在本地配置、验证和模拟Dispatcher。 调度程序工具基于Docker,并提供命令行工具,以将Apache HTTP Web Server和调度程序配置文件传输为兼容格式,并将它们部署到在Docker容器中运行的调度程序。

在Dispatcher上缓存允许 AEM Forms 以在客户端预填充自适应Forms。 它提高了预填充表单的渲染速度。

有关设置Dispatcher的详细说明,请参阅 设置本地Dispatcher工具

将Forms特定规则添加到Dispatcher

请执行以下步骤来为Experience Manager Formsas a Cloud Service配置Dispatcher缓存:

  1. 打开您的AEM项目,然后导航到 \src\conf.dispatcher.d\available_farms

  2. 创建 default.farm 文件。 例如, forms.farm.

  3. 打开新创建的 forms.farm 文件进行编辑并替换以下代码:

    #/ignoreUrlParams {
    #/0001 { /glob "*" /type "deny" }
    #/0002 { /glob "q" /type "allow" }
    #}
    

    替换为

    /ignoreUrlParams {
    /0001 { /glob "*" /type "deny" }
    /0002 { /glob "dataRef" /type "allow" }
    }
    
  4. 保存并关闭文件。

  5. 转到 conf.d/enabled_farms 并创建指向的符号链接 forms.farm 文件。

  6. 编译项目并将其部署到 AEM Forms as a Cloud Service环境。

有关缓存的注意事项

  • 调度程序缓存允许 AEM Forms 以在客户端预填充自适应Forms。 它提高了预填充表单的渲染速度。
  • 默认情况下,缓存安全内容功能处于禁用状态。 要启用该功能,您可以执行 缓存安全内容 文章
  • Dispatcher可能无法使某些自适应Forms和相关的自适应Forms失效。 要解决此类问题,请参阅 AEM Forms 缓存 疑难解答部分。
  • 缓存本地化的自适应Forms:
    • 使用URL格式 http://host:port/content/forms/af/<afName>.<locale>.html 请求自适应表单的本地化版本,而不是 http://host:port/content/forms/af/afName.html?afAcceptLang=<locale>
    • 默认情况下,“浏览器区域设置”选项处于禁用状态。 要更改浏览器区域设置,请
  • 使用URL格式时 http://host:port/content/forms/af/<adaptivefName>.html,并且禁用了配置管理器中的“使用浏览器区域设置”,则会提供自适应表单的非本地化版本。 非本地化语言是开发自适应表单时使用的语言。 不考虑为浏览器配置的区域设置(浏览器区域设置),并提供自适应表单的非本地化版本。
  • 使用URL格式时 http://host:port/content/forms/af/<adaptivefName>.html,并在配置管理器中启用“使用浏览器区域设置”后,会提供自适应表单的本地化版本(如果可用)。 本地化的自适应表单的语言基于为浏览器配置的区域设置(浏览器区域设置)。 这会导致 [仅缓存自适应表单的第一个实例]. 要防止问题在实例中发生,请参阅 仅缓存自适应表单的第一个实例 疑难解答部分。

您的本地开发环境已准备就绪。

升级本地开发环境

将SDK升级到新版本需要替换整个本地开发环境,从而导致本地存储库中的所有代码、配置和内容丢失。 确保将任何不应被销毁的代码、配置或内容安全地提交到Git,或从本地Experience Manager实例中导出为CRX-Packages。

如何避免在升级SDK时内容丢失

升级SDK实际上是在创建一个全新的创作和发布实例,包括一个新的存储库(设置AEM项目),这意味着对之前SDK存储库所做的任何更改都将丢失。 有关帮助在SDK升级期间保留内容的可行策略,请参阅 如何避免在升级AEM SDK时丢失内容

备份特定于Forms的内容并将其导入新的SDK环境

要将资产从现有SDK备份并移动到新的SDK环境,请执行以下操作:

  • 创建现有内容的备份。

  • 设置新的SDK环境。

  • 将备份导入新的SDK环境。

创建现有内容的备份

备份自适应Forms、模板、表单数据模型、主题、配置和自定义代码。 您可以执行以下操作以创建备份:

  1. 下载 自适应Forms、主题和PDF forms。

  2. 导出自适应表单模板。

  3. 下载表单数据模型

  4. 导出可编辑的模板、云配置和工作流模型。 要从现有SDK中导出所有之前提到的项目,请创建 CRX-Package ,具有以下过滤器:

    • /conf/ReferenceEditableTemplates
    • /conf/global/settings/cloudconfigs
    • /conf/global/settings/wcm
    • /var/workflow/models
    • /conf/global/settings/workflow
  5. 从本地开发环境导出电子邮件配置、提交和预填充操作代码。 要导出这些设置和配置,请在本地开发环境中创建以下文件夹和文件的副本:

    • [Archetype Project in Cloud Service Git]/core/src/main/java/com/<program name>/core/service
    • [Archetype Project in Cloud Service Git] /core/src/main/java/com/<program name>/core/servlets/FileAttachmentServlet.java
    • [Archetype Project in Cloud Service Git]/ui.apps/src/main/content/jcr_root/apps/<program name>/config

将备份导入新的SDK环境

将自适应Forms、模板、表单数据模型、主题、配置和自定义代码导入新环境。 您可以执行以下操作以导入备份:

  1. 导入 自适应Forms、主题和PDF forms到新SDK环境。

  2. 将自适应表单模板导入新的SDK环境。

  3. 将表单数据模型上传到新的SDK环境。

  4. 导入可编辑的模板、云配置和工作流模型。 要在新的SDK环境中导入之前提到的所有项目,请将包含这些项目的CRX-Package导入新的SDK环境。

  5. 从本地开发环境导入电子邮件配置、提交和预填充操作代码。 要导入这些设置和配置,请将以下文件从旧Archetype项目放入新Archetype项目:

    • [Archetype Project in Cloud Service Git]/core/src/main/java/com/<program name>/core/service
    • [Archetype Project in Cloud Service Git] /core/src/main/java/com/<program name>/core/servlets/FileAttachmentServlet.java
    • [Archetype Project in Cloud Service Git]/ui.apps/src/main/content/jcr_root/apps/<program name>/config

您的新环境现在具有旧环境的表单和相关资产。

在此页面上