Ampliación del metamodelo predeterminado extend-the-default-meta-model
El servicio de conversión automatizada de formularios (AFCS) identifica y extrae objetos de los formularios de origen. El asignador semántico ayuda al servicio a decidir cómo se representan los objetos extraídos en un formulario adaptable. Por ejemplo, un formulario de origen puede tener muchos tipos de representaciones de una fecha. El asignador semántico asigna todas las representaciones de los objetos de formulario de fecha del formulario de origen con el componente de fecha de los formularios adaptables. El asignador semántico también permite que el servicio preconfigure y aplique validaciones, reglas, patrones de datos, texto de ayuda y propiedades de accesibilidad a los componentes de formulario adaptables durante la conversión.
El metamodelo es un esquema JSON. Antes de empezar con el metamodelo, asegúrese de tener una amplia experiencia con JSON. Debe tener experiencia en la creación, edición y lectura de datos guardados en formato JSON.
Metamomodelo predeterminado default-meta-model
El servicio de conversión automatizada de formularios (AFCS) tiene un metamodelo predeterminado. Es un esquema JSON y reside en Adobe Cloud con otros componentes del servicio de conversión automatizada de formularios (AFCS). Puede encontrar una copia del metamodelo en el servidor de AEM local en: http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json
. También puede hacer clic aquí para acceder o descargar el esquema del idioma inglés. El metamodelo para francés, alemán español, italiano y portugués también están disponibles para descargar.
El esquema del metamodelo deriva de las entidades de esquema en https://schema.org/docs/schemas.html. Tiene las entidades Persona, DirecciónPostal, EmpresaLocal y otras más, tal y como se definen en https://schema.org. Cada entidad del metamodelo se adhiere al tipo de objeto de esquema JSON. El siguiente código representa una estructura del metamodelo de ejemplo:
"Entity": {
"id": "Entity",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string",
"description": "Description of the item"
}
}
}
Descargar el metamodelo predeterminado download-the-default-meta-model
Realice los siguientes pasos para descargar el metamodelo predeterminado en el sistema de archivos local:
- Inicie sesión en la instancia de AEM Forms.
- Navegue hasta la carpeta Forms > Forms & Documents > Meta Model.
- Seleccione el archivo global.schema.json y toque Download. Aparece un cuadro de diálogo de descarga. Seleccione la opción Download asset(s) as binary files. Toque Download. Se descarga un archivo.
Explicación del metamodelo understanding-the-meta-model
Un metamodelo hace referencia a un archivo de esquema JSON que contiene entidades. Todas las entidades del archivo de esquema JSON incluyen un nombre y un ID. Cada entidad puede incluir varias propiedades. Las entidades y sus propiedades pueden variar en función del dominio. Puede aumentar un archivo de esquema con palabras clave y configuraciones de campo para asignar propiedades de esquema a los componentes de formulario adaptables.
"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."
}
}
}
]
}
En este ejemplo, Evento representa el nombre de una entidad con un valor para id como Eventid. La entidad Evento incluye varias propiedades:
- startDate
- endDate
- ubicación
La construcción allOf en el metamodelo permite la herencia entre entidades.
Cada propiedad puede incluir además, lo siguiente:
Basado en las palabras clave a las que se hace referencia mediante aem:affKeyword, el servicio de conversión realiza una operación de búsqueda en los campos del formulario de origen. El servicio de conversión aplica las propiedades del esquema JSON y propiedades adicionales a los campos que cumplen los criterios de búsqueda.
En este ejemplo, el servicio de conversión busca las palabras clave tel., teléfono, teléfono móvil, teléfono de trabajo, teléfono de línea, número de teléfono, núm. de teléfono y número de tel. en el formulario de origen. En función de los campos que incluyen estas palabras clave, el servicio de conversión aplica el tipo, patrón y aem:afProperties a los campos de formulario adaptables después de la conversión.
Propiedades del esquema JSON para campos de formulario adaptables generados jsonschemaproperties
El metamodelo admite las siguientes propiedades comunes de esquema JSON para los campos de formularios adaptables generados mediante el servicio de conversión automatizada de formularios (AFCS).
Búsqueda basada en palabras clave para aplicar las propiedades a los campos de formulario adaptables generados keywordsearch
El servicio de conversión automatizada de formularios (AFCS) realiza una búsqueda de palabras clave en el formulario de origen durante la conversión. Después de filtrar los campos que cumplen los criterios de búsqueda, el servicio de conversión aplica las propiedades definidas para esos campos en el metamodelo a los campos de formulario adaptable generados.
Se hace referencia a las palabras clave mediante la propiedad aem:affKeyword.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"]
}
}
En este ejemplo, el servicio de conversión utiliza el texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar el texto Número de cuenta bancaria del formulario, el servicio de conversión convierte el campo en un número usando la propiedad tipo.
Propiedades adicionales para los campos de formulario adaptables generados additionalproperties
Puede usar la propiedad aem:afProperties en el metamodelo para definir las siguientes propiedades adicionales para los campos de formularios adaptables generados mediante el servicio de conversión automatizada de formularios (AFCS).
Creación de un metamodelo personalizado en su propio idioma language-specific-meta-model
Puede crear un metamodelo específico de un idioma. Este metamodelo ayuda a crear reglas de asignación en el idioma que elija. El servicio de conversión automatizada de formularios (AFCS) le permite crear metamodelos en los siguientes idiomas:
- Inglés (en)
- Francés (fr)
- Alemán (de)
- Español (es)
- Italiano (it)
- Portugués (pt-br)
Agregue la metaetiqueta aem:Language en la parte superior del metamodelo para especificar su idioma. Por ejemplo:
"metaTags": {
"aem:Language": "fr"
}
Cuando no se especifica ningún idioma, el servicio considera que el metamodelo está en inglés.
Consideraciones para crear un metamodelo específico de un idioma
-
Asegúrese de que el nombre de cada clave esté en inglés. Por ejemplo, emailAddress.
-
Asegúrese de que todas las referencias de entidad y los valores predefinidos de todas las claves de ID solo contengan caracteres ASCII. Por ejemplo, "id": "ContactPoint" / "$ref": "#ContactPoint".
-
Asegúrese de que todos los valores correspondientes a las claves siguientes estén en el idioma del metamodelo especificado:
- aem:affKeyword
- título
- descripción
- enumNames
- shortDescription
- validatePictureClauseMessage
Por ejemplo, cuando el idioma del metamodelo sea francés ("aem:Language": "fr"), asegúrese de que todas las descripciones y mensajes estén en francés.
-
Asegúrese de que todas las Propiedades del esquema JSON utilicen solo los valores admitidos. Por ejemplo, la propiedad tipo solo puede abarcar valores seleccionados de tipo Cadena, Número, Entero y Booleano.
La siguiente imagen muestra ejemplos del metamodelo en inglés y el metamodelo en francés correspondiente:
Modificación de los campos de formulario adaptables utilizando un metamodelo personalizado modify-adaptive-form-fields-using-custom-meta-model
Su organización puede tener otros patrones y validaciones, además de los que aparecen en el metamodelo predeterminado. Puede ampliar el metamodelo predeterminado para agregar patrones, validaciones y entidades específicas a su organización. El servicio de conversión automatizada de formularios (AFCS) aplica el metamodelo personalizado a los campos de formulario durante la conversión. Puede seguir actualizando el metamodelo a medida que aparecen nuevos patrones, validaciones y entidades específicas de su organización.
El servicio de conversión automatizada de formularios (AFCS) utiliza un metamodelo predeterminado guardado en la siguiente ubicación para asignar campos de formulario de origen a los campos de formularios adaptables durante la conversión:
http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json
Sin embargo, puede guardar un metamodelo personalizado en una carpeta y modificar las propiedades del servicio de conversión para utilizar el metamodelo personalizado durante la conversión.
Uso de un metamodelo personalizado durante la conversión use-custom-meta-model-during-conversion
Ejecute los siguientes pasos para utilizar un metamodelo personalizado durante la conversión:
-
Cree una carpeta en Forms > Forms & Documents y cargue el archivo de esquema JSON del metamodelo personalizado en la carpeta.
-
Abra las propiedades del servicio de conversión mediante lo siguiente:
Tools > Cloud Services > Automated Forms Conversion Configuration > <Properties of selected configuration>
-
En la pestaña Basic, especifique la ubicación del metamodelo personalizado en el campo Custom Meta-model y pulse Save & Close.
-
Ejecute la conversión para aplicar el metamodelo personalizado al proceso de conversión.
Ejemplos de metamodelos personalizados custommetamodelexamples
Algunos ejemplos comunes del uso de un metamodelo personalizado para modificar las propiedades de los campos de formulario adaptables son los siguientes:
- Modificación de la etiqueta de un campo del formulario
- Modificación del tipo de campo de formulario
- Agregar texto de ayuda a un campo de formulario
- Conversión de un campo de formulario en botones de opción múltiple en el formulario adaptable
- Modificación del formato de un campo de formulario
- Agregar validaciones a campos de formulario adaptables
- Conversión de un campo de formulario en opciones de lista desplegable en el formulario adaptable
- Agregar opciones adicionales a la lista desplegable
- Conversión de un campo de cadena en un campo multilínea
Modificación de la etiqueta de un campo del formulario modify-the-label-of-a-form-field
Ejemplo: modifique la etiqueta de número de cuenta bancaria en el formulario a un número de cuenta personalizado en el formulario adaptable después de la conversión.
En este metamodelo personalizado, el servicio de conversión utiliza la propiedad title como palabra clave de búsqueda. Después de recuperar la variable Número de cuenta bancaria en el formulario, el servicio de conversión reemplaza el texto por la cadena Número de cuenta del cliente mencionada con la propiedad jcr:title en la sección aem:afProperties.
{
"numberfields": {
"type": "number",
"title": "Bank account number",
"aem:afProperties" : {
"jcr:title" : "Customer account number"
}
}
}
Modificación del tipo de campo de formulario modify-the-type-of-a-form-field
Ejemplo: modifique el campo Número de cuenta bancaria del tipo de texto del formulario antes de la conversión a un campo de tipo numérico en el formulario adaptable después de la conversión.
En este metamodelo personalizado, el servicio de conversión utiliza el texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar el texto Número de cuenta bancaria del formulario, el servicio de conversión convierte el campo en un tipo de número mediante la propiedad type.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"]
}
}
Agregar texto de ayuda a un campo del formulario add-help-text-to-a-form-field
Ejemplo: agregar texto de ayuda al campo Número de cuenta bancaria del formulario adaptable.
En este metamodelo personalizado, el servicio de conversión utiliza el texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar el texto de formulario Número de cuenta bancaria, el servicio de conversión agrega el texto Ayuda al campo de formulario adaptable utilizando la propiedad descripción.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"],
"description": "Specify your bank account number."
}
}
Conversión de un campo de formulario en casillas de verificación de opción múltiple en el formulario adaptable convert-a-form-field-to-multiple-choice-check-boxes-in-the-adaptive-form
Ejemplo: convertir el campo de tipo de cadena País en el formulario antes de la conversión a casillas de verificación en el formulario adaptable después de la conversión.
En este metamodelo personalizado, el servicio de conversión utiliza texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar la variable País en el formulario, el servicio de conversión convierte el campo en las siguientes casillas de verificación mediante la propiedad enum:
- India
- Inglaterra
- Australia
- Nueva Zelanda
Las propiedades sling:resourceType y guideNodeClass asignan un campo de formulario al componente de formulario adaptable de la casilla de verificación.
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidecheckbox",
"guideNodeClass": "guidecheckbox"
}
}
}
Modificación del formato de un campo de formulario modify-the-format-of-a-form-field
Ejemplo: modifique el formato del campo Dirección de correo electrónico al formato del correo electrónico.
En este metamodelo personalizado, el servicio de conversión utiliza texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar el texto Dirección de correo electrónico del formulario, el servicio de conversión convierte el campo en el formato del correo electrónico mediante la propiedad formato.
{
"additionalDetails" : {
"aem:affKeyword": ["E-mail Address"],
"type" : "string",
"format" : "email"
}
}
Agregar validaciones a campos de formulario adaptables add-validations-to-adaptive-form-fields
Ejemplo 1: agregue una validación al Código postal del formulario adaptable.
En este metamodelo personalizado, el servicio de conversión utiliza texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar el texto Código postal en el formulario, el servicio de conversión agrega una validación al campo utilizando la propiedad validatePictureClause definida en la sección aem:afProperties. En función de la validación, la entrada que especifique para el campo Código postal en el formulario adaptable después de la conversión debe incluir seis caracteres.
{
"postalCode" : {
"aem:affKeyword": ["Postal Code"],
"type" : "string",
"aem:afProperties" : {
"validatePictureClause" : "\\d{6}"
}
}
}
Ejemplo 2: agregue una validación al Número de cuenta bancaria del formulario adaptable.
En este metamodelo personalizado, el servicio de conversión utiliza texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar el texto Número de cuenta bancaria en el formulario, el servicio de conversión agrega una validación al campo utilizando la propiedad mandatory definida en la sección aem:afProperties. En función de la validación, debe especificar un valor para el campo Número de cuenta bancaria antes de enviar el formulario después de la conversión.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"],
"aem:afProperties" : {
"mandatory": "true"
}
}
}
Conversión de un campo de texto en una lista desplegable del formulario adaptable convert-a-text-field-to-drop-down-list-in-the-adaptive-form
Ejemplo: convertir el campo de tipo cadena País en el formulario antes de la conversión a las opciones desplegables en el formulario adaptable después de la conversión.
En este metamodelo personalizado, el servicio de conversión utiliza texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar el texto País del formulario, el servicio de conversión convierte el campo en las siguientes opciones de lista desplegable utilizando la propiedad enum:
- India
- Inglaterra
- Australia
- Nueva Zelanda
Las propiedades sling:resourceType y guideNodeClass asignan un campo al componente del formulario adaptable desplegable.
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidedropdownlist",
"guideNodeClass": "guideDropDownlist"
}
}
}
Agregar opciones adicionales a la lista desplegable add-additional-options-to-the-drop-down-list
Ejemplo: agregue Sri Lanka como opción adicional a una lista desplegable existente usando un metamodelo personalizado.
Para agregar una opción adicional, actualice la propiedad enum con la nueva opción. En este ejemplo, actualice la propiedad enum con Sri Lanka como opción adicional. Los valores enumerados en la propiedad enum se muestran en la lista desplegable.
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand",
"Sri Lanka"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidecheckbox",
"guideNodeClass": "guidecheckbox"
}
}
}
Conversión de un campo de cadena en un campo multilínea convert-a-string-field-to-a-multi-line-field
Ejemplo: convertir el campo de tipo de cadena Dirección a un campo multilínea del formulario después de la conversión.
En este metamodelo personalizado, el servicio de conversión utiliza texto dentro de aem:affKeyword como palabra clave de búsqueda. Después de recuperar el texto Dirección del formulario, el servicio convierte el campo de texto en un campo multilínea utilizando la propiedad multiLine definida en la sección aem:afProperties.
{
"multiLine" : {
"aem:affKeyword": [
"Address"
],
"type" : "string",
"aem:afProperties": {
"multiLine": "true"
}
}
}