設定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個QuickStart和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
    必須布建您的Adobe組織才能使用AEM as a Cloud Service下載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 Service SDK提供QuickStart檔案。 它執行本機版本的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。 使用替代方法重新啟動AEM SDK (例如停止Java程式)可能會導致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)安裝適用於Mac的Docker Desktop。 它包括Docker引擎、Docker CLI客戶端、Docker撰寫、Docker內容信任、Kubernetes和Credential Helper。

    • (適用於Linux®)在您的電腦上安裝Docker引擎Docker構成

    note note
    NOTE
    • 對於Apple macOS,將包含本機AEM作者執行個體的資料夾加入允許清單。

    • 適用於Windows的Docker Desktop支援兩個後端,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表單新增至原生

  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 Author執行個體已啟動且在執行中。 執行以下命令以啟動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
城市化
Ultraminary
貝瑞爾
NOTE
設定AEM Archetype版本30或更新版本的專案,以取得並使用Microsoft®Dynamics 365和Salesforce表單資料模型(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 Archetype為基礎。 從Cloud Manager UI使用自助Git帳戶管理功能來複製您的Cloud Manager Git存放庫,以將專案引進您的本機開發環境中。 如需存取存放庫的詳細資訊,請參閱存取存放庫

  2. 將Experience Manager Forms建立為[Cloud Service]專案: ​根據最新的AEM Archetype或更新版本,將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。 includeFormsheadless是根據核心元件建立最適化Forms的必要元件。

    • 使用includeFormsenrollment=y選項來包含建立Adaptive Forms所需的Forms特定設定、主題、範本、核心元件和相依性。 如果您使用Forms入口網站,請設定includeExamples=y選項。 它也會將Forms Portal核心元件新增至專案。

    • 使用includeFormscommunications=y選項加入Forms核心元件和加入客戶通訊功能所需的相依性。

      note warning
      WARNING
      • 使用版本45建立Archetype專案時,[AEM Archetype專案資料夾]/pom.xml一開始會將Forms核心元件版本設定為2.0.64。在建立或部署Archetype專案之前,請將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工具版本,可協助您在本機設定、驗證和模擬Dispatcher。 Dispatcher工具以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,並且啟用Configuration Manager中的「使用瀏覽器地區設定」時,會提供當地語系化版本的適用性表單(如果有的話)。 當地語系化最適化表單的語言取決於瀏覽器設定的地區設定(瀏覽器地區設定)。 這會導致[只快取最適化表單]的第一個執行個體。 若要防止執行個體發生問題,請參閱疑難排解一節中的僅快取Adaptive Form的第一個執行個體

您的本機開發環境已準備就緒。

在 AEM Forms as a Cloud Service 和本機開發環境中啟用最適化表單核心元件

在AEM Formsas a Cloud Service上啟用最適化Forms核心元件,可讓您開始建立、發佈和提供核心元件式的最適化Forms和Headless Forms,並使用AEM FormsCloud Service例項來將您的傳送至多個管道。 您需要啟用調適型表單核心元件的環境才能使用 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

備份您的Adaptive 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