擴展預設元模型 extend-the-default-meta-model
automated forms conversion服務(AFCS)會識別來源表單並從中擷取表單物件。 語意對應程式可協助服務決定如何以最適化表單呈現擷取的物件。 例如,來源表單可以有許多不同型別的日期表示。 語意對應程式有助於將來源表單的日期表單物件與調適型表單的日期元件對應到所有表示方式。 語意對應程式也允許服務在轉換期間預先設定並套用驗證、規則、資料模式、說明文字和協助工具屬性至調適型表單元件。
中繼模型是JSON結構描述。 開始使用中繼模型之前,請確定您已精通JSON。 您必須具備建立、編輯和讀取以JSON格式儲存之資料的經驗。
預設元模型 default-meta-model
automated forms conversion服務(AFCS)有預設的中繼模型。 它是JSON結構描述,並與Adobe服務(AFCS)的其他元件一起駐留在Automated forms conversion雲端。 您可以在下列網址,在本機AEM伺服器上找到中繼模型的副本: http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json
. 您也可以 按一下這裡 以存取或下載英文結構描述。 的中繼模型 法文, 德文 西班牙文, 義大利文、和 葡萄牙文 語言也可供下載。
中繼模型的結構描述衍生自https://schema.org/docs/schemas.html上的結構描述實體。 它有Person、PostalAddress、LocalBusiness和https://schema.org上定義的更多實體。 中繼模型的每個實體都會遵守JSON結構描述物件型別。 下列程式碼代表範例中繼模型結構:
"Entity": {
"id": "Entity",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string",
"description": "Description of the item"
}
}
}
下載預設的中繼模型 download-the-default-meta-model
執行以下步驟,將預設元模型下載至本機檔案系統:
- 登入您的AEM Forms執行個體。
- 導覽至 Forms > Forms & Documents > Meta Model 資料夾。
- 選取 global.schema.json 檔案並點選 Download. 將會顯示下載對話方塊。 選取 Download asset(s) as binary files 選項。 點選 Download。已下載封存。
瞭解中繼模型 understanding-the-meta-model
元模型是指包含實體的JSON結構描述檔案。 JSON結構描述檔案中的所有實體都會包含名稱和ID。 每個實體可以包含多個屬性。 圖元及其屬性會因領域而異。 您可以使用關鍵字和欄位設定來擴充結構描述檔案,以將結構描述屬性對應至最適化表單元件。
"Event": {
"id": "Eventid",
"allOf": [
{
"$ref": "#Entity"
},
{
"properties": {
"startDate": {
"type": "string",
"format": "date",
"description": "Specify the start date and time of the event in ISO 8601 date format."
},
"endDate": {
"type": "string",
"format": "date",
"description": "Specify the end date and time of the event in ISO 8601 date format."
},
"location": {
"$ref": "#PostalAddress",
"description": "Specify the location of the event."
}
}
}
]
}
在此範例中, 事件 代表實體名稱,其值為 id 作為 Eventid. Event實體包含多個屬性:
- startDate
- endDate
- 位置
此 allOf 中繼模型中的建構可啟用實體間的繼承。
每個屬性可進一步包含:
根據使用的參照關鍵字 aem:affKeyword,轉換服務會對來源表單欄位執行搜尋操作。 轉換服務會將JSON結構描述屬性和其他屬性套用至符合搜尋條件的欄位。
在此範例中,轉換服務會在來源表單中搜尋電話、電話、行動電話、公司電話、住家電話、電話號碼、電話號碼和電話號碼關鍵字。 轉換服務會根據包含這些關鍵字的欄位,在轉換後將型別、模式和aem:afProperties套用至調適型表單欄位。
所產生的最適化表單欄位的JSON結構描述屬性 jsonschemaproperties
中繼模型支援使用Automated forms conversion服務(AFCS)產生的調適型表單欄位的下列JSON結構描述共同屬性:
關鍵字式搜尋,將屬性套用至產生的自適應表單欄位 keywordsearch
automated forms conversion服務(AFCS)會在轉換期間在來源表單上執行關鍵字搜尋。 篩選符合搜尋條件的欄位後,轉換服務會將中繼模型中為這些欄位定義的屬性套用至產生的調適型表單欄位。
關鍵字的參照方式 aem:affKeyword 屬性。
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"]
}
}
在此範例中,轉換服務使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 銀行帳號 表單中的文字,轉換服務會將欄位轉換為 數字 使用 type 屬性。
產生的最適化表單欄位的其他屬性 additionalproperties
您可以使用 aem:afProperties 中繼模型中的屬性,可為使用Automated forms conversion服務(AFCS)產生的調適型表單欄位定義下列其他屬性:
以您自己的語言建立自訂中繼模型 language-specific-meta-model
您可以建立特定語言的中繼模型。 這類中繼模型可協助您以您選擇的語言建立對應規則。 automated forms conversion服務(AFCS)可讓您使用下列語言建立中繼模型:
- English(en)
- French(fr)
- German(de)
- Spanish(es)
- Italian(it)
- 葡萄牙文(pt-br)
新增 aem:Language 將元標籤標籤標籤到元模型的頂端,以指定其語言。 例如,
"metaTags": {
"aem:Language": "fr"
}
若未指定語言,服務會認為中繼模型為英文。
建立特定語言中繼模型的注意事項
-
確定每個金鑰的名稱都是英文名稱。 例如,emailAddress。
-
請確定所有實體參照和所有ID鍵的預定義值只包含ASCII字元。 例如"id": "ContactPoint" / "$ref": "#ContactPoint"。
-
請確定與下列鍵值對應的所有值都使用指定的元模型語言:
- aem:affKeyword
- 標題
- 說明
- enumName
- shortDescription
- validatePictureClauseMessage
例如,當中繼模型的語言是法文(「aem:Language」:「fr」)時,請確定所有說明和訊息都是法文。
-
確認全部 JSON結構描述屬性 僅使用支援的值。 例如,type屬性只能跨越字串、數字、整數和布林值的選取值。
下圖顯示英文中繼模型和對應的法文中繼模型的範例:
使用自訂中繼模型修改最適化表單欄位 modify-adaptive-form-fields-using-custom-meta-model
除了預設元模型中列出的模式與驗證之外,您的組織還可以有這些模式與驗證。 您可以擴充預設元模型,以新增特定於貴組織的陣列、驗證和圖元。 automated forms conversion服務(AFCS)會在轉換期間將自訂中繼模型套用至表單欄位。 當發現組織特定的新陣列、驗證和圖元時,您可以繼續更新元模型。
automated forms conversion服務(AFCS)會使用儲存在下列位置的預設中繼模型,在轉換期間將來源表單欄位對應到調適型表單欄位:
http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json
不過,您可以將自訂中繼模型儲存在資料夾中,並修改轉換服務屬性以在轉換期間使用自訂中繼模型。
在轉換期間使用自訂中繼模型 use-custom-meta-model-during-conversion
執行以下步驟以在轉換期間使用自訂中繼模型:
-
在中建立資料夾 Forms > Forms & Documents 並將自訂中繼模型JSON結構描述檔案上傳至資料夾。
-
使用以下專案開啟轉換服務屬性:
Tools > Cloud Services > Automated Forms Conversion Configuration > <properties of="" selected="" configuration="">
-
在 Basic 索引標籤中,指定自訂中繼模型在 Custom Meta-model 欄位並點選 Save & Close.
-
執行轉換 將自訂中繼模型套用至轉換流程。
自訂中繼模型範例 custommetamodelexamples
使用自訂中繼模型修改最適化表單欄位屬性的常見範例包括:
- 修改表單欄位的標籤
- 修改表單欄位的型別
- 新增說明文字至表單欄位
- 將表單欄位轉換為最適化表單中的多選單選按鈕
- 修改表單欄位的格式
- 將驗證新增至最適化表單欄位
- 將表單欄位轉換為最適化表單中的下拉式清單選項
- 新增其他選項至下拉式清單
- 將字串欄位轉換為多行欄位
修改表單欄位的標籤 modify-the-label-of-a-form-field
範例: 在轉換後,將表單中的「銀行帳號」標籤修改成最適化表單中的「自訂帳號」 。
在此自訂中繼模型中,轉換服務使用 標題 屬性做為搜尋關鍵字。 擷取 銀行帳號 文字的表單中,轉換服務會將文字取代為 客戶帳號 與有關的字串 jcr:title 中的屬性 aem:afProperties 區段。
{
"numberfields": {
"type": "number",
"title": "Bank account number",
"aem:afProperties" : {
"jcr:title" : "Customer account number"
}
}
}
修改表單欄位的型別 modify-the-type-of-a-form-field
範例:修改 銀行帳號 在轉換為最適化表單的編號型別欄位之前在表單中的文字型別欄位在轉換之後。
在此自訂中繼模型中,轉換服務會使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 銀行帳號 文字的表單中,轉換服務會使用 type 屬性。
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"]
}
}
新增說明文字至表單欄位 add-help-text-to-a-form-field
範例:將說明文字新增至 銀行帳號 最適化表單的欄位。
在此自訂中繼模型中,轉換服務會使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 銀行帳號 文字於表單中,轉換服務會使用將說明文字新增至最適化表單欄位 說明 屬性。
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"],
"description": "Specify your bank account number."
}
}
將表單欄位轉換為最適化表單中的多選核取方塊 convert-a-form-field-to-multiple-choice-check-boxes-in-the-adaptive-form
範例:轉換 國家 字串型別欄位(在轉換前)至最適化表單在轉換後的核取方塊。
在此自訂中繼模型中,轉換服務使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 國家 文字的表單中,轉換服務會使用將欄位轉換為以下核取方塊 列舉 屬性:
- 印度
- 英國
- 澳洲
- 紐西蘭
sling:resourceType 和 guideNodeclass 屬性會將表單欄位對應至最適化表單元件核取方塊。
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidecheckbox",
"guideNodeClass": "guidecheckbox"
}
}
}
修改表單欄位的格式 modify-the-format-of-a-form-field
範例:修改格式 電子郵件地址 欄位轉換為電子郵件格式。
在此自訂中繼模型中,轉換服務使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 電子郵件地址 文字於表單中,轉換服務會使用 格式 屬性。
{
"additionalDetails" : {
"aem:affKeyword": ["E-mail Address"],
"type" : "string",
"format" : "email"
}
}
將驗證新增至最適化表單欄位 add-validations-to-adaptive-form-fields
範例1: 新增驗證至 郵遞區號 最適化表單的欄位。
在此自訂中繼模型中,轉換服務使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 郵遞區號 文字於表單中,轉換服務會使用將驗證新增至欄位 validatePictureClause 屬性定義於 aem:afProperties 區段。 根據驗證,您為 郵遞區號 轉換後的最適化表單中的欄位必須包含六個字元。
{
"postalCode" : {
"aem:affKeyword": ["Postal Code"],
"type" : "string",
"aem:afProperties" : {
"validatePictureClause" : "\\d{6}"
}
}
}
範例2: 新增驗證至 銀行帳號 最適化表單的欄位。
在此自訂中繼模型中,轉換服務使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 銀行帳號 文字於表單中,轉換服務會使用將驗證新增至欄位 強制 屬性定義於 aem:afProperties 區段。 根據驗證,您必須為 銀行帳號 轉換後提交表單前的欄位。
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"],
"aem:afProperties" : {
"mandatory": "true"
}
}
}
將文字欄位轉換為最適化表單中的下拉式清單 convert-a-text-field-to-drop-down-list-in-the-adaptive-form
範例:轉換 國家 字串型別欄位(於轉換前),以最適化表單於轉換後的下拉式選項顯示。
在此自訂中繼模型中,轉換服務使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 國家 文字於表單中,轉換服務會使用將欄位轉換為下列下拉式清單選項 列舉 屬性:
- 印度
- 英國
- 澳洲
- 紐西蘭
sling:resourceType 和 guideNodeclass 屬性會將表單欄位對應至下拉式最適化表單元件。
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidedropdownlist",
"guideNodeClass": "guideDropDownlist"
}
}
}
新增其他選項至下拉式清單 add-additional-options-to-the-drop-down-list
範例: 新增 斯里蘭卡 作為使用自訂中繼模型的現有下拉式清單的額外選項。
若要新增額外選項,請更新 列舉 屬性加上新選項。 在此範例中,更新 列舉 屬性,具有 斯里蘭卡 作為額外選項。 值列於 列舉 屬性會顯示在下拉式清單中。
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand",
"Sri Lanka"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidecheckbox",
"guideNodeClass": "guidecheckbox"
}
}
}
將字串欄位轉換為多行欄位 convert-a-string-field-to-a-multi-line-field
範例: 轉換 地址 字串型別的欄位轉換為表單中的多行欄位後。
在此自訂中繼模型中,轉換服務使用中的文字 aem:affKeyword 作為搜尋關鍵字。 擷取 地址 表單中的文字,此服務會使用將文字欄位轉換為多行欄位 多行 屬性定義於 aem:afProperties 區段。
{
"multiLine" : {
"aem:affKeyword": [
"Address"
],
"type" : "string",
"aem:afProperties": {
"multiLine": "true"
}
}
}