Tutorial: Crear modelo de datos de formulario

04-create-form-data-model-main

Este tutorial es un paso en la Crear el primer formulario adaptable serie. Se recomienda seguir la serie en secuencia cronológica para comprender, realizar y demostrar el caso de uso completo del tutorial.

Acerca del tutorial

AEM Forms el módulo de integración de datos le permite crear un modelo de datos de formulario a partir de fuentes de datos backend dispares, como AEM perfil de usuario, 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 formulario adaptables están enlazados a las propiedades de 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 de datos de formulario y el modelo de datos de formulario, consulte Integración de datos de AEM Forms.

Este tutorial lo acompaña 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:

form-data-model_l

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

Antes de empezar, asegúrese de que dispone de lo siguiente:

Paso 1: Configurar la base de datos MySQL como fuente de datos

Puede configurar distintos tipos de orígenes 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 su MySQL base de datos:

  1. Instale el controlador JDBC para MySQL base de datos como paquete OSGi:

    1. Descargar MySQL Paquete OSGi del controlador JDBC.

    2. Iniciar sesión en AEM Forms Instancia de autor como administrador y vaya a AEM paquetes de consola web. La dirección URL predeterminada es https://localhost:4502/system/console/bundles.

    3. Toque Instalar/actualizar. Un Cargar e instalar paquetes se abre.

    4. Toque Elegir archivo para buscar y seleccionar la variable MySQL Paquete OSGi del controlador JDBC. Select Iniciar paquete y Actualizar paquetes y toque Instalar o actualizar. Asegúrese de que la variable Oracle Corporation’s Controlador JDBC para MySQL está activa. El controlador está instalado.

  2. Configurar MySQL base de datos como fuente de datos:

    1. Vaya a AEM consola web en https://localhost:4502/system/console/configMgr.

    2. Localizar Fuente de datos obtenida de una conexión Apache Sling configuración. Pulse para abrir la configuración en modo de edición.

    3. En el cuadro de diálogo de configuración, especifique los siguientes detalles:

      • Nombre del origen de datos: 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 de DataSource. Se especifica al registrar la instancia de origen de datos como servicio OSGi. Por ejemplo, datasource.name.
      • Clase de controlador JDBC: Especifique el nombre de clase Java del controlador JDBC. Para MySQL base de datos, especificar com.mysql.jdbc.Driver.
      • URI de conexión JDBC: Especifique la dirección URL de conexión de la base de datos. Para MySQL base de datos que se ejecuta en el puerto 3306 y esquema weretail, la URL es: jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
      NOTA

      Cuando la variable MySQL la base de datos está detrás de un servidor de seguridad y 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 agregarse en la /etc/hosts del equipo host AEM.

      • Nombre de usuario: Nombre de usuario de la base de datos. Es necesario permitir que el controlador JDBC establezca una conexión con la base de datos.
      • Contraseña: Contraseña de la base de datos. Es necesario permitir que el controlador JDBC establezca una conexión con la base de datos.
      NOTA

      AEM Forms no admite la autenticación NT para MySQL. Vaya a AEM consola web en https://localhost:4502/system/console/configMgr y busque "Fuente de datos agrupada de la conexión Apache Sling".Para "URI de conexión JDBC" valor de la propiedad "integrationSecurity" como False y utilice el nombre de usuario y la contraseña creados para conectarse con MySQL base de datos.

      • Pruebas con prestatario: Active la variable Prueba a la vista previa .

      • Prueba tras retorno: Active la variable Prueba a la vuelta .

      • Consulta de validación: Especifique una consulta SQL SELECT para validar conexiones desde el grupo. La consulta debe devolver al menos una fila. Por ejemplo, select * de detalles del cliente.

      • Aislamiento de transacciones: Establezca el valor en READ_COMMITTED.

        Deje otras propiedades con el valor predeterminado values y toque Guardar.

        Se crea una configuración similar a la siguiente.

        relational-database-data-source-configuration

Paso 2: Crear modelo de datos de formulario

AEM Forms proporciona una interfaz de usuario intuitiva para crear un modelo de datos de formulario desde fuentes de datos configuradas. Puede utilizar varios orígenes de datos en un modelo de datos de formulario. Para nuestro caso de uso, utilizaremos la configuración MySQL fuente de datos.

Para crear el modelo de datos de formulario, haga lo siguiente:

  1. En AEM instancia de autor, vaya a Forms > Integraciones de datos.

  2. Toque Crear > Modelo de datos de formulario.

  3. En el cuadro de diálogo Crear modelo de datos de formulario , especifique un name para el modelo de datos de formulario. Por ejemplo, customer-Shipping-billing-details. Pulse Siguiente.

  4. La pantalla seleccionar fuente de datos enumera todas las fuentes de datos configuradas. Select WeRetailMySQL fuente de datos y toque Crear.

    selección de fuente de datos

