Brian Leathem

5 minute read

RichFaces

The first beta release of RichFaces 4.5 (4.5.0.Beta1) is now available. This full framework release incorporates a number of library upgrades as well as some new features for existing components. Read below for a summary of the issues resolved, and stay tuned for further posts going into the improvements in detail.

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.5.0.Beta1. For more information on setting up a RichFaces 4 application, refer to our getting started guide.

Release Highlights

Significant improvements in this RichFaces 4.5.0.Beta1 release include:

  • Big update to RichFaces push with the upgrade of Atmosphere to 2.2.0

  • DataTable component gets built-in sorting and filtering

  • Select component gets autcomplete functionality (for autocompleting on object selection)

  • jQuery upgrade to 1.11.1

  • Google Guava updated to 17.0

  • Showcase gets automated functional tests

Atmosphere upgrade to 2.2.0

While Atmosphere 2.2.0 supports websockets out-of-the box, however the RichFaces push component configuration still uses long-polling. This issue (RF-13787) has already been resolved and will be available in the upcoming 4.5.0.Beta2 release.

Built-in sorting and filtering of the DataTable

The built-in sorting and filtering capabilities of the ExtendedDataTable have been ported to the simpler DataTable component. As with the ExtendedDataTable, you’ll have to disable the built-in sorting and filtering controls if you instead want to use custom controls. For further details refer to the RichFaces Component Reference for additional details on using the built-in and external filter controls.

Control over the filter controls can be achieved by setting the @filterType=custom@ attribute, and implementing your own filter controls in the back-end. Built-in filter controls can be disabled altogether by setting the web.xml context param @org.richfaces.builtin.filter.enabled@ to false.

Autocompleting with the Select component

With the initial release of RichFaces 4, the Autcomplete component was re-designed to target only text-based use cases. It was felt that object selection use cases were better served by the Select component. However the Select component lacked the autocompleting capability to round out this story. Until now!

With RichFaces 4.5.0.Beta2 we’ve ported the autocomplete capabilities from the Autocomplete component to the Select component. Using a similar syntax as with the Autocomplete, you can now dynamically populate the Select components options list via ajax. Refer to the showcase for an example of how this works.

Bug

  • RF-13660 - RichFaces 4.5 integration tests - error after test execution

  • RF-13720 - Mobile Showcase - CSV demo with JS error and does not work

  • RF-13724 - Showcase - leftovers of old Editor skinning setup cause 404 error

  • RF-13725 - Showcase can not be deployed on Tomcat 7 due to Weld & Guava integration

  • RF-13728 - Editor cant display after page load if page is opened directly

  • RF-13729 - Kitchensink archetype on Wildfly with mobile devices

  • RF-13739 - Placeholder in collapsibleSubTable template

  • RF-13740 - Richfaces 4.5 with MyFaces causes NPE on AJAX requests

  • RF-13744 - Photoalbum cannot be deployed to Wildfly 8.1

  • RF-13745 - Unicode characters in the picklist break the build on Windows

  • RF-13751 - Distribution zip for 4.5 named incorrectly

  • RF-13752 - Distribution zip is missing javadocs

  • RF-13758 - RF 4.5 with MyFaces, CSS not loaded

  • RF-13768 - Tests for inplaceInput and inplaceSelect renderer failing

  • RF-13769 - placeholder with empty @selector renders twice

  • RF-13775 - Depracated syntax used in RichFaces Resources Maven Plugin

  • RF-13778 - RF-45 cyclic dependency on richfaces-parent

  • RF-13779 - jQuery component: TypeError: selector[(intermediate value)] is not a function

  • RF-13782 - Context menu, drop down menu: showEvent set to hover doesn’t work

  • RF-13785 - Component tree is not visited during RenderResponsePhase

  • RF-13792 - Rich notify, showShadow attribute not working

Component Upgrade

  • RF-13749 - Upgrade HtmlUnit to 2.15

  • RF-13750 - Upgrade testing dependencies

  • RF-13753 - Upgrade Atmosphere to 2.2.0

  • RF-13777 - Upgrade Graphene do 2.1.0.Alpha1

Enhancement

  • RF-13686 - Props interfaces overlap and are not fully implemented

  • RF-13733 - dataTable built-in sorting and filtering

  • RF-13746 - Some of RichFaces 4.5.0.Alpha3 artifacts are missing in Maven Central

  • RF-13754 - Showcase - remove dependencies for JMS push example

  • RF-13786 - Showcase - disable built in sorting/filtering for custom sorting/filtering DataTable examples

Feature Request

Task

  • RF-12950 - Move Showcase ftests from QA repo to the examples/showcase module and mark some of them as smoke tests

  • RF-13718 - Update release guide for 4.5

  • RF-13756 - Upgrade jquery.mousewheel.js to 3.1.12

  • RF-13766 - Move classes ElementIsFocused and FocusRetriever to build-resources

  • RF-13772 - Update Arquillian profiles

Next steps

Our extensive QA process has already uncovered a number of issues with RichFaces 4.5.0.Beta1, many of which have already been resolved. A follow-on 4.5.0.Beta2 release should be available shortly, and hopefully we can move on to CRs from there. Please try out this Beta1 release and report any issues you find!