Flujos de trabajo de relleno automático y envío recomendados basados en fuentes de datos para formularios adaptables recommended-data-source-btased-prefill-and-submit-workflows-for-adaptive-forms
Puede utilizar cualquiera de las siguientes fuentes de datos con formularios adaptables convertidos usando el servicio de conversión automatizada de formularios (AFCS):
- Modelo de datos de formulario, OData o cualquier otro servicio de terceros
- Esquema JSON
- Esquema XSD
En función de la fuente de datos, puede optar por generar un formulario adaptable con o sin un modelo de datos.
En este artículo se describen los flujos de trabajo recomendados para rellenar automáticamente los valores de campo y las opciones de envío después de seleccionar una fuente de datos y generar un formulario adaptable mediante el servicio de conversión.
Para obtener más información sobre el servicio de conversión automatizada de formularios (AFCS), consulte los siguientes artículos:
La información proporcionada en este artículo se basa en la suposición de que cualquiera que la lea tiene conocimientos básicos sobre los conceptos de formularios adaptables.
Requisitos previos pre-requisites
- Configurar una instancia de autor de AEM.
- Configurar el servicio de conversión automatizada de formularios (AFCS) en la instancia de autor de AEM.
Formulario adaptable de ejemplo sample-adaptive-form
Para ejecutar los casos de uso con el fin de rellenar automáticamente los valores de campo en un formulario adaptable y enviarlos a la fuente de datos, descargue el siguiente archivo PDF de ejemplo.
Formulario de solicitud de préstamo de ejemplo
El archivo PDF sirve como entrada al servicio de conversión automatizada de formularios (AFCS). El servicio convierte este archivo en un formulario adaptable. La siguiente imagen muestra la aplicación de un préstamo de ejemplo en formato PDF.
Preparación de datos para el modelo de formulario prepare-data-for-form-model
La integración de datos de AEM Forms le permite configurar y conectarse a fuentes de datos diferentes. Después de generar un formulario adaptable mediante el proceso de conversión, puede definir el modelo de formulario basado en un modelo de datos de formulario, XSD o un esquema JSON. Puede utilizar una base de datos, Microsoft Dynamics o cualquier otro servicio de terceros para crear un modelo de datos de formulario.
Este tutorial utiliza la base de datos MySQL como fuente para crear un modelo de datos de formulario. Cree un esquema de aplicación de préstamo en la base de datos y añada un solicitante al esquema en función de los campos disponibles en el formulario adaptable.
Puede utilizar la siguiente sentencia DDL para crear la tabla solicitante en la base de datos.
CREATE TABLE `applicant` (
`name` varchar(45) DEFAULT NULL,
`address` varchar(45) DEFAULT NULL,
`phonenumber` int(11) NOT NULL,
`email` varchar(45) DEFAULT NULL,
`occupation` varchar(45) DEFAULT NULL,
`annualsalary` varchar(45) DEFAULT NULL,
`familymembers` int(11) DEFAULT NULL,
PRIMARY KEY (`phonenumber`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Si utiliza un esquema XSD como modelo de formulario para ejecutar los casos de uso, cree un archivo XSD con el siguiente texto:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://adobe.com/sample.xsd"
xmlns="http://adobe.com/sample.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="sample" type="SampleType"/>
<xs:complexType name="SampleType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="phonenumber" type="xs:int"/>
<xs:element name="email" type="xs:string"/>
<xs:element name="occupation" type="xs:string"/>
<xs:element name="annualsalary" type="xs:string"/>
<xs:element name="familymembers" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
O descargue el esquema XSD en el sistema de archivos local.
Esquema XSD de aplicación de préstamo de muestra
Para obtener más información sobre el uso del esquema XSD como modelo de formulario en formularios adaptables, consulte Creación de formularios adaptables con esquema XML.
Si utiliza un esquema JSON como modelo de formulario para ejecutar los casos de uso, cree un archivo JSON con el siguiente texto:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"loanapplication": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"phonenumber": {
"type": "number"
},
"email": {
"type": "string"
},
"occupation": {
"type": "string"
},
"annualsalary": {
"type": "string"
},
"familymembers": {
"type": "number"
}
}
}
},
"type": "object",
"properties": {
"employee": {
"$ref": "#/definitions/loanapplication"
}
}
}
O descargue el esquema JSON en el sistema de archivos local.
Esquema JSON de aplicación de préstamo de muestra
Para obtener más información sobre el uso del esquema JSON como modelo de formulario en formularios adaptables, consulte Creación de formularios adaptables mediante el esquema JSON.
Generar formularios adaptables sin enlace de datos generate-adaptive-forms-with-no-data-binding
Utilice el servicio de conversión automatizada de formularios para convertir el formulario de solicitud de préstamo de ejemplo a un formulario adaptable sin enlace de datos. Asegúrese de seleccionar la casilla Generate adaptive form(s) without data bindings para generar el formulario adaptable sin enlace de datos.
Después de generar un formulario adaptable sin enlace de datos, seleccione una fuente de datos para el formulario adaptable:
Utilizar base de datos, OData o cualquier servicio de terceros como fuente de datos sqldatasource
Caso de uso: se genera un formulario adaptable sin ningún enlace de datos utilizando el servicio de conversión automatizada de formularios (AFCS) y se configura la base de datos MySQL como fuente de datos. Los campos de formulario adaptables se enlazan manualmente a las entidades del modelo de datos de formulario y se usa la opción Form Data Model Prefill Service para rellenar automáticamente los valores de campo. Utilice la opción Submit using Form Data Model para enviar el formulario adaptable.
Antes de ejecutar el caso de uso:
En función del caso de uso, cree el modelo de datos de formulario aplicación de préstamo y enlace el argumento de servicio de lectura al valor Literal. El valor literal del número de teléfono debe ser de uno de los registros configurados en el esquema solicitante de la base de datos MySQL. Los servicios utilizan el valor como argumento para recuperar detalles de la fuente de datos. También puede seleccionar el Atributo de perfil de usuario o atributo de solicitud de la lista desplegable Binding To.
Siga estos pasos:
-
Seleccione el formulario de solicitud de préstamo de ejemplo convertido disponible en la carpeta output y toque Properties.
-
Desde la pestaña Form Model, seleccione Form Data Model desde la lista desplegable Select From y pulse Select Form Data Model para seleccionar el modelo de datos del formulario aplicación de préstamo. Toque Save & Close para guardar el formulario.
-
Seleccione el formulario de solicitud de préstamo de ejemplo y toque Edit.
-
En la pestaña Content, pulse el icono configurar:
-
En la sección Basic, elija Form Data Model Prefill service desde la lista desplegable Prefill Service.
-
En la sección Submission, seleccione Submit using Form Data Model desde la Submit Action lista desplegable.
-
Seleccione el modelo de datos con el campo Data Model to submit.
-
Pulse para guardar las propiedades.
-
-
Pulse el cuadro de texto Nombre del solicitante y seleccione (Configurar).
- En el campo Referencia de enlace, seleccione Solicitante > Nombre y presione para guardar las propiedades. Del mismo modo, cree un enlace de datos para los campos Dirección, Número de teléfono, Correo electrónico, Ocupación, Salario anual (en dólares) y cantidad de familiares dependientes con las entidades del modelo de datos de formulario.
-
Toque Preview para ver los valores de campo de formulario adaptable rellenados previamente de forma automática.
-
Modifique los valores de los campos si es necesario y envíe el formulario adaptable. Los valores de campo se envían a la base de datos MySQL. Puede actualizar la tabla solicitante para ver los valores actualizados de la tabla.
Caso de uso: se genera un formulario adaptable sin ningún enlace de datos utilizando el servicio de conversión automatizada de formularios (AFCS) y se configura la base de datos MySQL como la fuente de datos. Los campos de formulario adaptables se enlazan con el editor de reglas para rellenar automáticamente los valores de campo. Modifique los valores de los campos, si es necesario, y envíe datos al repositorio de crx.
Siga estos pasos para utilizar el editor de reglas para invocar el servicio del modelo de datos de formulario para enlazar campos y rellenar automáticamente los valores en un formulario adaptable.
-
Seleccione el formulario de solicitud de préstamo de ejemplo en la carpeta output y toque Edit.
-
En la pestaña Content, pulse el icono configurar:
En la sección Basic, elija Form Data Model Prefill service desde la lista desplegable Prefill Service.
-
Toque el cuadro de texto Applicant Name y elija Edit Rules.
-
Seleccione Create en la página Editor de reglas.
-
En la página Rule Editor:
-
Seleccione un estado para el cuadro de texto Nombre del solicitante. Por ejemplo, is initialized, lo que resulta en la ejecución de la condición Then cuando se procesa el formulario en el modo Preview.
-
En la sección Then, elija Invoke Service de la lista desplegable Select Action. Todos los servicios de la instancia de formularios se muestran en la lista desplegable.
-
Seleccione un servicio Get desde la sección que enumera los modelos de datos de formulario. Se muestra el campo Entrada númerodeteléfono, que es la clave principal definida para el modelo de datos solicitante. El sistema recupera y rellena automáticamente los valores del formulario adaptable de los campos de la sección Salida basándose en este campo.
-
Cree un enlace para los campos de formulario adaptables con las entidades del modelo de datos de formulario utilizando la sección Salida. Por ejemplo, enlace el campo del formulario adaptable Applicant Name con la entidad nombre.
-
Toque Done. Toque Done de nuevo en la página Editor de reglas.
-
-
Toque Preview para ver los valores de campo de formulario adaptable rellenados de forma automática previamente.
note note NOTE Asegúrese de que la propiedad Return Array se desactive para la propiedad del servicio GET en el modelo de datos de formulario asociado al formulario adaptable. -
Modifique los valores de los campos si es necesario y envíe el formulario adaptable. Los datos enviados están disponibles en la siguiente ubicación del repositorio crx:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Usar el esquema JSON como fuente de datos jsondatasource
Caso de uso: se genera un formulario adaptable sin ningún enlace de datos mediante el servicio de conversión automatizada de formularios (AFCS) y se configura el esquema JSON como fuente de datos. Los campos del formulario adaptable se enlazan manualmente al esquema JSON y se utiliza la opción Vista previa con los datos para rellenar automáticamente los valores del campo. Modifique los valores de los campos, si es necesario, y envíe datos al repositorio de crx.
Antes de ejecutar el caso de uso, asegúrese de lo siguiente:
Siga estos pasos:
-
Seleccione el formulario de solicitud de préstamo de ejemplo convertido disponible en la carpeta de Salida y toque Properties.
-
Toque la pestaña Form Model, seleccione Schema de la lista desplegable Select From y pulse Select Schema para cargar el esquema JSON de demo.schema guardado en el sistema de archivos local. Toque Save & Close para guardar el formulario.
-
Seleccione el formulario de solicitud de préstamo de ejemplo y toque Edit.
-
Pulse el cuadro de texto Nombre del solicitante y seleccione (Configurar).
En el campo Referencia de enlace, seleccione Solicitante > Nombre y presione para guardar las propiedades. Del mismo modo, cree un enlace de datos para los campos Dirección, Número de teléfono, Correo electrónico, Ocupación, Salario anual (en dólares) y cantidad de familiares dependientes con las entidades del esquema JSON.
-
Seleccione nuevamente el formulario de solicitud de préstamo de ejemplo convertido disponible en la carpeta output y presione Preview > Preview with Data.
Descargar archivo de datos de ejemplo
-
Modifique los valores de los campos si es necesario y envíe el formulario adaptable. Los datos enviados están disponibles en la siguiente ubicación del repositorio crx:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Utilizar el esquema XSD como fuente de datos xsddatasource
Caso de uso: se genera un formulario adaptable sin enlace de datos utilizando el servicio de conversión automatizada de formularios (AFCS) y se configura el esquema XSD como fuente de datos. Los campos de formulario adaptables se enlazan manualmente al esquema XSD y se utiliza la variable Vista previa con datos para rellenar automáticamente los valores de campo. Modifique los valores de los campos, si es necesario, y envíe datos al repositorio de crx.
Antes de ejecutar el caso de uso, asegúrese de lo siguiente:
Siga estos pasos:
-
Seleccione el formulario de solicitud de préstamo de ejemplo convertido disponible en la carpeta output y toque Properties.
-
Toque la pestaña Form Model, seleccione Schema de la lista desplegable Select From y pulse Select Schema para cargar el esquema XSD aplicación de préstamo guardado en el sistema de archivos local. Seleccione el elemento raíz para el esquema XSD y pulse Save & Close para guardar el formulario.
-
Seleccione el formulario de solicitud de préstamo de ejemplo y toque Edit.
-
Pulse el cuadro de texto Nombre del solicitante y seleccione (Configurar).
En el campo Referencia de enlace, seleccione Solicitante > Nombre y presione para guardar las propiedades. Del mismo modo, cree un enlace de datos para los campos Dirección, Número de teléfono, Correo electrónico, Ocupación, Salario anual (en dólares) y cantidad de familiares dependientes con las entidades de esquema XSD. -
Seleccione nuevamente el formulario de solicitud de préstamo de ejemplo convertido disponible en la carpeta salida y presione Preview > Preview with Data.
Descargar archivo de datos de ejemplo
-
Modifique los valores de los campos si es necesario y envíe el formulario adaptable. Los datos enviados están disponibles en la siguiente ubicación del repositorio crx:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Generación de formularios adaptables con enlace JSON generate-adaptive-forms-with-json-binding
Utilice el servicio de conversión automatizada de formularios (AFCS) para convertir el formulario de solicitud de préstamo de ejemplo a un formulario adaptable con enlace de datos. Asegúrese de no seleccionar la casilla Generate adaptive form(s) without data bindings para generar el formulario adaptable.
Usar el esquema JSON como fuente de datos jsonwithdatabinding
Caso de uso: se genera un formulario adaptable con enlace de datos JSON mediante el servicio de conversión automatizada de formularios (AFCS). El servicio de relleno automático y el envío de formularios funcionan sin problemas. No necesita ningún paso de configuración.
Antes de ejecutar el caso de uso, asegúrese de que tiene un formulario adaptable con enlace de datos.
Siga estos pasos:
-
Seleccione el formulario de solicitud de préstamo de ejemplo convertido disponible en la carpeta output de nuevo y presione Preview > Preview with Data.
Descargar archivo de datos de ejemplo
-
Modifique los valores de los campos si es necesario y envíe el formulario adaptable. Los datos enviados están disponibles en la siguiente ubicación del repositorio crx:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Conversión de datos JSON del formulario adaptable enviado al formato XML convert-submitted-adaptive-form-data-to-xml
Cuando se introducen valores en campos de formulario adaptables y se envían, los datos están disponibles en formato JSON en el repositorio crx. Puede convertir el formato de los datos JSON a XML con la API org.apache.sling.commons.json.xml o con el siguiente código de ejemplo:
import org.apache.sling.commons.json.JSONException;
import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.commons.json.xml.XML;
public class ConversionUtils {
public static String jsonToXML(String jsonString) throws JSONException {
//https://sling.apache.org/apidocs/sling5/org/apache/sling/commons/json/xml/XML.html#toString(java.lang.Object)
//jar - http://maven.ibiblio.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.18/
//Note: Need to extract boundData part before converting to XML
return XML.toString(new JSONObject(jsonString));
}
}