September 29th, 2011
ICEfaces 2.1.0 Beta is the first public release of ICEfaces 2.1.
This release has been tested on the following:
- Mojarra JSF 2.1.3, MyFaces JSF 2.1.3
- Tomcat 6, 7
- Glassfish 3.0, 3.1
- JBoss 6.1, 7
(Note that any JEE6-compliant platform should work)
- 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.
- The following components are included in this release:
- 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)!
- See the Single Submit page for more information.
- 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.
- The Delta-Submit function does not support cases where an Ajax DOM update in the browser dynamically introduces new form elements into the DOM that were not part of the form when the page was originally loaded. In order to use Delta-Submit successfully all form elements / components must be present on the page at the time the page is loaded.
- Due to an apparent bug in the Sun Mojarra JSF 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.
- The inputRichText component is not currently supported on IE9. This issue will be resolved in a future release.
- The Advanced Components are not currently supported on Liferay Portal 6, with the exception of the fileEntry component (Liferay 5.2 is supported).
- Using the fileEntry component on Liferay 6 requires that the mandatoryResourceConfiguration configuration parameter be set in the web.xml as follows: Configuration topic for more information on mandatoryResourceConfiguration. See the
- Note that the Mojarra JSF 2.1.0-FCS release has several serious issues that may impact your project:
- A bug that prevents it from supporting bean-annotation on non-Glassfish 3.1 application servers and servlet containers.
- Several bugs that prevent the IE9 browser from working properly with JSF-ajax operations.
- This release of ICEfaces includes the Mojarra JSF 2.1.1-FCS release libraries which resolves both of the issues noted above.
- When running a JSF application in JSF2 PROJECT_STAGE="Development" mode (which is the default setting for all ICEfaces sample applications), you may see the follow warning appear at the bottom of the page: "Form component needs to have a UIForm in its ancestry.".
- This issue is caused by a bug in Mojarra JSF, a suggested work-around is to set the JSF2 PROJECT_STAGE="Production" in the web.xml file.
- WebKit (Safari and Chrome)
- The WebKit-based browsers (Google Chrome and Apple Safari) request content-type "application/xhtml+xml" by default, which is different from virtually all other browsers. In cases where the application page doesn't set the contentType explicitly this can result in these browsers defaulting to a strict XHTML rendering mode, which can cause some unexpected styling and layout issues. In order to have WebKit-based browsers render markup consistently with other browsers, you must specify the content-type in the view tag on each page:
- See http://jira.icefaces.org/browse/ICE-6138 for more information.
- 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 http://jira.icefaces.org/browse/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 (JEE 6 Platforms)
- It is necessary to have Mojarra JSF 2.1.0-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.
The ICEfaces community forums are available for questions, comments, or general discussions regarding ICEfaces 2.