Friday, 30 July 2010

Working with JSF's f:convertDateTime and java.util.Date

During a recent class I taught on ICEfaces, one of my students asked me why the calendar was often one day off from what got posted back to the model managed-bean setter.

For example:
// Facelets XHTML Markup:
<ice:selectInputDate value="#{modelManagedBean.dateOfBirth}">
    <f:convertDateTime pattern="MM/dd/yyyy" />
</ice:selectInputDate>

// Java Code
import java.util.Date;
public class ModelManagedBean {

  private Date dateOfBirth;

  public Date getDateOfBirth() {
    return dateOfBirth;
  }

  public Date setDateOfBirth( Date dateOfBirth) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm z" );
    // The value printed here during postback was often wrong by 1 day
    System.out.println("dateOfBirth=" + dateFormat.format(dateOfBirth));
    this.dateOfBirth = dateOfBirth;
  }
}


Basically, the JSF DateTimeConverter Javadoc states that if the timeZone attribute is not specified, then the default is GMT. But when you create an instance of java.text.SimpleDateFormat, the default TimeZone is equal to TimeZone.getDefault() which (for me) was EST. So the solution I explained to my students was to make sure we were comparing apples-to-apples the whole way through, by using GMT for the SimpleDateFormat printing, like this:

dateFormat.setTimeZone(TimeZone.getTimeZone("GMT" ));

And of course, I think it's the recommended practice to run your application server JVM in GMT. That would eliminate the problem entirely. But when you're using Eclipse and Tomcat for development, that's typically not the case.

 

Posted by neil.griffin at 1:01 PM in Entries by Neil Griffin

Thursday, 22 July 2010

The ICEfaces 2.0 Component Story

ICEfaces 2.0 will include two component sets; the existing ICEfaces 1.x Component Suite components (aka ICEfaces "Compat" Components in ICEfaces 2.0), and the all-new ICEfaces 2.0 Components.


ICEfaces "Compat" Components

ICEfaces 2.0 includes the ICEfaces 1.x Component Suite components in a "Compatibility" (or "Compat") library (icefaces-compat.jar). The purpose of the compatibility library is two-fold:

1. Provide key ICEfaces 1.x APIs on top of ICEfaces 2.0 to make porting existing ICEfaces 1.x applications easier. ICEfaces 2.0 uses different packaging and APIs than 1.x and is not directly backwards compatible. The Compatibility APIs basically provide key 1.x APIs as wrappers for the new 2.0 APIs.

2. Provide the ICEfaces 1.x Component Suite for use on ICEfaces 2.0. Since the ICEfaces 1.x Components also rely on many of the ICEfaces 1.x APIs internally, they also require using the Compatibility APIs to function on ICEfaces 2.0.

Note that there is nothing JSF 1.2 about the Compatibility APIs and Components, they are meant to run only on JSF 2.0 on top of ICEfaces 2.0. The "Compatibility" term refers to ICEfaces 1.8 compatibility, not JSF 1.2.


New ICEfaces 2.0 Components

There is also a new generation of ICEfaces components under development for ICEfaces 2.0, based on a new Component Development Platform (CDP). The goal of the new CDP is to greatly ease the effort required to create and maintain new ICEfaces 2.0 components, providing a sophisticated set of features to reduce code replication and the amount of code that must be hand-crafted and maintained, resulting in improved developer productivity, and more efficient components at runtime.

These components will be delivered gradually, with the initial set of new components arriving along with the new CDP in the ICEfaces Beta2 release. The initial set of new components will include new File Upload, Slider, DateTimeSelector, and TabPanel components. When ICEfaces 2.0 ships final in the fall we expect to have 5 - 10 new components ready. More new components will be delivered after that in 2.1, etc. The ultimate goal is to provide replacement component functionality for virtually the complete ICEfaces 1.x Component Suite (not necessarily in a one-to-one relationship with existing components), but this is going to take some time to achieve.

Another aspect of the new component initiative is to invite and support community involvement and contributions by hosting an ICEfaces 2 Community Component Showcase and repository on the www.icefaces.org site, allowing ICEfaces Contributor's to submit their own CDP-based components for use and review by the community. This will be in place around the time of ICEfaces 2.0 final release.

