December 17th, 2010
ICEfaces 2.0.0.RC2 is a Release Candidate build 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-b06, and JSF 2.1-b09 (Dec. 10th, 2010)
- Tomcat 6, 7
- Glassfish 3.0, 3.1-M7
- JBoss 6.0.0.CR1
(Note that any JEE6-compliant platform should work)
- ICEfaces Advanced Components
- fileEntry - now supports custom validations of uploaded files.
- General "Rime" skin improvements
- Sample Applications
- The Advanced Components Showcase Portlet sample now supports using the fileEntry sample as a portlet.
- General Bug Fixes.
- Numerous bug fixes
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 fileEntry component may log a Serialization exception to the console log in certain situations. This issue will be addressed prior to final release.
- The Advanced Components are not currently supported for portlet development on Liferay.
- 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 present in ICEfaces 2:
- ice:inputFile (use ace:fileEntry instead)
- 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)
- 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:
- 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 RC1 should be made in the ICEfaces Development Build Feedback forum.