September 16, 2024
OpenXava 7.4 released We have worked to make it possible to finally add a dashboard to your OpenXava application in this version, easily and naturally. We have also improved lists and collections, adding a context menu for row actions and new actions, among other things. In total, more than 30 new features that you will love. |
|
|
OpenXava 7.4 released |
|
To update edit the pom.xml file in your project and change the value of the openxava.version property, in this way: <properties>
<openxava.version>7.4</openxava.version>
...
</properties>
Then rebuild your project:
- With OpenXava Studio:
- Right mouse button in your project > Run As > Maven clean
- Right mouse button in your project > Run As > Maven install
- Or with command line: mvn clean package
Look at the migration instructions. |
|
Dashboard We have added some new annotations to OpenXava such as @Chart, @LargeDisplay, and @SimpleList. This, combined with features we already had like transient classes and the @View annotation, allows us to create a dashboard for our application without using any third-party products and in true OpenXava style. These are the improvements related to the dashboard:
- @Chart annotation for collections to display the collection as a chart from its data.
- @LargeDisplay annotation to display a property value in large format, with large fonts, spacing, etc.
- @SimpleList annotation for collections to display it without actions, filters, pagination, sorting, etc.
- Master-Detail archetypes include a dashboard and use @Calculation instead of calculated properties.
- The invoicedemo project includes a dashboard and uses @Calculation instead of calculated properties.
- Example of creating a dashboard in openxavatest with the StaffDashboard module.
|
|
Improvements in lists, collections, and references These are:
- Popup menu for row actions in list and collections when there are more than two actions.
- New 'Open in new tab' row action by default in collections.
- New delete action for collection that always deletes the element completely from the database.
- @DeleteSelectedAction annotation for collection to define a custom action for deleting an element.
- Icon and label for remove action in collection changed to indicate it just removes from the collection.
- New @NoDefaultActions annotation for not showing default actions for a specific collection.
- @RowStyle in @Tab(rowStyles=) for list mode works for card list format.
- As @DescriptionsList defaults, 'name' takes preferences over 'description', and 'title' is recognized.
- @SearchListCondition allows the use of ${this.somePropertyDisplayedInView} in the condition.
- New @SearchListTab annotation for references and collections to choose the tab for the dialog search list.
|
|
Other improvements We have done some improvements in other areas:
- Support for java.time.LocalDateTime as a type for properties in entities.
- Typing day and month in a date or date/time field autocompletes the date with the current year.
- Record count included in automatic PDF reports of list mode and collections.
- It's possible to close several dialogs at once from one action, calling several times to closeDialog().
- New currencySymbol property in xava.properties to specify the default symbol to use for money.
- Hibernate type converter LocalDateNumericType to store LocalDate values as numbers with yyyymmdd format.
- New built-in controller InitModelWithNewInstance to init the model of the view with a new model instance.
- LocalTime uses a consistent format across Java 8, 11, 17 and 21.
- Moneys utility class to work with money values and properties.
- If conflict to choose an editor from a stereotype or from an annotation, the annotation has preference.
- When several annotations with editor over a memberthe last one declared in editors.xml is chosen.
- Special characters (%, euro, etc.) supported as value in annotation attributes and editor properties.
- New attribute default-label-format for editor in editors.xml.
- Transient classes can be placed in sibling packages of the model package, with no entities in the package.
- Attributes forViews y notForViews recognized for custom annotations.
- New methods getAnnotationAttributeValue() and getAnnotationsWithRepeatables() in Classes utility class.
- Some new common use labels to be used in applications.
|
|
Upgraded libraries We have upgraded the following third party libraries:
- Commons Logging upgraded to 1.3.4.
- POI and POI OOXML upgraded to 5.3.0.
- Groovy upgraded to 4.0.22.
- JSoup upgraded to 1.18.1.
- HtmlUnit upgraded to 4.4.0.
- Lombok upgraded to 1.18.34.
- Embedded Tomcat used in development upgraded to 9.0.93.
- Log4j API and core upgraded to 2.24.0.
- PdfBox upgraded to 3.0.3.
- Jersey client, hk2, media-json-binding upgraded to 2.45.
- Driver version in doc/new projects upgraded for MySQL, PostgreSQL, Oracle, SQL Server, Informix, Firebird.
|
|
Documentation We have been working to improve documentation:
- Lessons 2, 3, 4 and 5 of the reporting course with JasperReports available in documentation with video.
- README instructions include the usage of archetypes.
- Getting started guide adapted to OpenXava Studio 7 R3.
- Chinese translations removed from all OpenXava official documentation.
- New article and video with a list of sample applications and instructions to get them up and running.
We release new docs and videos constantly, not waiting for the official release of the code. So you have been already using some of the above material, although all the above docs are in the GitHub under the 7.4 tag. |
|
Bug fixes Though this is not a maintenance version we have done some fixes:
- Fixed 1 critical security vulnerability in dependencies, now we have 0 vulnerabilities.
- Fix: Missing an entry in the navigation of view section of the reference guide in English.
- Fix: Incorrect description for project in license and pom.xml for Project Management archetypes.
|
|
|
|