Table of Contents
|
ICEfaces 3.0.1 Release Notes
March 27th, 2012

Contents
About This Release
ICEfaces 3.0.1 is an official maintenance release featuring over 100 improvements and fixes.
Downloads
ICEfaces is available for download in the following formats:
Notable Changes in this Release
Theme-Roller Themes
- The mechanism used to auto-load the ACE ThemeRoller themes has been changed to resolve an issue that resulted in the theme styles being loaded after any resource in the <HEAD> section of the page. This issue prevented easy customization of the theme styling by application-specified stylesheets.
ace:contextMenu
- New support for nesting ace:submenus within an ace:contextMenu for cascading context menus.
- Added new direction attribute to force the menu to open in a specific direction (i.e. 'up', 'down', 'left' and 'right').
ace:dateTimeEntry
- Added new dateTextChange client-event.
ace:dataExporter
- Optimized to no longer keep in memory the byte arrays of generated export files longer than necessary.
ace:dataTable
- Added new Row Grouping and Conditional Row features. These features provide a robust and flexible mechanism for managing groups and rendering dynamic rows (Summary, Header, etc.) as required.
- Overhauled the sort header user-interface to simplify usage. It is now possible to toggle the sort order of a column by clicking anywhere on the column header region.
- Simplified the row selection hover styling to improve consistency with ThemeRoller intentended styling and reduce user confusion.
- Improved scrollable support. Scrollable dataTables may now auto-size their widths based on their contents, including the ability to wrap individual cell contents, and will display a horizontal scrollbar when necessary.
- Added support for application control over row/cell editing activity. Applications can now asynchronously control the row edit states without requiring user interaction.
ace:dialog
- Improved to reduce the risk of unnecessarily large DOM region updates occurring when the dialog contents are changed.
ace:fileEntry
- Resolved an issue that prevented the ace:fileEntry component from functioning on Glassfish 3.1.2.
- Overhauled the component styling to ensure expected ThemeRoller styles are applied and to improve the embedded progress bar appearance and behaviour.
- Isolated the JavaScript required by the ace:fileEntry component into a separate file to minimize the amount of JavaScript required to be loaded in cases where only the ace:fileEntry is used on the page (such as with ICE Components, etc.)
ace:maskedEntry
- The maxlength attribute has been removed from this component as it was redundant with the edit mask definition defining the number of characters expected.
ace:menuBar
- Added new direction attribute to force the menu to open in a specific direction (i.e. 'up', 'down', 'left' and 'right').
ace:tooltip
- New support for rendering the tooltip with a "speech-bubble" style. This mode can be enabled via the new speechBubble boolean attribute.
Important Fixes
- An issue has been resolved that resulted in the ACE Component theme CSS styles being loaded after other CSS styles in the page, thus preventing any custom CSS styles from overriding the theme styles.
- jQuery Conflicts with Liferay 5 have been resolved in this release, making it possible to use the ACE Components with Liferay 5 Portal.
- Note that using the ACE Components with Liferay 5 can result in CSS styling conflicts between the Liferay themes and the ACE Component theme, as they both utilize the jQuery ThemeRoller styling scheme. It may be necessary to customize the themes to avoid conflicts when using the ACE components with Liferay 5. See the Custom ACE Styles for Liferay Portal Wiki topic for details.
ice:inputRichText
- An issue preventing multiple ice:inputRichText components on page from working has been resolved.
- An issue resulting in ice:inputRichText resources not being loaded correctly in portlet environments has been resolved.
Core Framework
Window Scope
- An issue that could result in Window-scoped beans not being reloaded when the browser page is reloaded rapidly has been resolved.
Improved Logging
- Improvements have been made to ensure that certain classes of "Server Internal Error"s that previously went unlogged are now logged to the application server log.
Samples & Tutorials
- ICEfaces Showcase Sample Application
- The ICEfaces Showcase has been enhanced to improve demonstrations for the following components:
- ace:contextMenu
- ace:dataExporter
- ace:dataTable
- ace:menu
- ace:menuButton
- ace:notificationPanel
- ace:tooltip
- ice:gmap
- Revised demos to avoid the use of randomly generated data.
JSF Support
- Oracle Mojarra JSF
- This release has been tested with Mojarra JSF 2.1.3 and 2.1.6 (included).
 | Note that as of Mojarra JSF 2.1.4 the Mojarra libraries require a Servlet 3.0 spec. server to run on. For older servers use Mojarra JSF 2.1.3, or MyFaces JSF. |
