View Source

h1. ICEfaces 2.0.0 Alpha 3 Release Notes

*_May 31st, 2010_*


h3. About This Release

ICEfaces v2.0 Alpha 3 is an early developer milestone for the next-generation of ICEfaces, designed for JSF 2.0.

h3. Notable Changes and Improvements

* *New Automatic Per-View Ajax Push Configuration and Cleanup*. ICEfaces will now setup and teardown the asynchronous communication channel (asynchronous update mode, or "Ajax Push") dynamically on a per-view basis. This is useful for applications that only require Ajax Push on specific pages, such that the browser client will only maintain an open asynchronous connection if the user is actively viewing a page that requires it, resulting in reduced fixed overhead for utilizing Ajax Push and improved overall scalability for Ajax Push enabled applications.
* *New Auto-ID Generation*. ICEfaces will now automatically insert ID attributes on components that have not had IDs specified. This enables ICEfaces to provide a high degree of granularity for DOM updates, resulting in smaller regions of the page being updated in the browser for an improved user experience. For more information see the "AutoID" section under Advanced Configuration in the ICEfaces 2.0 [Getting Started] topic.
* *Support for Subtree Rendering*. The ICEfaces server-side DOM-diff renderer now supports true subtree rendering to fully support the JSF 2.0 "f:ajax" tag.
* *Consistent Cross-Browser Support for "Submit On Enter"*. A user pressing the "Enter" key while focussed on an input component ("h:", "ice:", or other) will result in the form that contains the component being submitted, regardless of the browser being used (assuming the component itself doesn't
* *Revised Single-Submit Client APIs*. The ICEfaces JavaScript APIs for Single-Submit (primarily used by components) have been revised. The "ice.singleSubmit()" / "" functions have been replaced with two new functions, "" and "ice.ser()". See the [JavaScript Client API] documentation for details.
* *Improved Mojarra JSF v2.0.2 Support*. This release includes improved JSF 2.0.2 compatibility, including special workarounds for several bugs in Mojarra JSF 2.0.2, including an issue that prevented reliable navigation between ICEfaces and non-ICEfaces pages, and improper rendering of ice:debug and ice:message(s) components when used with ICEfaces. In addition, the Mojarra 2.0.2 JSF unit-tests now pass with ICEfaces configured, ensuring that ICEfaces does not alter the standard JSF behavior in a negative manner.
* *General Bug Fixes*. Lots of bugs squashed since Alpha 2.

For a complete list of all changes in this release, see the related JIRA [Change Log|].

h3. Known Issues

The following section describes the most commonly encountered known issues with this release:

h4. General
* JSPs are not supported by ICEfaces 2.0, use Facelets instead.
* 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.

h4. 1.8.x Compatibility
* 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. See [ICE-5090|] for details.
* 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 is planned as a replacement to be provided in the next release)
** JSF 2.0 provides suitable replacements for these that should be used 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)

h4. ICEpush

* ICEpush is limited to a single push application per server. Viewing multiple ICEfaces push applications in the same browser from the same host server concurrently will result in only one of the applications having functional push capabilities.

h4. Application Servers

* Tomcat 6.0
** Including icepush.jar causes exception when redeploying application on Tomcat6.0 on WinXP. See [ICE-5222|] for a configuration work-around.

h3. Support

Open source community support is available at

All questions, comments, or general discussions specific to ICEfaces 2.0 Alpha should be made in the ICEfaces [Development Build Feedback|] forum.