La variable customer-Shipping-billing-details se crea el modelo de datos de formulario.

Paso 3: Configuración del modelo de datos de formulario

La configuración del modelo de datos de formulario implica:

  • adición de objetos y servicios del modelo de datos
  • configuración de servicios de lectura y escritura para objetos del modelo de datos

Para configurar el modelo de datos de formulario, haga lo siguiente:

  1. En AEM instancia de autor, vaya a Forms > Integraciones de datos. La dirección URL predeterminada es https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.

  2. La variable customer-Shipping-billing-details el modelo de datos de formulario creado anteriormente se muestra aquí. Ábrala en modo de edición.

    La fuente de datos seleccionada WeRetailMySQL se configura en el modelo de datos de formulario.

    default-fdm

  3. Expanda el árbol de fuentes de datos WeRailMySQL. Seleccione los siguientes objetos y servicios del modelo de datos weretail > detalles del cliente esquema para el modelo de datos de formulario:

    • Objetos del modelo de datos:

      • id
      • name
      • ShippingAddress
      • ciudad
      • estado
      • código postal
    • Servicios:

      • get
      • actualizar

    Toque Agregar selección para agregar objetos y servicios del modelo de datos seleccionado al modelo de datos de formulario.

    Esquema de WeRetail

    NOTA

    Los servicios predeterminados de obtener, actualizar e insertar para orígenes de datos JDBC se proporcionan ya preparados con el modelo de datos de formulario .

  4. Configure los servicios de lectura y escritura para el objeto del modelo de datos.

    1. Seleccione el detalles del cliente objeto del modelo de datos y toque Editar propiedades.

    2. Select get en la lista desplegable Servicio de lectura . La variable id , que es la clave principal del objeto del modelo de datos customerdetails, se agrega automáticamente. Toque aem_6_3_edit y configure el argumento como se indica a continuación.

      read-default

    3. Del mismo modo, seleccione actualizar como servicio de escritura. La variable detalles del cliente se agrega automáticamente como argumento. El argumento se configura de la siguiente manera.

      write-default

      Agregue y configure la variable id como se indica a continuación.

      id-arg

    4. Toque Listo para guardar las propiedades del objeto del modelo de datos. A continuación, toque Guardar para guardar el modelo de datos de formulario.

      La variable get y actualizar los servicios se añaden como servicios predeterminados para el objeto del modelo de datos.

      data-model-object

  5. Vaya a la Servicios y configurar get y actualizar servicios.

    1. Seleccione el get servicio y toque Editar propiedades. Se abre el cuadro de diálogo de propiedades.

    2. Especifique lo siguiente en el cuadro de diálogo Editar propiedades:

      • Título: Especifique el título del servicio. Por ejemplo: Recupere la 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 MySQL base de datos

      • Objeto de modelo de salida: Seleccione el esquema que contiene los datos del cliente. Por ejemplo:

        customerdetail schema

      • Devolver matriz: Desactive el Devolver matriz .

      • Argumentos: Seleccionar argumento llamado ID.

      Pulse Listo. El servicio para recuperar los detalles del cliente de la base de datos MySQL está configurado.

      shiiping-address-retrieve

    3. Seleccione el actualizar servicio y toque Editar propiedades. Se abre el cuadro de diálogo de propiedades.

    4. Especifique lo siguiente en la Editar propiedades diálogo:

      • 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 de modelo de entrada: Seleccione el esquema que contiene los datos del cliente. Por ejemplo:

        customerdetail schema

      • Tipo de salida: Select BOOLEANO.

      • Argumentos: Seleccionar argumento llamado ID y detalles del cliente.

      Pulse Listo. La variable actualizar para actualizar los detalles del cliente en el MySQL base de datos configurada.

      shiiping-address-update

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 modelo de datos de formulario

Puede probar el objeto y los servicios del modelo de datos para comprobar que el modelo de datos del formulario está configurado correctamente.

Haga lo siguiente para ejecutar la prueba:

  1. Vaya a la Modelo , seleccione detalles del cliente objeto del modelo de datos y toque Objeto de modelo de prueba.

  2. En el Modelo/servicio de prueba ventana, seleccione Objeto de modelo de lectura de la variable Seleccionar modelo/servicio lista desplegable.

  3. En el detalles del cliente , especifique un valor para id argumento que existe en la configuración MySQL pulsar y definir base de datos Prueba.

    Los detalles del cliente asociados con la ID especificada se recuperan y se muestran en la variable Salida como se muestra a continuación.

    modelo test-read

  4. 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.

    test-write-model

    Ahora, 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.

    leído y actualizado

En esta página