AEM 6.4 ha llegado al final de la compatibilidad ampliada y esta documentación ya no se actualiza. Para obtener más información, consulte nuestra períodos de asistencia técnica. Buscar las versiones compatibles here.
Los formularios de Adobe Experience Manager (AEM) pueden ayudarle a transformar transacciones complejas en experiencias digitales simples y atractivas. Pero implementar, construir, ejecutar y mantener un ecosistema de AEM Forms eficiente y productivo requiere un esfuerzo concertado.
Este documento proporciona directrices y recomendaciones de las que pueden beneficiarse el administrador de formularios, los autores y los desarrolladores al trabajar con AEM Forms, especialmente con el componente de formularios adaptables. Se tratan las prácticas recomendadas, desde la configuración de un proyecto de desarrollo de formularios hasta la configuración, personalización, creación y optimización de AEM Forms. Estas prácticas recomendadas contribuyen colectivamente al rendimiento general del ecosistema de AEM Forms.
Además, estas son algunas lecturas recomendadas para prácticas recomendadas generales de AEM:
Una estructura de proyecto simplificada y estandarizada puede reducir considerablemente los esfuerzos de desarrollo y mantenimiento. Apache Maven es una herramienta de código abierto recomendada para la creación de proyectos de AEM.
Usar Apache Maven aem-project-archetype
para crear y administrar la estructura de proyectos de AEM. Crea plantillas y estructura recomendadas para el proyecto de AEM. Además, automatiza el procesamiento y cambia los sistemas de control para ayudar a administrar el proyecto.
archetype:generate
para generar la estructura inicial.eclipse:eclipse
para generar los archivos del proyecto de Eclipse e importar el proyecto en Eclipse.Para obtener más información, consulte Cómo crear proyectos de AEM con Apache Maven.
La herramienta FileVault o VLT le ayuda a asignar el contenido de una instancia CRX o AEM a su sistema de archivos. Proporciona operaciones de administración del control de cambios, como el registro y la salida del contenido del proyecto de AEM. Consulte Cómo utilizar la herramienta VLT.
Si utiliza el entorno de desarrollo integrado en Eclipse, puede utilizar herramientas de desarrollo de AEM para la integración perfecta de Eclipse IDE con instancias de AEM para crear aplicaciones de AEM. Para obtener más información, consulte Herramientas para desarrolladores de AEM para Eclipse.
Una vez configurado el proyecto de AEM, defina una estrategia para crear y personalizar plantillas y componentes de formularios adaptables.
Una plantilla de formulario adaptable es una página de AEM especializada que define la estructura y la información del encabezado y pie de página de un formulario adaptable. Una plantilla tiene diseños, estilos y estructuras básicos preconfigurados para un formulario adaptable. AEM Forms proporciona plantillas y componentes integrados que puede utilizar para crear formularios adaptables. Sin embargo, puede crear plantillas y componentes personalizados según sus necesidades. Se recomienda recopilar los requisitos para plantillas y componentes adicionales que necesite en los formularios adaptables. Para obtener más información, consulte Personalizar formularios y componentes adaptables.
AEM Forms permite crear formularios adaptables basados en los siguientes modelos de formulario. Los modelos de formulario actúan como interfaz para el intercambio de datos entre un formulario y el sistema de AEM y proporcionan una estructura basada en XML para el flujo de datos dentro y fuera de un formulario adaptable. Además, los modelos de formulario imponen reglas y restricciones en los formularios adaptables en forma de restricciones de esquema y XFA.
Es importante elegir cuidadosamente el modelo de datos que no solo se adapte a sus necesidades, sino que amplíe sus inversiones existentes en recursos XFA y XSD, si las hay. Se recomienda utilizar el modelo XSD para crear plantillas de formulario porque el XML generado contiene datos según el XPATH definido por el esquema. El uso del modelo XSD como opción predeterminada para el modelo de datos de formulario también es útil porque desvincula el diseño de formulario del sistema backend que procesa y consume datos y mejora el rendimiento del formulario debido a que se asigna de uno a uno el campo de formulario. Además, el BindRef del campo puede convertirse en el XPATH de su valor de datos en XML.
Para obtener más información, consulte Crear un formulario adaptable.
AEM Forms proporciona plantillas de formulario adaptables integradas que puede utilizar para crear formularios adaptables. También puede crear sus propias plantillas. AEM proporciona plantillas estáticas y editables.
Para diseñar un campo o una instancia de panel específicos, utilice estilo dentro de la línea. Como alternativa, puede definir una clase en un archivo CSS y especificar su nombre en la propiedad Clase CSS del componente.
Incluya una biblioteca de cliente en un componente para aplicar estilos de forma coherente en todos los formularios adaptables o fragmentos que utilicen ese componente. Para obtener más información, consulte Crear un componente de página de formulario adaptable.
Aplique estilos definidos en una biblioteca de cliente para seleccionar formularios adaptables, para hacerlo, especifique la ruta a la biblioteca de cliente en el campo de ruta del archivo CSS en las propiedades del contenedor de formularios adaptables.
Para crear una biblioteca de cliente con sus estilos, puede configurar el archivo CSS personalizado en la base del Editor de temáticas clientlib o en las propiedades del contenedor de formularios.
Los formularios adaptables proporcionan diseños de panel, como capacidad de respuesta, pestañas, acordeones y asistente, para controlar cómo se distribuyen los componentes de formulario en un panel. Puede crear diseños de panel personalizados y ponerlos a disposición de los autores de formularios para utilizarlos. Para obtener más información, consulte Crear componentes de diseño personalizados para formularios adaptables.
También puede personalizar componentes de formulario adaptables específicos, como campos y diseño de panel.
Consulte Administrar información personal para recomendaciones sobre la administración de datos PII.
Utilice el explorador de objetos de la barra lateral para acceder rápidamente a los campos situados en la parte inferior de la jerarquía del formulario. Puede utilizar el cuadro de búsqueda para buscar objetos en el árbol de objetos o formularios y navegar de un objeto a otro.
Para ver y editar las propiedades de un componente en el explorador de componentes de la barra lateral, seleccione el componente y haga clic en . También puede hacer doble clic en un componente para ver sus propiedades en el explorador de propiedades.
Utilice los métodos abreviados del teclado para realizar acciones rápidas en los formularios. Consulte Atajos de teclado de AEM Forms.
Se recomiendan los componentes de formulario adaptables para utilizarlos únicamente en páginas de formulario adaptables. Los componentes dependen de su jerarquía principal. Por lo tanto, no los utilice en una página de AEM.
Consulte también las descripciones de los componentes y las prácticas recomendadas en Introducción a la creación de formularios adaptables.
AEM Forms proporciona un editor de reglas que le permite crear reglas para agregar un comportamiento dinámico a los componentes del formulario adaptable. Con estas reglas, se pueden evaluar condiciones y acciones del activador en componentes como mostrar u ocultar campos, calcular valores, cambiar listas desplegables de forma dinámica, etc.
El editor de reglas proporciona un editor visual y un editor de código para escribir reglas. Tenga en cuenta lo siguiente al escribir reglas mediante el modo de editor de código:
Utilice nombres significativos y únicos para los campos y componentes de formulario para evitar posibles conflictos al escribir reglas.
Use el operador this
para que un componente se haga referencia a sí mismo en una expresión de regla. Garantiza que la regla será válida incluso si cambia el nombre del componente. Por ejemplo, field1.valueCommit script: this.value > 10
.
Utilice nombres de componentes cuando haga referencia a otros componentes del formulario. Utilice la propiedad value
para recuperar el valor de un campo o componente. Por ejemplo, field1.value
.
Consulte los componentes por jerarquía única relativa para evitar conflictos. Por ejemplo, parentName.fieldName
.
Cuando administre reglas complejas o comúnmente utilizadas, considere la posibilidad de escribir lógica empresarial como funciones en una biblioteca de cliente independiente que puede especificar y reutilizar en formularios adaptables. La biblioteca de cliente debe ser una biblioteca independiente y no debe tener dependencias externas, excepto jQuery y Underscore.js. También puede utilizar la biblioteca de cliente para aplicar revalidación del lado del servidor de los datos de formulario enviados.
Los formularios adaptables proporcionan un conjunto de API que puede utilizar para comunicarse con los formularios adaptables y realizar acciones en ellos. Algunas de las API clave son las siguientes: Para obtener más información, consulte Referencia de la API de la biblioteca JavaScript para formularios adaptables.
guideBridge.reset()
: restablece un formulario.
guideBridge.submit()
: envía un formulario.
guideBridge.setFocus(somExp, focusOption, runCompletionExp)
: define el enfoque en un campo.
guideBridge.validate(errorList, somExpression, focus)
: valida un formulario.
guideBridge.getDataXML(options)
: obtiene los datos del formulario como XML.
guideBridge.resolveNode(somExpression)
: obtiene un objeto de formulario.
guideBridge.setProperty(somList, propertyName, valueList)
: define la propiedad de un objeto de formulario.
Además, puede utilizar las siguientes propiedades de campo:
field.value
para cambiar el valor de un campo.ield.enabled
para activar o desactivar un campo.field.visible
para cambiar la visibilidad de un campo.Es posible que los autores de formularios adaptables tengan que escribir código JavaScript para crear lógica empresarial en un formulario. Aunque JavaScript es potente y eficaz, es probable que pueda comprometer las expectativas de seguridad. Por lo tanto, debe asegurarse de que el autor del formulario sea una persona de confianza y de que haya procesos para revisar y aprobar el código JavaScript antes de que se ponga en producción un formulario. El administrador puede restringir el acceso al editor de reglas a los grupos de usuarios en base a su rol o función. Consulte Conceder acceso al Editor de reglas a determinados grupos de usuarios..
Puede utilizar expresiones en reglas para hacer dinámicos los formularios adaptables. Todas las expresiones son expresiones JavaScript válidas y utilizan API de modelos de scripts de formularios adaptables. Estas expresiones devuelven valores de ciertos tipos. Para obtener más información sobre las expresiones y las prácticas recomendadas que las rodean, consulte Expresiones de formulario adaptables.
La adaptación para las temáticas le permite crear estilos reutilizables que se pueden aplicar en todos los formularios para conseguir un aspecto y un estilo coherentes. Se recomienda utilizar Temáticas para definir el estilo de los componentes y paneles del formulario. Algunas prácticas recomendadas relacionadas con los temáticas son las siguientes:
Para obtener más información, consulte Temáticas.
Los autores de formularios y los usuarios finales suelen tener problemas de rendimiento al cargar formularios grandes en el modo de creación o durante la ejecución. A medida que aumenta el número de objetos (campos y paneles) en el formulario, la experiencia de creación y de ejecución comienza a degradarse. También evita que varios autores colaboren y creen un formulario simultáneamente.
Tenga en cuenta las siguientes prácticas recomendadas para superar los problemas de rendimiento con formularios grandes:
Se recomienda crear formularios adaptables mediante el modelo de datos de formulario XSD incluso cuando sea posible convertir un XFA a un formulario adaptable.
Incluir solo los campos y paneles en formularios adaptables que capturan información del usuario. Considere la posibilidad de mantener el contenido estático como mínimo o utilice direcciones URL para abrirlo en una ventana independiente.
Aunque cada formulario está diseñado para un propósito específico, hay algunos segmentos comunes en la mayoría de los formularios. Por ejemplo: detalles personales, dirección, detalles de empleo, etc. Cree fragmentos de formulario adaptables para elementos y secciones de formulario comunes y utilícelos en todos los formularios. También puede guardar un panel en un formulario existente como un fragmento. Cualquier cambio en un fragmento se reflejará en todos los formularios adaptables asociados. Promueve la creación colaborativa, ya que varios autores pueden trabajar simultáneamente en diferentes fragmentos que conforman un formulario.
Utilice Guardar y reanudar con el guardado automático para guardar el formulario adaptable periódicamente y permitir que los usuarios vuelvan más tarde para completarlo.
Configure los fragmentos para que se carguen de forma diferida. Durante el tiempo de ejecución, los fragmentos marcados para cargarse de forma diferida solo se representarán cuando sean necesarios. Reduce significativamente el tiempo de carga de los formularios grandes. También se admite en fragmentos con paneles repetibles. Para obtener más información, consulte Configurar la carga diferida.
Puede rellenar previamente los campos de formulario adaptables con datos recuperados del servidor para ayudar a los usuarios a rellenar rápidamente el formulario y evitar errores de escritura.
AEM Forms proporciona un servicio de rellenado previo para leer datos de un archivo XML de datos predefinido y rellenar previamente los campos de un formulario adaptable con el contenido del archivo XML.
El XML con datos de rellenado previo debe ser compatible con el esquema del modelo de formulario asociado al formulario adaptable.
IncluyaafBoundedData
y secciones afUnBoundedData
en el XML de rellenado previo para rellenar previamente los campos enlazados y no enlazados en un formulario adaptable.
Para los formularios adaptables basados en el modelo de datos de formulario, AEM Forms proporciona el servicio de rellenado previo del modelo de datos de formulario integrado. El servicio de relleno previo consulta las fuentes de datos de los objetos del modelo de datos en el formulario adaptable y rellena los valores de campo al procesar el formulario.
También puede utilizar los protocolos de archivo, crx, servicio o http para rellenar previamente los formularios adaptables.
AEM Forms admite servicios de relleno previo personalizados que se pueden insertar como servicio OSGi para rellenar previamente formularios adaptables.
Para obtener más información, consulte Rellenar previamente campos de formulario adaptables.
Los formularios adaptables requieren enviar acciones para procesar los datos especificados por el usuario. Una acción de envío determina la tarea realizada en los datos enviados mediante un formulario adaptable.
Puede aprovechar la experiencia de varios signos de Acrobat Sign en los formularios adaptables. Tenga en cuenta lo siguiente al configurar Acrobat Sign en formularios adaptables. Para obtener más información, consulte Uso de Acrobat Sign en un formulario adaptable.
Un documento de registro (DoR) es una versión PDF aplanada de un formulario adaptable que se puede imprimir, firmar o archivar.
Según el modelo de datos de formulario en el que se base un formulario adaptable, puede configurar una plantilla para el DoR de la siguiente manera:
Configure el encabezado, pie de página, imágenes, color, fuente, etc. a la derecha de la pestaña Documento de registro del editor de formularios adaptables.
Use DoRService
para generar el DoR mediante programación.
Excluir los campos ocultos del documento de registro.
Use el parámetro de solicitud afAcceptLang
para ver el DoR en otra configuración regional.
El complemento AEM Chrome es una extensión del explorador para Google Chrome que proporciona herramientas para depurar formularios adaptables. Los creadores y desarrolladores de formularios pueden utilizar estas herramientas para lo siguiente:
Para obtener más información, consulte Complemento AEM Chrome: formulario adaptable.
El SDK de Calvin es una API de utilidad para que los desarrolladores de Forms adaptables prueben el Forms adaptable. El SDK de Calvin se basa en Marco de pruebas de Hobbes.js. Puede utilizar el marco para probar lo siguiente:
Para obtener más información, consulte Automatizar las pruebas de formularios adaptables.
Las validaciones del lado del servidor son necesarias para evitar cualquier intento de omitir las validaciones en el cliente y cualquier posible compromiso de los envíos de datos y las violaciones de reglas comerciales. Las validaciones del lado del servidor se ejecutan en el servidor al cargar la biblioteca de cliente necesaria.
AEM proporciona flujos de trabajo de traducción que puede utilizar para localizar formularios adaptables. Para obtener más información, consulte Usar flujo de trabajo de traducción de AEM para localizar formularios adaptables.
Algunas prácticas recomendadas al localizar formularios adaptables son las siguientes:
Utilice fragmentos de formulario adaptables para elementos comunes en todos los formularios y localice fragmentos. Garantiza que localice un fragmento una vez y se refleje en todos los formularios en los que se utilice el fragmento localizado.
Las modificaciones como agregar un componente nuevo o aplicar un script en un formulario localizado no se localizan automáticamente. Por lo tanto, debe finalizar un formulario antes de localizarlo para evitar varios ciclos de localización.
Use el parámetro de solicitudafAcceptLang
para anular la configuración regional del explorador y procesar el formulario en la configuración regional especificada. Por ejemplo, la siguiente URL obligará a procesar el formulario en la configuración regional japonesa, independientemente de la configuración regional especificada en la configuración del explorador:
https://[*server*]:[*port*]/<*contextPath*>/<*formFolder*>/<*formName*>.html?wcmmode=disabled&afAcceptLang=ja
Actualmente, AEM Forms admite la localización de contenido de formularios adaptables en las configuraciones regionales de inglés (en), español (es), francés (fr), italiano (it), alemán (de), japonés (ja), portugués-brasileño (pt-BR), chino (zh-CN), chino-taiwanés (zh-TW) y coreano (ko-KR). Sin embargo, se puede agregar compatibilidad con nuevas configuraciones regionales para formularios adaptables en el tiempo de ejecución. Para obtener más información, consulte Compatibilidad con nuevas configuraciones regionales para la localización de formularios adaptables.
Puede configurar una instancia adicional del servidor de AEM Forms que reside detrás del firewall en una zona segura. Puede utilizar esta instancia para lo siguiente:
A menudo, debe mover los proyectos de AEM de un entorno a otro. Algunas de las cosas clave que hay que recordar al moverlos son las siguientes:
Algunas prácticas recomendadas para configurar AEM para mejorar el rendimiento general son las siguientes:
Habilitar la compresión de la biblioteca de cliente HTML para JavaScript y CSS desde la consola Felix.
Almacenar en la memoria caché todas las bibliotecas de cliente en /etc.clientlibs/fd
y cualquier biblioteca de cliente personalizada adicional en AEM Dispatcher para aumentar la capacidad de respuesta y seguridad de los formularios publicados. Para obtener más información, consulte Dispatcher.
No almacenar en la memoria caché /content/forms/af/
y rutas/content/dam/formsanddocuments/*
. para obtener información detallada sobre la configuración del almacenamiento en la memoria caché de formularios adaptables, consulte Almacenamiento en la memoria caché de formularios adaptables.
Habilitar el HTML mediante el módulo de compresión del servidor web. Para obtener más información, consulte Ajustar el rendimiento del servidor de AEM Forms.
Aumentar las llamadas por configuración de solicitud para formularios grandes. Consulte Optimizar el rendimiento de formularios grandes y complejos.
Crear páginas de error personalizadas mostradas por el administrador de errores.
Asegurar el servidor de AEM Forms.
nosamplecontent
para asegurarse de que no haya contenido ni usuarios de muestra implementados en el servidor de producción. Consultar Ejecutar AEM en el modo Producción lista.Mantener el tamaño de la pila a un mínimo de 8 GB. Para otras configuraciones, consulte Ajustar el rendimiento del servidor de AEM Forms.
Utilice sesiones de usuario de servicio en lugar de sesiones de administración para ejecutar tareas de nivel de servicio. Para obtener más información, consulte Autenticar el servicio.
En un entorno de producción, se recomienda no almacenar datos de formularios enviados en el repositorio de AEM. La implementación predeterminada de Forms Portal Store, Store Content y Store PDF envía acciones y almacena datos de formulario en el repositorio de AEM. Estas acciones de envío solo están pensadas para fines de demostración. Además, las funciones Guardar y reanudar y Guardar automáticamente utilizan el almacenamiento del portal de forma predeterminada. Por lo tanto, considere las siguientes recomendaciones:
Almacenar datos de borrador: si utiliza la función Borrador de los formularios adaptables, debe implementar una interfaz de proveedor de servicios (SPI) personalizada para almacenar los datos en modo de borrador en un almacenamiento más seguro, como la base de datos. Para obtener más información, consulte Ejemplo para integrar el componente Borradores y envíos con la base de datos.
Almacenar datos de envío: si utiliza el repositorio de envío del portal de formularios, debe implementar un SPI personalizado para almacenar los datos de envío en una base de datos. Consulte Ejemplo para integrar el componente Borradores y envíos con la base de datos para una integración de ejemplo.
También puede escribir una acción de envío personalizada que almacene datos de formulario y los datos adjuntos en un almacenamiento seguro. Consulte Escribir una acción de envío personalizada para formularios adaptables para obtener más información.
Uno de los desafíos clave para las organizaciones es cómo manejar los datos de identificación personal (PII). A continuación se indican algunas prácticas recomendadas que le ayudarán a administrar estos datos: