OpenXava 6.0 released
November 21, 2018
This is a new OpenXava, a really new OpenXava. Historically in major versions we have always make something groundbreaking for developers, but in this case is different. OpenXava 6.0 is new and groundbreaking for the users. The ones you want to be happy. A greatly improved user experience (UX), a new visual style, support for Java 11 and a million more things.
Our goal is to reduce the amount of curse words a newcomer utters first time he uses an OpenXava application. With the collateral effect of reducing the amount of documentation to read and training. We have done a lot of usability tests, that is, observing real people using OpenXava applications. We found many usability problems, recoded OpenXava and we did usability tests again. The improvement has been huge, many times doing simple changes.
Have a look at the new menu and list mode:
In the above image you can observe:
- Top navigation bar removed.
- List of modules always present on the left.
- Modes no longer exist from the user perspective.
- Split mode (Both) no longer exists.
- Icon for changing the filter name is now a link with text.
- Combos for filters and grouping are stylized like standard combos.
- The comparators filters are hidden by default, they are shown when user type values to filter.
- New action is emphasized with a special color for list mode.
- Application name in top of modules menu, no longer with module title.
- Module description for each module no longer included in menu.
- Modules menu has its own scrolling.
- Icon to show/hide the filter in list and collections is always present.
- Resizing columns for list and collections is disabled by default.
- Columns in list and collections have an icon to sort, and no longer have link style.
There are also improvements in detail mode:
In this screenshot you can note:
- List link in detail mode to return to the list.
- Emphasized borders instead of icons for required and error fields.
- Collection filters are hidden by default and they are hidden again when current entity changes.
- Add action is emphasized with a special color for collections.
- Place and size of messages adapted to not hide actions.
Moreover, there are many more user experience improvements, most of them related with behavior:
- Going to a module from the modules menu resets the module, starting in list mode if it applies.
- On references if the user types an inexistent key the search dialog is shown.
- Current new entity is validated before shown the dialog to add an element to the collection.
- Reseting the filter in the list executes the query.
- Choosing a comparator in a combo of a list columns executes the filtering.
- Search modules box only available when there are many modules.
- Icon for searching references emphasized with bold and special color.
- Fixed modules with fixModulesOnTopMenu on naviox.properties now are in top of left menu.
- Bookmarked modules are not repeated in the menu.
- Loading indicator not shown for short interactions.
- Browser autocompletion deactivated for descriptions list combos.
- Key of references marked as required if reference is required and missed.
- Buttons in dialogs are aligned to left.
- Help icon is not available by default, activate it with helpAvailable=true in xava.properties.
- Style for Liferay 6.1 adapted to new user experience features.
New visual style
You already seen it in the above screenshots. We called that Terra style. It is the default theme for OpenXava applications from now on. Anyways, if your users think that it is too colorful, and they prefer the old monochrome theme it's very easy to configure it. Just add the next entry to xava.properties:
styleCSS=light.cssAnd your application will look like this:
That is, the classic theme from OpenXava 5.
The good thing is that now is very easy to create a new theme, just copy terra.css or light.css, modify it and set it for your application with the styleCSS property in xava.properties.
Also we have simplified the Welcome page:
And the First Steps page:
As always, you can modify these pages to fit your needs.
Summarizing, these are the changes at style level:
- New Terra theme (styleCSS=terra.css), classic style (styleCSS=light.css) still available.
- You can define the theme of your application with styleCSS in xava.properties.
- Welcome and First Steps pages simplified and adapted to the current theme.
- Screenshots for Quick Start guide, Getting Started lesson and Navigation updated to latest UI changes.
- naviox.css has been renamed as light.css and moved from Addons to OpenXava.
Java 11, Tomcat 9 and Eclipse SimRel 2018.09
We support latest versions of Java, Tomcat and Eclipse:
- Java 11 support.
- Tomcat 9 included in distribution.
- Workspace included in distribution upgraded to SimRel 2018-09, though it still works in all Eclipse 4.6 or better.
And we no longer support some old versions:
- Support for Eclipse versions previous to Neon (4.6) removed.
- Java Servlet 3.0 and JSP 2.2 are the minimum versions supported.
- Tomcat 6 no longer tested.
- Groovy code removed from OpenXavaTest.
- New projects have not Groovy nature by default.
Some of the above technologies surely still work with OpenXava 6, such as Groovy and Tomcat 6, but we no longer test them. Note that we still support Java 6, therefore customers with WebSphere 8 and WebLogic 10 can upgrade to OpenXava 6.
We have done a lot of improvements in other areas:
- commons-io.jar (already included in OpenXava) is exported from the Eclipse OpenXava project.
- New method Dates.getDateTimeFormat() to get a DateFormat consistent for all Java versions.
- New method isJava9orBetter() in XSystem utility class.
- The mode controllers DetailList, ListOnly, SplitOnly no longer exist.
- PortableRemoteObject is no longer used to cast objects.
- EJBFactory utility class removed.
- New Browsers utility class.
- GoSplitAction class removed.
- New method resetModule() in ModuleContext to reset all the module state, so reinits the module.
- New method validateIncludingMissingRequired() in MapFacade to validate verifying required members are present.
- View.reset() does a reset of the collections too.
- New WithRequiredName class for using as generic transient class for dialogs.
- New utility class HtmlUnitUtils for easier use of HtmlUnit.
- New method concat() in Strings utility class.
- Some new common use labels to be used in applications.
- Property rememberVisitedModules of naviox.properties no longer has effect.
- Property showFilterByDefaultInCollections is no longer available in xava.properties.
Though this is not a maintenance version we have done some fixes:
- Fix: Help link broken, it linked to wikispaces, now links to openxava.org doc.
- Fix: Descriptions lists in element collections show misplaced icons.
- Fix: Sort icons in list columns are reversed.
- Fix: ViewBaseAction.validateViewValues() does not validate if required fields exists.
- Fix: Placeholders do not work for textarea fields.
- Fix: Repeated remembered filters in the list from time to time.
- Fix: Bad layout for charts when flowLayout=true in xava.properties.