May 13th, 2011
ICEfaces 2.0.2 is an official maintenance release featuring over 25 fixes and improvements.
ICEfaces 2.0.2 is available for download in the following formats:
- Binary and source-code bundles
- IDE Tool integration bundles
- Maven2 Public Repository (jars only)
- SVN repository checkout
- This release has been tested against Mojarra JSF 2.1.1-FCS, and includes the JSF 2.1.1-FCS libraries in the download bundles.
- Note that JSF 2.1.1-FCS is referred to as 2.1.1_b04 in the public Mojarra Maven repository.
- Delta-Submit
- Several issues that could cause problems when using Delta-Submit in specific circumstances have been resolved.
- Support for Portlets
- The Advanced Components are now supported on Liferay 5.2.
- There remains a YUI-namespace collision issue that prevents the Advanced Components from being deployed to Liferay 6. See the Known Issues section for details. This issue is expected to be resolved with ICEfaces 2.1.
- Reduced JavaScript and CSS Static Footprint
- The Advanced Components now leverage compressed and combined JavaScript and CSS files which further reduces the number and size of the resource files that must loaded when initially visiting the page. The net result is that pages using the Advanced Components now load dramatically faster and overall response time when navigating between pages is substantially improved.
- A bug that prevented deploying ICEfaces applications that use ACE components to the ROOT context has been resolved.
- The focus indicator on the ace:sliderEntry component has been reduced in size. Previously it could grow to the width/height of the container in some browsers.
- Component Showcase
- Styling bugs in the panelTooltip and panelPositioned demos have been fixed.
- NetBeans 7
- This release provides a new IDE integration for NetBeans 7.
- Eclipse 3.6
- Eclipse 3.6 is also supported.
- MyEclipse 9.0.1
- MyEclipse 9.0.1 will include an ICEfaces 2.0.2 integration (when released by Genuitec).
Change Log
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.1-FCS / JSF 2.1.1-b04
- This version is included in the release bundles
- 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
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.
- 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.
- ice:inputRichText
- The inputRichText component is not currently supported on IE9. This issue will be resolved in a future release.
- ace:fileEntry - occasionally the JavaScript error "Failed to load resource: javax.faces.resource/listen.icepush.jsf" will appear in the JavaScript console after a successful file upload. This error can be ignored as it has no functional impact.
- 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:
<context-param>
<param-name>org.icefaces.mandatoryResourceConfiguration</param-name>
<param-value></param-value>
</context-param
- See the Configuration topic for more information on mandatoryResourceConfiguration.
- 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:
<f:view contentType="text/html">
- 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.