教學課程:建立表單資料模型

04-create-form-data-model-main

本教程是建立第一個自適應表單系列中的一個步驟。 建議依序依序依序排列,以瞭解、執行和展示完整的教學課程使用案例。

關於教學課程

AEM Forms資料整合模組可讓您從不同的後端資料來源建立表單資料模型,例如AEM使用者設定檔、REST風格的Web服務、SOAP架構的Web服務、OData服務和關係式資料庫。 您可以在表單資料模型中配置資料模型對象和服務,並將其與自適應表單關聯。 最適化表單欄位會系結至資料模型物件屬性。 這些服務可讓您預先填寫最適化表單,並將提交的表單資料寫回資料模型物件。

如需表單資料整合與表單資料模型的詳細資訊,請參閱AEM Forms Data Integration

本教學課程將逐步帶您準備、建立、設定表單資料模型,並將表單資料模型與最適化表單建立關聯。 在本教學課程結束時,您將能夠:

表單資料模型看起來類似下列:

form-data-model-l

A. Configured data sources B. Data sources結構 C. Available services D. D. ​Dobjects configured E.E.D.D.D.D.D.D.D.Services服務

必備條件

開始之前,請確定您有下列項目:

步驟1:將MySQL資料庫配置為資料源

您可以設定不同類型的資料來源以建立表單資料模型。 在本教程中,我們將配置您配置的MySQL資料庫,並用示例資料填充該資料庫。 如需其他支援資料來源的詳細資訊以及如何設定這些資料來源,請參閱AEM Forms Data Integration

執行下列操作以配置MySQL資料庫:

  1. 將MySQL資料庫的JDBC驅動程式作為OSGi包安裝:

    1. 以管理員身分登入「AEM Forms作者例項」,並前往AEM網頁主控台組合。 預設URL為https://localhost:4502/system/console/bundles

    2. 點選​安裝/更新。 出現上傳/安裝包對話框。

    3. 點選​選擇檔案​以瀏覽並選擇MySQL JDBC驅動程式OSGi包。 選擇​啟動Bundle​和​重新整理套件,然後點選​安裝或更新。 確保MySQL的Oracle Corporation’s JDBC驅動程式處於活動狀態。 已安裝驅動程式。

  2. 將MySQL資料庫配置為資料源:

    1. 前往https://localhost:4502/system/console/configMgr的AEM網頁主控台。

    2. 找到​Apache Sling Connection Pooled DataSource​組態。 點選以在編輯模式中開啟設定。

    3. 在設定對話方塊中,指定下列詳細資訊:

      • 資料來源名稱: 您可以指定任何名稱。例如,指定​WeRetailMySQL

      • DataSource服務屬性名稱:指定包含DataSource名稱的服務屬性名稱。在將資料源實例註冊為OSGi服務時指定。 例如,datasource.name

      • JDBC驅動程式類:指定JDBC驅動程式的Java類名。對於MySQL資料庫,請指定​com.mysql.jdbc.Driver

      • JDBC連接URI:指定資料庫的連線URL。對於在埠3306和模式weretail上運行的MySQL資料庫,URL為:jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8

      • 用戶名: 資料庫的用戶名。必須啟用JDBC驅動程式才能與資料庫建立連接。

      • 密碼: 資料庫的密碼。必須啟用JDBC驅動程式才能與資料庫建立連接。

      • 借閱時測試: 啟用 Test on Borrow選項。

      • Test on Return: Enable the Test on Returnoption.

      • 驗證查詢: 指定SQL SELECT查詢以驗證池中的連接。查詢至少必須返回一行。 例如,從customerdetails​中選擇*。

      • 事務隔離:將值設定為 READ_COMMITTED

        將其他屬性保留為預設值並點選​保存

        系統會建立類似下列的設定。

        關係——資料庫——資料源——配置

步驟2:建立表單資料模型

