OpenXava 5.6 released
November 2, 2016
In OpenXava 5.6 the list remembers filters and ordering done by user to be re-executed choosing from a combo, you can rename the filter/ordering configurations produced. With this you no longer need 'My reports' action, so we have removed it. Also this v5.6 includes the new stereotypes DISCUSSION and SIMPLE_HTML_TEXT, partial select in baseCondition of @Tab, and many more things.
We invite you to download it and upgrade your OpenXava applications. Look at the migration instructions.
List remembers filters and ordering
When the user does any filtering or ordering a new entry is added to a combo on top of the list:
Note that you can change the name of the filtering. Moreover, the columns configuration (that is if you add, remove or change the order of the columns) is remembered too. That is you can give a name to a filtering, ordering and column configuration, to restore it just with two clicks. These list configurations are stored by user.
Don't resign yourself with the above screenshot, try yourself this feature with the live demo.
'My reports' removed
My reports action si no longer available by default:
We have removed it because now practically all the features of My reports are available directly in the list, so we removed it as duplicated. Anyways, if your users do not like the direct manipulation paradigm but rather they still prefer to use cumbersome dialogs and wizards you can return to life My reports using the TypicalExtendedPrint controller instead of Typical, for example:
<controller name="Customer"> <!-- <extends controller="Typical"/> --> <!-- Remove this... --> <extends controller="TypicalExtendedPrint"/> <!-- ...and add this --> ... </controller>
DISCUSSION and SIMPLE_HTML_TEXT
Recently we have moved from color to monochrome. We did it for most of the user interface, but HTML_TEXT still was using colorful icons. To solve it we have upgraded to the latest CKEditor version and adapted it to be consistent with the rest of the user interface. By the way, we have create two new stereotypes based in CKEditor. The first is SIMPLE_HTML_TEXT:
That is, the classic HTML_TEXT editor but with less buttons. We also have a completely new stereotype, DISCUSSION. To use it just annotate a String property with the stereotype, thus:
@Stereotype("DISCUSSION") @Column(length=32) private String discussion;
And you'll get a complete discussion thread associated to your entity:
This allows you not just to create applications such as forums, blogs or trackers with OpenXava, but also adding some social flavor to your traditional business application.
Partial condition in baseCondition @Tab
Until now you had two options for baseCondition: putting the condition to put after the WHERE or writing the complete SELECT. The complete SELECT does not work very fine with user columns customizations and the condition after WHERE is very limiting. Since v5.6 you have a third option that is to write the JPQL sentence from the FROM clause. To do it just start the baseCondition from FROM, in this way:
@Tab(name="FromAlaska", baseCondition="from Customer e, in (e.states) s where s.id = 'AK'")
In this case states a @ManyToMany collection in Customer, and we select the customers with Alaska in any of their states.
Also available for base-condition of XML components.
We have done a lot of improvements in other areas:
- CKEditor look & feel adapted to NaviOX and Liferay 6.1 look & feels.
- CKEditor upgraded to 4.5.9.
- New indexExt.jsp in naviox/web to add elements to the main HTML page that wraps the application.
- The combination XML components + JPA persistence no longer supported.
- Main window is not refreshed when generating a SimpleHTMLReport.
- New helpAvailable property in xava.properties to enable/disable the help icon in modules.
- Eclipse workspace in distribution upgraded to Eclipse Neon, though it still works with all 4.x versions.
- MetaController.containsMetaAction() receives a not qualified action name as argument.
- New method validateViewValues() in ViewBaseAction.
- New WithRequiredLongName class for using as generic transient class for dialogs.
- New method move() in XArrays utility class.
- New booleanWithSuffixEditor.jsp editor that allows put a suffix label after the field checkbox.
- Some new common use labels to be used in applications.
- New toString(Object  array) method in Strings utility class.
- ModuleTestBase.setLocale() no longer reset the module.
- New methods selectListConfiguration(), assertListSelectedConfiguration() and assertListAllConfigurations() in ModuleTestBase.
- New method clearCondition() in ModuleTestBase to simulate clicking on the clear list condition button.
- New method anyEqual() in Is utility class.
- New method naturalLabelToIdentifier() in Strings utility class.
- New methods assertDiscussionCommentText(), assertDiscussionCommentsCount() and postDiscussionComment() in ModuleTestBase.
- IExplicitModifyPersistenceProvider to define persistence providers that needs an explicit command to modify data.
- New property connectionRefinerClass in xava.properties for defining an IConnectionRefiner to refine JDBC connections.
- Each component type has its own IPersistenceProvider, there is no longer a unique IPersistenceProvider for the whole application.
- Properties jpaCodeInPOJOs and persistenceProviderClass in xava.properties no longer have effect.
- Methods isEJB2Persistence(), isJPAPersistence(), isJPACodeInPOJOs() and getPersistenceProviderClass() removed from XavaPreferences.
- Pluggable component parser by means of IComponentParser implementations declared in xava.properties.
- Improvements for English, German and French translations of labels and messages.
- New property smtpStartTLSEnable in xava.properties to configure the behavior of Emails.
- Servlet mapping to generate custom Excel files included by default in web.xml.
Though this is not a maintenance version we have done some fixes:
- Fix: Labels.getQualified(String id) does not return the qualified label.
- Fix: Changes in custom.css lost when upgrading OpenXava version.
- Fix: On hover style for default action button does not work.
- Fix: Schema tool does not add schema for CREATE INDEX sentences.
- Fix: The order of subcontrollers in the user interface is not the declared one in controllers.xml.
- Fix: In a module with 'ListOnly' or 'Void' for mode-controller with subcontrollers but no actions, the subcontrollers are not displayed.