ICEfaces EE 4.0.0.GA Release Notes
April 2nd, 2015

About This Release
ICEfaces EE 4.0.0.GA is a certified ICEfaces Enterprise Edition release.
ICEfaces EE 4.0.0.GA includes all the new features and improvements that were introduced in the ICEfaces 4.0 open-source release, plus over 175 additional stabilizing fixes, ICEfaces EE-exclusive improvements, and verification on and support for additional server platforms.
Combined, this release includes:
- 25 new integrated ICEfaces Mobile Components (MOBI), including Native device support via BridgeIt.
- 11 new, and 30 enhanced ACE Components.
- 4 new ICECORE components, with additional JavaScript APIs for ICEfaces bridge features.
- Targets (and requires) JSF 2.2 and supports features such as HTML5 pass-through attributes, f:ajax reset, etc.
- Enhanced ICEpush EE library, now supports Cloud-Push capabilities.
- Use of the Mandatory Resource Configuration scheme for dynamically loaded components no longer required.
- Extensive updates to the ICEfaces Showcase sample application, including new ICECORE and Mobile Components demos.
 | If you are not already familiar with the changes introduced in ICEfaces 4.0, see the ICEfaces 4.0 Release Notes prior to using this release. |
Contents
Downloads
ICEfaces EE is available in both binary and source download bundles from the www.icesoft.org download page.
Changes in EE 4.0.0.GA
ICEfaces EE 4.0.0.GA includes over 170 fixes and improvements over ICEfaces 4.0.
Key improvements and EE exclusive features are listed below.
Additional Platform Support
The following servers have been added as Supported Platforms in this release:
- Apache Tomcat 7, 8
- IBM WebSphere AS 8.5
- Jetty 9
- Oracle Glassfish v4
- Oracle WebLogic Server 12c
- RedHat JBoss EAP 6.3
- RedHat WildFly 8.2
- Liferay Portal 6.2
ACE Components
New Components:
-
- JIRA - New ace:theme component - Adds ability to set 'org.icefaces.ace.theme' on a per-page level
- JIRA - New mobi:onlineStatus component
Enhanced Components:
- ace:autoCompleteEntry
- JIRA - autoCompleteEntry does not support objects as values with conversion
- ace:column
- JIRA - ace:column - Add new "sortWhenGrouping" boolean attribute to optionally support grouping without sorting
- JIRA - ace:column - Add new "hideSortControls" boolean attribute
- ace:dataTable
- JIRA - ace:dataTable - Add a 'caption' attribute
- ace:menuBar
- JIRA - ace:menuBar - Add a maxHeight attribute
- ace:pushButton
- JIRA - ace:pushButton - add "offlineDisabled" attribute
- JIRA - Add more padding to ace:pushButton
- ace:gMap
- JIRA - ace:gMap - Add support for multiple subcomponent instances
- JIRA - ace:gMapEvent, add 'disabled' attribute
- JIRA - ace:gMap - Add an actionListener when a gMapEvent is triggered
- ace:subMenu
- JIRA - ace:submenu - Add an action/actionListener or ajax event
- JIRA - ace:submenu - Set width depending on contents
- ace:textAreaEntry
- JIRA - ace:textAreaEntry - Add a 'readonly' and 'disabled' attribute
- ace:tooltip
- JIRA - ace:tooltip - Add the capability to dynamically render a tooltip when used with a dataTable
MOBI Components
- mobi:camera
- JIRA - mobi:camera - add HTML5 getUserMedia Support
- mobi:cloudPush
- JIRA - mobi:cloudPlush - add Desktop browser support
- mobi:dataView
- JIRA - allow dataViewColumn to be non-sortable
- mobi:fieldSetRow
- JIRA - Added "50%-split" positioning to mobi:fieldsetRow component
- mobi:flipSwitch
- JIRA - mobi:flipSwitch - add "offlineDisabled" attribute
ICECORE Components
- icecore:config
- JIRA - icecore:config - Add lazyWindowScope attribute
Core Framework
- JIRA - New JavaScript callback APIs for browser offline/online events
- JIRA - New ice.onBeforeUnload JavaScript callback API
Mobile Simulator
- The ICEfaces Mobile Simulator provides a development-time tool to preview your web-application in the approximate screen size/layout of various popular mobile devices.
- See the Mobile Simulator Wiki page for details.
ICEpush
- JIRA - Subdue noisy logging for icepush when browser window is closed before response returns to view
EPS (Enterprise Push Server)
EPS now supports the following platforms:
Server |
Stand-alone |
Clustered |
Apache Tomcat 7/8 |
Yes |
Yes 1 |
IBM WebSphere AS 8.5 |
Yes |
Yes |
Oracle GlassFish 4.2 |
Yes |
|
Oracle WebLogic Server 12c |
Yes |
Yes |
RedHat JBoss EAP 6.3 |
Yes |
Yes |
RedHat WildFly 8.2 |
Yes |
|
Load Testing
- The ICEfaces bridge protocol requirements have changed since ICEfaces EE 3.3 requiring existing test scripts to be updated to reflect the new requirements.
- For more information see the Load Testing Wiki Topics for EE-4.0.0.GA.
Samples
- ICEfaces Desktop and Mobile Showcase Sample Application
- JIRA - Showcase - Add new demo for mobi:cloudPush that uses the email provider
- JIRA - implement stacked bar series graph example in showcase application
- Refinements and bug fixes.
JSF Runtimes
- The Mojarra JSF library included in this release has been updated to v2.2.10.
- The MyFaces JSF library included in this release has been updated to 2.2.7.
 | Change Logs For a complete list of all changes included in this release (since the ICEfaces 4.0 open-source release), see the related JIRA Change Logs:
