OpenXava Changelog

What's new in OpenXava 5.3

May 21, 2015
  • NEW FEATURES:
  • Charts generated automatically from list data.
  • A List annotated with @OrderColumn can be sorted by the user with drag & drop.
  • JPA 2.1 (JSR-338) support.
  • Bean Validation 1.1 (JSR-349) support.
  • Combo has no blank option in enum properties with @Required.
  • New properties startInLastVisitedModule and rememberVisitedModules in naviox.properties.
  • Default controllers.xml in new projects.
  • @RemoveSelectedAction available for @ElementCollection.
  • New method assertValidValueExists() in ModuleTestBase.
  • Hibernate upgraded to 4.3.9.
  • Hibernate Validator upgraded to 5.1.3.
  • HSQLDB used in sample projects upgraded to 2.3.2.
  • Classic Hibernate Validator (3.1) dropped.
  • Ant target updateSchema no longer supported for XML components.
  • Automated Business Logic (ABL) library dropped.
  • FIXES:
  • Fix: Creating a new element in a collection with @OrderColumn fails.
  • Fix: Obsolete hibernate namespace.
  • Fix: Disabled dialogs using Liferay 5.1 style.
  • Fix: Apostrophes in messages missing sometimes.

New in OpenXava 5.2.1 (Mar 3, 2015)

  • NEW FEATURES:
  • Methods showDialog(), closeDialog(), showNewView() and returnToPreviousView() available from OnChangePropertyBaseAction.
  • New removeBlanks() method in Strings utility class.
  • Entity from View has nulls for non-existing references, before they were empty objects.
  • FIXES:
  • Fix: Reference with calculated property in an entity is cleared after modifying a collection in the same entity.
  • Fix: View.addValues() does not keep original values in subviews.
  • Fix: Sort and filter lost in collections after editing/viewing an element with a dialog.
  • Fix: ArrayIndexOutOfBoundsException trace in tab with calculated properties.
  • Fix: Misleading message "Trying to load controller twice" in the log.
  • Fix: Apostrophe used in labels files is not shown in tooltips.
  • Fix: Several except-for-tab in tabs-default-values fails.
  • Fix: Calling getView().getEntity() when there is an element collection in the view fails.
  • Fix: helpPrefix from xava.properties does not work for external URLs.
  • Fix: It is possible to add programmatically the same action several times.
  • Fix: View.getEntity() fails when there is an empty reference in the UI.
  • Fix: Dialog is not shown from an @OnChange action.
  • Fix: Dangerous JavaScript content possible in list mode by a XSS attack.
  • Fix: An IForwardAction from an IChainAction with on-init=true does not do the forward.
  • Fix: Collection customization is not stored permanently if @ListProperties is used.
  • Fix: DWR signature warning in log.
  • Fix: View.getEntity() when creating does not load the references so combo descriptions are not available.
  • Fix: FILES stereotype fails from embedded reference.
  • Fix: XSS protection does not include iframe and window.location.
  • Fix: Error "i.contentWindow is null" on closing a dialog with HTML_TEXT stereotype.
  • Fix: Frames for groups with blanks in their name do not open and close.
  • Fix: Section and group names with blanks produces some misbehavior

New in OpenXava 5.2 (Jan 28, 2015)

  • NEW FEATURES:
  • Moving columns in list with drag and drop.
  • Removing a column from a list is done instantly and with a fade effect.
  • The list for adding columns to a list is shown inside a dialog.
  • The list for adding columns to a list no longer uses pagination, but a scrollbar.
  • The list for adding columns to a list shows only until second level properties at first, and all properties on demand.
  • The list for adding columns to a list is ordered by the localized column labels of the properties.
  • The list for adding columns to a list no longer shows the internal properties names.
  • Fade effect to show/hide the filter part of the list and the customization icons.
  • Using JavaScript to show/hide the list customization icons, without an AJAX request.
  • List customization icons are hidden automatically after executing any action.
  • 20% performance improvement in automated module tests.
  • HtmlUnit upgraded to 2.15.
  • jQuery UI upgraded to 1.11.2.
  • jQuery upgraded to 1.11.2.
  • Upgraded Commons Lang3 library to 3.3.2.
  • New move() method in XCollections utility class.
  • The browser property in xava-junit.properties is no longer supported.
  • New createWar ant task included by default in new projects.
  • Frame spacing when several frames in a row adjusted.
  • Performance improvement for label resolution. Fixes:
  • FIX:
  • After removing a column from a list the filter data is gone.

New in OpenXava 5.1.1 (Nov 27, 2014)

  • NEW FEATURES:
  • New isNumeric() method in Strings utility class.
  • Some new common use labels to be used in applications.
  • FIXES:
  • Fix: It does not work with WebSphere Portal (broken since v5.0).
  • Fix: Required icon is not shown for descriptions lists.
  • Fix: Too much space between UI elements when a descriptionLists is located after the first column.
  • Fix: Accessing to an application from a mobile device shows a resource not found page.
  • Fix: Collections do not fill all the available width and the wasted space grows when resizing.
  • Fix: The list does not fill all the available width with the new OpenXava 5 style.
  • Fix: Look & feel for progress bar of takes-long actions does not match the new OpenXava 5 style.
  • Fix: Progress bar is not shown when a takes-long action is called from a dialog.
  • Fix: The state of a frame is not stored if its name is too long.
  • Fix: Entering alphabetic values for filtering numeric data in list generates a generic system error.
  • Fix: Top bar module links displaced when the page is customized adding content on top.
  • Fix: Module search does not work with uppercase letters.
  • Fix: Ugly horizontal scrollbar when there are many modules in top menu.
  • Fix: Many actions on bottom of the view are ugly.
  • Fix: Visual defect in links for changing mode.
  • Fix: Help link too close to mode links.
  • Fix: Style for selected row hides the line separator.
  • Fix: Totals in element collections are not recalculated after removing a row.
  • Fix: After removing a line from an element collection events and calculated properties do not work in the collection.
  • Fix: Reloading page after removing a line from an element collection leaves a blank line.