- Apache MyFaces JSF
- This release requires MyFaces JSF 2.1.6+.
- The MyFaces JSF library included with this release is patched version of the MyFaces JSF 2.1.6 release, called "myfaces-impl-2.1.6-ice-7926.jar". This patched MyFaces library is required for Porlet Environments (See http://jira.icesoft.org/browse/ICE-7926 for details). We anticipate that these fixes will be included in a future MyFaces JSF official release.
Portlet Support
- Apache Pluto
- Support for the Apache Pluto portal container has been added in this release.
IDE Integrations
- NetBeans 7.1
- This release provides an updated IDE integration for NetBeans 7.1
- Eclipse 3.6, 3.7
- This release provides an updated IDE integration for Eclipse 3.6/3.7.
 | Change Log For a complete list of all changes in this release, see the related JIRA Change Log. |
Migration Guide
An ICEfaces 2 to ICEfaces 3 Migration Guide is available for those wishing to migrate their existing ICEaces 2.x applications to ICEfaces 3.0.
Supported Platforms
JSF Runtimes
- Oracle Mojarra JSF 2.1.3+ (2.1.6 is included).
- Apache MyFaces JSF 2.1.6 (included)
Browsers
- Chrome 17
- Firefox 3.6 - 11
- IE 6, IE 7, IE 8, IE 9
- Safari 5
Mobile Browsers
- Apple iOS Safari
- Google Android Chrome
- RIM BlackBerry OS6 WebKit Browser
 | A subset of component functionality, such as those requiring mouse-drag operations, are not currently supported on mobile devices with touch-screen interfaces. |
Application Servers
- Apache Tomcat 6, 7
- Oracle Glassfish v3.0, 3.1
- RedHat JBoss AS 5, 6, 7
Portal Containers
- Apache Pluto 2.0.3
- Liferay Portal 5, 6
(All portlet deployments require the PortletFaces Bridge library. Note that the version of the PortletFaces Bridge that is currently shipped with ICEfaces includes fixes that aren't available with the generally released version. Ensure you use the copy of the library that ships with ICEfaces for all of your ICEfaces portlet deployments.)
Known Issues
The following section describes the most commonly encountered known issues with this release:
General
- JSPs are not supported by ICEfaces 3 - use Facelets.
- It is required to specify "h:head" and "h:body" tags in your ICEfaces application pages.
- Applications must avoid the use of "javascript: void(0)" in browser DOM event handlers as this technique causes the "onBeforeOnload" event handler to be called in IE, which results in the ICEfaces bridges shutting down (thinking that the page is being navigated away from).
ICEpush
- 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.
1.8.x Compatibility
- In ICEfaces-EE 2+, 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+ instead.
Mojarra JSF
- This release includes the Mojarra JSF 2.1.6 runtime libraries.
 | Note that Mojarra 2.1.4 introduced a dependency on Servlet 3.0 APIs, as a result, it cannot be used on older JEE5 application servers. Mojarra 2.1.3, or Apache MyFaces 2.1.6 should be used in on older JEE5 servers instead. |
- Note that the Mojarra JSF releases prior to 2.1.3 have several serious issues that may impact your project and are not recommended.
- Mojarra JSF 2.1.7 introduced several serious regressions and should not be used with this release.
- 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.
MyFaces JSF
- Portal Detection
- MyFaces 2.1.6 has a defect that prevents proper detection of Portlet 2.0 spec. portal containers.
- To work-around this issue, this release includes a patched MyFaces 2.1.6 library that resolves this issue (See http://jira.icesoft.org/browse/ICE-7926for details).
- It is anticipated that this issue will be resolved in a future MyFaces JSF official release.
- ace:dataTable w/ Row Expansion
- An issue exists that prevents the use of the ace:dataTable with Row Expansion that contains editable components, on MyFaces only. At this time, Row Expansion can be used with none-editable components-only when running on MyFaces.
Browsers
- 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">
- See http://jira.icesoft.org/browse/ICE-6138 for more information.
Application Servers
- Tomcat 6.0
- In some cases, when running Tomcat on Windows, undeploying an ICEfaces compatible application (i.e. that includes the icefaces-compat.jar) can cause an exception. See http://jira.icesoft.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, 7 (JEE 6 Platforms)
- It is required to have Mojarra JSF 2.1.3+ installed. This may require updating the JSF Mojarra runtime libraries in Glassfish 3 or JBoss 6/7, depending on which JSF version is currently installed. Detailed instructions on how to deploy your application along with updated JSF libraries are provided in the ICEfaces EE Wiki [deployment guides].
Portal Containers
- Liferay 5
- Using the ACE Components with Liferay 5 can result in CSS styling conflicts between the Liferay themes and the ACE Component theme, as they both utilize the jQuery ThemeRoller styling scheme. It may be necessary to customize the themes to avoid conflicts when using the ACE components with Liferay 5. See the Custom ACE Styles for Liferay Portal Wiki topic for details.
Support
Open source community support is available at http://www.icesoft.org.
The ICEfaces Community Forums are available for questions, comments, or general discussions regarding ICEfaces.
|