AEM Forms提供直覺式使用者介面,以從設定的資料來源建立表單資料模型](data-integration.md)。 [您可以在表單資料模型中使用多個資料來源。 對於我們的使用案例,我們將使用已配置的MySQL資料源。

執行下列動作以建立表單資料模型:

  1. 在AEM作者例項中,導覽至​Forms > Data Integrations

  2. 點選「建立 > 表單資料模型」。

  3. 在「建立表單資料模型」對話框中,為表單資料模型指定​name。 例如,customer-shipping-billing-details。 點選​Next

  4. 選取資料來源畫面會列出所有已設定的資料來源。 選擇​WeRetailMySQL​資料源並按一下​建立

    資料源選擇

建立​customer-shipping-billing-details​表單資料模型。

步驟3:配置表單資料模型

配置表單資料模型涉及:

  • 添加資料模型對象和服務
  • 為資料模型對象配置讀寫服務

執行下列動作以設定表單資料模型:

  1. 在AEM作者例項上,導覽至​Forms > Data Integrations。 預設URL為https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm

  2. 此處列出您先前建立的​customer-shipping-billing-details​表單資料模型。 在編輯模式中開啟。

    選定的資料源​WeRetailMySQL​以表單資料模型配置。

    default-fdm

  3. 展開WeRailMySQL資料源樹。 從​weretail > customerdetails​模式選擇以下資料模型對象和服務以形成資料模型:

    • 資料模型物件:

      • id
      • 名稱
      • shippingAddress
      • 城市
      • 狀態
      • zipcode
    • 服務:

      • get
      • 更新

    點選「新增選取的」,將選取的資料模型物件和服務新增至表單資料模型。

    WeRetail架構

    注意

    JDBC資料來源的預設get、update和insert服務是隨附表單資料模型的現成可用功能。

  4. 為資料模型對象配置讀和寫服務。

    1. 選擇​customerdetails​資料模型對象,然後按一下​編輯屬性

    2. 從「讀取服務」下拉式清單中選擇​get。 會自動添加​id​引數,該引數是customerdetails資料模型對象中的主鍵。 點選aem_6_3_edit並依如下方式設定引數。

      read-default

    3. 同樣,選擇​update​作為寫服務。 customerdetails​物件會自動新增為引數。 參數的配置如下。

      write-default

      按如下方式添加和配置​id​參數。

      id-arg

    4. 點選​Done​以儲存資料模型物件屬性。 然後,點選「儲存」以儲存表單資料模型。

      get​和​update​服務被添加為資料模型對象的預設服務。

      資料模型——對象

  5. 前往​Services​標籤,並設定​get​和​update​服務。

    1. 選擇​get​服務,然後點選​編輯屬性。 屬性對話框開啟。

    2. 在「編輯屬性」對話方塊中指定下列項目:

      • 標題:指定服務的標題。例如:檢索發運地址。

      • 說明:指定包含服務詳細功能的說明。例如:

        此服務從MySQL資料庫中檢索發運地址和其他客戶詳細資訊

      • 輸出模型對象:選擇包含客戶資料的結構。例如:

        customerdetail架構

      • 返回陣列:停用 Return Arrayoption。

      • 引數:選擇名為 ID的參數

      點選​Done。 已配置從MySQL資料庫檢索客戶詳細資訊的服務。

      Shiiping-address-retrieval

    3. 選擇​update​服務並點選​編輯屬性。 屬性對話框開啟。

    4. 在編輯屬性對話方塊中指定下列項目:

      • 標題:指定服務的標題。例如,更新發運地址。

      • 說明:指定包含服務詳細功能的說明。例如:

        此服務會更新MySQL資料庫中的送貨地址和相關欄位

      • 輸入模型物件:選擇包含客戶資料的結構。例如:

        customerdetail架構

      • 輸出類型:選擇 布爾

      • 引數:選擇名為 ​ID和 customerdetails的參數

      點選​Doneupdate​服務用於更新MySQL資料庫中的客戶詳細資訊。

      shiiping-address-update

配置表單資料模型對象和服務。 您現在可以測試表單資料模型。

步驟4:測試表單資料模型

您可以測試資料模型物件和服務,以驗證表單資料模型已正確設定。

執行下列動作以執行測試:

  1. 轉至​Model​標籤,選擇​customerdetails​資料模型物件,並點選​Test Model Object

  2. 在Test Model/Service窗口中,從​Select Model/Service​下拉式清單中選擇​Read model object

  3. 在​customerdetails​區段中,為​id​參數指定值,該參數存在於已配置的MySQL資料庫中,然後點選​Test

    與指定ID相關的客戶詳細資訊將被提取並顯示在​Output​部分中,如下所示。

    測試讀模型

  4. 同樣地,您也可以測試Write模型對象和服務。

    在以下示例中,更新服務成功更新資料庫中id 7102715的地址詳細資訊。

    測試——寫模型

    現在,如果您再次測試id 7107215的讀取型號服務,它會擷取並顯示更新的客戶詳細資訊,如下所示。

    read-updated

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now