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. El Adobe recomienda seguir la serie en secuencia cronológica para comprender, realizar y mostrar el caso de uso completo del tutorial.
Información sobre el tutorial about-the-tutorial
AEM AEM SOAP El módulo de integración de datos de Forms le permite crear un modelo de datos de formulario a partir de fuentes de datos backend dispares, como un perfil de usuario, servicios web RESTful, servicios web basados en el, 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 MySQLcon datos de ejemplo como se indica en la sección Requisitos previos de Crear su primer formulario adaptable
- Paquete OSGi para el MySQL Controlador JDBC tal como se explica en Agrupar el controlador de la 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, configure 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 su base de datos MySQL:
-
Instale el controlador JDBC para la base de datos MySQLcomo paquete OSGi:
-
Descargar el paquete OSGi del controlador JDBC MySQL de
http://www.java2s.com/ref/jar/download-orgosgiservicejdbc100jar-file.html
. -
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 https://localhost:4502/system/console/bundles.
-
Seleccione Instalar/Actualizar. Aparecerá el cuadro de diálogo Cargar e instalar paquetes.
-
Seleccione Elegir archivo para examinar y seleccionar el paquete OSGi del controlador JDBC MySQL. Seleccione Iniciar paquete y Actualizar paquetes, y seleccione Instalar o actualizar. Asegúrese de que el Oracle Corporation’s Controlador JDBC para MySQL está activo. El controlador está instalado.
-
-
Configurar la base de datos MySQLcomo fuente de datos:
-
Vaya a la consola web de AEM en https://localhost:4502/system/console/configMgr.
-
Localice la configuración Apache Sling Connection Pooled DataSource. Seleccione esta opción 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 de controlador JDBC: especifique el nombre de la clase Java™ del controlador JDBC. Para la base de datosMySQL, 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 en el esquema
weretail
, la dirección URL es:jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
note note NOTE Cuando la base de datos MySQL está detrás de un firewall, el nombre de host de la base de datos no es un DNS público. La dirección IP de la base de datos debe añadirse en el archivo /etcetera/hosts del equipo AEM host. - 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.
note note NOTE AEM Forms no admite la autenticación NT para MySQL. AEM Vaya a la consola web de la en https://localhost:4502/system/console/configMgr y busque "Fuente de datos obtenida de una conexión Apache Sling". Para la propiedad "URI de conexión JDBC", establezca el valor de "integrationSecurity" como False y use el nombre de usuario y la contraseña creados para conectarse con la base de datos MySQL. -
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, seleccione * desde customerdetails.
-
Aislamiento de transacciones: establezca el valor en READ_COMMITTED.
Deje otras propiedades con los valores🔗 predeterminados y seleccione 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 este caso de uso, puede utilizar el origen de datos MySQL configurado.
Para crear el modelo de datos de formulario, haga lo siguiente:
-
En la instancia de autor de AEM, navegue hasta Formularios > Integraciones de datos.
-
Seleccione 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. Seleccione Siguiente.
-
La pantalla Seleccionar fuente de datos enumera todas las fuentes de datos configuradas. Seleccione WeRetailMySQL fuente de datos y seleccione 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 https://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 poder crear el modelo de datos:
-
Objetos del modelo de datos:
- id
- name
- ShippingAddress
- ciudad
- estado
- código postal
-
Servicios:
- conseguir
- actualizar
Seleccione 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 seleccione 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. Seleccione y configure el argumento de la siguiente manera.
-
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.
-
Seleccione Listo para guardar las propiedades del objeto del modelo de datos. A continuación, seleccione 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 get y seleccione 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..
Seleccione Listo. El servicio para recuperar los detalles del cliente de la base de datos MySQL está configurado.
-
-
Seleccione el servicio update y seleccione 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 nombre del argumento ID y customerdetails.
Seleccione Listo. El servicio actualizar para actualizar los detalles del cliente en la base de datos MySQLestá configurado.
-
-
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 ficha Modelo, seleccione el objeto del modelo de datos customerdetails y seleccione 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 la sección customerdetails, especifique un valor para el argumento id que existe en la base de datos configurada MySQL y seleccione Test.
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.
Ahora, si vuelve a probar el servicio de modelo de lectura para el ID 7107215, recupera y muestra los detalles actualizados del cliente como se muestra a continuación.