Brian Leathem

4 minute read

RichFaces

The third milestone release of RichFaces 4.3 (4.3.0.M3) is now available. This 3rd and final milestone for the RichFaces 4.3 release brings in a number of huge features, including new components, some long-time outstanding feature migrations from RichFaces 3, and some significant bug fixes. Read on for some details of these release highlights, or go straight to the Release Notes for a complete list of what’s been addressed.

div(alert alert-info). To try out this release: You can download the distribution directly, or for maven users, increment the RichFaces version in your pom.xml to 4.3.0.20121214-M3. For more information on setting up a RichFaces 4 application, refer to our getting started guide.

New Components

We’ve incorporated a couple of RichFaces Sandbox components in RichFaces 4.3.0.M3: the rich:focus and rich:placeholder components, created by Bernard Labno.

We will update the RichFaces Documentation with all the details of these new components in the course of our 4.3.0.CR1 preparations. In the mean time feel free to explore these components yourselves referring to the showcase snapshot samples linked to below.

rich:focus

The rich:focus component provides a rigorous means of controlling which inputs on your page have the keyboard focus. The focus manager integrates with JSF to automatically focus Inputs that fail validation.

Have a look at the demo in our showcase snapshot for an example of how to use the focus component.

rich:placeholder

The placeholder component let’s one set a “hint” that is a description of the expected value of an input component This component allows RichFaces developers to take advantage of the HTML 5 placeholder attribute functionality in all browsers, including in those browsers that don’t explicitly support the attribute.

Check out the usage examples in the RichFaces showcase snapshot to see how the placeholder component is used.

New ExtendedDataTable Features

With this third milestone release of RichFaces 4.3, we’ve ported a couple of new features forward for the rich:extendedDataTable component. Both the table state saving functionality and built-in sorting/filtering features from RichFaces 3 have been ported to the RichFaces 4 implementation on the rich:extendedDataTable. Check out the built-in sorting/filtering in our showcase snapshot sample.

div(alert alert-error). The introduction of built-in sorting/filtering will have a noticeable side-effect for those of you already using sorting/filtering functionality with the rich:extendedDataTable. To prevent a “doubling up” of the controls, you will have to introduce the sortType=“custom” and filterType=“custom” attributes.

With RichFaces 4.3.0.CR1 we will provide a way to centrally disable built-in sorting/filtering allowing users to adopt RichFaces 4.3 without any required code changes.

Ajax improvements

A number of fixes have gone into this release in the area of RichFaces ajax, each of these issues is significant in it’s own right:

  • RF-12442 addresses the use of RichFaces with multiform JSF pages, a significant improvement for a number of use cases.
  • RF-12229 fixes broken render=“@all” functionality
  • RF-12642 introduces two new events ajaxbegin and ajaxbeforedomupdate

Other Significant Fixes

In addition to the new components and features listed above, I’d like to call out a few more areas that have seen improvements:

Finally I’ll point out we’ve updated a some of the libraries on which RichFaces builds it’s functionality:

Testing improvements

With this milestone we’ve really stretched the legs of the new testing infrastructure based on the Arquillian extensions Graphene and Warp. Our so-called “Fundamental tests” (or “fun tests” for short) run in container and against real browsers and have proved invaluable in issue reproduction, isolation, and verification.

Check out these tests for yourselves and use them as an inspiration for how you can test your own JSF applications. Using this test infrastructure ourselves is helping us to nail down the required APIs and functionality, and we could use your help in ensuring we are covering as many use cases as possible.

Moving Forward

We’ve already been hard at work resolving some bugs and regressions discovered by the RichFaces QA team. These will be available in the new year as our RichFaces 4.3.0.CR1 release, and Final is just one short hop beyond that.

With RichFaces 4.3 nearly complete and under our belt, it’s time to shift focus to RichFaces 5 and all the significant changes we want to bring in with that major release. Be sure to drop by the developer forum and share your insight as to where the project should be headed.