ICEfaces EE 4.1.0.GA Release Notes

Table of Contents

ICEfaces EE 4.1.0.GA Release Notes

June 15th, 2016

About This Release


ICEfaces EE 4.1.0.GA is a certified ICEfaces Enterprise Edition release.

ICEfaces EE 4.1.0.GA includes all the new features and improvements that were introduced in the ICEfaces 4.1.0 and 4.1.1 open-source releases, plus over 90 additional stabilizing fixes, ICEfaces EE-exclusive improvements, and verification on and support for additional server platforms.

Combined, this release includes:

  • 10 all-new, and 35 enhanced ACE & MOBI Components.
  • New support for client-side validation.
  • All-new "Emporium" sample application demonstrates ACE component features, ICEpush, and best-practices
  • Enhanced ICEfaces Showcase sample application with new demos for all significant new features.
If you are not already familiar with the changes introduced in ICEfaces EE 4.0, see the ICEfaces EE 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.1.0.GA


ICEfaces EE 4.1.0.GA includes over 90 fixes and improvements over ICEfaces 4.1.1.

Key improvements and EE exclusive features are listed below.

Additional Platform Support

Support for the following platforms has been added in this release:

  • Microsoft Edge browser (Windows 10)
  • RedHat WildFly 10.0
  • Mojarra JSF 2.2.13
  • Myfaces JSF 2.2.9

ACE Components

The following enhancements have been made to the ACE components:

  • JIRA - Added form "Reset" capability to input components
  • JIRA - Added "accesskey" attribute support to all eligible ACE components
  • JIRA - Added support for client-side validators with "immediate=true" specified during ace:ajax submits

Enhanced Components:

  • ace:checkboxButton
    • JIRA - Render 'style' attribute on main element instead of root container
  • ace:dataExporter
    • JIRA - Add support for the encoding attribute
  • ace:dataTable
    • JIRA - Add new "enhMultiple" selection mode
    • JIRA - Add fast forward and fast rewind buttons for pagination
  • ace:dateTimeEntry
    • JIRA - "Now" button should honor timeZone attribute
  • ace:pushButton
    • JIRA - New support for enhanced form "reset"
    • JIRA - Apply 'styleClass' attribute to editable component element
    • JIRA - Render 'style' attribute on main element instead of root container
  • ace:gMapMarker
    • JIRA - Add ability to set marker with just an address
  • ace:linkButton
    • JIRA - New support for enhanced form "reset"
    • JIRA - Render 'style' attribute on main element instead of root container
  • ace:menu
    • JIRA - new 'showDelay' attribute
  • ace:menuBar
    • JIRA - new 'showDelay' attribute
  • ace:radioButton(s)
    • JIRA - Allow ace:radioButton(s) to take a null value
    • JIRA - Render 'style' attribute on main element instead of root container
  • ace:richTextEntry
    • JIRA - Update CKEditor to version 4.5.8 to support MS Edge Browser
  • ace:selectMenu
    • JIRA - add "showListOnInput" attribute
  • ace:submitMonitor
    • JIRA - Add support for displaying error messages asynchronously
  • ace:tabSet
    • JIRA - Add keyboard navigation support
  • ace:tree
    • JIRA - Add ability to get relevant node objects for different events

MOBI Components

  • mobi:dateSpinner, mobi:timeSpinner
    • [ICE-11016] - Remove automatic submit behaviour to make mobi input components consistent with other ICEfaces 4 components.
      • Applications will now need to embed an ace:ajax tag within the component to trigger a partial-page update.
  • mobi:flipSwitch
    • JIRA - Added form "Reset" capability to input components

Core Components

  • icecore:focusManager
    • [ICE-10975] - Added support for setting focus to buttons and links in addition to input components