|
Key Features
ICEfaces Enterprise Edition includes a suite of enterprise software and documentation that will enhance your ICEfaces project from development, through testing and deployment. In addition to high quality certified software and tools, ICEfaces EE includes direct access to the extensive knowledge and expertise of our technical team.
ICEfaces-EE provides the following additional exclusive features in addition to all of the features available in ICEfaces:
Certified Software
ICEfaces EE has been certified against a wide-range of supported commercial and open-source application servers, portal-containers, and 3rd-party frameworks. See the Supported Platforms section for details.
Enterprise Push Server (EPS)
The Enterprise Push Server extends the standard Ajax Push capabilities of open-source ICEfaces with these critical enterprise-grade features:
- Multi-application Support. EPS supports concurrent use of multiple ICEfaces push-enabled applications on the same application server (host-name) in the same client browser. The ICEfaces open-source ICEpush library can only support a single push application from the same server (host-name) in the same browser at one time.
- Distributed management of blocking push connections across a cluster for increased application scalability.
- Load-balancing of Ajax Push connections across a cluster for increased application scalability.
- Fail over of Ajax Push connections across a cluster for high application availability.
- Asynchronous Request Processing (ARP) integration for increased Ajax Push scalability.
Core Framework Extensions
ICEfaces EE includes the Core Framework Extensions library that can improve the ICEfaces experience on EE-certified platforms:
- Embedded HTML Compatibility for Facelets Applications - Configurable support for wrapping HTML markup in Facelets pages into components at runtime.
Sample Applications
- EPS Poller Application - Demonstrates an Ajax Push application using EPS with various deployment scenarios, including fail-over support in a clustered deployment.
Functional & Load Testing Documentation, Tutorials, and Reference Materials
The ICEfaces EE Wiki includes extensive documentation, tutorials, and reference materials that clearly explain and demonstrate successful testing techniques for use with ICEfaces.
Deployment Guides
The ICEfaces EE Wiki provides extensive configuration and deployment guides for all supported application server and portal container platforms. In addition, server-specific step-by-step instructions are provided to enable fast, successful deployments for each of the following deployment scenarios:
- Stand-alone server
- Stand-alone server w/ EPS
- Clustered server w/ EPS (including fail-over)
Migration Guide
An ICEfaces 3 to ICEfaces 4 Migration Guide is available for those wishing to migrate their existing ICEaces 3.x applications to ICEfaces 4.0.
Supported Platforms
JSF Runtimes
- Oracle Mojarra JSF 2.2.10 (included).
- Apache MyFaces JSF 2.2.7 (included).
Java VMs
Browsers
- Chrome 41
- Firefox 31.6 ESR / 36
- IE 8 - 11 (MOBI Components require IE 10+)
- Safari 7, 8
Mobile Browsers
- Apple iOS Safari
- Google Android Chrome
- Windows Windows 8 Phone (IE)
Application Servers
Specific installation and configuration information for some platforms can be found in the EE4 - Server Configuration Appendices.
- Apache Tomcat 7, 8
- IBM WebSphere AS 8.5
- Jetty 9
- Oracle Glassfish v4
- Oracle WebLogic Server 12c
- RedHat JBoss EAP 6.3
- RedHat WildFly 8.2
Portal Containers
When using Liferay, specific versions of the Liferay Faces Bridge must be used for each Liferay release version. See the Liferay Faces Version Scheme page for details.
Enterprise Push Server (EPS) Supported Platforms
Server |
Stand-alone |
Clustered |
Apache Tomcat 7/8 |
Yes |
Yes 1 |
IBM WebSphere AS 8.5 |
Yes |
Yes |
Oracle GlassFish 4.2 |
Yes |
|
Oracle WebLogic Server 12c |
Yes |
Yes |
RedHat JBoss EAP 6.3 |
Yes |
Yes |
RedHat WildFly 8.2 |
Yes |
|
1 Requires ActiveMQ 5 for JMS support
Known Issues
The following section describes the most commonly encountered known issues with this release:
General
- Client state saving mode is not supported by ICEfaces - it is required to use SERVER state saving mode.
- 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).
deltaSubmit
- The following standard "h:" components are not supported by the deltaSubmit feature (due to a problematic rendering technique that they utilize):
- h:selectOneMenu
- h:selectManyMenu
- h:selectOneListbox
- h:selectManyListbox
- The work-around is to use similar alternative components instead, such as ace:simpleSelectOneMenu, ace:list, or ice:selectOneMenu.
ICEpush
- ICEpush (icepush-ee.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).
MyFaces JSF
- Session State Serialization
- By default, MyFaces serializes the state of the view into the session on every single request. While this allows the state of the view to be restored for that particular request, it can have an impact on performance as well as components that may not be designed for it. For these reasons we recommend to set the following context parameter in your application:
<context-param>
<param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
<param-value>false</param-value>
</context-param>
- See JIRA for a detailed explanation.
Browsers
- The following features rely on HTML5 support in the browser, and are not supported on IE8 or IE9:
- All MOBI components
- icecore:navigationNotifier
- ace:audioPlayer and ace:videoPlayer
- ace:textEntry "secret" mode is not supported on IE8.
- The transition animation effects are not supported on IE8 browsers to maintain performance and reliability.
Application Servers
- JBoss EAP 6.3, WebLogic 12c, WebSphere 8.5 (JEE 6 Platforms)
- It is required to have a supported Mojarra JSF 2.2 runtime installed and/or deployed with your application. This may require updating the JSF runtime libraries depending on which JSF version is currently installed in the server.
- Detailed instructions on how to deploy your application along with updated JSF libraries are provided in the ICEfaces EE Wiki Server Configuration Appendices.
Portal Containers
- Liferay 6
- Using the ACE Components with Liferay 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. See the Custom ACE Styles for Liferay Portal Wiki topic for details.
Sample Applications
- ICEfaces Showcase Portlets
- The ICEfaces Showcase Portlets are intended to be used with a single instance of each demo portlet on the same page at one time. Adding the same demo portlet to the page multiple times will result in component failures.
- This issue is related to the id-usage and structure of the demo application itself, and is not an inherent limitation of ICEfaces or the components themselves.
3rd Party Libraries
The license and version information for all required/included 3rd Party libraries for this release is available here.
Support
Please report any issues with this release to ICEsoft Customer Support.