We expect that most early ICEfaces 2.0 applications will take advantage of the 1.8 Compat Components alongside std. JSF components and the new ICEfaces 2.0 Components, as required.


One of the great aspects of ICEfaces is that it provides a comprehensive set of framework-level features that provide substantial benefits over using stock JSF 2, regardless of the component-sets being used.

Technorati Tags:

Posted by ken.fyten at 7:13 PM in Entries by Ken Fyten

ICEfaces 2.0 Beta 1 & Beta 2

Release Schedule Update

The good news is that ICEfaces 2.0 Beta 1 is out! In Beta 1 release, the following aspects of ICEfaces 2.0.0 are considered feature-complete:

  • ICEfaces 2.0 Core (icefaces.jar)
  • ICEfaces 2.0 Compatibility Libraries (icefaces-compat.jar)
The not-as-good news is that we've had to add a second Beta release to the schedule ("Beta 2"). This second Beta release will introduce:
  • The new ICEfaces 2.0 Component Development Platform.
  • The initial set of new ICEfaces 2.0 components (Tab, Slider, DateTimeSelector, FileInput, and possibly more).
  • Support for Portlets via the PortletFacesBridge.
The planned timing for Beta 2 is late August / early September.

We would appreciate any feedback you may have with respect to success/issues/questions using the Beta 1 release!

Technorati Tags:

Posted by ken.fyten at 6:39 PM in Entries by Ken Fyten

Wednesday, 9 June 2010

ICEfaces 2.0 - Revised Release Timeline

As you may recall, back in March I presented a projected ICEfaces 2.0 release timeline that indicated a final release of ICEfaces 2.0 was possible by the end of June. Unfortunately, events have since transpired that have required us to adopt a more conservative release schedule.

During the ICEfaces 2.0 Alpha 2 development cycle the ICEfaces team had logged several important issues against Mojarra JSF 2.0.2 which were targeted to be fixed in the JSF 2.0.3 release. In early April, we learned that the Mojarra JSF 2.0.3 release was being pushed back to mid-June. Since the bugs were significantly detrimental to the normal operation of ICEfaces we decided to provide temporary workarounds in ICEfaces Alpha 3 itself wherever possible. In addition, a substantial time investment was made to ensure that the Mojarra JSF 2.0.2 unit-test suite passed with ICEfaces configured. This step was taken to verify that ICEfaces 2.0 had no negative impacts on the standard JSF lifecycle and behaviors, a key step towards easing future integration of ICEfaces with 3rd party frameworks, such as Spring WebFlow, Seam, etc.. ICEfaces 2.0 Alpha 3 shipped on May 31st.

Based on the nature of the changes being made to the Mojarra JSF internals in the upcoming 2.0.3 release, we expect that a substantial effort may be required to certify ICEfaces 2.0 Beta on that release. For this reason we are projecting that the ICEfaces 2.0 Beta release will follow the Mojarra JSF 2.0.3 release by approx. 2-3 weeks, making early-to-mid July likely. We then anticipate a 4-6 week Beta period between the ICEfaces 2.0 Beta and Final releases.

While we would all like to see ICEfaces 2.0 released as quickly as possible, it is important to remember that ICEfaces must exist within a supporting ecosystem of JSF runtimes, IDE tool support, etc. that must be in place to fully realize the potential of the JSF 2.0 / ICEfaces 2.0 platform.

In the meantime, I encourage you to download the ICEfaces 2.0 Alpha 3 release and give it a try. See where we are headed and give us valuable feedback as we move forward to ICEfaces 2.0 Beta!

Technorati Tags:

Posted by ken.fyten at 5:00 PM in Entries by Ken Fyten

Wednesday, 24 March 2010

ICEfaces 2.0 Roadmap Update


For those not familiar with what ICEfaces 2.0 is all about, it represents a "re-envisioning" of ICEfaces in terms of key features, architecture, and implementation and has the following notable characteristics:
  • Is the new feature development track for ICEfaces - ICEfaces 1.8 is now considered stable
  • Based exclusively on the JSF 2 specification and runtimes (does not support JSF 1.x runtimes)
  • Requires JDK 1.5+
  • Supports the existing ICEfaces 1.8 Component Suite, as well as an all-new ICEfaces 2.0 Component Suite which will offer an improved level of component richness, performance, accessiblity, and extensibility
  • Although ICEfaces 2.0 is not directly backwards compatible with ICEfaces 1.8 applications, they may be readily ported via the use of the ICEfaces 1.8 API and component compatibility library, which provides the most important legacy ICEfaces 1.8 APIs and components for use in ICEfaces 2.0 / JSF2 environments
There have been a lot of questions lately about the ICEfaces 2.0 development roadmap and release schedule, what will it include, when will it ship final, how many releases between now and then, etc. To try to answer some of those questions, here is an overview of the ICEfaces 2.0 development roadmap that we are currently working toward:

ICEfaces 2.0 - Alpha 1 (Released Oct. 30, 2009)

  • New packaging, org.icefaces.*
  • Simplified Configuration:
    • - 3rd party library dependencies have been minimized / eliminated for simplified configuration and deployment
    • - No need for a separate ICEfaces servlet configuration
    • - No custom ICEfaces view-handler is required thereby improving integration with "well-behaved" 3rd party JSF components
  • New ICEpush "Ajax Push" Library:
    • - New push architecture
    • - New push API, org.icefaces.application.PushRenderer
    • - Servlet 3.0 implementations are automatically detected to take advantage of asynchronous NIO features
  • Support for standard JSF2 components ("h:")

ICEfaces 2.0 - Alpha 2 (Released Jan. 22nd, 2010)

  • New "Window" Scope - scope beans for the life of the browser window
  • New client JavaScript APIs for ICEfaces bridge lifecycle notification and error reporting
  • New ICEfaces 1.8 compatibility library (eases migration of existing ICEfaces 1.8 applications to ICEfaces 2.0):
    • - Support for key legacy ICEfaces 1.8 APIs that are not directly supported in ICEfaces 2.0 (SessionRenderer, partialSubmit, etc.)
    • - Support for the ICEfaces 1.8 Component Suite on ICEfaces 2.0 / JSF2
  • New ICEfaces 2 Documentation
  • Support for Maven2
  • Preliminary NetBeans 6.8 integration support

ICEfaces 2.0 - Alpha 3 (April, 2010)

  • New automatic push initialization feature for reduced/optimized push overhead
  • New "Delta-submit" feature for greatly reduced bandwidth consumption with large forms
  • Complete support for partial-page processing and rendering via Direct-to-Dom rendering pipeline
  • Initial release of new ICEfaces 2.0 Component Suite:
    • - All-new ICEfaces component development platform that leverages JSF 2 and YUI JavaScript libraries for improved usability, accessibility, flexibility, and performance
    • - Initial set of new components (Tab, Calendar, Slider, inputFile)

ICEfaces 2.0 - Beta (May, 2010)

  • Packaging, APIs, core feature freeze
  • Additional ICEfaces 2.0 Component Suite components, component platform revisions
  • Near complete documentation

ICEfaces 2.0 - Final (June, 2010)

  • ICEfaces 2.0 Core
  • ICEfaces 2.0 Component Suite
  • ICEfaces 1.8 Compatibility Library (core APIs and complete ICEfaces 1.8 Component Suite)
  • Support for JSF2-enabled IDE tool integrations

We're all working hard to maximize the opportunity presented by ICEfaces 2.0 and JSF2 to ensure that the next-generation of ICEfaces continues to be the most productive and feature-rich JSF application development solution available.

Technorati Tags:

Posted by ken.fyten at 12:04 PM in Entries by Ken Fyten

Wednesday, 3 February 2010

JSF 2.0 Complete Reference, with JSF Portlet Appendix

 

JSF 2.0 Complete Reference with JSF Portlet Appendix

I'm pleased to announce the new JSF 2.0 Complete Reference book by Ed Burns and Chris Schalk, published by McGraw-Hill. During the planning stages, Ed asked me to be a contributing author and help bring the first edition of the book up-to-date with JSF 2.0, and also to write a JSF Portlet Appendix.