New in OpenXava 5.1 (Oct 21, 2014)

  • New features:
  • @NoSearch supported for references in embeddable classes of element collections.
  • @ReadOnly and @EditOnly supported for @ElementCollection.
  • @OnChangeSearch supported for references in embeddable classes of element collections.
  • @OnChange supported in embeddable classes of element collections.
  • @SearchListCondition supported for references in embeddable classes of element collections.
  • @SearchAction supported for references in embeddable classes of element collections.
  • Search action for references available in element collections.
  • Support for @DescriptionsList references in element collections, including dependent ones.
  • @DefaultValueCalculator support in @ElementCollection.
  • Improving AJAX behavior for element collection, with x10 improvement in responsiveness. - Reference data fetching in element collections optimized.
  • Searching references by @SearchKey properties in element collections.
  • New stereotype FILES for attaching several files to an entity.
  • @DefaultValueCalculator is executed each time that the properties in @PropertyValue(from) change.
  • Look and feel for totals in lists and collections improved.
  • Java 8 support.
  • FirstSteps content changed.
  • French messages improved.
  • Showing messages in log for annotation misuse in element collection.
  • Methods assertEditableInCollection() and assertNoEditableInCollection() of ModuleTestBase work for any type of collection.
  • New assertValidValuesCountInCollection() and assertValidValuesInCollection() methods in ModuleTestBase.
  • Some new common use labels to be used in applications.
  • Fixes:
  • Fix: Not numeric totals are not well aligned.
  • Fix: Totals are not well aligned after column resizes.
  • Fix: Summation icon in list not correctly aligned.
  • Fix: ModuleTestBase.assertLabelInList() does not work with element collections. - Fix: The xava:descriptionsList JSP tag only works from some folders.
  • Fix: Editor resizing in element collections only works for text input fields.
  • Fix: ModuleTestBase.logout() fails with the built-in security.
  • Fix: @DefaultValueCalculator with dependent properties is executed twice sometimes.

New in OpenXava 5.0.1 (Jul 15, 2014)

  • New features:
  • Focus navigation improved for list filter fields.
  • Date format in editors with date and time improved for Catalonian and French.
  • Some new common use labels to be used in applications.
  • Fixes:
  • Fix: Module as key in i18n labels file breaks the name and module description resolution for all modules.
  • Fix: Message of ValidationException from setter not shown to the user on create.
  • Fix: Labels placed incorrectly in properties not in the first column.
  • Fix: Incorrect properties alignment in some cases.
  • Fix: Icons in properties with label format SMALL are shown on left instead on top.
  • Fix: Too much space between UI elements.
  • Fix: Unique constraint custom message is not displayed with embedded classes.
  • Fix: When focus lost with tab key from a date field in the list filter part of the date field is hidden.
  • Fix: Two collections in the same row are wrapped with a very ugly frame.
  • Fix: In DateTimeSeparatedCalendar editor when the time is not specified the value is null, even if the date exists.
  • Fix: Entering 2 digits for year in editors with date and time creates a date of first century.
  • Fix: XML component applications without persistence.xml does not start with OpenXava 5.
  • Fix: @AssertTrue fails with @Id and @GeneratedValue(strategy=GenerationType.AUTO) used in an embedded collection.
  • Fix: GROOVY_DSL_SUPPORT problem compiling with Eclipse in some machines.
  • Fix: Dates in descriptions list not well formatted, really it used just toString() for all data types.
  • Fix: Property label definition in XML components takes preference over i18n files.
  • Fix: View.getCollectionSelectedValues() and CollectionBaseAction.getMapsSelectedValues() do not return all displayed column values.
  • Fix: Totals are not recalculated with element collections sometimes.

New in OpenXava 5.0 (Jun 11, 2014)

  • New features:
  • New look and feel.
  • Login/​logout functionality.
  • Module navigation: Left searchable menu with all modules and top menu with recently used modules.
  • Collections editable at cell mode, like a spreadsheet, available for @ElementCollection.
  • All collection elements and the container entity are persisted at once, available for @ElementCollection.
  • @ElementCollection of JPA 2 supported.
  • New renderer engine to layout the user interface.
  • Look and feel of date editor improved.
  • Several reports in one PDF with the new JasperConcatReportBaseAction.
  • @Collapsed annotation to initiate collections and references with the frame closed. Also allowed in XML components.
  • New NoCustomizeList controller for disabling list customization to a specific module.
  • New stereotype FILE for attached files, it can store the files in DB or file system.
  • The user can share a report of 'My reports' with all other users.
  • New Addons project added to distribution to contain extended features outside of the OpenXava core.
  • New InvoiceDemo project added to distribution.
  • Groovy upgraded to 2.2.2.
  • JasperReports upgraded to 5.5.1.
  • DWR upgraded to 2.0.10.
  • JSTL upgraded to 1.2 using Apache Standard Taglibs 1.2.1.
  • JavaMail upgraded to 1.5.1.
  • Upgrade of commons libraries to: beanutils 1.8.0, logging 1.1.1, digester 2.1, codec 1.9, fileupload 1.3.1, io 2.4, lang 2.6, validator 1.4.0.
  • Upgrade to Servlet 2.5 and JSP 2.1.
  • Added Commons Lang3 3.2.1 library.
  • Tomcat 7 included in distribution.
  • Dropped IE6, IE7 and IE8 support.
  • Using module.jsp to execute modules from browser is no longer supported.
  • Dropped Java 5 support, from now on Java 6 or better is required.
  • Dropped WebSphere 6.1 and WebSphere Portal 6.1 support.
  • Dropped Tomcat 5.5 support.
  • Removed jakarta-oro library, only used by older commons-validator.
  • ejb.jar and jpa.jar added to WEB-INF/lib to facilitate deploying in Tomcat.
  • MiEscuela project removed from distribution.
  • AccessTracking removed from OpenXava distribution.
  • Objects class from org.openxava.util removed, you can use XObjects instead.
  • New is/setCollapsed() methods in View to close a frame of a reference or collection programmatically.
  • Added validateMinimum() and validateMaximum() to CollectionElementViewBaseAction.
  • New getPopupPDFPageCount() method in ModuleTestBase.
  • New methods setValueInCollection(), assertEditableInCollection() and assertEditableInCollection() in ModuleTestBase.
  • New method noFirstTokenWithoutFirstDelim() in Strings.
  • When @Digits is specified default scale is ignored even if fraction is not specified.
  • Performance of delete action in detail mode action improved.
  • Improved behavior with READ COMMITED isolation level.
  • New commit() and rollback() methods in BaseAction.
  • Methods Is.emptyString() and Is.emptyStringAll() allow infinite number of arguments.
  • clearCondition() method removed from ModuleTestBase.
  • Fixes:
  • Fix: Double border when using .ox-frame in the CSS with new renderer.
  • Fix: Totals in collections frames are not shown with the new renderer.
  • Fix: assertListRowCount() method from ModuleTestBase fails when the value of summationInList property is false.
  • Fix: Subcontrollers fails in split mode.
  • Fix: Incorrect encoding in emails sent by Emails class.
  • Fix: Members inside @NoFrame are not aligned with the outside members.
  • Fix: Incorrect default size for java.lang.Boolean.
  • Fix: View broken on reload if the module is inside a HTML table.
  • Fix: Simple property after group without ; does not layout correctly.
  • Fix: A reference with @NoFrame inside a group produces an ugly layout.
  • Fix: Error messages for @Size in collections show 'Element' in English always, even if English is not used.
  • Fix: Top field with little margin on top with the new renderer.
  • Fix: Html id for frames not correct for references with new renderer.
  • Fix: Properties aligned by column when it should not in the new renderer.
  • Fix: Property icons are not aligned correctly with the new renderer.
  • Fix: Scale defined in default-size.xml is ignored when formatting.
  • Fix: Scale definition from @Column and @Digits is ignored when formatting.
  • Fix: The @LabelStyle annotation is not supported with the new renderer.

