設定AEM Forms的本機開發環境

上次更新: 2023-12-05

當您設定 ​ 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 QuickStart和Dispatcher工具 從下載最新的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

從Software Distribution下載最新版本的軟體

若要下載最新版Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms功能封存(AEM Forms附加元件)、表單參考資產或Forms Designer,請從 Software Distribution

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

    注意

    您的Adobe組織必須布建AEMas a Cloud Service才能下載AEMas a Cloud ServiceSDK。

  2. 導覽至 AEMas a Cloud Service 標籤。

  3. 依發佈日期遞減排序。

  4. 按一下最新的Adobe Experience Manager as a Cloud Service SDK、Experience Manager Forms功能封存(AEM Forms附加元件)、表單參考資產或Forms Designer。

  5. 檢閱並接受EULA。 選取​下載​按鈕。

設定AEM專案的開發工具

Adobe Experience Manager Forms專案是自訂程式碼基底。 它包含透過Cloud Manager部署的程式碼、設定和內容 Adobe Experience Manager as a Cloud Service。 此 AEM專案Maven原型 提供專案的基準線結構。

設定下列開發工具,以用於 Adobe Experience Manager 開發專案:

如需設定前述開發工具的詳細指示,請參閱 設定開發工具.

設定用於開發的本機Experience Manager環境

Cloud Service SDK提供QuickStart檔案。 它執行本機版本的Experience Manager。 您可以在本機執行Author或Publish例項。

雖然QuickStart提供本機開發體驗,但並沒有提供所有功能於 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 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撰寫 在您的電腦上。

    注意
    • 對於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 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 Author執行個體已啟動且在執行中。 執行以下命令以啟動SDK:

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

    如果您已在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、部署設定更新、覆蓋、建立自訂最適化表單元件、測試和自訂程式碼 Experience Manager Forms SDK. 在本機測試後,您可以將專案部署至 Experience Manager Forms as a Cloud Service的生產和非生產環境。 部署專案時,也會部署下列AEM Forms資產:

主題 範本 表單資料模型
Canvas 3.0 基本 Microsoft® Dynamics 365
寧靜 空白 Salesforce
城市化
Ultraminary
貝瑞爾
注意

設定AEM Archetype版本30或更新版本的專案,以取得並使用Microsoft®Dynamics 365和Salesforce表單資料模型搭配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 as a [Cloud Service] 專案: 建立 Experience Manager Forms as a [Cloud Service] 根據最新版本的專案 AEM原型 或更新版本。 原型可協助開發人員輕鬆開始開發 AEM Forms as a Cloud Service。 其中也包括一些範例主題和範本,可幫助您快速入門。

    開啟命令提示字元並執行以下命令以建立 Experience Manager Forms as a Cloud Service專案。

    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"
    

    變更 appTitleappId、和 groupId 以上命令以反映您的環境。 此外,請將includeFormsenrollment、includeFormscommunications和includeFormsheadless的值設為 yn 視您的授權和需求而定。 includeFormsheadless是根據核心元件建立最適化Forms的必要元件。

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

    • 使用 includeFormscommunications=y 包含Forms核心元件的選項,以及包含客戶通訊功能所需的相依性。

      警告
      • 使用版本45建立Archetype專案時, [AEM原型專案資料夾]/pom.xml一開始將forms核心元件版本設定為2.0.64。在建立或部署Archetype專案之前,請將Forms核心元件版本更新為2.0.62。
  3. 將專案部署到您的本機開發環境。 您可以使用以下命令來部署到您的本機開發環境

    mvn -PautoInstallPackage clean install

    如需完整的命令清單,請參閱 建置和安裝

  4. 將程式碼部署至您的 AEM Forms as a Cloud Service環境.

設定本機Dispatcher工具

Dispatcher是Apache HTTP Web伺服器模組,可在CDN和AEM Publish層級之間提供安全性與效能層。 Dispatcher是整體Experience Manager架構不可或缺的一部分,也應是本機開發環境的一部分。

執行以下步驟來設定本機Dispatcher,然後向其新增Forms特定規則:

設定本機傳送器

此 Experience Manager as a Cloud ServiceSDK包含建議的Dispatcher工具版本,有助於本機設定、驗證和模擬Dispatcher。 Dispatcher工具以Docker為基礎,並提供命令列工具,將Apache HTTP Web Server和Dispatcher設定檔案傳輸為相容的格式,並將其部署到Docker容器中執行的Dispatcher。

Dispatcher上的快取允許 AEM Forms 以在使用者端預先填入Adaptive 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環境。

有關快取的考量事項

  • Dispatcher快取允許 AEM Forms 以在使用者端預先填入Adaptive 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,且在Configuration Manager中的「使用瀏覽器地區設定」已停用,則會提供最適化表單的非本地化版本。 非當地語系化語言是開發最適化表單時使用的語言。 系統不會考量為瀏覽器設定的地區設定(瀏覽器地區設定),而是提供非當地語系化版本的調適型表單。
  • 當您使用URL格式時 http://host:port/content/forms/af/<adaptivefName>.html,且啟用「在Configuration Manager中使用瀏覽器地區設定」 ,則會提供最適化表單的當地語系化版本(如果有的話)。 當地語系化最適化表單的語言取決於瀏覽器設定的地區設定(瀏覽器地區設定)。 這可能導致 [僅快取最適化表單的第一個執行個體]. 若要防止執行個體發生問題,請參閱 僅快取最適化表單的第一個執行個體 在疑難排解一節中。

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

在 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核心元件

升級您的本機開發環境

將SDK升級至新版本需要取代整個本機開發環境,導致本機存放庫中的所有程式碼、設定和內容遺失。 確保任何不應銷毀的程式碼、設定或內容都會安全提交至Git,或從本機Experience Manager例項匯出為CRX套件。

升級SDK時如何避免內容遺失

升級SDK實際上會建立全新的製作和發佈執行個體,包括新的存放庫(設定AEM專案),這表示對先前SDK存放庫所做的任何變更都會遺失。 如需在SDK升級之間協助儲存內容的可行策略,請參閱 升級AEM SDK時如何避免內容遺失

備份特定於Forms的內容,並將其匯入新的SDK環境

若要將資產從現有SDK備份並移動至新的SDK環境:

  • 建立現有內容的備份。

  • 設定全新SDK環境。

  • 將備份匯入至您的新SDK環境。

建立現有內容的備份

備份您的Adaptive Forms、範本、表單資料模型、主題、設定和自訂程式碼。 您可以執行下列動作來建立備份:

  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環境

將最適化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

您的新環境現在有舊環境的表單和相關資產。

此頁面上的