ICEfaces 2.0.0 Beta 2 Release Notes
October 28th, 2010
About This Release
ICEfaces 2.0 Beta 2 is the second and final Beta release of the next-generation of ICEfaces, designed for JSF 2.0.
This release has been tested on the following:
- Mojarra JSF 2.0.3-FCS, JSF 2.0.4-b05, and JSF 2.1 SNAPSHOT (Sept. 3rd, 2010)
- Tomcat 6, 7
- Glassfish 3
- JBoss 6
(Note that any JEE6-compliant platform should work)
Notable Changes and Improvements
- ICEfaces Advanced Components. The all-new ICEfaces Advanced Components are introduced in this release. These components represent the future of ICEfaces component development, and promise to provide a new level of richness, responsiveness, and accessibility support to ICEfaces.
- The following components are included in this release:
- A new "Advanced Components Showcase" example application is included in this release that provides a high-level demonstration of the new components.
- See the ICEfaces Advanced Components documentation for more information.
- Portlet Development. It is now possible to develop JSR-286 and JSR-329 compatible portlets with ICEfaces 2. Portlet support for ICEfaces 2 leverages the PortletFacesBridge library.
- See the ICEfaces 2 Portlets documentation for details.
- SingleSubmit. The new "singleSubmit" feature provides a very convenient way to configure JSF components to automatically trigger an AJAX submit when they are updated, without the use of <f:ajax> tags. "SingleSubmit" is the new "PartialSubmit" (for JSF 2)!
- Intelligent "h:message(s)" Caching. ICEfaces will now intelligently cache and redisplay validation messages that were generated by components executed in a previous JSF life-cycle when subsequent life-cycles render them, but do not execute them.
- It's complicated, but basically this feature will ensure that your validation messages remain on the page as long as the component is actually invalid, regardless of what type of AJAX JSF life-cycles occur.
- Block UI On Submit. An new "BlockUIOnSubmit" feature has been added that will prevent user-interaction with the application while a previous submit is still pending, including visual cues to the user that they should wait before proceeding.
- See the ICEfaces Configuration documentation for more information.
- View Scope Annotations. The following new annotations are now supported:
- @org.icefaces.bean.ViewRetained - When found on a ViewScoped bean, that bean will be propagated across navigations to the same view ID.
- @WindowDisposed - when found on a ViewScoped bean, that bean will be removed from the map when the browser window associated with that view is closed.
- See the Annotations page for details.
- New Core Framework APIs. The following new core framework APIs are now available:
- Focus Management - Enables server-side application control of the client-side focus.
- See the ICEfaces Core API JavaDoc for more information.
- New Auction Example. The ICEfaces 2 'Auction' example application has been completely re-implemented to better illustrate best-practices and the use of ICEfaces 2 core framework features.
- General Bug Fixes. Hundreds of bugs have been squashed since Beta 1.
For a complete list of all changes in this release, see the related JIRA Change Log.
The following section describes the most commonly encountered known issues with this release:
- JSPs are not supported by ICEfaces 2.0 - use Facelets.
- It is required to specify "h:head" and "h:body" tags in your ICEfaces application pages.
- Due to an apparent bug in the Sun Mojarra JSF 2.0.3 runtime library, component binding is not reliable when used within a View scope. The recommended workaround is to use the ICEfaces "Window" or JSF "Session" scopes instead if component-binding is required. Alternatively, applications can be modified to avoid the requirement for using component-binding in View scope by using techniques similar to that used in the Data Paginator demo section of Compatible Component Showcase application. For details, see ICE-5226.
- There is a regression that prevents path-style servlet mappings for the FacesServlet (e.g. /faces/*) from functioning correctly. For now, extension style mappings (e.g *.jsf) should be used instead. For details, see ICE-5366.
- The Advanced Components have had only basic functional testing completed on a variety of browsers, and many are missing key intended functionality in this release.
- The Advanced Components may attempt to load certain .js resources directly from yahooapis.com. This issue will be corrected prior to final release.
- In ICEfaces 2.0, the "Request" scope is the "standard" JSF Request scope, and not the "Extended" Request scope that was the default in ICEfaces 1.x.. This change may result in failures for ICEfaces 1.x applications that relied on the Extended Request Scope behavior that are being moved to ICEfaces 2.0. The workaround for this issue is to adopt one of "View", "Window", or "Session" scopes in JSF/ICEfaces 2.0 instead.
- The following ICEfaces 1.8.2 Component Suite components are deprecated for ICEfaces 2.0 and are not functional:
- ice:inputFile (An all-new input file component under development as a replacement to be provided in the next release (Beta2)
- ice:outputDeclaration (use Facelets standard approach / "<DOCTYPE ...>" instead)
- ice:outputBody (use h:body instead)
- ice:outputHead (use h:head instead)
- ice:outputHtml (use <HTML> tag instead)
- The "deltaSubmit" configuration mode is not currently supported when using the ICEfaces Compat library (icefaces-compat.jar).
- Tomcat 6.0
- In some cases, when running Tomcat on Windows, undeploying an ICEfaces 2 compatible application (i.e. that includes the icefaces-compat.jar) can cause an exception. See ICE-5222 for additional information about this issue. To prevent this, include a context.xml file with your application that includes the following Context attributes to prevent jar and resource locking:
<Context antiJarLocking="true" antiResourceLocking="true"/>
- Glassfish 3 / JBoss 6
- It is necessary to use Mojarra JSF 2.0.3-FCS or greater installed. This may require updating the JSF Mojarra runtime libraries in Glassfish 3 or JBoss 6, depending on which JSF version is currently installed.
Open source community support is available at http://www.icefaces.org.
All questions, comments, or general discussions specific to ICEfaces 2.0 Beta 2 should be made in the ICEfaces Development Build Feedback forum.