New in OpenXava 5.0 Beta (Apr 11, 2014)

  • New features:
  • New look and feel.
  • Login/​logout functionality.
  • Module navigation: Left searchable menu with all modules and top menu with recently used modules.
  • New renderer engine to layout the user interface.
  • The user can share a report of 'My reports' with all other users.
  • Dropped Java 5 support, from now on Java 6 or better is required.
  • Dropped WebSphere 6.1 and WebSphere Portal 6.1 support.
  • Dropped Tomcat 5.5 support.
  • Groovy upgraded to 2.2.2.
  • JasperReports upgraded to 5.5.1.
  • DWR upgraded to 2.0.10.
  • JSTL upgraded to 1.2 using Apache Standard Taglibs 1.2.1.
  • JavaMail upgraded to 1.5.1.
  • Upgrade of commons libraries to: beanutils 1.8.0, logging 1.1.1, digester 2.1, codec 1.9, fileupload 1.3.1, io 2.4, lang 2.6, validator 1.4.0.
  • Added Commons Lang3 3.2.1 library.
  • Removed jakarta-oro library, only used by older commons-validator.
  • Upgrade to Servlet 2.5 and JSP 2.1.
  • ejb.jar and jpa.jar added to WEB-INF/lib to facilitate deploying in Tomcat.
  • Tomcat 7 included in distribution.
  • MiEscuela project removed from distribution.
  • AccessTracking removed from OpenXava distribution.
  • Objects class from org.openxava.util removed, you can use XObjects instead.
  • Performance of delete action in detail mode action improved.
  • Improved behavior with READ COMMITED isolation level.
  • New commit() and rollback() methods in BaseAction.
  • Methods Is.emptyString() and Is.emptyStringAll() allow infinite number of arguments.
  • clearCondition() method removed from ModuleTestBase.
  • Fixes:
  • Fix: Double border when using .ox-frame in the CSS with new renderer.
  • Fix: Totals in collections frames are not shown with the new renderer.
  • Fix: assertListRowCount() method from ModuleTestBase fails when the value of summationInList property is false.
  • Fix: Subcontrollers fails in split mode.
  • Fix: Incorrect encoding in emails sent by Emails class.
  • Fix: Members inside @NoFrame are not aligned with the outside members.

New in OpenXava 4.8.1 (Sep 30, 2013)

  • New features:
  • OpenXavaTest now includes Selenium tests for visual testing of views.
  • It's possible to add JavaScript functions to release resources to editors.
  • New method hasTime() in Dates.
  • TLDs moved from openxava.jar to openxava.tld in WEB-INF (to work with Tomcat 7 + Eclipse WTP in Windows).
  • Some new common use labels to be used in applications.
  • Fall-back encoding now is UTF-8 (before it was ISO-8859-1), however it still tries to use the system encoding first.
  • Fixes:
  • Fix: Calling to View.getEntity() when the view has view properties fails (only for XML components).
  • Fix: Time part of Timestamp properties cannot be used for filtering in list.
  • Fix: Application does not start with Tomcat 7 inside Eclipse in Windows.
  • Fix: @OnChange actions do not work in both mode.
  • Fix: HtmlText editor produces a JavaScript error when changing the mode or section.
  • Fix: Adding and removing elements in the not owning side of a @ManyToMany collection does not work.
  • Fix: Pressing ENTER from a numeric field does not execute the default action.
  • Fix: Clearing the view does not put the focus in the correct place when the action is called from a keystroke.
  • Fix: An on-change action can be execute twice sometimes from tests.
  • Fix: When in a test a setValue() throws an on-change action then next execute() fails sometimes.
  • Fix: The setConditionValue() method of Tab fails with dates.
  • Fix: Hibernate @Type annotation fails when a @TypeDef is used as name.
  • Fix: The setHidden() method of View does not work with sections.
  • Fix: 'My reports' when tab name is too long fail.
  • Fix: Clear condition in list hide some combos (enum, boolean and descriptionsList).
  • Fix: Subcontrollers do not change when the container controller is changed by code.
  • Fix: Subcontrollers do not show the actions according the mode (list, detail or both).
  • Fix: Using getSelectedObjects() from an @OnSelectElementAction in calculated collections fails.
  • Fix: When there are selected rows 'My reports' prints only the selected ones.
  • Fix: Ignoring accents for string arguments in the filter fails on some machines.
  • Fix: Combining @OneToOne and @OnChange produces a 'Duplicate Component' error.
  • Fix: Floats and doubles are truncated on display.
  • Fix: # in root view with groups in the view does not work.
  • Fix: # in groups and sections to align by columns does not work.
  • Fix: XML component with a validator that uses 'from' fails if the view has a view property.
  • Fix: Links of several actions associated to the same property are too close.
  • Fix: Incorrect encoding in the first page load.
  • Fix: Removing a property of a stored 'My reports' report does not work.
  • Fix: Some labels for 'My reports' are not translated.
  • Fix: New (still BETA) renderer failed to align by columns in section.
  • Fix: Some groups or properties overflowed the view with new (still BETA) renderer.
  • Fix: Collections and group within the same line were displayed too close with new (still BETA) renderer.