As listed in the Table of Contents, Appendix A discusses the following Topics:

  • Overview of Portlet 1.0 and 2.0
    • Portlet Lifecycle
    • Portlet Modes
    • Portlet Window States
    • Portlet Preferences
    • Inter-Portlet Communication
  • JSF Portlet Development
    • JSF Portlet Bridges
    • JSF Portlet View Handlers
    • JSF ExernalContext and the Portlet API
    • JSF and Portlet Preferences
    • JSF and Inter-Portlet Communication
  • ICEfaces Portlet Development
    • ICEfaces Ajax with Partial Submit
    • ICEfaces Direct-to-DOM RenderKit
    • The ice:portlet Tag
    • ICEfaces 1.x Portlet Bridge
    • ICEfaces 1.x D2DFaceletViewHandler
    • ICEfaces 1.x and Portlet Window States
    • ICEfaces Portlets and Concurrent DOM Views
    • ICEfaces 1.x Extended Request Scope
    • ICEfaces Ajax Push and Inter-Portlet Communication
    • ICEfaces Themes and Portal Themes
    • ICEfaces Themes and Liferay Themes
    • ICEfaces Ajax Bridge and Liferay Portal
    • ICEfaces Portlets and Liferay Request Attributes
  • PortletFaces
    • Downloading PortletFaces
    • PortletFacesContext
    • PortletFaces Tags
    • PortletFaces and Portlet Preferences
    • PortletFaces and Expression Language Additions
    • PortletFaces and Localization
    • Liferay Language Portlet Integration
    • Improved Integration Between Liferay and ICEfaces 1.x

This week (Feb 2nd to Feb 5th) Ed Burns & Chris Schalk will be helping to answer questions about the new book at JavaRanch. In addition, JavaRanch will be giving away a free copy of the book.

Finally I'd like to express my gratitude to ICEsoft, Mimacom, Liferay, and Triton for their generous support in making the JSF Portlet Appendix possible.

Posted by neil.griffin at 5:29 AM in Entries by Neil Griffin

Wednesday, 27 January 2010

JSF 2.0 + ICEfaces 2.0 + Portlet 2.0 = The PortetFaces Bridge

UPDATE#1: PortletFaces Bridge webinar took place on Thursday, Feb 11 2010 AD. Click here to view the PDF slideshow.

UPDATE#2: The source code is at Alpha1 status and can be checked out from SVN here:

I'm working on a new project called the PortletFaces Bridge which will enable the use of JSF 2.0 within Portlet 2.0 compliant portals like Liferay 5.x. The bridge implements a subset of the features available in JSR-329. Although the JSR-329 standard defines an API for a JSF 1.2 + Portlet 2.0 bridge, the PortletFaces Bridge is targeting JSF 2.0. Additionally, the bridge will facilitate usage of ICEfaces 2.0 within Liferay Portal.

Project Status as of January 27, 2010 AD:

  • I have a sample JSF 2.0 portlet developed that is using the new PortletFaces Bridge.
  • HTTP GET of portal page: bridge runs the portlet RENDER_PHASE, which runs the JSF lifecycle+renderResponse and the portlet renders fine in the browser.
  • HTTP POST after clicking h:commandButton: bridge runs the portlet ACTION_PHASE, which runs the JSF lifecycle. It then runs the portlet RENDER_PHASE, which runs the JSF renderResponse and the portlet renders fine in the browser.
  • RESOURCES: When using the new JSF 2.0 "resource" mechanism (like for downloading the "jsf.js" JavaScript file), the bridge correctly invokes the portlet RESOURCE_PHASE, which invokes the JSF 2.0 ResourceHandler and the contents of the requested resource are correctly delivered back to the browser.
  • AJAX: After tabbing-out of a field, the JSF 2.0 "jsf.js" JavaScript code correctly invokes the portlet RESOURCE_PHASE, which runs the JSF lifecycle+renderResponse, and correctly applies the DOM updates in the browser. Currently it uses the new JSF 2.0 <f:ajax /> tag to do Ajax requests. BTW I had to fix a problem in Mojarra to make this work -- I'm in contact with the Mojarra team and they're working on fixing it for the upcoming 2.0.3 release.
  • What's left: There's a bunch of little things -- loose ends that need to be coded up. Stuff like:
    • Testing of ICEfaces 2.0 WITHOUT the <f:ajax /> tag
    • Testing of ICEfaces 2.0 components (compatibility components)
    • Testing of ICEfaces 2.0 Ajax Push
    • After navigation-rules fire, need to compute the next JSF viewId to render
    • Detecting portlet mode changes (VIEW MODE, EDIT MODE, HELP MODE)

