ICEfaces 2.0.0 Beta 1 Release Notes
July 20th, 2010
About This Release
ICEfaces v2.0 Beta 1 is the first Beta release for the next-generation of ICEfaces, designed for JSF 2.0.
In this Beta release, the following aspects of ICEfaces 2.0.0 are considered feature-complete:
- ICEfaces 2.0 Core (icefaces.jar)
- ICEfaces 2.0 Compatibility Libraries (icefaces-compat.jar)
Note that a second Beta release (Beta2) is planned that will add support for:
- All-new ICEfaces 2.0 Component Development Platform and initial set of new components.
This release has been tested on the following:
- Mojarra JSF 2.0.2-FCS and 2.0.3-FCS on...
- Tomcat 6, 7
- Glassfish 3
- JBoss 6 M3
(Note that any JEE6-compliant platforms should also work)
Notable Changes and Improvements
- Consolidated Compatibility Libraries. The ICEfaces Compatibility Libraries (compat) have been consolidated into a single jar archive in this release. The previous icefaces-compat.jar and icefaces-compat-comps.jar have been merged into a single icefaces-compat.jar.
- Renamed ResourceServlet. The com.icesoft.faces.webapp.ResourceServlet has been renamed to com.icesoft.faces.webapp.CompatResourceServlet to indicate that it's exclusively required for certain compat components, not ICEfaces 2.0 in general. Existing ICEfaces 2.0 applications that used the previous com.icesoft.faces.webapp.ResourceServlet entry in their web.xml files will need to be updated to reflect the new CompatResourceServlet name.
- Finalized Public APIs. The packaging of public APIs for the ICEfaces 2.0 core and compat libraries should be considered final in this release. The classes intended to be used by application developers are documented in the core and compat JavaDocs.
- New Support for DOM Compression. Support has been added in this release to configure ICEfaces to compress the server-side DOM it retains between JSF lifecycles, resulting in significantly reduced server memory consumption at the cost of slightly higher CPU utilization. See the ICEfaces 2.0 Configuration reference page for details.
- New Delta-Submit Feature. A new Delta-Submit feature is introduced in this release that provides a significant bandwidth-use reduction for form submits. When deltaSubmit mode is active, the parameters of a form post are compared to the previous submission on the client and only those that have changed are sent to the server. The complete form submission is then reconstructed on the server using the ICEfaces cached-DOM values, and then processed normally. This provides a significant bandwidth reduction while remaining completely transparent to the JSF lifecycle and application. The deltaSubmit mode is particularly useful when dealing with large forms that may be submitted for many small, incremental changes, and also when limited bandwidth is available, such as when connecting via a dial-up connection or ship-to-shore uplink, etc. See the Configuration page for details.
- Expanded Encoding Support. ICEfaces now supports all character encodings generally supported by the Java platform. Previously, it was a requirement for ICEfaces pages to use the UTF-8 encoding.
- Mojarra JSF v2.0.3 Support. This release includes the Mojarra JSF 2.0.3 JSF runtime libraries, and has been tested on both JSF 2.0.2 and JSF 2.0.3.
- General Bug Fixes. Lots of bugs squashed since Alpha 3.
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.2 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.
- 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 "ice:form" component must be used (in place of "h:form") when using the ICEfaces 1.8 Compatibility components.
- 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.2-FCS, or 2.0.3-FCS specifically with this release. 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 Beta1 should be made in the ICEfaces Development Build Feedback forum.