New in OpenXava 4.8 (Jul 23, 2013)

  • New features:
  • In controllers.xml you can define 'subcontroller' that will show a drop-down button with nested actions.
  • The user can modify the column labels in 'My reports'.
  • The columns shown in 'My reports' use the labels instead of the property names.
  • Hidden columns in 'My reports', they can be used for filtering and ordering but are not shown in the report.
  • The default value for comparators in 'My reports' is '=' or 'starts with'.
  • Combos for @DescriptionsList references in 'My reports'.
  • Generate Excel action available from 'My reports' dialog.
  • Summation for columns allowed for 'My reports'.
  • Report file name for 'Generate PDF', 'Excel' and 'My reports' is the report title.
  • Booleans in list and collections are rendered with a green check sign.
  • On choosing a combo in list the filtering is executed automatically (it can be deactivated with filterOnChange=false).
  • Calendars are shown in filters for date types in list and collections.
  • Bulgarian translation of JavaScript calendar with UTF-8 character encoding.
  • New setLabel() method in Tab to change the column labels programmatically.
  • New CurrentMonthCalculator.
  • Export to excel (CSV) exports null as empty strings.
  • New MAC stereotype for MAC address.
  • New filter condition "Ends with" for list and collections.
  • New layout engine improved again, though it's not activated by default it's almost ready for production.
  • New refreshAfter property in SaveAction to not refreshing from database after saving.
  • Width ratio for collections depends on style, to better definition of custom styles.
  • CSS class frame renamed to ox-frame.
  • New CSS class ox-images-gallery to define the visual style of images gallery editor.
  • Fixes:
  • Fix: reference.jsp left an open tag when using alternate renderer.
  • Fix: descriptionsEditor.jsp had a no terminated input tag.
  • Fix: Labels for qualified properties in 'My reports' PDFs do not match labels in screen list.
  • Fix: Connection leaks produced in the first page load.
  • Fix: Pressing ENTER in a view with a JavaScript calendar shows the calendar and does not execute the corresponding action.
  • Fix: Opening a dialog after adding or removing actions in list fails to show the controllers.

New in OpenXava 4.7.1 (May 28, 2013)

  • New features:
  • New alignedByColumns property in xava.properties to aligned all the members by columns in the user interface.
  • Support of # for root view, also available as aligned-by-columns for classic XML components.
  • Images gallery editor uses a dialog.
  • Russian documentation improved.
  • New layout engine improved again, though it is still in BETA it is perfectly usable.
  • New generic controller Close useful for dialogs with just a close button.
  • On closing a dialog if it has an action named return, volver, close or cerrar, the action is called automatically.
  • Counter injected in IAggregateOidCalculator now is a random number. It only applies to XML classic components.
  • Gallery.removeImage action asks for user confirmation.
  • New clearCondition() method in Tab, to clear the condition values and comparators.
  • Some new common use labels to be used in applications.
  • Fixes:
  • Fix: Adding images to a gallery from a dialog produces a JavaScript error.
  • Fix: Methods assertDialog(), assertNoDialog(), assertDialogTitle(), closeDialog() of ModuleTestBase fail after upload a file.
  • Fix: Title for dialogs with no associated model has an unneeded hyphen.
  • Fix: Dialog titles are lost when closing dialogs after upload a file from a dialog.
  • Fix: When elements are hidden or shown inside a dialog the dialog width is not adjusted.
  • Fix: With two embedded collections of the same type adding to the second collection adds the element to the first one.
  • Fix: View.getValues() returns only a copy of the first tree level, so it produces some lateral effects sometimes.
  • Fix: If updating an entity fails referenced objects can be left created.
  • Fix: Filters in collections are stored between elements.
  • Fix: A ValidationException (both org.openxava and javax.validation) from a callback method shows an ugly message to the user.
  • Fix: It loses the added or removed actions in the list when you change to the detail mode.
  • Fix: Grammatical errors in English messages.
  • Fix: Date in footer of PDF reports is formatted using server locale instead of client locale.
  • Fix: Composite structure fails when the parent reference is not named as the entity.
  • Fix: Checkbox editors for non-boolean values does not work.
  • Fix: Polymorphic reference from a base class fails.

New in OpenXava 4.7 (Apr 2, 2013)

  • New features:
  • ExtendedPrint.myReports stores all the generated reports, so the user can get them by name later.
  • WebSphere Portal 8 support including visual style integration.
  • WebSphere 8 support.
  • Liferay 6.1 support.
  • 30% performance improvement in automated module tests.
  • Action ExtendedPrint.customReport renamed to ExtendedPrint.myReports.
  • New smtpHostTrusted property in xava.properties to use email servers with expired certificates.
  • If a session object has a request property, the current request is injected before injecting the object into the action.
  • Date formatting optimized for French.
  • New protected method saveCollectionElement() in SaveElementInCollectionAction to refine behavior.
  • Shell scripts to start HSQLDB manager from command line.
  • Data in automatic PDF reports is formatted in the same way as in list.
  • New layout engine improved again, though it is still in BETA and deactivated by default.
  • User preferences support creating and removing subnodes (from Preferences Java API).
  • Fixes:
  • Fix: web.xml is not Servlet 2.4 compatible, though OpenXava uses Servlet 2.4 since v3.1.
  • Fix: Sometimes columns customization for collections is not stored.
  • Fix: Report title is not shown for automatic PDF reports in some machines.
  • Fix: Many standard i18n messages do not show correctly apostrophes.
  • Fix: In custom reports filters gt_comparator is shown instead of > with Spanish.
  • Fix: @ManyToMany collections fail after removing one of the elements.
  • Fix: Selected rows are lost when you do a order by any property, a page change, etc.
  • Fix: When combining filter and order in custom report, filter is ignored.
  • Fix: Confirm message for actions associated to properties incorrect.
  • Fix: View.setModel() does not refresh collections.

