ICEfaces 2.0.0 RC1 Release Notes
December 10th, 2010
About This Release
ICEfaces 2.0.0.RC1 is a Release Candidate build of the next-generation of ICEfaces, designed for JSF 2.0.
This release has been tested on the following:
- Mojarra JSF 2.0.3-FCS, JSF 2.0.4-b06, and JSF 2.1 SNAPSHOT (Sept. 3rd, 2010)
- Tomcat 6, 7
- Glassfish 3
- JBoss 6
(Note that any JEE6-compliant platform should work)
Notable Changes and Improvements since Beta2
- Sample Applications
- All ICEfaces sample applications are now located under the "icefaces/samples" directory.
- The ant build targets for the sample applications have been simplified and are now consistent for all sample applications. The following main build targets are available:
- servlet-profile (New Default) - Generates a .war file according to the servlet-profile which includes the JSF and EL libraries (Jetty 7, Tomcat 6 and 7).
- web-profile - Generate a .war file according to the JEE6 web-profile which excludes the JSF and EL libraries (GlassFish v3, JBoss 6)
- Note that the pre-built .war files in the binary bundle are now targeted at the "servlet-profile" (Tomcat / Jetty). In previous ICEfaces 2 preview releases the .wars were based on the "web-profile" (Glassfish 3 / JBoss 6). If you wish to deploy the sample applications to a JEE6 container, you will need to build them using the "web-profile" target.
- ICEfaces Core
- Single Submit
- The "singleSubmit" tag now works with both the ICEfaces Components and ICEfaces Advanced Components, in addition to the JSF standard components.
- A previous limitation with using Delta Submit with the ICEfaces Components has been removed in this release.
- New Configurations
- connectionLostRedirectURI - Setting connectionLostRedirectURI to a valid URI results in the client being redirected to the specified page in the event that the Ajax Push connection is lost.
- sessionExpiredRedirectURI - Setting sessionExpiredRedirectURI to a valid URI results in the client being redirected to the specified page when the user session expires.
- ICEfaces Advanced Components
- fileEntry - now automatically displays upload progress.
- dateTimeEntry - now supports localization of the calendar labels.
- checkboxButton - the "labelPosition" attribute has been removed.
- sliderEntry - the "thumbURL" and "submitOn" attributes have been removed. The slider thumb images are now specified by the Skin CSS.
- linkButton - now supports the "target" attribute.
- The Advanced Components now support "f:params" tags as children.
- General "Rime" skin improvements
- Numerous bug fixes
- ICEfaces Components
- selectInputDate calendar can now show week of year.
- selectInputDate can now have seconds drop down item in the date time picker.
- dataExporter component now works with ice:dataTables that use ice:columns for dynamic column definition.
- dataExporter now exports information defined in the footer of a dataTable
- When using shortcut keys the hovered row should remain selected on newly rendered page when changed by the paginator
- Add title and alt attributes to dataExporter
- Add a tabindex attribute to the panelTabSet
- Update FCKEditor JS library used by ice:inputRichText to latest version
- Improved support for selectInputText, Drag & Drop, panelPositioned, inputRichText components when used in Portlets.
- General Bug Fixes.
- A bunch of bugs have been squashed since Beta 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.
- 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.0.3 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.
- There is a regression that prevents path-style servlet mappings for the FacesServlet (e.g. /faces/*) from functioning correctly. For now, extension style mappings (e.g *.jsf) should be used instead. For details, see ICE-5366.
- The fileEntry component may log a Serialization exception to the console log in certain situations. This issue will be addressed prior to final release.
- The Advanced Components are not currently supported for portlet development on Liferay.
- 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 following ICEfaces 1.8.2 Component Suite components are deprecated for ICEfaces 2.0 and are not present in ICEfaces 2:
- ice:inputFile (use ace:fileEntry 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)
- 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 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
- It is necessary to use Mojarra JSF 2.0.3-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.
All questions, comments, or general discussions specific to ICEfaces 2.0 RC1 should be made in the ICEfaces Development Build Feedback forum.