本教程是建立第一個自適應表單系列中的一個步驟。 建議依序依序依序排列,以瞭解、執行和展示完整的教學課程使用案例。
AEM Forms資料整合模組可讓您從不同的後端資料來源建立表單資料模型,例如AEM使用者設定檔、REST風格的Web服務、SOAP架構的Web服務、OData服務和關係式資料庫。 您可以在表單資料模型中配置資料模型對象和服務,並將其與自適應表單關聯。 最適化表單欄位會系結至資料模型物件屬性。 這些服務可讓您預先填寫最適化表單,並將提交的表單資料寫回資料模型物件。
如需表單資料整合與表單資料模型的詳細資訊,請參閱AEM Forms Data Integration。
本教學課程將逐步帶您準備、建立、設定表單資料模型,並將表單資料模型與最適化表單建立關聯。 在本教學課程結束時,您將能夠:
表單資料模型看起來類似下列:
A. Configured data sources B. Data sources結構 C. Available services D. D. Dobjects configured E.E.D.D.D.D.D.D.D.Services服務
開始之前,請確定您有下列項目:
您可以設定不同類型的資料來源以建立表單資料模型。 在本教程中,我們將配置您配置的MySQL資料庫,並用示例資料填充該資料庫。 如需其他支援資料來源的詳細資訊以及如何設定這些資料來源,請參閱AEM Forms Data Integration。
執行下列操作以配置MySQL資料庫:
將MySQL資料庫的JDBC驅動程式作為OSGi包安裝:
以管理員身分登入「AEM Forms作者例項」,並前往AEM網頁主控台組合。 預設URL為https://localhost:4502/system/console/bundles。
點選安裝/更新。 出現上傳/安裝包對話框。
點選選擇檔案以瀏覽並選擇MySQL JDBC驅動程式OSGi包。 選擇啟動Bundle和重新整理套件,然後點選安裝或更新。 確保MySQL的Oracle Corporation’s JDBC驅動程式處於活動狀態。 已安裝驅動程式。
將MySQL資料庫配置為資料源:
前往https://localhost:4502/system/console/configMgr的AEM網頁主控台。
找到Apache Sling Connection Pooled DataSource組態。 點選以在編輯模式中開啟設定。
在設定對話方塊中,指定下列詳細資訊:
資料來源名稱: 您可以指定任何名稱。例如,指定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。
將其他屬性保留為預設值值並點選保存。
系統會建立類似下列的設定。
AEM Forms提供直覺式使用者介面,以從設定的資料來源建立表單資料模型](data-integration.md)。 [您可以在表單資料模型中使用多個資料來源。 對於我們的使用案例,我們將使用已配置的MySQL資料源。
執行下列動作以建立表單資料模型:
在AEM作者例項中,導覽至Forms > Data Integrations。
點選「建立 > 表單資料模型」。
在「建立表單資料模型」對話框中,為表單資料模型指定name。 例如,customer-shipping-billing-details。 點選Next。
選取資料來源畫面會列出所有已設定的資料來源。 選擇WeRetailMySQL資料源並按一下建立。
建立customer-shipping-billing-details表單資料模型。
配置表單資料模型涉及:
執行下列動作以設定表單資料模型:
在AEM作者例項上,導覽至Forms > Data Integrations。 預設URL為https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm。
此處列出您先前建立的customer-shipping-billing-details表單資料模型。 在編輯模式中開啟。
選定的資料源WeRetailMySQL以表單資料模型配置。
展開WeRailMySQL資料源樹。 從weretail > customerdetails模式選擇以下資料模型對象和服務以形成資料模型:
資料模型物件:
服務:
點選「新增選取的」,將選取的資料模型物件和服務新增至表單資料模型。
JDBC資料來源的預設get、update和insert服務是隨附表單資料模型的現成可用功能。
為資料模型對象配置讀和寫服務。
選擇customerdetails資料模型對象,然後按一下編輯屬性。
從「讀取服務」下拉式清單中選擇get。 會自動添加id引數,該引數是customerdetails資料模型對象中的主鍵。 點選並依如下方式設定引數。
同樣,選擇update作為寫服務。 customerdetails物件會自動新增為引數。 參數的配置如下。
按如下方式添加和配置id參數。
點選Done以儲存資料模型物件屬性。 然後,點選「儲存」以儲存表單資料模型。
get和update服務被添加為資料模型對象的預設服務。
前往Services標籤,並設定get和update服務。
選擇get服務,然後點選編輯屬性。 屬性對話框開啟。
在「編輯屬性」對話方塊中指定下列項目:
標題:指定服務的標題。例如:檢索發運地址。
說明:指定包含服務詳細功能的說明。例如:
此服務從MySQL資料庫中檢索發運地址和其他客戶詳細資訊
輸出模型對象:選擇包含客戶資料的結構。例如:
customerdetail架構
返回陣列:停用 Return Arrayoption。
引數:選擇名為 ID的參數。
點選Done。 已配置從MySQL資料庫檢索客戶詳細資訊的服務。
選擇update服務並點選編輯屬性。 屬性對話框開啟。
在編輯屬性對話方塊中指定下列項目:
標題:指定服務的標題。例如,更新發運地址。
說明:指定包含服務詳細功能的說明。例如:
此服務會更新MySQL資料庫中的送貨地址和相關欄位
輸入模型物件:選擇包含客戶資料的結構。例如:
customerdetail架構
輸出類型:選擇 布爾。
引數:選擇名為 ID和 customerdetails的參數。
點選Done。 update服務用於更新MySQL資料庫中的客戶詳細資訊。
配置表單資料模型對象和服務。 您現在可以測試表單資料模型。
您可以測試資料模型物件和服務,以驗證表單資料模型已正確設定。
執行下列動作以執行測試:
轉至Model標籤,選擇customerdetails資料模型物件,並點選Test Model Object。
在Test Model/Service窗口中,從Select Model/Service下拉式清單中選擇Read model object。
在customerdetails區段中,為id參數指定值,該參數存在於已配置的MySQL資料庫中,然後點選Test。
與指定ID相關的客戶詳細資訊將被提取並顯示在Output部分中,如下所示。
同樣地,您也可以測試Write模型對象和服務。
在以下示例中,更新服務成功更新資料庫中id 7102715的地址詳細資訊。
現在,如果您再次測試id 7107215的讀取型號服務,它會擷取並顯示更新的客戶詳細資訊,如下所示。