ICEfaces™ Community Edition
v1.0.1 Release Notes
July 12th, 2006
|
 |
Overview
This document contains the following sections:
For release note information for earlier ICEfaces releases, refer to
the ICEfaces
Knowledge Base.
Understanding
ICEfaces Community Edition (CE)
ICEfaces delivers extensions to Java ServerFaces (JSF) that provide
an
AJAX-enabled rich presentation environment for JSF applications.
ICEfaces
brings value to any J2EE development project that needs to provide
superior
presentation capabilities to the web application user. In particular,
ICEfaces provides the following features:
- Smooth, incremental page updates that do not require a full page
refresh to achieve presentation changes in the application.
- Server-initiated asynchronous presentation updates for dynamic
near-real-time data push.
- The ICEfaces Component Suite, a complete rich JSF component suite
that fully leverages ICEfaces capabilities.
- Intelligent form processing that facilitates fine-grained
interactions with the user as they manipulate a form.
- API support for rapid development of group-aware and
collaborative applications, such as Chat, Webcast, social apps., etc.
- JSP or Facelets based development.
- Tool integrations for leading Java IDEs.
Learn More
This ICEfaces release comes with extensive documentation that will
help you
understand the product thoroughly. Documentation for this release is
located
in your installation directory at .../install_dir/ICEfaces-Community-1.0.1/docs/.
The
following documents are provided in PDF format:
- ICEfaces Getting Started Guide:
This guide takes you through product installation, environment
configuration, demo app installation, and a basic 5-stage tutorial.
This guide also contains information related to support for different
application server environments and development tools.
- ICEfaces Developer's Guide:
This guide contains information relevant to developing applications
with ICEfaces. It describes the ICEfaces architecture, and explains key
concepts that the ICEfaces developer should be aware of. It also
provides a complete reference guide that covers APIs, configuration,
components (including the ICEfaces Component Suite), and TLDs and
covers advanced topics like writing Direct-to-DOM renderers for custom
components.
Additionally, all ICEfaces documentation is also available on-line
at:
http://www.icesoft.com/support/icefaces_docs.html
Changes in
This Release
ICEfaces Community Edition v1.0.1 includes over 140 fixes and enhancements.
Click here
to review the complete Change
Log of changes made between the v1.0 and v1.0.1. releases.
The most notable changes are listed below:
General
- ICEfaces now supports using standard JSF components with ICEfaces
Component Suite components in the same JSF application, on different
JSP pages. See the ICEfaces Developers Guide for details (JSF
Integration - page 18).
- The ICEfaces Component Suite now supports Acegi Security for
complete support of the renderOnUserRole
and enabledOnUserRole
component properties in asynchronous ICEfaces applications. Since
ICEfaces makes use of the Acegi Security libraries directly, both the acegi-security-1.0.1.jar and
the spring.jar must be
located in a webapp-visible area, such as common/lib for tomcat.
- ICEfaces has now been verified against the Sun JSF 1.1_02 runtime.
- ICEfaces has now been verified against the Apache Tomcat v5.5 and
IBM WebSphere v6.1 application
servers.
ICEfaces Component Suite
- Improved focus management for ICEfaces Component Suite
components, including dynamic application-initiated component
requestFocus capabilities. Applications can now asynchronously set the
focus on specific components without user-action required. See
the ICEfaces Developers Guide for details (Using the ICEfaces Focus
Management API - page 30).
- Enhanced inputFile
component supports asynchronous uploading of files, enables
applications to display progress bars, etc. during file upload process.
See Known Issues for details on related
limitations when using FireFox/Mozilla browsers.
- New outputStyle
component supports linking ICEfaces Component
Suite theme CSS styles into pages, and supports browser-specific theme
CSS
styling.
- MenuBar - top level menuItems
can now fire action events and
have action listeners associated with them.
Facelets
- ICEfaces Facelets support is now compatible with
Facelets v1.1.11.
Example Applications and Tutorials
- A new ICEfaces Component Suite tutorial series is
available on the new www.icefaces.org ICEfaces community website. These
tutorials explore in-depth the various usage scenarios for many of the
ICEfaces Component Suite components.
- A new Integration tutorial
series is available that demonstrates integrating ICEfaces within
existing JSP-based applications. These tutorials are also available on
the www.icefaces.org ICEfaces community website.
Tools
- Sun Java Studio Creator 2 (Early Access 2)
- An updated version of the ICEfaces integration for Sun
Java
Studio Creator 2 (now EA2) is included in this release. It
corrects numerous
issues when using the ICEfaces Component Suite components at
design-time. For details, please see the Java Studio Creator 2
Integration release notes.
- NetBeans v5.0 / 5.5
- ICEfaces NetBeans integration provides project-level ICEfaces
integration support for developers who use the NetBeans v5.0 or v5.5
IDE for JSF application development.
- Several existing ICEfaces tool integrations have been updated to
work with recently updated IDE versions:
- Eclipse v3.2 with Web Tools Project (WTP) v1.5.
- BEA Workshop Studio for JSF v3.1.
Supported
Browsers, Application Servers, and Tools
Browsers
This release of ICEfaces has been certified on the following
Browsers:
Vendor
|
Product
|
Version
|
Microsoft
|
Internet Explorer
|
6.x+
|
Mozilla
|
Firefox
|
1.x+
|
Mozilla
|
Mozilla
|
1.7.x+
|
Apple
|
Safari
|
1.3+
|
Netscape
|
Netscape
|
7.x+ |
J2EE Application Servers
This release of ICEfaces has been certified on the following
Application Servers:
Vendor
|
Product
|
Version
|
Apache
|
Tomcat
|
5.0.28, 5.5
|
JBoss Inc.
|
JBoss Application Server
|
4.0.3
|
BEA Systems Inc.
|
Weblogic Server
|
8.1
|
Sun Microsystems
|
Sun Java System Application
Server
|
8.1
|
Oracle
|
Oracle Application Server
Container for J2EE (OC4J)
|
10.1.3
|
IBM
|
Websphere Application Server
|
6.0.0.1, 6.1
|
J2EE Integrated Development Environments (IDEs)
ICEfaces includes IDE integration bundles for the following
development
tools:
Vendor
|
Product
|
Version
|
Eclipse
|
Web Tools Platform/Eclipse
|
1.0/3.1.1,
1.5/3.2
|
IBM
|
Rational Application Developer
|
6.0.1
|
Oracle
|
JDeveloper 10g Studio Edition
|
10.1.3
|
BEA
|
Workshop Studio 3, Workshop
Studio for JSF
|
3.0, 3.1
|
Sun
|
Java Studio Creator 2
|
2.0 - Update 1
|
Sun
|
NetBeans
|
5.0, 5.5 Beta
|
Note that the tool integration bundles may be updated independently
from official ICEfaces releases.
ICEfaces Tools Support Knowledge Base contains the most recent
tools bundles.
Known Issues
The following are known issues with this release:
General
- If the JSF templates for an application are nested within
directories, the <jsp:directive.include
file="included.jsp"/>
will not work properly. The workaround is to create additional
mapping entries in the web.xml descriptor for each directory and
specify the included file location from application root.
For example, if we have the following
templates:
{path to servlet engine}/webapps/{application}/customer/start.jsf
{path to servlet engine}/webapps/{application}/customer/validate.jsf
{path to servlet engine}/webapps/{application}/account/transfer.jsf
...we need to add the following mappings:
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>/customer/xmlhttp/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>/account/xmlhttp/*</url-pattern>
</servlet-mapping>
...also, the jsp:directive.include should look like::
<jsp:directive.include file="/account/include.jsp"/>
<jsp:directive.include file="/customer/include.jsp"/>
- There are conditions in which the asynchronous communication
between the server and browser stops (such as the user pressing the
browser "stop" button or allowing their machine to sleep). In this
situation, the application server console will show the following
exception (including stack trace) with no functional impact:
java.lang.RuntimeException:
IncrementalNodeWriter Queue limit
exceeded: 51.
The user may need to refresh the page to continue using
the application.
- If at any time the asynchronous connection between the browser
and the server is lost due to a network interruption, reloading the
page
will generally restore normal operation from the previous application
state.
- ICEfaces pages included via <jsp:include> or
<tiles:insert> have distinct PersistentFacesContext objects even
if they are included by the same parent page. For this reason,
application-initiated renders will apply only to the inclusion
associated with the particular PersistentFacesContext.
- Inclusion of ICEfaces content from JSP is not compatible with
MyFaces.
- Integration of HTML renderers with the ICEfaces Direct-to-DOM
renderers is
generally possible but idiosyncrasies have been noted with a small
number of custom renderers. In these cases, enclosing the custom tag
with a standard JSF panelGrid tag in the source document can help to
correct the problem.
- Attempting to retrieve a Request parameter in the url using the
following syntax is not supported (returns null):
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(paramName);
A workaround for this issue is to retrieve the Request parameter using
the following alternative syntax:
((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getParameter(paramName);
- When using ICEfaces with com.icesoft.faces.concurrentDOMViews
enabled, reloading the page or opening the application with more than
one browser window simultaneously will prevent references to any
request-scoped beans from being removed, resulting in them being unable
to be garbage collected until the user session expires.
JSP Markup
- UIComponentBodyTag processing supports only a single call to
doAfterBody(). The full JSP lifecycle for iterative body processing is
not supported.
- The first-generation children of the DataTable's table-header and
column-header facets must be standard JSF components. For example,
plain markup cannot be contained on its own within these facets, it
must be wrapped in a panelGrid and the panelGrid, in turn, can be
contained within the facet.
- JSP Page to Document conversion escapes  , but  
in JSP Documents must be manually escaped by the developer as
&nbsp. Similarly, & characters must be escaped as
&.
- Non-JSF JSP tags (<jsp:xxx/>, etc.) embedded in JSP Pages
and Documents are ignored by the ICEfaces parser with the exception of
the inclusion mechanism (see Markup Reference in Developer's Guide for
details).
- Java code (<% ...%>, etc.) embedded in JSP Pages and
Documents is ignored by the ICEfaces parser with the exception of the
inclusion mechanism (see Markup Reference in Developer's Guide for
details).
- Input documents must be well-formed XML.
- Deprecated HTML elements, specifically the FONT element, do not
respond properly to DOM manipulation functions in the ICEfaces
client-side JavaScript bridge. (see HTML 4.01 Specification for details
on deprecated HTML Elements).
- Pages must contain both a <HEAD> tag and a <BODY> tag
so that ICEfaces can
properly add a link to its own custom JavaScript library.
- If the JSF tag
<f:loadBundle> is used in a
parent page and a child page included via <jsp:include />
references the loadBundle's properties, an exception is thrown.
- Any ICEfaces page included from a JSP via <jsp:include/>
must contain a <body> tag as the content of the <body> tag
is precisely the content inserted into the including page.
- Tiles tags are not supported within ICEfaces pages, but ICEfaces
pages may be included via Tiles.
- If multiple ICEfaces inclusions are performed by the same parent
JSP, each ICEfaces form must have a manually applied unique ID.
- JSP Pages are dynamically converted to JSP Documents for
processing by the ICEfaces parser, so it is important not to mix JSP
Page and JSP document types when performing static inclusion.
ICEfaces Component Suite
- All ICEfaces Component Suite components must be enclosed in a JSF
form component (i.e. ice:form,
h:form, or ui:form).
- Drag & Drop (panelGroup)
- In Internet Explorer dragging and holding an image will cause
the cursor to change to the not symbol. Operation returns to normal
with a second left mouse button click.
- Effects (various components)
- In Internet Explorer the Fade, Appear, and Pulsate effects
will not transition when used with select elements.
- In Safari the Highlight effect will does not work on buttons
and lists.
- inputFile
- When using Firefox / Mozilla with the inputFile component, if
the user interacts with the ICEfaces application while a file is being
uploaded, the file-upload operation may terminate abnormally. The
ICEfaces application itself will remain functional. In order to avoid
this possibility it is recommended that fileUpload operations be
performed in a modal panelPopup to prevent user-interaction with the
ICEfaces application while the file upload is in progress. For example,
the application may display a progress-bar in a modal panelPopup that
displays the upload progress while also preventing further
user-interaction while the upload is in progress.
- menuBar
- When a menu is expanded and the user clicks on one of the
menu items, and then the same
menu is expanded again, the last-clicked menu item will appear with a
dashed outline. This is
only an issue in the Firefox or Mozilla browser.
- panelPopup
- When using a modal panelPopup
it may be necessary to ensure that the body region of the page covers
the entire visible region of the document or the component used to
block user interaction with the document may not cover the entire page.
To accomplish this a surrounding DIV sized to 100% width and height can
be used to enclose all content in the document body. For example:
- When using a modal panelPopup
with this release a known issue exists that allows the user to continue
to interact with the page under the modal panelPopup component by using
the keyboard to navigate to, and interact with, any components on the
page.
- panelTabSet
- On Safari browsers only, the layout of the tabs is incorrect,
with horizontal spacing between the tabs.
- On Safari browsers only, the tab panel resizes when tabs are
selected.
Facelets
- When using an ice:outputDeclaration component in a Facelets
document on a JBoss application server, several warning messages may be
logged. These warnings do not affect the performance or behavior of the
component and can be ignored.
Application Servers
- BEA Weblogic Server 9
- In order to run ICEfaces on the BEA Weblogic Server 9, the html
and core tld files located in jsf-impl.jar should be extracted from the
jar file and placed into the WEB-INF folder of any application you want
to deploy.
- Websphere Application Server 6.0.0.1
- A bug in the application server prevents the Timezone Step 3+
tutorials from running correctly. A WebSphere patch is available from
IBM that resolves this issue: APAR numberPQ99195, http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg1PQ99195.
- The Component Effects demonstration in the ICEfaces Component
Showcase application doesn't display the effects when hosted on
WebSphere v6.0.0.1 server.
- Tomcat 5.5
- Tutorials bundled with the ICEfaces release will not build and
deploy to Tomcat 5.5 with MyFaces due to a conflict related to
jsp-api.jar. To build and deploy tutorials on Tomcat 5.5 with
MyFaces, it is necessary to modify the .../install_dir/ICEfaces-Community-1.0.1/tutorial/build.properties
and set tomcat55=true
prior to building the application.
Support
For help with this release, refer to http://support.icesoft.com
where you will find the ICEsoft knowledge base including articles,
slide shows, and other resources. In addition refer to the ICEfaces
Community Edition support forums where you can monitor and participate
in discussions on ICEfaces technology, tips, and techniques.
If desired, commercial support options are also
available from ICEsoft.
License
Notice
License agreements can be found in the .../install_dir/ICEfaces-Community-1.0.1/docs/license directory.
© Copyright 2005-2006. ICEsoft Technologies, Inc.