ICEfaces 2.1.0 Beta Release Notes

You are viewing an old version (v. 9) of this page.
The latest version is v. 19, last edited on Feb 01, 2012 (view differences | )
<< View previous version | view page history | view next version >>

ICEfaces 2.1.0 Beta Release Notes

October 4th, 2011

Contents

These Release Notes include the following sections:

About This Release


ICEfaces 2.1 Beta is a preview build of ICEfaces 2.1 and is not suitable for production deployments.

Downloads


ICEfaces 2.1 Beta is available for download in the following formats:

Notable Changes in this Release


ICEfaces Advanced Components

ThemeRoller Support

  • All ACE components have been updated to support the jQueryUI ThemeRoller themeing system.
  • The ThemeRoller system provides an extensive collection of ready-to-use themes, as well as an intuitive web-application for creating custom themes easily without requiring extensive CSS knowledge.
  • NOTE: The previous ACE component skinning approach, including CSS style-classes and class-names are no longer supported. Existing applications must be updated to use the ThemeRoller-based style classes.

All-new ace:datatable!

  • Integrated pagination, scrolling, and lazy-data-loading (scroll down to load more data).
  • Column re-ordering via drag-and-drop of the column header.
  • Single and multiple row and cell selection.
  • Single and multi-column sorting.
  • Row data-filtering with configurable filter criteria (beginsWith, EndsWith, existsIn, etc.)
  • Expandable rows and panels.
  • Optional configuration panel for user-specified column visibility, ordering, and sort-criteria that can be persisted across sessions.
  • Optimized rendering and data-transport for efficiently viewing large data-sets.

More New Components!

  • ace:accordion
  • ace:ajax
  • ace:confirmDialog
  • ace:dataExporter
    • Exports dataTable content to CSV, XLS, PDF, and XML format.
    • Optionally include dataTable column headers and/or footers in the export.
    • Optionally export specific columns only.
    • Optionally limit export to only include a single dataTable page (when paginated).
    • Optionally limit export to only include currently selected dataTable rows.
  • ace:dialog
  • ace:draggable / ace:droppable
  • ace:maskedEntry
  • ace:menu / ace:menuBar / ace:menuButton / ace:contextMenu
  • ace:notificationPanel
  • ace:panel
  • ace:printer
  • ace:progressBar
  • ace:resizable
  • ace:tooltip

Updated & Enhanced Components

  • ace:animation has been re-implemented to use jQuery effects.
    • Only standard jQuery effect types are supported. Custom transition types are no longer supported by the component.
  • ace:checkboxButton, ace:linkButton, and ace:pushButton now support ThemeRoller themes.
  • ace:dateTimeEntry is now based on the jQuery calendar and has the following additional enhancements:
    • Supports ThemeRoller themes.
    • Optionally display multiple-months in popup calendar.
    • Initialize multi-month popup calendar to display Last/This/Next, This/Next/TheOneAfterThat, or any starting month desired.
    • Optionally display Year / Month drop-down menus in popup calendar.
    • Optionally include a "Today" button to navigate to the current date.
  • ace:fileEntry now supports ThemeRoller themes.
  • ace:sliderEntry has been re-implemented using the jQuery slider control.
    • The showLabel attribute is currently not supported.
  • ace:tabSet / ace:tabPane
    • Added new "cacheOnClient" and "cacheStatically" attributes to ace:tabPane to permit maximum client-caching behavior flexibility.
    • Updated to support ThemeRoller themes.

ACE Repackaging

  • The entire Advanced Component Environment and all components have been repackaged to better isolate the ACE library from other ICEfaces framework libraries.
  • Java code formerly located under the "org.icefaces.component" and "org.icefaces.generator" packages is now located under the "org.icefaces.ace" package.
  • JavaScript functions formerely namespaced under the "ice.component" name-space are now under the "ice.ace" name-space.
  • Any pre-existing application code that imports the ACE packages will need to be updated.

