OpenXava es una herramienta para desarrollo rápido de aplicaciones web empresariales. Con OpenXava sólo has de escribir las clases del dominio con Java para obtener una aplicación web lista para producción.
En OpenXava 5.6 la lista recuerda los filtros y ordenaciones hechos por el usuario para poder ser reejecutados escogiendo de un combo, puedes renombrar los filtros/ordenaciones producidos. Con esto ya no necesitas la acción 'Mis informes', por eso la hemos quitado. También esta versión 5.6 incluye los nuevos estereotipos DISCUSION y TEXTO_HTML_SIMPLE, select parcial en baseCondition de @Tab y mucho más.
Te invitamos a que descargues esta nueva versión y actualices tus aplicaciones OpenXava. Mira las instrucciones de migración.
Cuando el usuario hace cualquiel filtro u ordenación una nueva entrada se añade en un combo encima de la lista:
Fíjate en que puedes cambiar el nombre del filtro. Además, la configuración de las columna (esto es si añades, quitas o cambias el orden de las columnas) se recuerda también. Es decir puedes dar un nombre a un filtro, ordenación y configuración de columnas, para restaurarlos después con un par de clics. Estas configuraciones de lista se almacenan por usuario.
No te conformes con el pantallazo de arriba, pruébalo tu mismo con la demo en vivo .
La acción Mis informes ya no está disponible por defecto:
La hemos quitado porque ahora prácticamente toda la funcionalidad de Mis informes está disponible directamente en la lista, por eso la quitamos por duplicada. De todas formas, si a tus usuarios no les gusta el paradigma de la manipulación directa y siguen prefiriendo utilizar engorrosos diálogos y asistentes puedes traer de nuevo a la vida Mis informes usando el controlador TypicalExtendedPrint en vez de Typical, por ejemplo:
<controlador nombre="Cliente"> <!-- <hereda-de controlador="Typical"/> --> <!-- Quita esto... --> <hereda-de controlador="TypicalExtendedPrint"/> <!-- ...y añade esto --> ... </controlador>
Recientemente hemos cambiado el color por el monocromo. Hicimos esto para la mayoría de la interfaz de usuario, pero TEXTO_HTML todavía estaba usando iconos de colorines. Para resolver esto hemos actualizado a la última versión de CKEditor y lo hemos adaptado para que sea consistente con el resto de la interfaz de usuario. Y de paso, hemos creado dos nuevos estereotipos basados en CKEditor. El primero es TEXTO_HTML_SIMPLE:
Es decir, lo mismo que el TEXTO_HTML de siempre pero con menos botones. También tenemos un estereotipo completamente nuevo, DISCUSION. Para usarlo anota una propiedad String con el estereotipo, así:
@Stereotype("DISCUSION") @Column(length=32) private String discusion;
Y obtendrás un hilo de discusión completo asociado a tu entidad:
Esto no sólo te permite crear aplicaciones como foros, blogs o gestores de incidencias, sino también dar un toque de sabor social a tus aplicaciones de gestión de toda la vida.
Hasta ahora tenías dos opciones para baseCondition: poner la condición que va después del WHERE o escribir el SELECT completo. El SELECT completo no funciona bien si el usuario personaliza la lista y usar solo la parte del WHERE en la condición es muy limitado. A partir de v5.6 tenemos una tercera opción que es escribir la sentencia JPQL a partir de la cláusula FROM. Para hacer esto simplemente comienza la baseCondition por FROM, de esta manera:
@Tab(name="DeValencia", baseCondition="from Cliente e, in (e.provincias) p where p.id = 'V'")
En este caso provincias es una colección @ManyToMany en un Cliente, y seleccionamos los clientes con Valencia entre sus provincias.
También disponible para condicion-base de los componentes XML.
Hemos hecho muchas mejoras en otras áreas:
Aunque esta no es una versión de mantenimiento hemos arreglado algunas cosas: