设置和配置 Adobe Experience Manager Forms as a Cloud Service 环境中,您可以在云上设置开发、暂存和生产环境。 此外,您还可以设置和配置本地开发环境。
您可以使用本地开发环境执行以下操作,而无需登录到云开发环境:
在本地开发实例或应用程序上准备好自适应表单或相关资产以生成 [客户通信] 准备就绪后,您可以将自适应表单或客户通信应用程序从本地开发环境导出到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 Forms功能的工具 | 下载来源 Software Distribution |
(可选)Adobe Experience Manager Forms引用内容 | 用于创建、设置样式和优化自适应Forms和其他Adobe Experience Manager Forms功能的工具 | 下载来源 Software Distribution |
(可选)Adobe Experience Manager Forms Designer | 用于创建、设置样式和优化自适应Forms和其他Adobe Experience Manager Forms功能的工具 | 下载来源 Software Distribution |
要从下载最新版本的Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms功能存档(AEM Forms附加组件)、表单引用资产或Forms Designer,请执行以下操作 Software Distribution:
登录到 https://experience.adobe.com/#/downloads 与Adobe ID
必须为您的Adobe组织配置AEMas a Cloud Service,才能下载AEMas a Cloud ServiceSDK。
导航到 AEMas a Cloud Service 选项卡。
按发布日期以降序排序。
单击最新的Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms功能存档(AEM Forms附加组件)、表单引用资产或Forms Designer。
审阅并接受EULA。 点按 下载 按钮。
Adobe Experience Manager Forms项目是一个自定义代码库。 它包含通过Cloud Manager部署到 Adobe Experience Manager as a Cloud Service。 的 AEM Project Maven Archetype 提供项目的基线结构。
设置以下开发工具以用于 Adobe Experience Manager 开发项目:
有关设置之前提到的开发工具的详细说明,请参阅 设置开发工具.
Cloud ServiceSDK提供了快速入门文件。 它运行本地版本的Experience Manager。 您可以在本地运行创作实例或发布实例。
虽然快速入门提供了本地开发体验,但它并没有在 Adobe Experience Manager as a Cloud Service。 因此,请始终使用 Adobe Experience Manager as a Cloud Service的开发环境。
要安装和配置本地Experience Manager环境,请执行以下步骤:
在所列的位置中执行以下步骤,以将Forms存档添加到Experience Manager实例并配置特定于表单的用户:
Adobe Experience Manager Formsas a Cloud Service功能存档提供了用于在本地开发环境中创建、设置和优化自适应Forms的工具。 安装包以创建自适应表单,并使用 AEM Forms. 要安装包,请执行以下操作:
下载并提取最新版本 AEM Forms 从 Software Distribution.
导航到crx-quickstart/install目录。 如果文件夹不存在,请创建该文件夹。
停止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时不需要用户身份验证时,请勿向此类用户分配任何组。 |
AEM Forms as aCloud Services提供了基于Docker的SDK环境,以便更轻松地开发记录文档和使用其他微服务。 它使您无需手动配置特定于平台的二进制文件和适应。 要设置环境,请执行以下操作:
安装和配置Docker:
(对于Microsoft® Windows)安装 Docker Desktop. 它配置 Docker Engine
和 docker-compose
你的机器上。
(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(旧版)时明确配置文件共享。
创建一个与创作实例和发布实例并行的文件夹,如aem-sdk。 例如C:\aem-sdk。
提取 aem-forms-addon-<version>.zip\aem-forms-addon-native-<version>.zip
文件。
创建环境变量AEM_HOME并指向本地AEM创作安装。 例如C:\aem\author\。
打开sdk.bat或sdk.sh进行编辑。 将AEM_HOME设置为指向本地AEM创作安装。 例如C:\aem\author\。
打开命令提示符并导航到 aem-forms-addon-native-<version>
文件夹。
确保本地AEM创作实例已启动且正在运行。 运行以下命令以启动SDK:
sdk.bat start
AEM_HOME=[local AEM Author installation] ./sdk.sh start
如果您在sdk.sh文件中定义了环境变量,则在命令行中指定该变量是可选的。 在命令行中提供了定义环境变量的选项,用于执行命令而不更新外壳程序脚本。
您现在可以使用本地开发环境来渲染记录文档。 要测试,请将XDP文件上传到您的环境并渲染它。 例如, http://localhost:4502/libs/xfaforms/profiles/default.print.pdf?template=crx:///content/dam/formsanddocuments/cheque-request.xdp 将XDP文件转换为PDF文档。
使用此项目可在本地创建自适应Forms、部署配置更新、叠加、创建自定义自适应表单组件、测试和自定义代码 Experience Manager Forms SDK。 在本地测试后,您可以将项目部署到 Experience Manager Forms as a Cloud Service的生产和非生产环境。 在部署项目时,还会部署以下AEM Forms资产:
主题 | 模板 | 表单数据模型 |
---|---|---|
画布3.0 | 基本 | Microsoft® Dynamics 365 |
宁静 | 空白 | Salesforce |
厄巴纳 | ||
超海洋 | ||
柏利 |
设置基于AEM Archetype版本30或更高版本的项目,以获取并使用Microsoft® Dynamics 365和Salesforce表单数据模型和AEM Formsas a Cloud Service。
设置基于AEM Archetype版本32或更高版本的项目,以通过AEM Formsas a Cloud Service获取和使用Tranquil、Urbane和Ultramarine主题。
要设置项目,请执行以下操作:
在本地开发实例上克隆Cloud Manager Git存储库: 您的Cloud Manager Git存储库包含一个默认的AEM项目。 基于 AEM原型. 使用Cloud Manager UI中的自助服务Git帐户管理来克隆Cloud Manager Git存储库,以将项目引入本地开发环境。 有关访问存储库的详细信息,请参阅 访问存储库.
创建 Experience Manager Forms as a [Cloud Service] 项目: 创建 Experience Manager Forms as a [Cloud Service] 项目基于 AEM原型32 或更晚。 原型可帮助开发人员轻松开始开发 AEM Forms as a Cloud Service。 它还包含一些帮助您快速入门的示例主题和模板。
打开命令提示符并运行以下命令以创建 Experience Manager Forms as a Cloud Service项目。
mvn -B archetype:generate -DarchetypeGroupId=com.adobe.aem -DarchetypeArtifactId=aem-project-archetype-DarchetypeVersion=32 -DaemVersion="cloud" -DappTitle="My Site" -DappId="mysite" -DgroupId="com.mysite" -DincludeFormsenrollment="y" -DincludeFormscommunications="y" -DincludeExamples="y"
更改 appTitle
, appId
和 groupId
来反映您的环境。
使用 includeFormsenrollment=y
选项,以包含创建自适应Forms所需的特定配置、主题、模板、核心组件和依赖项。 如果您使用Forms Portal,请将 includeExamples=y
选项。 它将Forms Portal核心组件添加到项目中。
使用 includeFormscommunications=y
选项包括Forms核心组件和依赖项,这些组件和依赖项需要包含客户通信功能。
将项目部署到本地开发环境。 您可以使用以下命令部署到本地开发环境
mvn -PautoInstallPackage clean install
有关命令的完整列表,请参阅 构建和安装
Dispatcher是一个Apache HTTP Web服务器模块,在CDN和AEM发布层之间提供一个安全和性能层。 Dispatcher是整体Experience Manager架构的一个组成部分,应是本地开发环境的一部分。
请执行以下步骤来配置本地Dispatcher,然后向其添加特定于Forms的规则:
的 Experience Manager as a Cloud ServiceSDK包含推荐的Dispatcher工具版本,该版本便于在本地配置、验证和模拟Dispatcher。 调度程序工具基于Docker,提供命令行工具,可将Apache HTTP Web Server和调度程序配置文件传输为兼容格式,并将它们部署到在Docker容器中运行的调度程序。
在Dispatcher上缓存允许 AEM Forms 以在客户端预填充自适应Forms。 它提高了预填充表单的渲染速度。
有关设置Dispatcher的详细说明,请参阅 设置本地Dispatcher工具
请执行以下步骤来为Experience Manager Formsas a Cloud Service配置Dispatcher缓存:
打开您的AEM项目,然后导航到 \src\conf.dispatcher.d\available_farms
创建 default.farm
文件。 例如:forms.farm
。
打开新创建的 forms.farm
文件进行编辑并替换以下代码:
#/ignoreUrlParams {
#/0001 { /glob "*" /type "deny" }
#/0002 { /glob "q" /type "allow" }
#}
替换为
/ignoreUrlParams {
/0001 { /glob "*" /type "deny" }
/0002 { /glob "dataRef" /type "allow" }
}
保存并关闭文件。
转到 conf.d/enabled_farms
并创建指向的符号链接 forms.farm
文件。
编译项目并将其部署到 AEM Forms as a Cloud Service环境。
http://host:port/content/forms/af/<afName>.<locale>.html
请求自适应表单的本地化版本,而不是 http://host:port/content/forms/af/afName.html?afAcceptLang=<locale>
http://host:port/content/forms/af/<adaptivefName>.html
,并且禁用了配置管理器中的“使用浏览器区域设置”,则会提供自适应表单的非本地化版本。 非本地化语言是开发自适应表单时使用的语言。 不考虑为浏览器配置的区域设置(浏览器区域设置),并提供自适应表单的非本地化版本。http://host:port/content/forms/af/<adaptivefName>.html
,并在配置管理器中启用“使用浏览器区域设置”后,会提供自适应表单的本地化版本(如果可用)。 本地化的自适应表单的语言基于为浏览器配置的区域设置(浏览器区域设置)。 这会导致 [仅缓存自适应表单的第一个实例]. 要防止问题在实例中发生,请参阅 仅缓存自适应表单的第一个实例 疑难解答部分。您的本地开发环境已准备就绪。
将SDK升级到新版本需要替换整个本地开发环境,从而导致本地存储库中的所有代码、配置和内容丢失。 确保将任何不应被销毁的代码、配置或内容安全地提交到Git,或从本地Experience Manager实例中导出为CRX-Packages。
升级SDK实际上是在创建一个全新的创作和发布实例,包括一个新的存储库(设置AEM项目),这意味着对之前SDK存储库所做的任何更改都将丢失。 有关帮助在SDK升级期间保留内容的可行策略,请参阅 如何避免在升级AEM SDK时丢失内容
要将资产从现有SDK备份并移动到新的SDK环境,请执行以下操作:
创建现有内容的备份。
设置新的SDK环境。
将备份导入新的SDK环境。
备份自适应Forms、模板、表单数据模型、主题、配置和自定义代码。 您可以执行以下操作以创建备份:
下载 自适应Forms、主题和PDF forms。
导出自适应表单模板。
下载表单数据模型
导出可编辑的模板、云配置和工作流模型。 要从现有SDK中导出所有之前提到的项目,请创建 CRX-Package ,具有以下过滤器:
从本地开发环境导出电子邮件配置、提交和预填充操作代码。 要导出这些设置和配置,请在本地开发环境中创建以下文件夹和文件的副本:
[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
将自适应Forms、模板、表单数据模型、主题、配置和自定义代码导入新环境。 您可以执行以下操作以导入备份:
导入 自适应Forms、主题和PDF forms到新SDK环境。
将自适应表单模板导入新的SDK环境。
将表单数据模型上传到新的SDK环境。
导入可编辑的模板、云配置和工作流模型。 要在新的SDK环境中导入之前提到的所有项目,请将包含这些项目的CRX-Package导入新的SDK环境。
从本地开发环境导入电子邮件配置、提交和预填充操作代码。 要导入这些设置和配置,请将以下文件从旧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
您的新环境现在具有旧环境的表单和相关资产。