ICEfaces 2.0.1 Release Notes
March 30th, 2011
These Release Notes include the following sections:
About This Release
ICEfaces 2.0.1 is an official maintenance release featuring over 110 improvements and fixes.
|Although this release has been certified on Mojarra JSF 2.1.0-FCS, there are significant known issues with this JSF release that impact users working on non-Glassfish application servers, or who wish to use IE 9. As a result, the ICEfaces release bundles provide the Mojarra JSF 2.1.1-b03 preview release to be used as an alternative. See the Known Issues section for details.|
ICEfaces 2.0.1 is available for download in the following formats:
Notable Changes in this Release
New Supported Platforms
- Support for the following additional platforms is added in this release:
- Google Chrome 10
- Mozilla Firefox 4.0
- Microsoft Internet Explorer 9 (IE 9)
- Oracle Glassfish 3.1 (final)
- JBoss 6.0 (final)
- Liferay Portal 5.2.3
- Lazy Window Scope Initialization
- Management of Window Scope requires HTTP messages to be sent to the server whenever browser navigation or window closing events occur. To avoid unnecessary network traffic, Window Scope initialization has been optimized to only perform Window Scope related HTTP transactions when Window Scope is being used by the application.
- Several improvements have been made to SingleSubmit to resolve issues with unnecessary double-submits occurring in specific circumstances.
- It is now possible to disable the default ICEfaces error popup panels. By default, ICEfaces will report various connection or application errors in the form of popup dialog panels in the browser window. Using one of the techniques below, it is now possible to disable the default error dialogs, which is useful if you are implementing your own error reporting strategy, etc.
- The new configuration parameter "org.icefaces.disableDefaultErrorPopups" can be specified in the web.xml file to disable the default error popups. See the Configuration topic for details.
- A layout bug related to using "vertical" alignment has been fixed.
- Now supports the "partialSubmit" attribute.
- Now supports the "disabled" attribute.
- Several issues with modal ice:panelPopups in various browsers and use-cases have been resolved.
- This component can now accept an array of Objects as input to create the list.
- New support for stream-based processing of uploaded files, roughly analogous to the old ice:inputFile's outputStream property. Using this mode of operation, when files are uploaded they are not automatically written to the server file-system, but will instead be processed by the new FileEntryCallback interface, allowing for in-memory processing of the file. Typical use-cases for this functionality are when the file may be stored in a database, needs to be virus scanned before being saved on the server, etc.
- The previously selected file/path information is now automatically cleared upon the successful completion of an upload.
- Now supports displaying range labels on slider for min, median, and max values via the new "showLabels" attribute.
- All ACE input components now support the "disabled" attribute and associated skin style-classes and predefined skin styles.
Samples & Tutorials
- Support for building the portlet versions of various sample applications with Maven has been added in this release.
- Component Showcase
- A new demo has been added to demonstrate the use of the ice:menuItems sub-component, called "Dynamic Menu".
- A bug in the Output Resource demo has been fixed that caused the demo to attempt to download zero-length files.
- The following new tutorials are available:
For a complete list of all changes in this release, see the related JIRA Change Log.
This release has been tested on the following:
- Mojarra JSF 2.1.0-FCS
- Mojarra JSF 2.1.1-b03
- JSF 2.1.1-b03 is an unofficial preview release from 3/22/2011, see Known Issues for details.
- This version is included in the release bundle.
- Google Chrome 10
- Mozilla Firefox 3.6, 4.0
- Microsoft IE 8, IE 9
- Apple Safari 5
- Tomcat 6, 7
- Glassfish 3.1
- JBoss 6.0
- Liferay Portal 5.2.3, 6.0.6
- Both using PortletFacesBridge v2.0-RC1
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 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.
- ICEpush (icepush.jar) asynchronous update support is limited to a single ICEfaces application per host-name/server.
- Viewing multiple ICEfaces applications in the same browser from the same host server concurrently will result in only one of the applications having functional push capabilities.
- Support for pushing asynchronous updates to multiple ICEfaces applications from the same server/host-name requires the use of the Enterprise Push Server (EPS), which is included in ICEfaces EE (Enterprise Edition).
- This is necessary because the browser cannot support multiple concurrent push connections, so all push traffic must be multiplexed at a single point on the server.
- The inputRichText component is not currently supported on IE9. This issue will be resolved in the next release.
- The Advanced Components are not currently supported for portlet development, with the exception of the fileEntry component. Using the fileEntry component on Liferay requires that the mandatoryResourceConfiguration configuration parameter be set in the web.xml as follows:
See the Configuration topic for more information on mandatoryResourceConfiguration.
- The official 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-b03 preview release libraries which resolves both of the issues noted above. It is recommended that the JSF 2.1.1-b03 libraries be used if either of the issues above will impact your project. Note that this is not an official Mojarra JSF release, so other issues may exist with it.
- 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:
<Context antiJarLocking="true" antiResourceLocking="true"/>
- 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.