为AEM Forms设置本地开发环境 overview

当您将​ Adobe Experience Manager Forms设置并配置为​ Cloud Service环境时,您需要在云上设置开发、暂存和生产环境。 此外,您还可以设置和配置本地开发环境。

您可以使用本地开发环境执行以下操作,而无需登录到云开发环境:

在本地开发实例或应用程序上准备好自适应表单或相关资源以生成[客户通信]后,您可以将自适应表单或客户通信应用程序从本地开发环境导出到Cloud Service环境,以进行进一步测试或迁移到生产环境。

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

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

先决条件

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

软件
描述
下载链接
ADOBE EXPERIENCE MANAGER AS A CLOUD SERVICE SDK
SDK包含Adobe Experience Manager快速入门和Dispatcher工具
软件分发下载最新的SDK
Adobe Experience Manager Forms功能存档(AEM Forms附加组件)
用于创建、设置和优化自适应Forms和其他Adobe Experience Manager Forms功能的工具
软件分发下载
(可选)Adobe Experience Manager Forms参考内容
用于创建、设置和优化自适应Forms和其他Adobe Experience Manager Forms功能的工具
软件分发下载
(可选)Adobe Experience Manager Forms Designer
用于创建、设置和优化自适应Forms和其他Adobe Experience Manager Forms功能的工具
软件分发下载

从软件分发下载最新版本的软件 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

    note note
    NOTE
    必须为AEM as a Cloud Service配置您的Adobe组织才能下载AEM as a Cloud Service SDK。
  2. 导航到​ AEM as a Cloud Service ​选项卡。

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

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

    note note
    NOTE
    建议下载最新版本的Experience Manager Forms功能存档(AEM Forms加载项)、表单引用资产或Forms Designer,以便与Adobe Experience Manager as a Cloud Service SDK无缝兼容。
  5. 查看并接受EULA。 选择​ 下载 ​按钮。

为AEM项目设置开发工具 setup-development-tools-for-AEM-projects

Adobe Experience Manager Forms项目是一个自定义代码库。 它包含通过Cloud Manager部署到Adobe Experience Manageras a Cloud Service的代码、配置和内容。 AEM项目Maven原型提供项目的基线结构。

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

有关设置上述开发工具的详细说明,请参阅设置开发工具

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

Cloud ServiceSDK提供了一个快速启动文件。 它运行本地版本的Experience Manager。 您可以在本地运行Author或Publish实例。

虽然QuickStart提供了本地开发体验,但它在Adobe Experience Manageras a Cloud Service中没有所有可用功能。 因此,在将功能移至暂存或生产环境之前,请始终使用Adobe Experience Manageras a Cloud Service开发环境测试您的功能和代码。

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

将Forms存档添加到本地创作实例和Publish实例,并配置特定于Forms的用户 add-forms-archive-configure-users

按照列出的顺序执行以下步骤,将Forms存档添加到Experience Manager实例并配置特定于表单的用户:

安装最新的Forms附加功能存档 add-forms-archive

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

  1. Software Distribution下载并提取操作系统的最新AEM Forms存档。

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

  3. 停止AEM实例,将AEM Forms加载项功能存档aem-forms-addon-<version>.far放入安装文件夹中。

  4. 转到活动命令窗口并按Ctrl + C命令以重新启动SDK。

    note note
    NOTE
    建议使用“Ctrl + C”命令重新启动SDK。 使用替代方法(例如,停止Java进程)重新启动AEM SDK可能会导致AEM开发环境不一致。

配置用户和权限 configure-users-and-permissions

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

用户类型
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
Customer Experience Lead或UX Designer
forms-users、template-authors
AEM 管理员
aem-administrators、fd-administrators
最终用户
当用户必须登录才能查看并提交自适应表单时,请将这些用户添加到forms-users组。
当访问自适应Forms不需要用户身份验证时,不要向此类用户分配任何组。

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

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

  1. 安装和配置Docker:

    • (对于Microsoft® Windows)安装Docker桌面。 它在您的计算机上配置Docker Enginedocker-compose

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

    • (对于Linux®)在您的计算机上安装Docker引擎Docker合成

    note note
    NOTE
    • 对于Apple macOS,请允许列表包含本地AEM创作实例的文件夹。

    • Docker Desktop for Windows支持两个后端: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添加在本机上

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

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

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

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

    • 在Microsoft® Windows上

      code language-shell
      sdk.bat start
      
    • Linux®或Apple macOS

      code language-shell
      % export AEM_HOME=[local AEM Author installation]
      % ./sdk.sh start
      
    note note
    NOTE
    如果已在sdk.sh文件中定义了环境变量,则可以在命令行中指定该变量。 提供了在命令行定义环境变量的选项,用于执行命令而不更新shell脚本。

    start-sdk-command

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

为基于Experience Manager原型的Forms设置开发项目 forms-cloud-service-local-development-environment

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

