Recent Blog Posts

We are happy to announce the second early access (EAP2) release of the OpenFaces AJAX-powered JSF components. The EAP2 release is the last milestone before the version 2.0 release expected in late September. The EAP2 release adds a new Select Boolean Checkbox component, a number of enhancements, several API changes, and resolves issues reported by the developers during the initial evaluation of EAP1 release.

 

The Select Boolean Checkbox component introduced in this release is an extended version of the standard <h:selectBooleanCheckbox> component which adds tri-state support (two typical states and the third “undefined” one), allows for customizing checkbox images and state-dependent styles.

 

 

Following numerous requests from our users we’ve also added a new demo application, which shows how OpenFaces components can work together with RichFaces in one application. You can see this demo online, or download the demo and its source code.

 

Please see the release notes for the full list of enhancements.

 

Before the OpenFaces 2.0 is released, we also decided to extract a code of the testing system we use for automated tests of OpenFaces components and web applications we build into a separate project called Selenium Inspector. This testing framework, built on top of Selenium, allows testing not only JSF-based applications, but any HTML-based applications. So we felt this code may be useful for wider web development community as a separate project.

 

The module for testing OpenFaces is already included into the standard Selenium Inspector distribution, and can be downloaded here. The support of RichFaces and other popular JSF frameworks is going to be added after we release OpenFaces 2.0, and hopefully with your contribution.

 

Give OpenFaces EAP2 and Selenium Inspector a try and let us know what you think.

0 Comments Permalink

New Components

  • Select Boolean Checkbox – an extended version of the standard <h:selectBooleanCheckbox> component that adds tri-state support, customizing checkbox images, and state-dependent styles.

Enhancements

  • Extended validation framework: added the possibility for annotation-based validation with <o:validateAll> tag.
  • Added client-side API for the Spinner component: getValue/setValue functions.
  • Added client-side API for the InputText and InputTextarea components: getValue/setValue functions.
  • Extended client-side API for TabSet and TabbedPane components: added getTabCount and getPageCount functions respectively.
  • Extended client-side API for TwoListSelection component: added selectAll and unselectAll functions.
  • Added the scrollTime attribute of <o:dayTable> tag, which allows specifying and saving of the DayTable's scroll position.
  • Added a possibility to create custom DayTable event editors using the new <o:customEventEditor> tag.
  • DayTable's EventEditorDialog component is now based on a Window component instead of PopupLayer.
  • Added resource selector to DayTable event editor dialog.
  • Added an ability for customizing styles of the components inside of DayTable event editor dialog.
  • Added support for standard and custom (onshow/onhide) events to the Window component.
  • Added hideByEsc attribute for PopupLayer, Window and Confirmation components, which closes a modal window on pressing the Esc key.
  • Added typingAllowed attribute for DateChooser component to enable scenario where a date should only be selectable from drop-down calendar.

Resolved Issues

  • Fixed saving of current DayTable's day after form submission and added two-side binding support for the day attribute of <o:dayTable> tag.
  • Fixed "searchField" filter field alignment within table cell under standards compliance rendering mode (in all browsers except IE).
  • Fixed focus handling for modal windows.
  • Fixed a problem with scrolling a DropDownField/SuggestionField located in a draggable PopupLayer.
  • Paddings applied to captionStyle/captionClass of Window/FoldingPanel components don't affect caption buttons anymore.
  • Fixed ClassCastException when using <o:validateRegex> on an input component with converter.
  • Fixed "util.js was loaded twice" error that occurred in some configurations.
  • Fixed indefinite growing of browser window when resizing a side panel in BorderLayoutPanel component.
  • The width and height CSS properties values in percent aren't recalculated for the BorderLayoutPanel component by the browser window resizing.
  • Fixed using the captionStyle attribute of <o:sidePanel> tag in JSP.
  • Fixed rolloverStyle and splitterRolloverStyle attributes functionality in <o:sidePanel> tag.

Created a New Compatibility Demo

A new demo was created that demonstrates compatibility of OpenFaces library with RichFaces library. You can browse the demo online, and download the demo source code.

Extracted Automated Testing Subsystem as a Separate Project

As part of writing automated tests for OpenFaces components, we've developed a subsystem that simplifies writing automated tests for OpenFaces components and HTML-based applications in general. We figured out that this code may be useful not only for this project, but for other JSF- and other web development projects alike. So we've decided to extract this code into a separate project – Selenium Inspector. There's also an add-on for Selenium Inspector that focuses on testing OpenFaces components which might be helpful if you're writing automated tests for OpenFaces-based applications. This add-on is already included into the standard distribution of Selenium Inspector and it can be downloaded here.

API Changes

ComponentChange Description
BorderLayoutPanelRemoved onblur and onfocus client-side as they are not applicable to BorderLayoutPanel
DayTableeventBackgroundTransparencyLevel and eventBackgroundIntensityLevel attributes of <o:dayTable> tag have been moved to <o:timetableEvent> tag and renamed tobackgroundTransparencyLevel and backgroundIntensityLevel approproately.
DayTableRenamed client-side functions previous() and next() to previousDay() and nextDay() appropriately.
SpinnerThe type of Spinner's minValue, maxValue and step attributes was changed from int to java.lang.Number to allow future support of floating-point numbers.
TwoListSelectionRenamed attribute allowSorting to sortingAllowed
TwoListSelectionRenamed attribute allowItemsOrdering to reorderingAllowed
0 Comments Permalink