May 31st, 2010
ICEfaces v2.0 Alpha 3 is an early developer milestone for the next-generation of ICEfaces, designed for JSF 2.0.
- 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
- 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.
The following section describes the most commonly encountered known issues with this release:
- 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. 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. 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)
- 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)
- 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.
- Tomcat 6.0
- Including icepush.jar causes exception when redeploying application on Tomcat6.0 on WinXP. See ICE-5222 for a configuration work-around.
Open source community support is available at http://www.icefaces.org.
All questions, comments, or general discussions specific to ICEfaces 2.0 Alpha should be made in the ICEfaces Development Build Feedback forum.