ICEfaces 4.0 Roadmap Update

I’m pleased to announce that the next ICEfaces release will be 4.0!

ICEfaces 4.0 will provide JSF 2.2 platform support in ICEfaces, including integration with JSF 2.2 features such as HTML5 pass-through attributes, and resetValues support. In addition to being based on JSF 2.2, we have many exciting new features and improvements planned for this release:


  • Migration of the ICEmobile MOBI JSF components directly into ICEfaces 4.0. With the increasing frequency of applications needing both desktop and mobile facing pages we’ve decided to move the MOBI JSF components directly into ICEfaces proper to better support combined mobile and desktop projects. These mobile-specific components are refined versions of the ICEmobile 1.3 components with some changes being made based on user experience with the components:
    • The MOBI components CSS styling approach is being refactored to be based on the same jQuery UI ThemeRoller scheme that the ACE components already use. Moving to the same styling scheme will reduce the number of different CSS themes that need to be supported by users wanting to create customized themes. In addition, it will provide a much simpler, more consistent approach when custom styling applications that contain both MOBI and ACE components, which is expected to the be the normal configuration for most mobile-targeted applications.
    • Certain components are being moved out of MOBI and into ACE as they are generally useful in all applications, whether they be mobile or desktop in nature.
    • There are also several ICEmobile MOBI components that are being dropped in favour of existing ACE components with the same or very similar functionality. In some cases, the ACE components are being enhanced to better support he mobile use cases directly.
  • New ACE components including:
    • ace:breadCrumbMenu
    • ace:buttonGroup
    • ace:graphicImage
    • ace:radioButton
    • ace:fileEntry supports multiple-file uploads, and Servlet 3 multi-part uploads
    • ace:message, ace:messages, and ace:growlMessages
    • ace:qrCode
    • ace:splitPane
    • Plus a large number (50+) of enhancements to existing components!
  • ACE components no longer require the use of mandatoryResource Configuration when introduced to the page dynamically, this greatly simplifies their use and avoids a common development pitfall when components do not function due to lack of mandatoryResource Configuration.
  • The legacy ICE (Compat) components will not be brought forward into the 4.0 release. Most of these components rely on an earlier ICEfaces Direct-to-DOM rendering technique that isn’t compatible with many newer JSF features, such as partial-page rendering (f:ajax). Rather than invest the engineering resources to bring these up to spec for JSF 2.2, we’ve decided to focus our energies on further evolving the newer ACE and MOBI components.

Core Framework

  • Improved resource ordering/loading and coalescing features (support for dynamically coalescing all CSS and JavaScript resources specified on the initial page load into a single file of each type).
  • New icecore:focusManager component provides useful automated focus management behaviors as well as simplified application controlled focus management.
  • Client-side pending session timeout warning event
  • Client-side JavaScript API for user inactivity detection and icecore:idleMonitor component
  • Add ability to configure the base path of an application
  • Add ability to update specific attributes in the user DOM instead of whole elements

Technology Platform Evolution

  • We will take advantage of the 4.0 release to adopt newer technology standards and let go of some legacy technologies in an effort to reduce ongoing testing and maintenance costs and to provide best-in-class access to newer features:
    • JSF 2.2 / Servlet 3.0
    • IE8+ (no official support for IE7)
    • JDK 1.6+

ICEfaces 4.0 Beta is planned for release in February,  with 4.0 final by the end of March.


Leave a Reply

Your email address will not be published. Required fields are marked *

1 × three =