主题
模板
表单数据模型(FDM)
Canvas 3.0
基本
Microsoft® Dynamics 365
宁静
空白
Salesforce
城镇
超海洋
贝里尔
NOTE
设置基于AEM Archetype版本30或更高版本的项目,以获取并使用Microsoft®Dynamics 365和Salesforce Form Data Model (FDM)以及AEM Formsas a Cloud Service。
设置基于AEM Archetype版本32或更高版本的项目以通过AEM Formsas a Cloud Service获取和使用Tranquil、Urbane和Ultraminary主题。

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

  1. 在本地开发实例上克隆Cloud Manager Git存储库: ​您的Cloud Manager Git存储库包含默认的AEM项目。 它基于AEM原型。 使用Cloud Manager UI中的自助Git帐户管理克隆Cloud Manager Git存储库,以将项目引入本地开发环境。 有关访问存储库的详细信息,请参阅访问存储库

  2. 创建Experience Manager Forms作为[Cloud Service]项目: ​根据最新的AEM原型或更高版本,创建Experience Manager Forms作为[Cloud Service]项目。 原型可帮助开发人员轻松开始开发AEM Formsas a Cloud Service。 它还包含一些示例主题和模板,可帮助您快速入门。

    打开命令提示符并运行以下命令以创建Experience Manager Formsas a Cloud Service项目。

    code language-shell
    mvn -B org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate -D archetypeGroupId=com.adobe.aem -D archetypeArtifactId=aem-project-archetype -D archetypeVersion="41" -D appTitle=mysite -D appId=mysite -D groupId=com.mysite -D includeFormsenrollment="y" -D aemVersion="cloud"
    

    更改上述命令中的appTitleappIdgroupId以反映您的环境。 此外,根据您的许可证和要求,将includeFormsenrollment、includeFormscommunications和includeFormsheadless的值设置为yn。 要基于核心组件创建自适应Forms,必须使用includeFormsheadless。

    • 使用includeFormsenrollment=y选项可包含创建自适应Forms所需的特定于Forms的配置、主题、模板、核心组件和依赖项。 如果您使用Forms门户,请设置includeExamples=y选项。 它还将Forms Portal核心组件添加到项目中。

    • 使用includeFormscommunications=y选项可以包含客户通信功能所需的Forms核心组件和依赖项。

      note warning
      WARNING
      • 使用版本45创建原型项目时,[AEM原型项目文件夹]/pom.xml最初将Forms核心组件版本设置为2.0.64。在构建或部署原型项目之前,请将Forms核心组件版本更新为2.0.62。
  3. 将项目部署到您的本地开发环境。 您可以使用以下命令部署到本地开发环境

    mvn -PautoInstallPackage clean install

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

  4. 将代码部署到您的 AEM Forms as a Cloud Service环境

设置本地Dispatcher工具 setup-local-dispatcher-tools

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

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

设置本地Dispatcher setup-local-dispatcher

Experience Manager as a Cloud Service SDK包含推荐的Dispatcher Tools版本,该版本有助于在本地配置、验证和模拟Dispatcher。 Dispatcher Tools基于Docker,它提供了命令行工具,用于将Apache HTTP Web Server和Dispatcher配置文件转换为兼容的格式并将其部署到在Docker容器中运行的Dispatcher。

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

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

将特定于Forms的规则添加到Dispatcher forms-specific-rules-to-dispatcher

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

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

  2. 创建default.farm文件的副本。 例如:forms.farm

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

    code language-json
    #/ignoreUrlParams {
    #/0001 { /glob "*" /type "deny" }
    #/0002 { /glob "q" /type "allow" }
    #}
    

    替换为

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

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

  6. 编译项目并将其部署到您的AEM Formsas a Cloud Service环境。

有关缓存的注意事项 considerations-about-caching

  • Dispatcher缓存允许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,并且在配置管理器中启用了使用浏览器区域设置时,会提供自适应表单的本地化版本(如果可用)。 本地化的自适应表单的语言基于为您的浏览器配置的区域设置(浏览器区域设置)。 它导致[只缓存自适应表单]的第一个实例。 要防止实例上发生此问题,请参阅疑难解答部分中的仅缓存自适应表单的第一个实例

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

在 AEM Forms as a Cloud Service 和本地开发环境上启用自适应表单核心组件

在AEM Formsas a Cloud Service上启用自适应Forms核心组件后,您可以将AEM FormsCloud Service实例用于多个渠道,开始创建、发布和交付基于核心组件的自适应Forms和Headless Forms。 您需要具备启用了自适应表单核心组件的环境才能使用 Headless 自适应表单。

有关说明,请参阅在AEM Formsas a Cloud Service和本地开发环境中启用自适应Forms核心组件

升级本地开发环境 upgrade-your-local-development-environment

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

如何在升级SDK时避免内容丢失 avoid-content-loss-when-upgrading--SDK

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

备份特定于Forms的内容并将其导入到新的SDK环境中 backup-and-import-Forms-specific-content-to-new-SDK-environment

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

  • 创建现有内容的备份。

  • 设置全新SDK环境。

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

创建现有内容的备份 create-backup-of-your-existing-content

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

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

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

  3. 下载表单数据模型

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

    • /conf/ReferenceEditableTemplates
    • /conf/global/settings/cloudconfigs
    • /conf/global/settings/wcm
    • /var/workflow/model
    • /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环境 import-the-backup-to-your-new-SDK-environment

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

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

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

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

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

  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

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

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab