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.