建立本地開發環境和初始開發項目

當您設定並設定 ​ 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 ServiceSDK提供QuickStart檔案。 它會執行本機版本的Experience Manager。 您可以在本機執行「製作」或「發佈」執行個體。

雖然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 Services提供以Docker為基礎的SDK環境,以更輕鬆開發記錄檔案和使用其他微服務。 如此一來,您就不必再手動設定平台專屬的二進位檔和調整功能。 若要設定環境:

  1. 安裝和配置Docker:

    • (適用於Microsoft® Windows)安裝 Docker Desktop. 它會設定 Docker Enginedocker-compose 在你的機器上。

    • (Apple macOS)安裝 適用於Mac的Docker Desktop. 它包括Docker引擎、Docker CLI客戶端、Docker撰寫、Docker內容信任、Kubernetes和憑據幫助程式。

    • (Linux®)安裝 Docker引擎Docker Compose 在你的機器上。

    注意
    • 若為Apple macOS,則允許清單資料夾內含本機AEM Author例項。

    • 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 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資產:

主題 範本 表單資料模型
畫布3.0 基本 Microsoft® Dynamics 365
寧靜 空白 Salesforce
厄巴內
超海洋
柏利
注意

設定AEM原型30版或更新版本型專案,以取得和使用Microsoft® Dynamics 365和Salesforce表單資料模型,並搭配AEM Formsas a Cloud Service。
設定AEM Archetype 32版或更新版本型專案,以取得和使用具有AEM Formsas a Cloud Service的Tranquil、Urbane和Ultramarine主題。

若要設定專案:

  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=40 -D aemVersion="cloud" -D appTitle="Borgo AEM Forms" -D appId="bgaemforms" -D groupId="com.bgaemforms" -D includeFormsenrollment="y" -D includeFormscommunications="y" -D includeExamples="y" -D
    

    變更 appTitle, appId,和 groupId 以反映您的環境。 此外,為includeFormsenrollment、includeFormscommunications和includeFormsheadless設定值,以 yn 視您的授權和需求而定。 必須使用includeFormsheadless才能根據核心元件建立最適化Forms。

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

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

  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專用規則至:

設定本機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

執行下列步驟來設定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 在用戶端預填適用性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核心元件

如果您針對AEM Formsas a Cloud Service使用AEM原型40版或更新版本型程式,核心元件會針對您的環境自動啟用。

若要根據舊版原型為您的AEM Formsas a Cloud Service環境啟用適用性Forms核心元件,請在專案中內嵌WCM核心元件範例成品和Forms核心元件成品(包括範例):

  1. 在純文字程式碼編輯器中開啟AEM原型專案資料夾。 例如VS程式碼。

  2. 在本機環境中開啟AEM原型專案的頂層.pom檔案(父pom),將下列屬性新增至檔案並儲存。

    <properties>
        <core.forms.components.version>2.0.4</core.forms.components.version> <!-- Replace the version with the latest released version at https://github.com/adobe/aem-core-forms-components/tags -->
        <core.wcm.components.version>2.21.2</core.wcm.components.version>
    </properties>
    

    針對 core.forms.componentscore.wcm.components,檢查 核心元件檔案.

  3. 在頂層(父級)ppm.xml檔案的「相依性」區段中,新增下列相依性:

        <!-- Forms Core Component Dependencies -->
                <dependency>
                    <groupId>com.adobe.aem</groupId>
                    <artifactId>core-forms-components-core</artifactId>
                    <version>${core.forms.components.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.adobe.aem</groupId>
                    <artifactId>core-forms-components-apps</artifactId>
                    <version>${core.forms.components.version}</version>
                    <type>zip</type>
                </dependency>
                <dependency>
                    <groupId>com.adobe.aem</groupId>
                    <artifactId>core-forms-components-af-core</artifactId>
                    <version>${core.forms.components.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.adobe.aem</groupId>
                    <artifactId>core-forms-components-af-apps</artifactId>
                    <version>${core.forms.components.version}</version>
                    <type>zip</type>
                </dependency>
                <dependency>
                    <groupId>com.adobe.aem</groupId>
                    <artifactId>core-forms-components-examples-apps</artifactId>
                    <type>zip</type>
                    <version>${core.forms.components.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.adobe.aem</groupId>
                    <artifactId>core-forms-components-examples-content</artifactId>
                    <type>zip</type>
                    <version>${core.forms.components.version}</version>
                </dependency>
        <!-- End of AEM Forms Core Component Dependencies -->
    
  4. 開啟all/pom.xml檔案並新增下列相依性,將適用性Forms核心元件成品新增至AEM原型專案:

        <dependency>
            <groupId>com.adobe.aem</groupId>
            <artifactId>core-forms-components-af-apps</artifactId>
            <type>zip</type>
        </dependency>
        <dependency>
            <groupId>com.adobe.aem</groupId>
            <artifactId>core-forms-components-examples-apps</artifactId>
            <type>zip</type>
        </dependency>
        <dependency>
            <groupId>com.adobe.aem</groupId>
            <artifactId>core-forms-components-examples-content</artifactId>
            <type>zip</type>
        </dependency>
    
    注意

    確認專案中未包含下列適用性Forms核心元件成品。
    <dependency>
    <groupId>com.adobe.aem</groupId>
    <artifactId>core-forms-components-apps</artifactId>
    </dependency>

    <dependency>
    <groupId>com.adobe.aem</groupId>
    <artifactId>core-forms-components-core</artifactId>
    </dependency>

  5. 執行管道. 成功執行管道後,您的環境即會啟用適用性Forms核心元件。 此外,適用性Forms(核心元件)範本和畫布主題已新增至您的Formsas a Cloud Service環境。

升級您的本機開發環境

將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套件匯入至您的新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

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

本頁內容