The goal is to have an Alpha version ready for use in time for the webinar on Thursday, Feb 11 2010 AD. The bridge will be be an open source project and be available for download from the http://www.portletfaces.org website.

 

Posted by neil.griffin at 4:41 PM in Entries by Neil Griffin

Which version of ICEfaces?


People have been asking which ICEfaces version they should use. There are three main choices, and the full source code is available in each case:

  • ICEfaces-EE 1.8.2: You are using ICEfaces in production. You need rapid response to support issues, may have a highly available cluster on a commercial application server, and benefit from an extended component suite and testing resources. We are truly grateful to our subscribers and recognize that they are what makes ICEfaces possible.
  • ICEfaces 1.8.2: You are using ICEfaces to freely develop an application with rich JSF components and revolutionary Ajax Push features. You are supported by the very active ICEfaces community and generally deploy a single application to an open source server.
  • ICEfaces 2.0 A2: You are ready to benefit from JSF 2.0. We recommend that everyone begin with a prototype now and send in their feedback during the alpha phase.

    Why not just support ICEfaces 1.8 on JSF 2.0? In theory, this is possible, but it further increases the test matrix for ICEfaces 1.8 and cannot provide the major architectural simplifications obtained by building ICEfaces 2.0 purely on JSF 2.0. But in essence, the compatibility library in ICEfaces 2.0 (icefaces-compat.jar) is ICEfaces 1.8 on JSF 2.0.

Posted by ted.goddard at 11:15 AM in Entries by Ted Goddard

Friday, 22 January 2010

ICEfaces 2.0 Alpha2 is now available


ICEfaces 2.0 has reached Alpha 2 and is now available for download. If you're using JSF (or are curious about JSF), now is the time to try JSF 2.0: Facelets is standard, providing an advanced yet easy to use page and component definition language, the new standard View Scope correctly handles multiple windows and tabs, and standard annotations have eliminated tedious XML configuration. ICEfaces 2.0 provides a rich set of components and transparently adds Ajax to the JSF rendering process, giving you an Ajax application without writing a single line of JavaScript or manually adding any Ajax tags. ICEfaces also provides the easiest to use and most powerful Ajax Push API of any web framework in any language (a grand claim? please comment if you disagree).

ICEfaces 2.0 Alpha 1 was a technology preview, intended for experimentation. ICEfaces 2.0 Alpha 2 might have a few known issues (FileUpload is not available, and you may see a few exceptions) but is ready for general prototyping and application development. Porting the ICEfaces 1.8 sample applications was very easy (a couple of hours in each case), so please give us feedback on your porting experience so that we can enhance the compatibility layer and add porting tips to the wiki documentation.

For this release, the most extensive work has gone into the compatibility layer (providing the ICEfaces 1.8 components on JSF 2.0 ... even for Internet Explorer 6) and the standalone Ajax Push library (which is not quite ready to use standalone; more on that in the coming weeks). It's time to begin moving your ICEfaces 1.8 application to ICEfaces 2.0. We look forward to seeing you on the forums.

Technorati Tags:

Posted by ted.goddard at 7:31 PM in Entries by Ted Goddard

Thursday, 10 December 2009

GlassFish v3 and ICEfaces 2.0


GlassFish v3 is now available.

GlassFish v3 is an ideal server for ICEfaces 2.0:

  • JavaServer Faces 2.0 is included in GlassFish, so the only .jar files necessary in an ICEfaces application are icefaces.jar and icepush.jar (this results in the new ICEfaces auction demo being only 400k)
  • Servlet 3.0 is available to support highly scalable Ajax Push applications through asynchronous request processing (javax.servlet.AsyncContext)
  • JMS supports the communication necessary to coordinate Ajax Push updates between multiple applications on the same server or within a cluster (to get JMS you must download the full version, not the "Web Profile").

