February 24, 2021

OpenXava 6.5 released

In OpenXava 6.5 we have included some of your suggestions for the user interface to make your users happier. Also we have improved the programmer experience, with a better OpenXava Studio and simplifying the way you write code. Read below, to know how good is this first version of OpenXava for 2021.

We invite you to download it and upgrade your OpenXava applications. Look at the migration instructions.

Download OpenXava 6.5 for Windows
Download OpenXava 6.5 for Linux
Download OpenXava 6.5 for Mac

Left menu hideable and responsive

Some of you have complained about the screen real estate consumed by the left menu, especially when working with small screens, like tablets or notebooks. We have solved this problem making the left menu responsive, that is the menu is hidden in a small screen and is shown in a big one. Even if you resize your browser the menu would be hidden or shown automatically.
In a screen big enough you will get a left menu, thus:

However, with a small screen the left menu is not shown, in this way:

Note as in both cases the user has the option to show or hide the menu at any moment.

Only queries saved explicitly are remember

Until now OpenXava remembered each filter and ordering done by the user in list mode, so he could choose any already used query from a combo. The user could rename and remove queries, moreover not used queries were placed on bottom at the list and finally disappear. Even so, we end up with a long list of queries, most of them useless, like in this example:

Therefore the users generally prefer to do a filter from scratch again than to find a previous used query in this combo. 
To solve this usability problem from now on only the queries saved explicitly by the user will be remembered. Now, each time a new filter is done, a link to save the query is shown, so the user has the chance to save it, as following:

When you click to save the query a dialog will ask you for the name, with one suggested by default based on the query parameters and ordering. The not saved queries are not stored. You still can rename and delete existing queries, with the exception of 'All' query.

New date popup calendar

Finally, our old JavaScript date popup is retired after long years of loyal service. Let's say goodbye:

This is its replacement:

It works for Date, LocalDate, Timestamp and DATETIME properties, i.e. it also allows the user to choose the time part. Moreover, it's used in lists to choose dates for filtering. It's localized in many languages and the style is customizable, by default the style adapts to the current OpenXava theme.
Additionally, now the date editor validates the date on losing focus.

Studio improvements

Now, creating a new OpenXava project is easier than ever, because OpenXava Studio has a new wizard for creating a new OpenXava project. You can find this wizard in the New menu:

This wizard is also available in File > New menu and in the new OpenXava menu. After you press on it you will get a dialog like the next one:

Just type the name for your project and press Finish, no more steps are needed to have an OpenXava project ready to run.
But this is not the unique new wizard, we also have a new wizard to launch a database manager directly from Studio. Open the new OpenXava menu and choose Database Manager:

Apart of these new wizards we have done more improvements to OpenXava Studio, such as:

  • New projects can be launched with Run As > Java Application on the project.
  • Eclipse Platform for OpenXava Studio upgraded to Eclipse 2020-12.
  • Java included in distribution changed to Eclipse JustJ.
  • DBManager launcher class no longer included in new projects, moved to OpenXava as an Ant target.
  • Getting started guide simplified and adapted to new OpenXava Studio wizards.


Lombok is a popular library in the Java world to write simpler code. Basically, it allows you to replace the boilerplate typical of Java with annotations. For example, with Lombok you can write an OpenXava entity in this way:

package com.yourcompany.invoicing.model;
import javax.persistence.*;
import org.openxava.annotations.*;
import lombok.*;
@Getter  // This generates the getter and setter
@Setter  // for all fields below
public class Customer {
    int number;
    String name;
    // Getter and setter are not in the source code, 
    // but they are in the compiled code
Note as getters and setters are gone. The code is simpler, you only write the significant code. The option of using Lombok with OpenXava has been always possible, as in the case of any Java library, in fact many of you already use Lombok in your OpenXava application. However, now Lombok is included by default in OpenXava and the Studio is adapted to recognize it. Even more, we have upgraded the Getting Started guide and the rest of the course to use Lombok. We hope this will make OpenXava still easier to learn.

Other improvements

We have done a lot of improvements in other areas:

  • The user can add properties from collections on customizing list columns.
  • Comparator combo in the list is shown when its corresponding value field gets the focus.
  • Focus in list mode is in combo with stored queries, instead of in the first filter field.
  • Documentation to use OpenXava with a 32bit machine improved.
  • Documentation to use your own Eclipse instead of OpenXava Studio improved.
  • Some new common use labels to be used in applications.
  • Now IRequestReportParametersProvider extends IReportParametersProvider.

Bug fixes

Though this is not a maintenance version we have done some fixes:

  • Fix: OpenXava Studio hangs running long test suites.
  • Fix: Plain Java project does not work in OpenXava Studio.
  • Fix: Generating Hibernate code for XML components fails with Java 8 in some cases.
  • Fix: Label duplicated in list column header when user changes the label adding a space at end.
  • Fix: In DateTimeSeparatedCalendar editor the focus does not enter in the time field when moving with keyboard.
  • Fix: Hour part of the data hidden partially in DATETIME used in list filtering.
  • Fix: Some spelling errors in Spanish labels.    
  • Fix: The buildOpenXava and buildAddons Ant tasks do not work if openxava.jar or addons.jar are empty.
  • Fix: PDF report is not generated if there are errors obtaining the organization name. 
  • Fix: Request is not injected in IRequestReportParametersProvider. 
  • Fix: 'Organization' shown as organization in reports if xava.organization is missing in label files.
  • Fix: Module title outside corresponding span in some circumstances.
  • Fix: Selected menu option protrudes the left modules menu with Internet Explorer.
Download OpenXava 6.5 for Windows
Download OpenXava 6.5 for Linux
Download OpenXava 6.5 for Mac

blog comments powered by Disqus