Formularios en Liferay DXP
Antes de Liferay DXP la única manera que teníamos de crear formularios con las herramientas out-of-the-box de Liferay, era a través del componente Web Form y de listas dinámicas. Estas opciones nos valían para crear formularios poco complejos, pero en el momento en que se quería algo más complicado, la plataforma estaba bastante limitada, por lo que posiblemente se tuviera que optar por la opción de realizar un desarrollo propio.
Liferay se ha dado cuenta de algunas de estas limitaciones, y en su nueva versión Liferay DXP, nos ofrece la opción de crear formularios básicos y avanzados de manera sencilla, intuitiva y mejorada.
Algunas de las opciones que nos permite este componente de formularios son:
- Interfaz de usuario moderna y fácil.
- Configuración de campos: nombre del campo, texto de ayuda, campo obligatorio o no, placeholder, texto predefinido y validación.
- Control de visibilidad de campo.
- Exportación de los registros.
- Uso de proveedores de datos, para mostrar datos en campos de formularios.
- Posibilidad de crear varias páginas y mostrar el formulario como un widget.
- Habilitar Captcha.
- Habilitar el workflow o flujo de trabajo, para poder realizar secuencias de pequeñas acciones, actividades o tareas. Cada tarea pueda ser procesada por diferentes personas y finalmente todo este conjunto de pequeñas tareas, completarán una gran tarea.
- Habilitar el envío de notificaciones, para que cuando se realice un envío de un formulario, se enviará un email a la dirección de correo configurada.
A lo largo de este artículo vamos a ir viendo las opciones más destacadas:
Configuración de campos
A la hora de crear un formulario cada campo tiene su propia configuración de opciones, entre las que destacan:
- Añadir un texto de ayuda, para aclarar al usuario la utilidad del campo.
- Habilitar si el campo es requerido o no, dicho de otra manera, si es obligatorio rellenar el campo en el formulario o no.
- Añadir un valor predefinido, esto significa que si el usuario no modifica un valor al hacer el envío en el formulario, este será almacenado en el registro.
- Añadir placeholder; se trata de un texto que aparecerá dentro del campo correspondiente con un tono gris claro, indicando que no es realmente el texto que se va a enviar, sino una ayuda para informar de lo que debe contener ese campo.
- Mostrar opcionalmente las etiquetas del campo.
- Si el campo es repetible o no, quiere decir, si el campo puede ser añadido varias veces en el formulario.
Además de estas configuraciones, existe la posibilidad de distribuir los elementos del formulario en el layout como se quiera, esto nos permite una gran flexibilidad en la interfaz de usuario.
Validaciones
Una funcionalidad necesaria en cualquier formulario son las validaciones de sus campos. Ofrecer y permitir definir validaciones para cada campo, hace que el formulario sea más robusto y seguro. Esta capacidad ofrece una gran ventaja, dado que estas validaciones las puede definir el usuario gestor de contenidos, que está creando y configurando el formulario, sin tener que esperar que sean los desarrolladores quien las implementen, por lo que se gana una gran autonomía en la operación del portal.
A continuación se muestra como validar el campo email de un formulario:
La siguiente imagen muestra el mensaje de error, cuando un email no es válido:
Control de Visibilidad de Campo
Algunas veces es necesario que un campo se muestre dependiendo del valor de otro campo. Con esta nueva versión de Liferay, se puede hacer sin la necesidad de trabajo de desarrollo. Simplemente a través de algunos clics, el propio usuario gestor de contenidos puede configurar este control de visibilidad.
Existe la posibilidad de añadir un montón de expresiones de visibilidad o no, para mostrar un campo. Algunas de las opciones que se pueden configurar son:
- equals (FieldName, value): mostrar un campo sólo si el valor introducido en el campo especificado, es igual a un valor específico o si es igual al valor de otro campo.
- between (FieldName,lower bound value, upper bound value): compruebe si el valor introducido del campo numérico especificado está entre un límite inferior y superior. Si se encuentra en el rango especificado, el campo aparecerá en el formulario.
- contains (Field Name, value): se utiliza para comprobar si un campo contiene una cadena específica de texto o el texto introducido en otro campo. El valor de texto puede estar al principio, en el medio o al final del campo que se está comprobando.
Utilizar proveedores de datos para mostrar datos en campos
En ocasiones nos encontramos con la necesidad de mostrar valores de un formulario que son dinámicos o están en otros sistemas. Gracias a la integración de los formularios con servicios REST, esto ya es posible.
Con un menú de opciones fácil e intuitivo, un usuario gestor de contenidos puede configurar de manera sencilla un proveedor de datos, con el que poder leer y mostrar los datos que se desean.
Posibilidad de crear varias páginas y mostrar el formulario como un widget.
Con el fin de evitar el uso de formularios tan enormes que parece que nunca se acaban y que además se muestran con una organización poco clara y desordenada, Liferay nos ofrece la posibilidad de crear varias páginas para un formulario, de tal manera que se ofrece una visualización limpia, organizada y fácil de seguir.
La visualización del formulario en forma de widget, ofrece al usuario una visión clara de la ubicación y navegación dentro del formulario.
Habilitar Captcha.
Esta opción nos permite la posibilidad de mostrar un captcha en el formulario o no. El captcha se utiliza para prevenir que los robots (spambots), puedan tener acceso automático a dicho formulario.
Habilitar el workflow
Existe la posibilidad de activar un workflow en la aceptación de un formulario, es decir, cuando un usuario envía el formulario, este registro pasa por una serie de procesos y estados, hasta que finalmente es aprobado o rechazado.
Para habilitar el workflow simplemente se debe ir a la configuración del formulario, activar el workflow y seleccionar el flujo de trabajo que se desea seguir en el formulario. Liferay ofrece out of the box el workflow “Single Approver”.
Habilitar el envío de notificaciones.
El envío de notificaciones puede ser interesante para estar informados cada vez que un usuario hace “submit”. Siguiendo las mismas líneas de las opciones anteriores, simplemente se debe ir a la configuración del formulario, activar las notificaciones y rellenar los datos necesarios para el envío de notificaciones.
Conclusión
Las mejoras introducidas en la nueva versión DXP nos ofrecen una gran cantidad de posibilidades para crear y configurar formularios de diverso tipo, con lo que disponemos de la posibilidad de configurar de forma más robusta, mientras que los usuarios ganan funcionalidad, pudiendo ejecutar directamente desde el backoffice diversas tareas.
Estos cambios son una muestra más del salto cualitativo que Liferay ofrece en su versión DXP, para facilitar su usabilidad al usuario final.