openxava
Blog

16 de septiembre del 2024

OpenXava 7.4 liberado

Hemos trabajado para que en esta versión por fin sea posible añadir un cuadro de mando a vuestra aplicación OpenXava, de forma fácil y natural. También hemos mejorado las listas y colecciones, añadiendo un menú emergente para las acciones de fila y nuevas acciones, entre otras cosas. En total más de 30 cosas nuevas que os encantarán.

OpenXava 7.4 liberado

Para actualizar edita el archivo pom.xml en tu proyecto y cambia el valor de la propiedad openxava.version, de esta manera:

<properties>
    <openxava.version>7.4</openxava.version>
    ...
</properties>

Después compila tu proyecto:

  • Con OpenXava Studio:
    • Botón derecho del ratón en tu proyecto > Run As > Maven clean
    • Botón derecho del ratón en tu proyecto > Run As > Maven install
  • O con línea de órdenes: mvn clean package

Mira las instrucciones de migración.

Cuadro de mando (dashboard)

Hemos añadido algunas nuevas anotaciones a OpenXava como @Chart, @LargeDisplay y @SimpleList. Esto unido a cosas que ya teníamos como las clases transitorias y la anotación @View, nos permite crear un cuadro de mando para nuestra aplicación, sin usar ningún producto de terceros y al más puro estilo OpenXava.

Estas son las mejoras relacionadas con el cuadro de mando:

  • Anotación @Chart para colecciones para mostrar la colección como un gráfico a partir de sus datos.
  • Anotación @LargeDisplay para mostrar el valor de una propiedad en formato grande, con fuentes grandes, espaciado, etc.
  • Anotación @SimpleList para colecciones para mostrarla sin acciones, filtros, paginación, ordenación, etc.
  • Los arquetipos Maestro-Detalle incluyen un cuadro de mando y usan @Calculation en lugar de propiedades calculadas.
  • El proyecto invoicedemo incluye un cuadro de mando y usa @Calculation en lugar de propiedades calculadas.
  • Ejemplo de creación de un cuadro de mando en openxavatest con el módulo StaffDashboard.

Mejoras en listas, colecciones y referencias

Estas son:

  • Menú emergente para acciones de fila en listas y colecciones cuando hay más de dos acciones.
  • Nueva acción de fila ‘Abrir en una nueva pestaña’ por defecto en colecciones.
  • Nueva acción de eliminación para colecciones que siempre elimina el elemento completamente de la base de datos.
  • Anotación @DeleteSelectedAction para colecciones para definir una acción personalizada para eliminar un elemento.
  • El icono y la etiqueta de la acción de quitar en las colecciones se han cambiado para indicar que solo quita de la colección.
  • Nueva anotación @NoDefaultActions para no mostrar acciones predeterminadas para una colección específica.
  • @RowStyle en @Tab(rowStyles=) para el modo de lista funciona para el formato de lista de tarjetas.
  • Como valores predeterminados de @DescriptionsList, ‘nombre’ tiene preferencia sobre ‘descripcion’, y se reconoce ‘titulo’.
  • @SearchListCondition permite el uso de ${this.unaPropiedadVisualizadaEnLaVista} en la condición.
  • Nueva anotación @SearchListTab para referencias y colecciones para elegir el tab para la lista de búsqueda en el diálogo.

Otras mejoras

Hemos hecho algunas mejoras en otras áreas:

  • Soporte para java.time.LocalDateTime como tipo para propiedades en entidades.
  • Escribir el día y el mes en un campo de fecha o fecha/hora autocompleta la fecha con el año actual.
  • Recuento de registros incluido en los informes automáticos en PDF del modo lista y colecciones.
  • Es posible cerrar varios diálogos a la vez desde una acción, llamando varias veces a closeDialog().
  • Nueva propiedad currencySymbol en xava.properties para especificar el símbolo predeterminado a usar para dinero.
  • Convertidor de tipo Hibernate LocalDateNumericType para almacenar valores de LocalDate como números con formato yyyymmdd.
  • Nuevo controlador incorporado InitModelWithNewInstance para iniciar el modelo de la vista con una nueva instancia de modelo.
  • LocalTime usa un formato consistente en Java 8, 11, 17 y 21.
  • Clase de utilidad Moneys para trabajar con valores y propiedades de dinero.
  • Si hay conflicto para elegir un editor entre un estereotipo o una anotación, la anotación tiene preferencia.
  • Cuando hay varias anotaciones con editor sobre un miembro, se elige la última declarada en editors.xml.
  • Caracteres especiales (%, euro, etc.) soportados como valor en atributos de anotación y propiedades de editor.
  • Nuevo atributo default-label-format para editor en editors.xml.
  • Las clases transitorias pueden colocarse en paquetes hermanos del paquete del modelo, sin entidades en el paquete.
  • Atributos forViews y notForViews reconocidos para anotaciones personalizadas.
  • Nuevos métodos getAnnotationAttributeValue() y getAnnotationsWithRepeatables() en la clase de utilidad Classes.
  • Algunas nuevas etiquetas de uso común para ser utilizadas en las aplicaciones.

Librerías actualizadas

Hemos actualizado la siguientes librerías de terceros:

  • Commons Logging actualizado a 1.3.4.
  • POI y POI OOXML actualizados a 5.3.0.
  • Groovy actualizado a 4.0.22.
  • JSoup actualizado a 1.18.1.
  • HtmlUnit actualizado a 4.4.0.
  • Lombok actualizado a 1.18.34.
  • Tomcat embebido usado en desarrollo actualizado a 9.0.93.
  • API y núcleo de Log4j actualizados a 2.24.0.
  • PdfBox actualizado a 3.0.3.
  • Cliente Jersey, hk2, media-json-binding actualizados a 2.45.
  • Versión del controlador en doc/nuevos proyectos actualizada para MySQL, PostgreSQL, Oracle, SQL Server, Informix, Firebird.

Documentación

Hemos estado trabajando para mejorar la documentación:

  • Lecciones 2, 3, 4 y 5 del curso de informes con JasperReports disponibles en la documentación con video.
  • Las instrucciones del README incluyen el uso de arquetipos.
  • Guía de inicio adaptada a OpenXava Studio 7 R3.
  • Traducciones al chino eliminadas de toda la documentación oficial de OpenXava.
  • Nuevo artículo y video con una lista de aplicaciones de muestra e instrucciones para ponerlas en marcha.

Publicamos nueva documentación y videos constantemente, sin esperar a que la versión oficial del código se publique. Por lo que ya has estado usando mucho del material de arriba durante algún tiempo, aunque toda la documentación citada está en GitHub bajo el tag de versión 7.4.

Arreglos

Aunque esta no es una versión de mantenimiento hemos arreglado algo:

  • Arreglada 1 vulnerabilidad crítica de seguridad en dependencias, ahora tenemos 0 vulnerabilidades.
  • Arreglo: Falta una entrada en la navegación de la sección de vista de la guía de referencia en inglés.
  • Arreglo: Descripción incorrecta del proyecto en la licencia y pom.xml para los arquetipos de Gestión de Proyectos.

blog comments powered by Disqus

English