Tutorial: Crear un modelo de datos de formulario tutorial-create-form-data-model
Este tutorial es un paso en la serie Crear su primer formulario adaptable. Se recomienda seguir la serie en orden cronológico para comprender, realizar y mostrar el caso de uso del tutorial completo.
Información sobre el tutorial about-the-tutorial
El módulo de integración de datos de AEM Forms le permite crear un modelo de datos de formulario a partir de fuentes de datos backend dispares, como un perfil de usuario de AEM, servicios web RESTful, servicios web basados en SOAP, servicios OData y bases de datos relacionales. Puede configurar objetos y servicios del modelo de datos en un modelo de datos de formulario y asociarlo a un formulario adaptable. Los campos de formularios adaptables están enlazados a las propiedades del objeto del modelo de datos. Los servicios permiten rellenar previamente el formulario adaptable y escribir los datos de formulario enviados en el objeto del modelo de datos.
Para obtener más información sobre la integración y el modelo de datos de formulario, consulte Integración de datos de AEM Forms.
Este tutorial lo acompañará durante los pasos para preparar, crear, configurar y asociar un modelo de datos de formulario con un formulario adaptable. Al final de este tutorial, podrá:
El modelo de datos de formulario tendrá un aspecto similar al siguiente:
A. Fuentes de datos configuradas B. Esquemas de fuentes de datos C. Servicios disponibles D. Objetos del modelo de datos E. Servicios configurados
Requisitos previos prerequisites
Antes de empezar, asegúrese de que dispone de lo siguiente:
- Base de datos MySQL con datos de ejemplo como se indica en la sección Requisitos previos de Cree su primer formulario adaptable
- Un paquete OSGi para el controlador JDBC MySQL como se explica en Empaquetar un controlador de base de datos JDBC
- Formulario adaptable, tal como se explica en el primer tutorial Crear un formulario adaptable
Paso 1: Configurar la base de datos MySQL como fuente de datos config-database
Puede configurar distintos tipos de fuentes de datos para crear un modelo de datos de formulario. Para este tutorial, configuraremos la base de datos MySQL que ha configurado y rellenado con datos de ejemplo. Para obtener información sobre otras fuentes de datos compatibles y cómo configurarlas, consulte Integración de datos de AEM Forms.
Haga lo siguiente para configurar la base de datos MySQL:
-
Instale el controlador JDBC para la base de datos MySQL como un paquete OSGi:
-
Inicie sesión en la instancia de autor de AEM Forms como administrador y vaya a los paquetes de la consola web de AEM. La dirección URL predeterminada es http://localhost:4502/system/console/bundles.
-
Pulse Instalar/actualizar. Aparecerá el cuadro de diálogo Cargar e instalar paquetes.
-
Pulse Elegir archivo para buscar y seleccionar el paquete OSGi del controlador JDBC de MySQL. Seleccione Iniciar paquete y Actualizar paquetes y pulse Instalar o actualizar. Asegúrese de que el controlador JDBC de Oracle Corporation para MySQL esté activo. El controlador está instalado.
-
-
Configurar la base de datos MySQL como fuente de datos:
-
Vaya a AEM consola web en http://localhost:4502/system/console/configMgr.
-
Localice la configuración Apache Sling Connection Pooled DataSource. Pulse para abrir la configuración en modo de edición.
-
En el cuadro de diálogo de configuración, especifique los siguientes detalles:
- Nombre del Datasource: puede especificar cualquier nombre. Por ejemplo, especifique WeRetailMySQL.
- Nombre de propiedad del servicio DataSource: especifique el nombre de la propiedad de servicio que contiene el nombre del DataSource. Se especifica al registrar la instancia de fuente de datos como servicio OSGi. Por ejemplo, datasource.name.
- Clase del controlador JDBC: especifique el nombre de clase Java del controlador JDBC. Para la base de datos MySQL, especifique com.mysql.jdbc.Driver.
- URI de conexión JDBC: especifique la dirección URL de conexión de la base de datos. Para la base de datos MySQL que se ejecuta en el puerto 3306 y el esquema weretail, la URL es:
jdbc:mysql://[server]:3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
- Nombre de usuario: nombre de usuario de la base de datos. Debe permitir que el controlador JDBC establezca una conexión con la base de datos.
- Contraseña: contraseña de la base de datos. Debe permitir que el controlador JDBC establezca una conexión con la base de datos.
- Probar en el préstamo: habilita la opción Probar en el préstamo.
- Probar en la devolución: habilita la opción Probar en la devolución.
- Consulta de validación: especifica una consulta SQL SELECT para validar conexiones desde el grupo. La consulta debe devolver al menos una fila. Por ejemplo, seleccionar &último; de detalles del cliente.
- Aislamiento de transacciones: establezca el valor en READ_COMMITTED.
Deje las demás propiedades con los valores predeterminados y pulse Guardar.
Se creará una configuración similar a la siguiente.
-
Paso 2: Crear un modelo de datos de formulario create-fdm
AEM Forms proporciona una interfaz de usuario intuitiva para crear un modelo de datos de formulario desde fuentes de datos configuradas. Puede utilizar varias fuentes de datos en un modelo de datos de formulario. Para nuestro caso de uso, utilizaremos la fuente de datos MySQL configurada.
Para crear el modelo de datos de formulario, haga lo siguiente:
-
En AEM instancia de autor, vaya a Forms > Integración de datos s.
-
Pulse Crear > Modelo de datos de formulario.
-
En el cuadro de diálogo Crear un modelo de datos de formulario, especifique un nombre para el modelo de datos de formulario. Por ejemplo, customer-shipping-billing-details. Pulse Siguiente.
-
La pantalla Seleccionar fuente de datos enumera todas las fuentes de datos configuradas. Seleccione la fuente de datos WeRetailMySQL y pulse Crear.
Se creará el modelo de datos de formulario customer-shipping-billing-details.
Paso 3: Configurar el modelo de datos de formulario config-fdm
La configuración del modelo de datos de formulario implica:
- agregar objetos y servicios del modelo de datos
- configurar servicios de lectura y escritura para objetos del modelo de datos
Para configurar el modelo de datos de formulario, haga lo siguiente:
-
En la instancia de autor de AEM, navegue hasta Formularios > Integraciones de datos. La dirección URL predeterminada es http://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
-
El modelo de datos de formulario customer-shipping-billing-details que ha creado anteriormente se muestra aquí. Ábralo en el modo de edición.
La fuente de datos seleccionada WeRetailMySQL se configura en el modelo de datos de formulario.
-
Expanda el árbol de fuentes de datos WeRailMySQL. Seleccione los siguientes objetos y servicios del esquema weretail > customerdetails para el modelo de datos de formulario:
-
Objetos del modelo de datos:
- id
- name
- ShippingAddress
- ciudad
- estado
- código postal
-
Servicios:
- conseguir
- actualizar
Pulse Agregar selección para agregar los objetos y servicios seleccionados al modelo de datos de formulario.
note note NOTE Los servicios predeterminados de obtener, actualizar e insertar para fuentes de datos JDBC se proporcionan ya preparados con el modelo de datos de formulario. -
-
Configure los servicios de lectura y escritura para el objeto del modelo de datos.
-
Seleccione el objeto del modelo de datos customerdetails y pulse Editar propiedades.
-
Seleccione obtener de la lista desplegable Servicio de lectura. El argumento id, que es la clave principal del objeto del modelo de datos customerdetails, se agrega automáticamente. Pulse y configure el argumento como se indica a continuación.
-
Del mismo modo, seleccione actualizar como servicio de escritura. El objeto customerdetails se agrega automáticamente como argumento. El argumento se configura de la siguiente manera.
Agregue y configure el argumento id como se indica a continuación.
-
Pulse Listo para guardar las propiedades del objeto del modelo de datos. Luego, pulse Guardar para guardar el modelo de datos de formulario.
Los servicios obtener y actualizar se agregan como servicios predeterminados para el objeto del modelo de datos.
-
-
Vaya a la pestaña Servicios y configure los servicios obtener y actualizar.
-
Seleccione el servicio conseguir y pulse Editar propiedades. Se abrirá el cuadro de diálogo Propiedades.
-
Especifique lo siguiente en el cuadro de diálogo Editar propiedades:
-
Título: especifique el título del servicio. Por ejemplo: Recuperar dirección de envío.
-
Descripción: especifique la descripción que contiene el funcionamiento detallado del servicio. Por ejemplo:
Este servicio recupera la dirección de envío y otros detalles del cliente de la base de datos MySQL
-
Objeto de modelo de salida: seleccione el esquema que contiene los datos del cliente. Por ejemplo:
customerdetail schema
-
Devolver matriz: deshabilite la opción Devolver matriz.
-
Argumentos: seleccione el argumento llamado Id..
Pulse Listo. El servicio para recuperar los detalles del cliente de la base de datos MySQL está configurado.
-
-
Seleccione el servicio actualizar y pulse Editar propiedades. Se abrirá el cuadro de diálogo Propiedades.
-
Especifique lo siguiente en el cuadro de diálogo Editar propiedades:
-
Título: especifique el título del servicio. Por ejemplo, Actualizar dirección de envío.
-
Descripción: especifique la descripción que contiene el funcionamiento detallado del servicio. Por ejemplo:
Este servicio actualiza la dirección de envío y los campos relacionados en la base de datos MySQL
-
Objeto del modelo de entrada: seleccione el esquema que contiene los datos del cliente. Por ejemplo:
customerdetail schema
-
Tipo de salida: seleccione BOOLEANO.
-
Argumentos: seleccione el argumento llamado ID y customerdetails.
Pulse Listo. La variable actualizar para actualizar los detalles del cliente en la base de datos MySQL está configurada.
-
-
Se configuran el objeto y los servicios del modelo de datos de formulario. Ahora puede probar el modelo de datos de formulario.
Paso 4: Probar el modelo de datos de formulario test-fdm
Puede probar el objeto y los servicios del modelo de datos para comprobar que está configurado correctamente.
Haga lo siguiente para ejecutar la prueba:
-
Vaya a la pestaña Modelo, seleccione el modelo de datos de formulario customerdetails y pulse Objeto del modelo de prueba.
-
En la ventana Modelo/servicio de prueba, seleccione Objeto del modelo de lectura de la lista desplegable Seleccionar modelo/servicio.
-
En el detalles del cliente , especifique un valor para id argumento que existe en la base de datos MySQL configurada y pulse Prueba.
Los detalles del cliente asociados con el ID especificado se recuperan y se muestran en la sección Salida como se muestra a continuación.
-
Del mismo modo, puede probar el objeto y los servicios del modelo de escritura.
En el siguiente ejemplo, el servicio de actualización actualiza correctamente los detalles de dirección del ID 7102715 de la base de datos.
Si vuelve a probar el servicio de modelo de lectura para el ID 7107215, recuperará y mostrará los detalles actualizados del cliente como se muestra a continuación.