New in OpenXava 4.6.1 (Jan 9, 2013)

  • New features:
  • New IWithMessage to be implemented by validators to get the messages from @Required, @PropertyValidator and @EntityValidator.
  • New layout engine improved, though it is still in BETA and deactivated by default.
  • Fixes:
  • Fix: @Inject does not work in "on change" actions.
  • Fix: Impossible to store column width in collections inside @AsEmbedded references.
  • Fix: Default size not correct for TELEFONO stereotype.
  • Fix: Clicking in the current mode with IE8 goes to a nonexistent page.
  • Fix: Named reference view for reference with inheritance switches to DEFAULT.
  • Fix: HTML_TEXT fields don't preserve content after recalculation.
  • Fix: Second level dialogs are shown very narrow with IE9.
  • Fix: Mouse over list rows in IE9 moves the bottom button bar.
  • Fix: Removing first column in custom reports fails.
  • Fix: Removing selected columns in custom reports fails.
  • Fix: Obtaining selected object from a calculated collection fails with transient elements.
  • Fix: Attribute message of @Required is ignored.
  • Fix: Incorrect validation message from PositiveValidator.
  • Fix: Messages in i18n files with no arguments are not formatting in the standard way.
  • Fix: Thai MS874 encoding fails with IE.
  • Fix: Custom reports fail with XML components if persistence.xml is not defined.
  • Fix: Valid values do not work in custom reports With XML components.
  • Fix: Duplicate dialog title in custom report.
  • Fix: Incorrect title on reloading custom report dialog.
  • Fix: Valid-values values are not kept when a column is editing in custom report dialog.
  • Fix: Comparator values are not kept when a column is editing in custom report dialog.

New in OpenXava 4.5.1 (Sep 11, 2012)

  • New features:
  • Focus order only include editors. Actions, links, tabs, etc. are excluded.
  • SimpleHTMLReportAction extends SimpleTemplaterAction to be able to use SimpleTemplater in mails.
  • Documentation for @Tree improved.
  • Fixes:
  • Fix: Focus is not set in the first load of detail only modules.
  • Fix: Navigating among objects with references with inheritance produces system error.
  • Fix: New in a model with a reference with inheritance does not reset the reference view to the base model.
  • Fix: Searching from a reference with inheritance does not always show all the objects of the hierarchy.
  • Fix: resetAfter=false for saving fails when inheritance is used in references.
  • Fix: Tree editor cannot add child node without @GeneratedValue.
  • Fix: SimplerTemplaterAction does not return booleans.
  • Fix: SimpleTemplater does not work for empty collections.
  • Fix: SimpleTemplater better detect in which cases not to insert instead of new lines.
  • Fix: Tree editor failed to look up properties in property-based entities.
  • Fix: Base Style generates a tr with no td in sections, so it fails with IE.
  • Fix: Bad layout for + and X icons in frame of images gallery.
  • Fix: Liferay column resize not stored permanently.
  • Fix: Fails on save the second object when id is inside a group.
  • Fix: Labels qualified with entity name (MyEntity.myProperty in i18n file) are not used in list mode.
  • Fix: Tooltip not recognized when defined qualified in i18n file, that is using: MyEntity.myProperty[description].
  • Fix: Searching a reference with several @SearchKey does not work if some key field has an event associated.
  • Fix: Removing a column from the list after filtering produces "Errors trying to obtain data list".
  • Fix: Adding an element in a collection in split mode changes the main module list by the collection list.
  • Fix: Changing list row count in a page other than the first one shows the incorrect page.
  • Fix: Image for showing/hiding filter in list in collection is broken with 2 collections in a dialog.
  • Fix: Popup calendar for dates fails in Chinese.
  • Fix: Fails on Tomcat with unpackWARs="false".
  • Fix: Duplicate div on load collections via AJAX.

New in OpenXava 4.2.3 (Sep 20, 2011)

  • Properties with WebURL editor or WEBURL stereotype are shown in list as links.
  • Fix: Dialogs in Liferay 6 do not hide resizing gadgets of collections behind.
  • Fix: Images gallery does not work from a reference.
  • Fix: Encoding of the content of the generated hbm files does not match with the declared encoding.
  • Fix: On change actions and calculated properties fail in Chrome with BigDecimal values.
  • Fix: Loading... AJAX message is not well displayed in IE6/IE7.
  • Fix: Uploading files fails when using old URL notation for module.
  • Fix: Reference members in @Tab does not show the correct value when referenced entity and main entity map to the same table.
  • Fix: On IE6 and IE7 columns headers are fixed when the horizontal scroll is moved. The horizontal scroll for lists has been removed for IE6 and IE7.
  • Fix: NullPointerException when a getter method is missing or bad written.
  • Fix: Modifying an empty reference from a dialog closes the dialog and freezes the module.
  • Fix: Simple package name for entities (without dots) produces an exception.
  • Fix: Liferay 6 navigation bar changes its font size when there is an OpenXava portlet in the page.
  • Fix: @Editor with forViews is ignored when used inside a reference.
  • Fix: PDF reports fail if hibernate.cfg.xml is not present.
  • Fix: French i18n files contain single quote ', which prevent the {0} replacement to be done.
  • Fix: Argument type mismatch on saving element in nested collection with root entity with composite key.

New in OpenXava 4.2.2 (Aug 17, 2011)

  • New features:
  • JetSpeed 2.2.1 supported.
  • New PersistenceUnit controller and SetPersistenceUnitAction class to facilitate multi-database applications.
  • BaseAction no longer implements IChangeControllersAction, but still implements the change controllers related methods.
  • Date format improved for Catalan.
  • Fixes:
  • Fix: Inheritance for views does not work with transient classes.
  • Fix: Fixed URL for DTD of DWR files, it improves performance on Liferay deploying.
  • Fix: List fails when the user customize the list and afterwards the programmer removes properties from the entities.
  • Fix: "en" language entries are not included in portlet.xml because they are redundant with default entries.
  • Fix: In a cascade remove collection when trying to create an element with a embedded with a reference to an entity fails.
  • Fix: Changing module from dialog does not close the dialog.
  • Fix: Multi persistence unit applications do not work.
  • Fix: regenerateGenerator ant task fails.
  • Fix: portletLocales of xava.propeties has no effect on portlet.xml generation.
  • Fix: Closing a two level dialog in a module with web-view shows the root view in the dialog.
  • Fix: After using setControllers(), removeActions() has no effect if executed in the same action.
  • Fix: Creating a new collection element when all element components are inside groups fails.
  • Fix: @OnChange actions are executed twice inside collection elements with groups.
  • Fix: No focus placement inside collection elements in some cases.
  • Fix: Using apostrophe in HtmlText editor cut the content from the apostrophe.

New in OpenXava 4.2 (Jun 21, 2011)

  • iPad support: when an application is accessed from an iPad a style adapted to the iPad is used.
  • A new custom visual style can be defined writing only a CSS file.
  • Top right red 'Loading...' AJAX indicator replaced by a stylized centered 'Loading...' box.
  • The default mode controller is defined by the style, though defaultModeController of xava.properties still exists and has preference.
  • Slide effect on list pagination (only for iPad).
  • Flip effect on changing mode (only for iPad).
  • Styles allow define more details about the UI behavior: isRowLinkable(), isShowPageNumber(), isShowModuleDescription(), isChangingPageRowCountAllowed(), isShowRowCountOnTop(), etc.
  • Each style has its own imagesFolder, so each style can define its own icon for actions, even for custom actions.
  • A different style can be selected by each browser type.
  • ValidationException now is a RuntimeException.
  • System encoding recognition improved.
  • Property labelAlign removed from xava.properties, now alignment is defined by CSS.
  • In action definition 'image' does not requires the folder name 'images/' as prefix.
  • Fix: NullPointerException validating BigDecimal null values.
  • Fix: Fails rendering list when the property (xava.properties) 'resizeColumns= false'.
  • Fix: NullPointerException stacktrace (without failing) when starting portlets in Liferay.
  • Fix View.setLabelId() fails when used in subviews.
  • Fix: NullPointerException: charsetName with Jetty.
  • Fix: Fails displaying collection element when the collection has a group in its view.
  • Fix: Fails the tab preferences when you have same model name in several applications. Added application name as discriminator.

New in OpenXava 4.0 (Nov 23, 2010)

  • Groovy support.
  • JPA 2.0 support.
  • Support for JSR-330, the Java standard for dependency injection.
  • Dropped support for EntityBeans CMP2.
  • Dropped support for Java 1.4. From now on OX requires Java 5 or better.
  • Main new features over 3.1.4 for the users:
  • New mode 'split' (labeled as "Both") in addition to already existing 'detail' and 'List' modes.
  • The user can minimize and restore any frame, storing the frame status by user.
  • Delete action for collections and list is shown in each row.
  • More intuitive 'search' action. Now it uses a dialog to ask for the search data.
  • The user can resize the column widths for list and collections using the mouse, and the values are persisted by user.
  • Tooltip for cells in list and collections.
  • References as combos to filter in list mode.
  • Clicking on any part of the row, for list or collection, goes to the detail.
  • Popup dialogs supported.
  • Collections use dialogs to edit, add and remove elements.
  • A dialog is used for searching, creating or modifying a reference.
  • New checkbox in list to select and deselect all rows at once.
  • The user can change the row count of list and collections, and the setting is stored by user.
  • Improved look & feel of page navigation for list and collections.
  • Visual style of button bar improved.
  • For the full list of new features see below the notes for the versions from 4m1 to 4m6.

New in OpenXava 4 M6 (Nov 10, 2010)

  • Groovy support.
  • Liferay 6 supported, including look & feel integration.
  • JPA 2.0 support: Hibernate upgraded to 3.6.0.
  • Friendly URL for modules, like this: /MyApplication/modules/MyModule.
  • Visual style of button bar improved, including showing the label for each action.
  • More intuitive icons for navigation.
  • Labels are aligned by default to right. For aligning to left use labelAlign=LEFT in xava.properties.
  • Default action is shown as first button in bottom button bar, even if it is already in top button bar.
  • New editor DocumentLibrary (and stereotype DOCUMENT_LIBRARY) to have a group of documents stored in Liferay Document Library.
  • New mapped superclass Identifiable with a UUID id, to use as base class for entities.
  • Default size for columns optimized in list and collections.
  • Russian documentation improved.
  • It's no longer required to put the entities in a package named 'model' or 'modelo'. Any package name is valid for entities.
  • Minor changes to TreeView to optimize performance.
  • @OneToMany(orphanRemoval=true) supported: if an element is removed from a collection the element is deleted from database.
  • New showLabelsForToolBarActions property in xava.properties.
  • New possible value "almost-never" for by-default attribute of inside controllers.xml.
  • New 'ignoreAccentsForStringArgumentsInConditions' in xava.properties. It finds records whether you're looking for 'camión' or 'camion',...
  • New setModuleDescription() method in ModuleManager that changes the portlet title.
  • Emails: Sending attachments added.
  • Help icon obtained from container portal.
  • New saveAndStayForCollections property in xava.properties to choose if the button for save & stay will be in collection element dialog.
  • New setConditionValue() method in Tab for setting the value for the list condition programmatically.
  • Removed the Hibernate dependent code from AnnotatedClassParser, so now it's possible to use other JPA providers.
  • Methods getProperty() of ModuleTestBase renamed to getXavaJUnitProperty().
  • Clear stacktrace when data source does not work. No more 'Module x is not defined'.
  • Fix: Tests fail to do login against Liferay 6.
  • Fix: Users.getCurrent() returns an incorrect user sometimes.
  • Fix: i18n files are not correctly copied when creating a portlet war.
  • Fix: Choosing reference fails when reference name matches id name of referenced entity.
  • Fix: @Tab fails with multi-level @Embedded.
  • Fix: Updating embedded collection element a 'Member not found' exception is thrown.
  • Fix: Bad layout for header fields when frames.
  • Fix: NullPointerException by EditorTag hides the real source of error in some cases.
  • Fix: Incorrect default action (broken in 4m5).
  • Fix: Help doesn't work for external URL.
  • Fix: Division by 0 generating PDF reports where all columns are little.
  • Fix: 'Parse may not be called while parsing' error when several users start at once after deploying.