Core Framework

  • [ICE-10998] - Improved 'ice.window', 'ice.view' parameter verification to reduce risk of JS injection attacks.
  • [ICE-10757] - Introduced new "org.icefaces.sessionTimeoutRedirectURI" context parameter.
    • The existing "sessionExpiredRedirectURI" context parameter will redirect whenever a user's session expires, either by a inactivity timeout or programmatically (user logout). The new "sessionTimeoutRedirectURI" parameter will redirect on session inactivity timeout only, providing a way for applications to easily route users to different pages depending on whether they actively logged-out vs. having their session expire due to inactivity.
  • [ICE-10850] - Global browser console logging - Added ability to select all logs easily.
  • [ICE-10851] - Global browser console logging - Added ability to write the logs to a file on the local filesystem.
  • [ICE-10992] - Introduced new "org.icefaces.fetchPendingNotificationsOnLoad" context parameter that allows the disabling of the auto-fetching of potential pending page updates when the viewport that is managing the ICEpush blocking connection changes.
  • [ICE-10129] - Add the capability to dynamically change the lang attribute of an <html> tag (requires special config., see the JIRA).

ICEpush EE

  • [PUSH-387] - Avoid blocking connection switchover whenever a new window is opened
  • [PUSH-368] - Improve LocalPushGroupManager's queue handling
  • [PUSH-381] - Add checks for illegal arguments to the PushContext
  • [PUSH-386] - Improve HTML5 localStorage detection
  • [PUSH-364] - Fixed stuck non-container thread using Tomcat 7/8 ARP

EPS (Enterprise Push Server)

EPS now supports the following platforms:

  • [PUSH-359] - Add Jetty 9 support for stand-alone with EPS environments
  • [PUSH-358] - Add WildFly 8 stand-alone and cluster support

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.x.

Samples

  • ICEfaces Desktop and Mobile Showcase Sample Application
    • Significant enhancements as per ICEfaces 4.1.x.
    • Refinements and bug fixes.

JSF Runtimes

  • The Mojarra JSF library included in this release has been updated to v2.2.13.
  • The MyFaces JSF library included in this release has been updated to 2.2.9.
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.x.


Supported Platforms


Java VMs

  • Java 6 - 8

JSF Runtimes

  • Oracle Mojarra JSF 2.2.13 (included).
  • Apache MyFaces JSF 2.2.9 (included).

Browsers

  • Apple Safari 8, 9
  • Google Chrome 50
  • Microsoft Edge (Windows 10)
  • Microsoft Internet Explorer (IE) 8 - 11 (MOBI Components require IE 10+)
  • Mozilla Firefox 38 ESR / 45

Mobile Browsers

  • Apple iOS Safari
  • Google Android Chrome

Application Servers

Specific installation and configuration information for some platforms can be found in the [Server Configuration Appendices].

  • Apache Tomcat 7, 8
  • IBM WebSphere AS 8, 8.5
  • Jetty 9
  • Oracle Glassfish v4
  • Oracle WebLogic Server 12c
  • RedHat JBoss EAP 6.3
  • RedHat WildFly 8.2, 9.0, 10.0

Portal Containers

  • Liferay Portal 6.x

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
Jetty 9 Yes  
Oracle GlassFish 4.2 Yes  
Oracle WebLogic Server 12c
Yes
Yes
RedHat JBoss EAP 6.3
Yes
Yes
RedHat WildFly 8.x, 9.x, 10.x
Yes 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
    • ace:gmap (Google Maps doesn't support IE8 or IE9)
    • 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.
  • iOS Safari Browser
    • Window Scope functionality is restricted when running on the iOS variant of the Safari browser. The iOS Safari browser does not fire the "beforeunload" event when a page is unloaded. This interferes with ICEfaces Window scope tracking that relies on the mentioned event as noted below:
      • Using redirect navigation will result in a new Window scope instance being created for the target page of the redirect. The best workaround for this issue is to use forward navigation (where the redirect tag is not used in the navigation rule) instead. This will ensure that the window state is not lost (see ICE-11301).
      • Window scope instances will not be proactively cleaned up when the window is closed, but will be cleaned up when the session expires (see ICE-10326).

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.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

© Copyright 2017 ICEsoft Technologies Canada Corp.