February 22nd, 2012
ICEfaces EE 3.0.0.BETA is a preview release and is not suitable for production use.
ICEfaces EE is available for download in both Binary and Source bundles for licensed ICEfaces EE customers.
ace:contextMenu
- New support for nesting ace:submenus within an ace:contextMenu for cascading context menus.
ace:dataTable
- 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.
- Improved scrollable ace:dataTable 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.
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.
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.
ice-cc:selectBooleanColumn
- Improved selectBooleanColumn to render a disabled selectBooleanCheckbox when in non-edit mode.
ice-cc:editableTable
- Added the ability to disable the ice:messages tag used in the editableTable component.
- Added a new readOnly attribute.
- Added the ability to add an inputRichtext component to the editableTable.
- The rowSelectionListener method of the AbstractEditableTableBean can now handle an EditableTableException.
ice-cc:richDataTable
- Added a new readOnly attribute.
ice-cc:selectOneMenuColumn
- Changed the ice-cc:selectOneMenuColumn to render the label of a SelectItem object in its non-edit state.
Localization
- A new Swedish message.properties file has been added to the icefaces-ee-composite.jar.
Window Scope
- An issue that could result in Window-scoped beans not being reloaded when the browser page is reloaded rapidly has been resolved.
Improvements
- Added username/password support to EPS
- EPS JMS settings are now configurable in both the web.xml as well as a .properties file
- Significant internal implementation improvements have been made to EPS improve performance and reliability.
Change Logs
For a complete list of all changes in this release, see the related JIRA Change Logs:
ICEfaces
ICEfaces EE
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.
ICEfaces-EE provides additional features over ICEfaces, while still inheriting all of the features available in ICEfaces 3 and JSF 2.
The following key features provided by ICEfaces EE are not available in the open-source ICEfaces 3 releases:
ICEfaces EE provides an ICEfaces implementation that has been certified against a wide-range of supported application servers, portal-containers, and 3rd-party frameworks. See the Supported Platforms section for details.
ICEfaces EE includes the ICEfaces Composite Components, an extensive set of Facelet composition components that provide ready-to-use functionality for common enterprise application tasks, such as dual-list, editable data-table, and dialogs.
The ICEfaces Composite Components are tag-compatible with the ICEfaces EE 1.8 Composite Components, providing a straight-forward migration to 3.0.
The Enterprise Push Server extends the standard Ajax Push capabilities of open-source ICEfaces with these critical enterprise-grade features:
- Support for deploying multiple ICEfaces push-enabled applications to the same application server, to be used on the same browser at the same time. In ICEfaces open-source, the ICEpush library cannot support more than one push application from the same server (host-name) in the same browser.
- Distributed management of blocking push connections across a cluster.
- Load-balancing of Ajax Push connections across a cluster.
- Fail over of Ajax Push connections across a cluster.
- Asynchronous Request Processing (ARP) integration on Servlet 3.0 servers for increased Ajax Push scalability.
ICEfaces EE includes core framework extensions that improve the ICEfaces experience on EE-certified platforms:
- Improved Internet Explorer (IE) Support for IE6 and IE7 browsers. The standard Mojarra JSF libraries don't always process dynamic Ajax DOM updates in a manner that older IE browsers can fully support, often resulting in dynamic DOM element changes not being rendered properly in the browser. ICEfaces EE provides core framework extensions to work-around these JSF limitations, providing a more reliable IE browser experience.
- HTML Compatibility w/ JSF 1 - Adds configurable support for wrapping HTML markup in Facelets pages into components at runtime. This provides perfect backwards compatibility with ICEfaces 1.8 Facelets applications that otherwise would see adverse side-effects from differences in how Facelets processes embedded HTML markup between JSF 1 and 2.
The Project Builder wizard application generates a working ICEfaces EE application template based on developer Q&A inputs.
- Oracle Mojarra JSF 2.1.3+ (2.1.6 is included).
- Apache MyFaces JSF 2.1.6 (included)
- Chrome 17
- Firefox 3.6 - 10
- IE 6, IE 7, IE 8
- Safari 5.x
- Android Chrome
- iOS Safari
A subset of component functionality, such as those requiring mouse-drag operations, are not supported on mobile devices with touch-screen interfaces.
- Apache Tomcat 6, 7
- IBM WebSphere 7, 8
- Oracle Glassfish v3.0, 3.1
- Oracle WebLogic 10.3.4+, 12c
- RedHat JBoss 5, 6, 7
- Liferay Portal 5, 6
- WebSphere Portal 7 (coming soon)
The following section describes the most commonly encountered known issues with this release:
- 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).
- The EE Composite Components and Composite Component Showcase sample application are not yet functional on Apache MyFaces JSF in this release.
- The TreeTable and Drag-and-Drop TreeTable components are not functional in this release.
- 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.
- This release includes the Mojarra JSF 2.1.6 runtime libraries.
- Note that Mojarra 2.1.4 introduced a hard 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 2.1.0-2.1.2 releases have 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.
- Partial State Saving bugs that might prevent the use of Partial State Saving in your application.
- 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 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, 7 (JEE 6 Platforms)
- It is recommended 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.
- 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 ACE themes to avoid unexpected conflicts when using the ACE components with Liferay 5.
- WebSphere Portal 7
- It is necessary to patch WebSphere Application Server 7 environments to at least 7.0.0.8, with the latest version, 7.0.0.13, recommended.
- ICEpush EE (Ajax Push) features are not yet functional with WebSphere Portal in this release.