New in OpenXava 4 M5 (Jul 29, 2010)

  • New mode 'split' (labeled as "Both") in addition to already existing 'detail' and 'List' modes.
  • The user can change the row count of list and collections, and the setting is stored by user.
  • Improved look & feel of page navigation for list and collections.
  • New Collection.saveAndStay action that allows to save a collection element without closing the dialog.
  • Default module help text in English, Spanish and Russian.
  • New defaultModeController property in xava.property to define the default initial mode.
  • Russian translation of Reference Guide and other documentation improved.
  • Help module: new 'helpPrefix', 'helpSuffix' and 'helpInNewWindow' properties in xava.properties. By default it uses 'http://openxava.wikispaces.com/help_'.
  • New getParentView() method in CollectionElementViewBaseAction.
  • Column resizing and customizing list can be disabled.
  • New mode 'NONE' for actions in controllers.xml to be displayed only in each row.
  • The pageRowCount property of Tab is persistent, storing its value by user.
  • Row action is always shows in collections, even when the properties of collection list and detail view match.
  • Actions from mode-controller with on-init=true are executed on module initialization.
  • HibernatePersistence declared explicitly as provider for JPA.
  • Hidden properties are not available to add by the user in list and collections.
  • Upgrade Jasperreports to 3.5.3
  • New SetEditableAction action class.
  • New cssClass and cssStyle attributes available for taglib.
  • The List and Navigation controllers are no longer added automatically.
  • Style for checked rows is also applied in the list for adding new columns.
  • ModuleManager, ModuleContext, IValidator and IPropertyValidator now are serializable.
  • View editable and keyEditable properties are false at module initialization.
  • Delete action in each row: it display message with the row number.
  • The setConditionValues and setConditionComparators methods of ModuleTestBase use varargs.
  • Fix: SaveElementInCollectionAction changes the view if not super.execute() is called.
  • Fix: Dependent properties in a collection element does not react to events when they are hidden and shown.
  • Fix: @NoCreate and @NoModify annotations doesn't work for collections.
  • Fix: When a view is not editable its collections have edit action for rows and save action in element view.
  • Fix: Arrays are not displayed nicely in list and collections.
  • Fix: Row actions in several lines when the list shows many properties.
  • Fix: Detail collection actions (like @RemoveAction) with empty action name fails.
  • Fix: Bug on dialogs when opening another dialog such as reference search.
  • Fix: @Column scale attribute ignored.
  • Fix: Jasper report actions does not show correct data after changing schema.
  • Fix: Several nested tooltip for cells when executing several times actions over a collection/list.
  • Fix: JavaScript memory leak (so performance degradation) when working some time with a collection/list.
  • Fix: checkbox 'select/deselect all' not display in choose list (rows with radio button).
  • Fix: when you shorten columns if the value contain '-' it produces two lines.

New in OpenXava 4 M3 (Apr 8, 2010)

  • The user can resize the column widths for list and collections using the mouse, and the values are persisted by user.
  • Tooltip for cells in list and collections.
  • References as combos to filter in list mode.
  • Clicking on any part of the row, for list or collection, goes to the detail.
  • Polimorphic view resolution for collection elements.
  • Removed MemoFormatter for list mode. The new tooltip and resizing columns are better options.
  • Russian translation of documentation improved.
  • The dot key can be used as decimal separator in any locale. It is converted automatically to the local decimal separator.
  • ValidationException and RuntimeException in @Prepersist are propagated to the actions.
  • Original RuntimeExceptions from MapFacade.setValues() are propagated to the actions.
  • Any JavaScript file in xava/editors/js is loaded automatically. This folder is for JS of custom editors.
  • The JavaScript function openxava.addEditorInitFunction to add code to be executed for initialized JS of custom editors.
  • The creation of default modules is optional. Added property 'generateDefaultModules' in xava.properties.
  • Clear error message when module reentrance is produced.
  • Attribute id included in Html for all the built-in editors, to facilitate JavaScript manipulation.
  • custom-editors.js is only included if exists. Moreover the usage of this file has been deprecated.
  • Classes.getSimpleName() method dropped. Use getSimpleName() of Class instead.
  • Style 'highlight' from openxava.css renamed to 'row-highlight'.
  • MapFacade.getValues() adds a __MODEL_NAME__ entry with the model name of the found object.
  • Removed history.txt file.
  • commons-beanutils.jar (already included in OX) is exported from the Eclipse OpenXava project.
  • Fix: New JS files are not recognized after updating OX version because of browser cache.
  • Fix: Calendar popup is not shown from dialogs.
  • Fix: Fields annotated with @SearchKey are not editable when editing an existing entity.
  • Fix: Alphabetic characters can be entered in numeric fields.
  • Fix: Excel exporting does not work fine when semicolons in the text.
  • Fix: Chinese translation of popup calendar was not correctly encoded.
  • Fix: Collection of generic (Collection) fails.
  • Fix: MappedSuperClass in different package than child classes fails.
  • Fix: Filtering by year or month in list mode fails with Oracle and latest PostgreSQL versions.
  • Fix: Trying to modify an empty reference shows an error but must not show a dialog.
  • Fix: 'forwardUri' in a 'nextModule' fails inside a portal.

New in OpenXava 3.1.3 (Jun 16, 2009)

  • Editor can be applied to collections. Also available for XML version with .
  • @Editor can be applied to references. Also available for XML version with .
  • In editors.xml it's possible to associate an editor by default for all collections or for collections to certain models.
  • In editors.xml it's possible to associate an editor by default for all references or for references to certain models.
  • The selected row in list and collection is highlight.
  • OnSelectElementAction uses takesLong and confirmMessage.
  • The default label is natural, e.g. the label for lastInvoiceNumber now is "Last invoice label".
  • The default parse for int, short and long (MetaProperty.parse) returns null for null or empty string (before it returned 0).
  • It's possible to layout several collections on the same line.
  • OnSelectElementAction added to calculated collection.
  • Removed unused TTFs (fonts for PDF generation).
  • Fix: Editors with alwaysEnabled=true do not refresh via AJAX in some cases.
  • Fix: Is.empty fails with a BigDecimal less than one and not zero.
  • Fix: XCollections.last fail when collection is empty or null.
  • Fix: viewObject property is missing for OnSelectElementBaseAction
  • Fix: highlight select element whit OnSelectElementAction
  • Fix: Collections with cascade REMOVE whose getter returns null fails in some cases.
  • Fix: mappedBy in @ManyToOne only allowed a reference named equal as the container entity.
  • Fix: @GeneratedValue in a not @Hidden key throws a NullPointerException.
  • Fix: Editors with multiple html elements with the same name fail (broken in v3.1).
  • Fix: IForwardAction at the same time that IChainAction (not refreshed the screen).

