ICEfaces 4.0.0.RC1 Release Notes
July 23rd, 2014
About This Release
ICEfaces 4.0.0.RC1 is a release candidate preview release of ICEfaces 4.0.
- 25 new integrated ICEfaces Mobile Components (MOBI), including Native device support via BridgeIt.
- 9 new, and 27 enhanced ACE Components
- Support for JSF 2.2 features such as HTML5 pass-through attributes, f:ajax reset, etc.
- Enhanced ICEpush 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 samples, including new Mobile Components demos
ICEfaces is available for download in the following formats:
What's New in 4.0.0.RC1?
RC1 is a stabilizing preview release including over 110 improvements and bug fixes (since 4.0.0.BETA).
- ICE-10100 - Changed the default client event to "valueChange" for the following input components:
- ICE-10103 - Rename default ajax event 'activate' to 'action' for action components (to better align with standard JSF components)
- The "activate" event will continue to function as an alias to the new "action" event for backwards compatibilty.
- ICE-10132 - Changed the default execute scope to "@this" instead of "@all" for the following components/events (to better align with standard JSF components):
- ICE-8967 - ACE Component TLD documentation now includes the default execution and rendering scope for each client event, as well as the default client event for each component.
- ICE-9029 - Added new "varyBarColor" attribute to allow bars of different colors within the same series.
- ICE-9822 - Added new "barWidth" attribute.
- Improved Wiki documentation for new ICECORE components and features.
- ICE-9234 - Added new "org.icefaces.redirectOnExceptionMapping" configuration parameter to support redirecting users to specific pages for different Exception types.
- ICE-10090 - Enhanced PortableRenderer and supporting classes to allow push group registration and de-registration of views associated to the current session.
- ICE-9953 - Added optional support for JSF Parameter Namespacing.
- Mostly used for Portlets at this time, requires Mojarra JSF 2.2.7+ and Liferay 6.2+, and associated LiferayFacesBridge.
- Mojarra JSF has been updated to v2.2.7 in this release.
- MyFaces JSF has been updated to 2.2.3 in this release.
What's New in 4.0.0.BETA?
New Mobile (MOBI) Components
- ICE-9869 - New mobi:dataView, dataViewColumn(s), and dataViewDetails components
- ICE-9871 - New mobi:dateSpinner component
- ICE-9857 - New mobi:deviceResource component
- ICE-9876 - New mobi:fieldSetGroup, mobi:fieldSetRow components
- ICE-9870 - New mobi:flipSwitch component
- ICE-9856 - New mobi:geolocation component
- ICE-9866 - New mobi:outputList, outputListItem, and outputListItems components
- ICE-9865 - New mobi:pagePanel component
- ICE-9872 - New mobi:timeSpinner component
- ICE-9873 - New mobi:viewManager, mobi:view components
- New MOBI Native (BridgeIt) Components
- ICE-9850 - New mobi:augmentedReality components
- ICE-9854 - New mobi:camera component
- ICE-9853 - New mobi:camcorder component
- ICE-9838 - New mobi:cloudPush component
- ICE-9851 - New mobi:fetchContact component
- ICE-9855 - New mobi:microphone component
- ICE-9852 - New mobi:scan component
- ICE-9848 - New ace:audioPlayer component
- ICE-9476 - New ace:buttonGroup container
- ICE-9832 - New ace:dynamicResource component
- ICE-9304 - New ace:growlMessages component
- ICE-9402 - New ace:imageViewer component
- ICE-9846 - New ace:qrcode component
- ICE-9477 - New ace:radioButton component
- ICE-9845 - New ace:splitPane component
- ICE-9849 - New ace:videoPlayer component
- ICE-9436 - Support for JSF 2.2 HTML 5 passthrough attributes
- ICE-9672 - Support JSF 2.2 resetValues with ace:ajax
- ICE-9623 - Add HTML5 'placeholder' attribute support
- [ICE-9469] Export image to server
- ICE-9203 - Add support for values of any type
- ICE-9216 - Add support for input elements in the row facet
- ICE-9623 - Add HTML5 'placeholder' attribute support
- ICE-8931 - Add ace:delegate support to ace:contextMenu for use in dataTables, UIData components
- ICE-9471 - Now automatically supports maintaining header and body column hierarchy with ace:columnGroup
- ICE-9108 - Row selection when the user clicks anywhere in a row
- ICE-9258 - Add new "rowClick" and "rowDblClick" ace:ajax events
- ICE-9408 - Support Page Up Page Down Keyboard Pagination in ace:dataTable
- ICE-9532 - Improve dynamic stylesheet performance by using cssText instead of insertRule
- ICE-9654 - Support localized text in paginatorTemplate
- ICE-9008 - Remove paginator dependency on YUI (reduces resource requirements)
- ICE-9235 - Support exporting summary rows defined in an ace:row tag
- ICE-9143 - Populate localisation via server-side DateFormatSymbols
- ICE-9147 - Add capability to add other components to the header section
- ICE-9537 - Add 'style' attribute
- ICE-6204 - Add multi-file upload support
- ICE-6637 - Add auto-upload feature to ACE fileEntry
- ICE-9267 - Add ability to disable message(s) persistance
- ICE-9223 - Normalize the way ace:gMap handles its state
- ICE-9241 - Use JSONBuilder for rendering scripts in ace:gMap components
- ICE-9446 - Add support for ace:multiColumnSubmenu
- ICE-9097 - Add support for different types of URL encodings in ace:menuItem
- ICE-9251 - Add support for the f:setPropertyActionListener tag
- ICE-9085 - Add support for transition effects
- ICE-9324 - Swap the ace:message(s) icons for info and warn
- ICE-8914 - Add 'disableInputs' attribute to disable all input fields in the panel
- ICE-9776 - Remove support for YUI CSS classes
- ICE-9120 - Add ace:ajax "blur" or "change" event support
- ICE-9802 - Add support for reverting user edits when clicking the 'X' button
- ICE-9203 - Add support for values of any type
- ICE-9106 - Add a "Restore Defaults" convenience button
- ICE-9504 - Support for keeping stacked columns together
- ICE-9637 - Support localizable label text
- ICE-9623 - Add 'placeholder' HTML5 attribute support
- ICE-9001 - Add 'dragHandle' attribute
- ICE-9709 - Remove dependency on Apache commons-collections.jar
- ICE-9226 - Make sample ACE themes accessible via maven
- Update jQuery to v1.11
- Update CKEditor library to 126.96.36.199
- See the icefaces/lib/versions-licenses.html file in the release bundle for details on all included libraries.
- ICE-9483 - New icecore:focusManager component
- ICE-9479 - New icecore:idleMonitor component
- ICE-9734 - New icecore:jsEventListener component
- ICE-9239 - Make the icecore:refresh "interval" attribute dynamically configurable
- ICE-9529 - Add ability to configure the base path of an application
- ICE-9821 - Make 'org.icefaces.generateHeadUpdate'=true by default (removes need to use mandatoryResource Configuration)
- ICE-9513 - Support JSF 2.2 f:ajax resetValues
- ICE-9737 - Add support for "sessionExpiredRedirectURI" config param
- ICE-8719 - New client-side pending session-timeout warning event and dialog
- ICE-9502 - Provide load only dependency configuration for resources
- ICE-9681 - Modify DOMResponseWriter to render passthrough attributes
- ICE-9279 - Propagate submittedValues between lifecycles
- ICE-6092 - Optimization: Make 'ice.submit' route via default submit redirection
- ICE-8922 - Optimization: Implement server-side determination of 'onElementUpdate' callback lists for each DOM update
- ICE-9263 - Support resource coalescing in portlet environments
- ICE-9470 - Make 'Diff propagated to root but no ID set' error debug logging configurable
- ICE-9790 - Replace YUI Compressor and ShrinkSafe JS minifiers with Google's Closure Compiler
- ICE-9710 - Name the faces-config.xml resources to allow ordering of resources
- PUSH-298 - ICEpush now works in cookieless mode
- PUSH-268 - Introduce new Push Delivery Window concept into Push API
- PUSH-266 - Add listener functionality to NotificationProviders and BlockingConnectionServer
- PUSH-242 - PushContext's public constructor should be made private and getInstance() should create a new instance
- PUSH-264 - Make settings of PushStormDetectionServer configurable
- PUSH-265 - Throttle push instead of shutting down when Push Storm is detected
- PUSH-286 - Re-factor Request/Response and related APIs
- PUSH-240 - Initialize ICEpush blocking connection only after document loaded
- ICEfaces Showcase Sample Application
- A new Mobile Showcase page has been added to demonstrate the new MOBI adaptive-layout containers and components.
- This sample is best viewed on a mobile device, but HTML5-desktop browsers can also be used.
- Note that the "Native" components require the BrideIt mobile app. to function, thus, may only be used on a supported mobile device.
- A large set of new demonstration panels have been added to illustrate key features of the new and improved ACE components.
- The Mojarra JSF library included in this release has been updated to v2.2.4.
For a complete list of all changes in this release, see the related JIRA Change Log.
- Oracle Mojarra JSF 2.2.x (2.2.7 included)
- Apache MyFaces JSF 2.2.x (2.2.3 included)
- Chrome 36
- Firefox 30
- IE 8 - 11 (MOBI Components are not supported on IE8)
- Safari 7
- Apple iOS Safari
- Google Android 4.x Chrome
- Microsoft Windows 8 Phone
- Apache Tomcat 7
- Oracle Glassfish 4
- RedHat WildFly (JBoss) 8
- Possible to use with older none EE7 servers if JSF 2.2 libraries can be successfully configured for use.
The following section describes the most commonly encountered known issues with this release:
- 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.
- The following standard "h:" components are not supported by the deltaSubmit feature (due to a problematic rendering technique that they utilize):
- The work-around is to use similar alternative components instead, such as ace:simpleSelectOneMenu, ace:list, or ice:selectOneMenu.
- ICEpush (icepush.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), which is included in ICEfaces EE (Enterprise Edition).
- This is necessary because the browser cannot support multiple concurrent push connections, so all push traffic must be multiplexed at a single point on the server.
- This release requires JSF 2.2+. JSF 2.1 runtimes are not supported.
- 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:
- See http://jira.icesoft.org/browse/ICE-6138 for more information.
- No portal containers are supported in this BETA release. Portal support is planned for ICEfaces 4.0.0 final.
3rd Party Libraries
The license and version information for all required/included 3rd Party libraries for this release is available here.
Open source community support is available at http://www.icesoft.org.
The ICEfaces Community Forums are available for questions, comments, or general discussions regarding ICEfaces.
Commercial support agreements are also available.