View Source

h1. ICEfaces 2.1.0 Beta 2 Release Notes

*_November 3rd, 2011_*

!http://www.icefaces.org/docs/latest/resources/ICEfaces-logo.gif!


h2. Contents

These Release Notes include the following sections:

* [About This Release|#about]
* [Downloads|#downloads]
* [Notable Changes|#notablechanges]
** [Advanced Components|#acechanges]
** [ICEfaces Components|#icechanges]
** [Core Framework|#frameworkchanges]
** [ICEpush|#icepushchanges]
** [MyFaces Support|#myfaceschanges]
** [Portlet Support|#portletchanges]
** [Samples|#samplechanges]
** [IDE Integrations|#idechanges]
* [Known Issues|#knownissues]
* [Support|#support]

{anchor:about}
h2. About This Release
----
ICEfaces 2.1 Beta 2 is a preview build of ICEfaces 2.1 and is not suitable for production use.


{anchor:downloads}
h2. Downloads
----
ICEfaces 2.1 Beta 2 is available for download in the following formats:

* Binary and source-code [bundles|http://downloads.icefaces.org]
* IDE Tool [integration bundles|http://www.icefaces.org/main/downloads/os-downloads.iface?category=Eclipse,NetBeans]
* [Maven2 Public Repository|http://anonsvn.icefaces.org/repo/maven2/snapshots/org/] (jars only)

{anchor:notablechanges}
h2. Notable Changes in this Release
----

In addition to the notable changes listed below this release features substantial stability improvements across the product.

{anchor:acechanges}
h4. [ICEfaces Advanced Components]

* ace:checkboxButton, ace:linkButton, ace:pushButton
** Components now support typical passthrough attributes such as "onclick", "onkeypress", etc.
** Components and markup can now be nested inside ace:pushButton for increased button content flexibilty (ex. Labels with one or more images).

* ace:contextMenu
** The contextMenu has been improved to auto-position intelligently based on the available on-screen display space available when it is displayed.

* ace:dataExporter
** Has been re-implemented to not require the use of additional buttons, etc. to trigger the export.
*** As a result, the component no longer needs to be inside a UICommand component with <f:ajax disabled="true"/>.
*** NOTE: Applications will need to be revised to adopt the new component usage pattern.
** The following new attributes have been added:
*** 'label'
*** 'singleSubmit'
*** 'style'
*** 'styleClass'
** Component has been repackaged from "org.icefaces.ace.component.export" to "org.icefaces.ace.component.dataexporter".
*** NOTE: Applications using component binding will need to have their imports updated.

* ace:dataTable
** Support for n-level nesting of dataTables has been added in this release.
** New "reorderable=true/false" attribute on ace:column
*** Specify on a per-column basis if a column should be reorderable by the user.
** Filtered data is now cached rather than being refiltered during each render.
*** Additional component Java APIs have been added to support application manipulation of the filter cache as required.

* New ace:excludeFromExport Component
** Can be nested inside ace:dataTable sub-components (ace:column, ace:row, etc.) and components inside ace:column to indicate that a component should *not* be included in any ace:dataExporter export operations.
** Provides maximum application flexibilty for data export content customization.

* ace:expansionToggler
** Component has been repackaged from "org.icefaces.ace.component.expansionToggler" to "org.icefaces.ace.component.expansiontoggler".
*** NOTE: Applications using component binding will need to have their imports updated.

* ace:progressBar
** A new "changeListener" attribute is available specifying a progressChangeListener to receive notifications whenever the progress changes.

* ace:tabSet
** New "showEffect" and "showEffectDuration" attributes provide ability to specify custom transition effects to be used when displaying a selected ace:tabPane.
** Component has been repackaged from "org.icefaces.ace.component.tab" to "org.icefaces.ace.component.tabset".
*** NOTE: Applications using component binding will need to have their imports updated.


{anchor:icechanges}
h4. ICEfaces Components

* ice:inputRichText
** The CKeditor Javascript libraries required by the ice:inputRichText component are no longer automatically preloaded with every initial page render. Instead, the mandatoryResource configurations may be used to specify if the ice:inputRichText resources should be preloaded on the page.
** This provides increased efficiency to page loading in cases where the ice:inputRichText is not used on a page.

* ice:panelTooltip
** Improved auto-positioning when used in scrollable containers.


{anchor:frameworkchanges}
h4. Core Framework

* JSF Navigation Regression
** A serious regression issue that prevented the ICEfaces Javascript bridge from configuring properly when navigating from an ICEfaces page to another ICEfaces page has been corrected in this release.

* mandatoryResourceConfiguration
** The new keyword "all" can be used with the mandatoryResourceConfiguration context-parameter, or <icecore:config mandatoryResource="all"/> tag.
*** Specifying mandatoryResource="all" indicates that all available (on the classpath) component resources should be preloaded during the initial page load.
*** This is useful when an application introduces new components to the page during a dynamic ajax update, and you don't want to specify individual components (which is optimal from a performance/efficiency perspective), such as when debugging more specific mandatoryResource configuration issues.

* Default Error & Session Expired Dialog Styling
** The default ICEfaces error and session expired dialogs are now stylable via the following CSS classes:
*** "ice-status-indicator","ice-status-indicator-message", "ice-status-indicator-description".

{anchor:icepushchanges}
h4. ICEpush

* Fixed a regression issue that was causing 2 push updates to be sent for each actual update that was occurring.


{anchor:myfaceschanges}
h4. MyFaces Support

* Apache MyFaces JSF 2.1.3
** This release provides comprehensive support for using ICEfaces with the Apache MyFaces 2.1.3 JSF runtime, including with portlets.
** NOTE: The Advanced Components (ace) are not supported on MyFaces in this release. Support will be added prior to ICEfaces 2.1.0 final release.

{anchor:portletchanges}
h4. Portlet Support
* A regression introduced in 2.1.0.BETA that caused a Session Expired message to appear when navigating between two ICEfaces portlets on a page has been resolved.
* PortletFacesBridge Updated
** This release includes an updated PortletFacesBridge library (2.0.2-SNAPSHOT) which is required in order for use with the MyFaces JSF runtime.


{anchor:samplechanges}
h4. Samples

* Comp-Suite Sample Application
** A completely new set of ICEfaces Component (ice) demos have been added in this release.
** New and updated ICEfaces Advanced Component (ace) demos are also included.


{anchor:idechanges}
h4. IDE Integrations

* NetBeans 7
** This release provides an updated IDE integration for NetBeans 7.
*** Now requires projects to select the JSF library to use with ICEfaces (Mojarra or MyFaces).
** NOTE: You *must* update your NetBeans 7 installation with the latest module versions prior to installing the ICEfaces 2.1 NetBeans integration. See the NetBeans Integration Release Notes for details.

* Eclipse 3.7
** This release provides an updated IDE integration for Eclipse 3.7.
*** Features improved design-time renderers for the Advanced Components (ace).


{tip:title=Change Log}For a complete list of all changes in this release, see the related JIRA [Change Log|http://jira.icefaces.org/secure/IssueNavigator.jspa?reset=true&pid=10021&fixfor=10291].{tip}


{anchor:knownissues}
h2. Known Issues
----

The following section describes the most commonly encountered known issues with this release:

h4. Wiki Documentation

* The [ICEfaces 2 Wiki documentation|http://wiki.icefaces.org/display/ICE/ICEfaces+2+Documentation] has not yet been extensively updated to reflect changes introduced in ICEfaces 2.1 Beta. This work is ongoing.

h4. General

* JSPs are not supported by ICEfaces 2.0 - use Facelets.
* It is required to specify "h:head" and "h:body" tags in your ICEfaces application pages.
* The [Delta-Submit|Configuration] function does not support cases where an Ajax DOM update in the browser dynamically introduces new form elements into the DOM that were not part of the form when the page was originally loaded. In order to use Delta-Submit successfully all form elements / components must be present on the page at the time the page is loaded.
* Due to an apparent [bug|https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1492] in the Sun Mojarra JSF 2 runtime library, component binding is not reliable when used within a View scope.
** The recommended workaround is to use the ICEfaces "Window" or JSF "Session" scopes instead if component-binding is required. Alternatively, applications can be modified to avoid the requirement for using component-binding in View scope by using techniques similar to that used in the Data Paginator demo section of Compatible Component Showcase application. For details, see [ICE-5226|http://jira.icefaces.org/browse/ICE-5226?focusedCommentId=29297&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_29297].

h4. Advanced Components

The following Known Issues affecting the ACE Components are expected to all be resolved prior to ICEfaces 2.1 release.

* ace:accordion
** Note that ace:accordion attributes that currently reference "Tab" (TabChangeListener, OnTabChange, etc.) will be renamed PaneChangeListener and OnPaneChange in the next release.
* ace:dataTable
** Currently does not support nesting of ace:dataTables with all features.
** Currently not able to persist dataTable sort configuration settings.
** Dynamically updating the dataTable columns (changing number of columns) may not be reflected in the rendered datatable.
* ace:dataExporter
** Not exporting column headers when using column grouping.
* ace:columns
** Not supported in this release.
* ace:menu(s)
** Dynamic menus are not being re-evaluated after the initial render.

h4. MyFaces JSF

* Component Showcase (w/ MyFaces)
** Dynamic language change, data is typically "one update behind".
** ice:positionedPanel demo, only first drag works.
* Auction & Auction Monitor (w/ MyFaces)
** Both of these apps seems have an issue with the tight 1-second push loop used in those apps - they typically don't respond to clicks.
** Adjusting the <param-name>org.icefaces.sample.auction.interval</param-name> configuration parameter in the web.xml to 5000+ (5 secs) avoids the issue.
** AuctionMonitor can't close the bid box or chat.
* ICEfaces is not yet supported on Portals using MyFaces.

h4. Mojarra JSF

* 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.
* This release of ICEfaces includes the Mojarra JSF 2.1.3 release libraries which resolves the known issues noted above.
* 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.

h4. 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:
{code}<f:view contentType="text/html">{code}
** See http://jira.icefaces.org/browse/ICE-6138 for more information.

h4. Application Servers

* Tomcat 6.0
** In some cases, when running Tomcat on Windows, undeploying an ICEfaces 2 compatible application (i.e. that includes the icefaces-compat.jar) can cause an exception. See [http://jira.icefaces.org/browse/ICE-5222|http://jira.icefaces.org/browse/ICE-5222?focusedCommentId=27631&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_27631] 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: {code:xml}<Context antiJarLocking="true" antiResourceLocking="true"/>{code}
** Comp-Suite Sample Application.
*** The Comp-Suite sample application requires EL 2.2.1, which is not available in Tomcat 6. Tomcat 7 is required.

* Glassfish 3 / JBoss 6 (JEE 6 Platforms)
** It is necessary to have Mojarra JSF 2.1.0-FCS or greater (2.1.3 is recommended) installed. This may require updating the JSF Mojarra runtime libraries in Glassfish 3 or JBoss 6, depending on which JSF version is currently installed.

{anchor:support}
h2. Support
----

Open source community support is available at http://www.icefaces.org.

Please report any issues, questions, or comments regarding this release to the ICEfaces [Development Build Feedback|http://www.icefaces.org/JForum/forums/show/25.page] forum.

The [ICEfaces community forums|http://www.icefaces.org/JForum/forums/list.page] are available for questions, comments, or general discussions regarding ICEfaces 2.