Core Framework

  • Custom Update Support
    • The ICEfaces Direct-to-DOM rendering engine has been enhanced to support partial component tree rendering that may consist of regular DOM-diffed regions combined with new sub-component custom update regions that are excluded from DOM differencing. This feature enables richer ACE component interactions and efficiencies for specific use-cases.
  • Window Scope
    • Support for @PostConstruct and @PreDestroy annotations has been added to the ICEfaces custom Window scope.
  • Delta Submit Improvements
    • The Delta Submit implementation has been refactored to improve efficiency and robustness.
  • New messagePersistence Configuration
    • New configuration parameter and icecore:config attribute have been added to support configuration of ICEfaces "intelligent message caching" feature.
    • <context-param>
      	<param-name>org.icefaces.messagePersistence</param-name> 
              <param-value>true</param-value> 
       </context-param> 
    • Alternatively, the new <icecore:config messagePersistence="true"/> tag may be used to enable/disable message caching within a page.
  • Optimizations
    • Several aspects of the core framework have been optimized to reduce execution time and/or Java heap consumption.

ICEpush

  • New <icecore:push group="chat"> Tag
    • A new <icecore:push group=""> tag has been added to make push group registration easier.
    • Multiple occurrences of this component within a view can be used to add the current view to different groups.
    • Removal of expired views from the group currently relies on the automatic clean-up of the groups themselves.
  • Automated ICEpush Setup/Teardown
    • By default, ICEpush will now automatically setup and teardown it's blocking connection on a per-page basis, depending on whether or not any ICEPush groups are active on the page.
    • Previously, ICEpush was lazily initialized, but not actively teared-down if a once active push group became inactive on the page.
  • New lazyPush Configurability
    • A new configuration parameter has been added to disable the automated lazy initialization and teardown of ICEpush, forcing ICEpush to keep its blocking connection active at all times.
    •  <context-param> 
              <param-name>org.icefaces.lazyPush</param-name> 
              <param-value>false</param-value> 
          </context-param>  
    • There is also an attribute for the ice:config tag that allows page-level configuration. This take precedence over the context parameter setting.
       <icecore:config lazyPush="false"/> 

ICEfaces Components

  • Improved support for auto-scrolling when dragging a panelGroup inside a scrollable <DIV>.
  • The ice:dataExporter now uses converters when exporting data.
  • Added "partialSubmit" attribute to the ice:selectInputText component.
  • Added "escape" attribute to ice:message and ice:messages.
  • Added tabIndex attribute to ice:dataPaginator, ice:rowSelector/ice:datatable, and ice:panelCollapsible.

Samples & Tutorials

  • New Comp-Suite Sample Application
    • An all-new ICEfaces Component Suite (comp-suite) sample application is introduced in this release.
    • Currently features preliminary demonstrations for the new ACE components.
    • Comp-Suite demo is in "preview" status and does not reflect final styling and behavior.
    • The "comp-suite" sample application replaces the "ace-showcase" sample application from ICEfaces 2.0 ("ace-showcase" has been removed).

Apache MyFaces JSF 2.1.3

  • This release provides preliminary support for ICEfaces 2 on Apache MyFaces JSF 2.1.3, and includes the MyFaces 2.1.3 libraries in the download bundles.
  • See the Known Issues section for current limitations.

Mojarra JSF 2.1.3

  • This release has been tested with Mojarra JSF 2.1.3, and includes the JSF 2.1.3 library in the download bundles.

IDE Integrations

  • NetBeans 7
    • This release provides an updated IDE integration for NetBeans 7.
    • 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.
Change Log
For a complete list of all changes in this release, see the related JIRA Change Log.

Known Issues


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

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

Advanced Components

Liferay Portal 6

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.

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.

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

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 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:
      <Context antiJarLocking="true" antiResourceLocking="true"/>
  • 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.

Support


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

The ICEfaces community forums are available for questions, comments, or general discussions regarding ICEfaces 2.

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

© Copyright 2017 ICEsoft Technologies Canada Corp.