To get started with GlassFish v3 and ICEfaces 2.0:

Please try it out and let us know what features you are hoping for in ICEfaces 2.0 (it's only in Alpha, so things are still very flexible).

Technorati Tags:

Posted by ted.goddard at 6:18 PM in Entries by Ted Goddard

Thursday, 3 December 2009

High-Availability Ajax Push Deployments - An Industry First For ICEfaces EE

Anyone that has witnessed the Google Wave demo knows that real-time, collaborative web applications are upon us. Web-based Ajax Push is fundamental to these types of applications, and has also been fundamental to ICEfaces since the very first release of the framework. Google's excellent adventure aside, we see Ajax Push moving out of the early adopter stage and into serious enterprise deployments with stringent scalability and availability requirements.

ICEfaces is keeping pace with these revolutionary deployment requirements by introducing industry-first capabilities in the Enterprise Push Server (EPS), which is now available in the newly-released ICEfaces Enterprise Edition 1.8.2. You can read more about EPS here, or if you are a supported customer a more detailed description is available in the ICEpack wiki here.

There are a few solutions in industry today that deliver Ajax Push capabilities, and most of them, including ICEfaces, relying on the long-polling technique to deliver asynchronous push updates to the browser. This technique requires an open connection to be held in anticipation of push events, which works fine if you only have a single view onto a single web application, as only one push connection is required. A major problem manifests itself though when you open multiple browser views onto the same web application, have multiple push-enabled applications deployed within the same domain, or have multiple push-enabled portlets in the same page. It is not feasible for each view to maintain its own push connection, as this will exceed the browsers connection limit, so it is necessary to share the push connection among the views. ICEfaces solves this problem with the client-side Ajax Bridge performing connection sharing between the browser views, and the Push Server managing a single blocking connection at the server for each browser client. No other Ajax Push technology offering provides a comprehensive and transparent mechanism for connection sharing.

Returning our attention now to enterprise-grade, clustered, high-availability deployments, we see the push connection management problem compound itself, as now we need to support load sharing and fail over of push connections. This is the domain of the Enterprise Push Server, which delivers those precise capabilities, as illustrated in the deployment architecture diagram below.

EPS Deployment Architecture

The architecture leverages standard Java Enterprise clustered deployment capabilities using front-end load sharing with session affinity, and session replication for application fail over support. Standard load sharing techniques are also used to distribute push connections among multiple EPS instances in the cluster, using affinity based on an EPSID instead of a SESSIONID. Enterprise Push Servers track and ensure the delivery of updates to clients and communicate that information amongst themselves, via JMS, so that any EPS node is capable of responding to any client. When a node in the cluster goes down, push connections migrate to other viable nodes, and the EPS instances there take over connection management responsibilities. The failure condition is communicated to the client's Ajax Bridge, which reloads the page to synchronize state between the client and server. Beyond the page reload, the user experience is uninterrupted.

These capabilities are yet another industry first for ICEfaces, and are available exclusively in the ICEfaces Enterprise Edition, including support for the following application servers.


Vendor
Product
Version
Apache
Tomcat (w/ Apache ActiveMQ 5.1)
6.0
JBoss Inc.
JBoss Application Server
4.2.x
IBM
Websphere Application Server
6.1
Oracle WebLogic Server 10.3.1

So as collaborative applications become the mainstay of your Enterprise, you can rely on ICEfaces and the Enterprise Push Server to deliver highly-scalable and highly-available deployments of mission-critical applications.

Technorati Tags:

Posted by steve.maryka at 10:50 AM in Entries by Steve Maryka

Friday, 13 November 2009

What's new in JSF 2.0 webinar online


In case you missed the webinar that Kito and I gave live last Wednesday, you can now view an archived version of the What's New in JSF 2 presentation.

Also, don't forget to sign up for the JSF Summit /images/emoticons/mozilla_laughing.gifecember 1-4 in Orlando, FL) . We can only tell you so much about JSF 2.0 in a one hour webinar; at this conference, you can learn about how to use the new features in depth and meet the experts who developed the specification. JSF 2.0 is now available, so the JSF Summit is really the launch. Dan Allen has also started the idea of a JSF logo contest, so be sure to bring your logo ideas.

Posted by ted.goddard at 1:07 PM in Entries by Ted Goddard

Monday, 2 November 2009

What's new in JSF 2.0?


Kito Mann and I will be giving a webinar this Wednesday, Nov 4 on JavaServer Faces 2.0. WebMC has been ported to JSF 2.0, so I'll be using a few lessons from that easy porting exercise to explain some of the differences between JSF 1.2 and JSF 2.0. To prepare for the webinar, please download the ICEfaces 2.0 Alpha and JSF 2.0 and have your questions and comments ready.

Now that JSF 2.0 is ready, when do you plan on using it in production? As a start, we should really deploy some of the ICEfaces 2.0 demos on ICEfaces.org.

Posted by ted.goddard at 1:42 PM in Entries by Ted Goddard

Friday, 30 October 2009

ICEfaces 2.0 - Alpha 1 is out!


I'm very pleased to announce that ICEfaces 2.0 - Alpha 1 is now available for download.

This inaugural development milestone release of ICEfaces 2.0 provides the fundamental capability of running the next-generation ICEfaces core on the Mojarra JSF 2.0.1 runtime. You can plug the icefaces.jar into your existing JSF2 application and immediately receive some of the benefits of ICEfaces Direct-to-Dom rendering, such as providing incremental page updates without the need to specify the JSF 2 "f:ajax" tag. A sample application is included demonstrating ICEfaces 2 with JSF 2 ("h:") standard components, and Ajax Push.

Also included in this release is the initial implementation of the ICEfaces 1.x compatibility libraries, along with sample applications that demonstrate this capability. The ICEfaces 1.x compatibility libraries are used to readily port your existing JSF 1.2 / ICEfaces 1.8 applications to JSF 2.0 / ICEfaces 2.

See the Release Notes for all the details.

We are planning to have another significant ICEfaces 2 milestone release, featuring the beginnings of our all-new ICEfaces 2 component suite, before the end of this year, so stay tuned!


Technorati Tags:

Posted by ken.fyten at 3:52 PM in Entries by Ken Fyten

Tuesday, 27 October 2009

Countdown to ICEfaces 2.0 - Alpha 1


JSF 2, and soon ICEfaces too!

As you may know the Sun "Mojarra" JSF 2.0 GA release has just occurred. With the JSF 2.0 runtime in place we're now in the final days of preparation for the corresponding ICEfaces 2.0 Alpha 1 release.

ICEfaces 2.0 represents a truly next-generation Ajax / JSF / Push framework development. We're using everything we've learned from the ICEfaces community throughout the ICEfaces 1.x release cycle to rationalize the ICEfaces feature-set, keeping the stuff that worked well and finding better solutions for everything else. Certainly the new capabilities in JSF 2.0 provide a strong starting point, but there is a lot of work going on now to make ICEfaces 2.0 meet and exceed your expectations. Our goal is nothing less than to make ICEfaces 2.0 the most productive, easy-to-use, and powerful JSF framework anywhere.

Notables:

  • Represents a "re-envisioning" of ICEfaces in terms of key features, architecture, and implementation.
  • Based-on the JSF 2 specification and runtimes, will require JDK 1.5+
  • Is the ICEfaces platform for new feature development and emerging technologies support and integration.
  • Will (eventually) include an all new ICEfaces Component Suite with a consistently improved level of component richness, performance, accessibility, and extensibility.
  • Unfortunately, the price of great progress in this case is that ICEfaces 2 is not directly backwards compatible with ICEfaces 1.x applications. However, we are well into development of a compatibility library and porting strategy that will ease migration of existing applications, including support for existing custom components, to ICEfaces 2.0.

Ted has more thoughts on JSF 2 and ICEfaces 2.0 here.

...stay tuned for more details on the ICEfaces 2.0 - Alpha 1 release.

Technorati Tags:

Posted by ken.fyten at 6:38 PM in Entries by Ken Fyten