New in OpenXava 3.1 RC1 (Dec 6, 2008)

  • Full tested with Tomcat, JBoss, WAS6, Liferay 4.1, 4.3, 5.1, Jetspeed2, JPA, Hiberante, EJB2, JDK1.4, Hypersonic and AS/400.
  • Visual style tested and refined for IE6, IE7, FF2 and FF3 in Liferay 5.1, 4.3, 4.1, JetSpeed2 and WPS6.
  • Style for standalone module (outside portal) is configurable: Liferay 5.1 (now the default), Liferay4.3 and the OX Classic are available (change it using styleClass and styleCSS in properties/xava.properties).
  • Chinese documentation advanced.
  • Now template projects do not ask by datasource name on create a new project.
  • Upgrade to Hibernate 3.3.1, Hibernate Annotations 3.4.0, Hibernate EntityManager 3.4.0 and Hibernate Validator 3.1.0.
  • The xava.properties of template projects contains all available properties.
  • Property formLineSpacing removed from xava.properties. It's better to change CSS files for this.
  • The produced pages are XHTML 1.0 instead of HTML 4.0 (only outside portal).
  • Fix over 3.0.3: ModuleTestBase.login does not work on jetspeed2.
  • Fix: View properties are not refreshed correctly in AJAX.
  • Fix: Code generation with some version of Sun JDK fails with when Spanish language is used.
  • Fix: Upload file does not work inside portals on 3.1beta.
  • Fix over 3.1beta3: moneyEditor fails when Locale.getDefault does not contain the country.
  • Fix: 3.1beta does not work on WebSphere 6.0 and WebSphere Portal 6.0
  • Fix: 3.1beta does not work with JDK 1.4.
  • Fix: JavaScript calendar in catalan inside Liferay does not show special character. calendar-ca.js has been adapted to UTF-8.
  • Fix: fckEditor.jsp indide portal throws JSP file "/xava/editors/../imports.jsp" not found.
  • Fix: Focus is not the correct place after an event (for 3.1beta).
  • Fix over 3.1beta3: Liferay + MS Internet Explorer does not work.
  • Fix: Yellow background in Liferay does not work (for 3.1beta).
  • Fix over 3.0.3: @RowStyle does not work on Liferay 5.1.

New in OpenXava 3.1 Beta 3 (Nov 14, 2008)

  • Animated image while module is loading.
  • Cursor changes to wait status while the AJAX request is processed.
  • Keystrokes supported in AJAX.
  • When a session timeout is produced the page is reloaded (instead of an excepction) (for 3.1beta).
  • Upgrade to Servlets 2.4 API; so now requires a Servlet 2.4 container for run (Tomcat 5.x, WebSphere 6.x, etc).
  • ModuleTestBase does not allow to modify a disabled or readonly html element.
  • Support for UTF-8 for web request and response. Now the encoding for request/response is gotten from file.encoding system property.
  • New editor for Timestamp and DATETIME with only one field for date and time. The old one still is available using @Editor("DateTimeSeparatedCalendar") or changing editors.xml.
  • Removed old and unused stuff for language: xava_language session object, Languages controller, Language class and languages.jsp.
  • New methods for obtaing labels for MetaProperty and Labels that do not required request or locale object as argument.
  • Library aspectrt.jar removed from WEB-INF/lib.
  • Money editor shows the currency symbol depending on the server locale.
  • New file custom-editors.js can be used on web/xava/js for defining the javascript for custom editors.
  • Button for popup calendar has a new image.
  • Is.equal admits to compare objects of not compatible types, just it returns false in this case.
  • Fix: In ModuleTestBase tests after a popup windows with a non-html page is shown (as a pdf) the test does not behaves well.
  • Fix: On generating a report (or any other new window action) main page is not refreshed (for 3.1beta).
  • Fix: When a portlet is added to a page it is not shown until the page is refreshed (for 3.1beta).
  • Fix: The module name in browser window is always 'unknow module' (for 3.1beta).
  • Fix: View.setEditable for a member is not refreshed in UI by AJAX.
  • Fix: On change the reference typing the key its displayed collection are not reloaded (for 3.1beta).
  • Fix: Actions inside views are not refreshed correctly with AJAX.
  • Fix: From time to time when reference objects are created or modified a NullPointerException is thrown returning to the main view.
  • Fix: XML components view properties are not refreshed using OX3.1beta.
  • Fix: In IE6 and IE6 a space on top of the module is show, also this space is incremented on click actions. For 3.1beta.
  • Fix: JavaScript error in IE6 and IE7 trying to put the focus in a hidden input.
  • Fix: Overlapped reference that explicity does not show the overlaped key fails on AJAX refresh.
  • Fix: Changing language has no effect inside Liferay in OX3.1beta.
  • Fix: Users.getCurrent() and Users.getCurrentUserInfo() returns always null in 3.1beta.
  • Fix: HTML_TEXT stereotype does not work in 3.1beta.
  • Fix: FCKEditor not modifying text for FF3.

New in OpenXava 3.1 Beta 2 (Oct 23, 2008)

  • Only the changed parts of the UI are reloaded using AJAX (in 3.1beta1 all UI was reloaded in each action).
  • Custom reports, those derived from JasperReportBaseAction, now are filled inside JPA/Hibernate transaction, for avoiding lazy initialization problems.
  • New method getChosenKeyMap() in ChooseReferenceAction.
  • New method getMembers() in Messages.
  • New methods refresh() and refreshCollections() in View.
  • New property 'portletLocales' in xava.properties that indicates the locales to use for generating i18n files for portlets.
  • Is.equal can compare integers with enums, using the enum ordinal; and Shorts, Integers and Long among themselves.
  • Added default sizes (in default-size.xml) for java.lang.Integer, java.lang.Long, float, java.lang.Float, double and java.lang.Double.
  • New format 'rtf' available for JasperReportBaseAction.
  • Fix: Progress dialog won't go away in 3.1beta1.
  • Fix: Error image for properties is not only shown for the failing property, but for all with the same name in view.
  • Fix: Modifying the container object from a callback method of a collection element fails.
  • Fix: Searching in a reference uses 'like' as condition when id is hidden and another property is used for searching, so sometimes the search is not exact.
  • Fix: On generating reports (and other cases) the latest action is reexecuted.

New in OpenXava 3.1 Beta 1 (Aug 28, 2008)

  • Full AJAX support.
  • New method 'remove' in ModuleContext for removing a session object.
  • New property 'browser' for xava-junit.properti to indicate the browser type to be used for testing.
  • New InputStreams utility class.
  • HtmlUnit updated to 2.2.