Thursday, February 28, 2013

RichFaces 4.3.1.CR1 Release Announcement

RichFaces

The first candidate release of RichFaces 4.3 (4.3.0.CR1) has been released. This micro release addresses some bugs present in the RichFaces 4.3.0.Final release, and offers some improvements on the new features introduced in that same release. Have a look at the 4.3.1.CR1 Release Notes for a complete listing of what has been included in this release.

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

Concurrent testing efforts

Normally we leave RichFaces releases in our Nexus staging server until the RichFaces QE team has fully verified the release. With this release however, we are trying something new.

We have promoted the RichFaces 4.3.1.CR1 artifacts out of staging having only undergone a smoke test. In this way we are enabling the community to try out the latest fixes concurrent to our execution of our extensive automated test suite, and the remainder of our QA process.

So please do take this candidate release out for a spin, and report any issues you uncover so we can address them before the 4.3.0.Final release.

Friday, February 1, 2013

RichFaces 4.3.0.Final Release Announcement

RichFaces

I’m very excited to announce the availability of the final release of RichFaces 4.3 (4.3.0.Final). This release is minor in version increment only, as it packs quite a significant number of features and improvements. We’ve covered many of these features in blogs already, we’ll summarize them again here, and provide links to where you can find additional details.

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

New components

We’ve delivered some new components with this release. These are components that were originally contributed by Bernard Labno via the RichFaces Sandbox. The new components we shipped are:

  • <rich:focus> – used to manipulate the cursor focus on a page. The component is integrated with the JSF life-cycle to enable validation-aware focus capabilities.
    Blog Read the rich:focus component blog post for more details.
  • <rich:placeholder> – pre-fills form inputs with text, similar to the HTML 5 placeholder attribute.
    Blog Learn more about it in the rich:placeholder component blog post.

New Features

Aside from the new components, a number of existing components have seen some significant feature additions. The <rich:extendedDataTable> for instance has added support for built-in sorting and filtering, and table-state saving.
Blog We have a blog dedicated to the EDT improvements in RichFaces 4.3.

New with RichFaces 4.3 is the ability to define child toggle panels with the <a4j:repeat> tag. This offers developers additional flexibility when defining child toggle panels when <c:forEach> is insufficient.
Blog Check out the Dynamic Panels with a4j:repeat blog for more details.

Testing

Automated testing has always been central to RichFaces. We have a great QE team behind the framework that works hard to help us deliver solid releases. But with RichFaces 4.3 we’ve taken our automated tests to the next level.

We’ve developed the Arquillian extensions Warp and Graphene to enable us to author real tests, running in real containers, with real browsers. Through the magic of Arquillian and Shrinkwrap, these tests are still fast both to author and to execute.
Blog Read more about it in this deep dive to testing in RichFaces 4.3.

CDK improvements

Early on in our RichFaces 4.3 efforts we delivered a number of improvements to our Component Development Kit (CDK) which we used throughout this release to reduce our developer turnaround time in creating new components and features. In addition to enriching the CDK templating language, we introduced an incremental build feature in the CDK. This incremental build has proven to be so beneficial that is one of the primary drivers behind the RichFaces 5 build redesign.

Blog Refer back to this blog for further details on Incremental build with the RichFaces CDK

Bug fixes

With so many shiny new features to look at, it would be easy to overlook the number of bugs fixed in the release. In total 242 issues were addressed in this release. An epic effort for an epic release!

Path forward

As I just hinted, our steps forward are on the path to RichFaces 5. We’ve already started working on the new consolidated RichFaces 5 repository. Feel free to comment with where you’d like to see the project head in RichFaces 5 in the RichFaces developer forum thread.


Monday, January 28, 2013

Dynamic Panels with a4j:repeat

RichFaces

With the imminent 4.3.0.Final release of RichFaces, we will be providing developers with the ability to dynamically create <rich:togglePanel>, <rich:accordion>, and <rich:tabPanel> panel items dynamically with the <a4j:repeat> tag.

<a4j:repeat> vs. <c:forEach>

Creating the above panels from a backing bean list has always been possible with RichFaces 4 using the JSTL <c:forEach> tag, so why have we bothered adding support for creating such panels with the <a4j:repeat> tag? The answer to that requires an understanding of when the JSTL tags are evaluated during the creation of the JSF component tree, and subsequent page render:

TL;DR: JSTL tags are evaluated during the compilation of the Facelet, during the construction of the component tree, whereas <a4j:repeat> is evaluated during the render phase of the JSF life-cycle.

For a great/detailed explanation of the JSTL tag / Life-cycle interaction, I’ll refer you to this blog post.

So if you are currently using the <c:forEach> tag to define dynamic child toggle panel items, and are noticing an issue on post-back when the list backing the panel items may have changed, be sure to try using the tag instead.

Using the <a4j:repeat>

Refer to the showcase snapshot for examples of using the <a4j:repeat> tag with the above listed family of toggle panel items:

The 4.3 release

RichFaces 4.3.0.CR2 is currently available, and RichFaces 4.3.0.Final will be available shortly. Please take the time to take try out the <a4j:repeat> tag to define relating toggle panel items, and give us your feedback for the new features and bug fixes via the RichFaces forum or issue tracker.


Friday, January 25, 2013

RichFaces 4.3.0.CR2 Release Announcement

RichFaces

The second milestone release of RichFaces 4.3 (4.3.0.CR2) has been released. This release candidate for the RichFaces 4.3 is an incremental release on top of the previous release candidate (4.3.0.CR1), providing a few bug fixes and documentation enhancements.

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

Behaviour change for <rich:notify>

The RichFaces notify* components did not previously escape message content. This can lead to a security vulnerability in your applications, so we’ve changed the notify* components to escape message content by default, and provided the escape attribute to disable escaping of the message content.

If you previously had HTML content in your notify* components, you will need to add the escape=false attribute to achieve the same behaviour as in previous RichFaces releases.

Moving forward

We’ll again let RichFaces 4.3.0.CR2 bake in the community for a few days. Be sure to try it our with your applications and report any regressions you should come across that may have been overlooked by our QE team. We are aiming to have a final release out next week.


Tuesday, January 22, 2013

What's new with the RichFaces extendedDataTable

RichFaces

The upcoming 4.3 release of RichFaces will offer the RichFaces community a number of improvements to the extendedDataTable. These new features include:

  • Built-in sorting and filtering
  • External table state saving
  • A number of bug-fixes

Built-in sorting and filtering

The RichFaces 4 extendedDataTable (EDT) has always had the ability to sort and filter columns, but required the developer to define the sort and filter controls themselves, then manually invoke the required operations on the back-end. While not difficult to do, a lot of boiler-plate code was required for what is in fact a common operation. With RichFaces 4.3 we’ve resolved RF-8125 that tracked a long standing request to port the built-in search capabilities form the RichFaces 3 EDT to RichFaces 4.

Built-in sorting/filtering is currently only available in the extendedDataTable component. We will add support to the dataTable component in a subsequent release.

Built-in Sorting

Implementing sortable columns in the EDT is now as simple as adding the sortBy attribute to your EDT column, and the sort controls will automatically be generated and linked to the internal sorting mechanism. To influence how the sorting is performed, add the comparator attribute to your column, and the comparator defined there will be used for the sort.

Refer to the RichFaces 4 Component Reference for additional details on using the built-in and external sort controls.

If you require additional flexibility, and prefer to implement your own sort controls, set the sortType=custom attribute, and the built-in sort controls will not be rendered. Built-in sort controls can be disabled altogether by setting the web.xml context param org.richfaces.builtin.sort.enabled to false.

Built-in Filtering

Similarly, taking advantage of the built-in filter controls is also straightforward. Define the filterValue attribute on the column to be filtered, then define either a filterExpression or filter attribute to implement the filter logic. When the attributes are present an input element will be displayed in the column header. Simple value conversions are performed implicitly in the EL of the filterExpression or explicitly in the filter implementation.

Refer to the RichFaces 4 Component Reference for additional details on using the built-in and external filter controls.

Further 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.

ExtendedDataTable State Saving

The EDT has had another RichFaces 3 feature ported forward: table state saving. With the resolution of RF-10442, application developers can add the tableState attribute to their EDT components, providing a value-binding to a bean String property that can be used to store the state of the column width, sequence, sorting, and filtering of the EDT. The table state is stored in a JSON string format, and is easily stored in a data base for later retrieval.

Bug fixes

In addition to the above feature additions, the EDT has seen a number of bug fixes in the 4.3 release. These fixes include:

RF-10154
UIDataAdaptor vs. UIData visitTee small difference
RF-10799
EDT – attribute @clientRows missing in taglib
RF-11382
Datatable and ExtendedDatatable evaluate value attribute even if rendered=false
RF-11776
rich:extendedDataTable columnsOrder attribute is not working
RF-12236
showcase – rich:extendedDataTable – re-sizing columns breaks horizontal scrolling
RF-12450
Collapsible subtable toggler not rendered
RF-12611
rich:dataTable doesn’t call restoreState() on a row-level composite component
RF-12639
rich:extendedDataTable inside rich:tab: The columns which are not frozen are not rendered after switching the tab for the first time in IE 8.
RF-12659
ExtendedDataTable layout breaks when table element width set to 100%
RF-12672
Collapsible sub table: noData facet doesn’t work inside switchable panels
RF-12684
The last page shows rows from the page before if rich:collapsibleSubTable is included in rich:dataTable with rich:dataScroller.
RF-12691
extendedDataTable: Header facet render problem in RichFaces 4

The 4.3 release

RichFaces 4.3.0.CR1 is currently available, having undergone our extensive QA process, and a 4.3.0.CR2 release will be available shortly. Please take the time to take the extendedDataTable for a spin with this release, and give us your feedback for the new features and bug fixes via the RichFaces forum or issue tracker.


Thursday, January 17, 2013

RichFaces 4.3.0.CR1 Release Announcement

RichFaces

The first candidate release of RichFaces 4.3 (4.3.0.CR1) has been released. This release candidate for the RichFaces 4.3 release doesn’t add any new features, rather it polishes, documents, and showcases the many new features added in the earlier 4.3 milestones (4.3.0.M3, 4.3.0.M2, 4.3.0.M1).

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

Documentation updates

If you are interested in taking advantage of some of the new feature additions described in the earlier milestone release blogs, be sure to check out the updated RichFaces 4.3.0.CR1 documentation, and the showcase snapshot which demos the latest updates to the showcase.

Some of the documentation highlights include:

Also, check out the code samples in the showcase:

Bug fixes

Most of the bug fixes in CR1 centered around the new 4.3 features. These bug fixes include:

Validation fixes

  • RF-12700 – LongRangeValidator client-side messages differs from server-side ones on MyFaces
  • RF-12669 – Autocomplete: client side validation for custom validators doesn’t work

Select component fixes

  • RF-12608 – pickList without collectionType results in failure to lazily load
  • RF-12692 – rich:select – unknown validator SelectLabelValueValidator

New component fixes

  • RF-12650 – rich:placeholder: when @rendered=false the placeholder is still rendered
  • RF-12668 – rich:focus – stops to work when containing form is re-rendered by another form
  • Iteration component fixes
  • RF-12662 – Showcase – rich:extendedDataTable – Built-in sorting and filtering – ELException when text filter value provided instead of expected numbers
  • RF-12691 – extendedDataTable: Header facet render problem in RichFaces 4
  • RF-12672 – Collapsible sub table: noData facet doesn’t work inside switchable panels
  • RF-12673 – Collapsible sub table: filtering doesn’t work inside switchable panels
  • RF-12684 – The last page shows rows from the page before if rich:collapsibleSubTable is included in rich:dataTable with rich:dataScroller.
  • RF-12714 – Showcase and rich:dataTable: sorting in Arrangeable demo doesn’t work

JSF compatibility fixes

  • RF-12670JSF 2.0 compatibility issue, NoSuchFieldError: javax/faces/component/visit/VisitHint.SKIP_ITERATION
  • RF-12693 – Mojarra fails to encode form inputs correctly when they doesn’t have name attribute

Drag and drop fixes

  • RF-12666 – Showcase – Drag and Drop with indicator – the styles do not apply for indicator when dragging over various targets
  • RF-12671 – dropTarget does not work inside dynamic tabs when switchType is ajax or server
  • RF-12703 – showcase – drag and drop – JS error with default dragIndicator

Input fixes

  • RF-11067 – rich:autocomplete popups with suggestions does not reflect the value in input
  • RF-11565 – Showcase: multiple selections in rich:autocomplete doesn’t work when ‘clicking’ is used
  • RF-12707 – rich:calendar – setValue(…) method from javascript API doesn’t work correctly

Misc fixes

  • RF-12708 – rich:jQuery: wrong VDL documentation of selector attribute
  • RF-12716VDL-doc for a4j:ajax incorrectly states that the listener method cannot accept parameters
  • RF-12709 – richfaces.js: fire ajaxcomplete event
  • RF-12705 – vdl documentation for a4j:outputPanel contains non-implemented layout="none"
  • RF-12713 – Listeners don’t work inside panels

Moving forward

We’ll let RichFaces 4.3.0.CR1 bake in the community for a few weeks. Take it for a spin, and report any regressions you should come across that our top-notch QE team might have overlooked. Hopefully we can have a final release out by the end of the month.


Thursday, December 20, 2012

RichFaces 4.3.0.M3 Release Announcement

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.

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.

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.


Thursday, November 29, 2012

Polyglot Widgets

JBoss Developer Framework

The JBoss JDF project shows Java EE developers how to build state-of-the-art applications using the JBoss implementations of the Java EE stack. Specifically, the JDF View Frameworks section identifies a number of alternative approaches one can take when developing the view layer of your application. We in the RichFaces project have been working towards better supporting this effort by redesigning our JSF component architecture to allow the javascript part of our components (what we call our “widgets”) to be used independent of JSF, either in a standalone manner or coupled with another web framework.

By isolating the client-behaviour into widgets, we are able to achieve both a faster turnaround on new JSF component development, while at the same time enabling users to achieve a uniform look and feel in their heterogeneous application environments. To demonstrate the impact of this, I’ve prepared a demo application that demonstrates using our standalone javascript widgets in JSF with RichFaces, GWT with Errai, and a plain HTML 5 page with Aerogear.

Polyglot widgets demo

polyglot-widgets

The polyglot-widgets demo takes the RichFaces Sandbox pickList component and builds a GWT and plain HTML5 application using the standalone javascript pickList widget.

Some key points of the demo to call out:

Consistent L&F

Imagine writing “polyglot” web applications with both a consistent Look & Feel, and access to the rich set of enterprise-grade widgets that you’ve come to expect from the RichFaces project. In the demo, the same RichFaces Sandbox pickList widget is used in a JSF, GWT and HTML 5 application. The widget and the demo pages themselves use the Bootstrap project for styling, which is what enables us to achieve a consistent L&F across the pages backed by different web technologies. This common L&F is taken one step further to deliver a consistent user experience by using the same javascript widget implementation across all the demo pages.

CDI Programming model

In the demo, we use the pickList component to make a selection on one of the demo pages, then click the submit button. On navigation to one of the other demo pages, you’ll notice the state persisted. This demonstrates how we can leverage CDI to provide a common programming model across all our web frameworks.

Integrated Ajax Push

Open each page of the demo in a separate window to witness selection updates synchronizing the pages in real time. Taking advantage of RichFaces push, the Errai CDI bus, and HTML 5 Server-Sent-Events (via the Atmosphere project) in each of the respective frameworks provides incredible power in keeping our “polyglot” web-apps in a coherent state.

Screencast

I created a screencast of the demo, to make it easier to see the above points in action. Watch the screencast below, then head off to play with the demo yourself. Even better, fork the demo on github, and see what cool things you can do with it.

Next Steps…

I put this demo together as a proof-of-concept to help me illustrate what I mean when I talk about “standalone widgets” and polyglot/poly-framework applications. The RichFaces team will ramp up development on these new standalone widgets as we wrap up our RichFaces 4.3 effort and shift gears into RichFaces 5. So stay tuned for further development in this area!


Tuesday, October 30, 2012

RichFaces 4.3.0.M2 Release Announcement

RichFaces

The second milestone release of RichFaces 4.3 (4.3.0.M2) is now available. Another significant milestone for the project, this release incorporates a number of new features, bug fixes, and component upgrades. Read on for some highlights of the release, or go straight to the Release Notes for a complete list of what’s been addressed.

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

Community involvement

I’d again like to thank RichFaces community members for their contributions to this release. In total there are 7 community members who have contributed this milestone release! This is a number that makes me incredibly proud to share, and demonstrates how the RichFaces community is truly thriving. So together, as a community, let’s have a collective shout-out to:

Keep the pull requests coming guys!

UIRepeat support in Toggle Panels

With the resolution of RF-9443, the RichFaces increases support for the <a4j:repeat> component to dynamically define repeating child panels of components that extend AbstractTogglePanel class. This includes:

While it has always been possible to use the JSTL <c:forEach> tag to define child panel components, this did not meet all use cases, as the JSTL tags are evaluated before the component tree is built, and hence don’t play nice when the underlying data model changes without performing a full page reload. With the new support for defining child panels using the <a4j:repeat> syntax, evaluation is deferred until render time, making the child panels “truly dynamic”.

The implementation of this leans heavily on the RichFaces UIDataAdaptor, which forms the basis for all repeating RichFaces components. stay tuned for a blog demonstrating <a4j:repeat> usage to dynamically define repeating toggle panel items, and be sure to test this feature out in this milestone release, to be sure the feature meets your requirements for dynamic repeating panel components – let us know if it doesn’t!

Note: this feature does not yet support the use of the <a4j:repeat> tag for defining dynamic columns. That issue is being addressed as part of RF-7882.

CDK incremental build

With this second 4.3.0 milestone, we’ve carried on with some of the CDK improvements we saw in our first milestone. This time we’ve added support for incremental build with the RichFaces CDK, greatly reducing the time it takes to build RichFaces components, as the CDK now only processes CDK templates and resources that have been touched since the previous build.

Making use of the incremental build for the “RichFaces Components” project reduces the project build time from 2m18s to 1m00s — a 56% decrease in build time. A further reduction in project build time is seen with the proposed new build structure, where we do away with the independent artifacts, and their associated assembly steps.

This is an important achievement, as reducing the turnaround time from IDE to browser improves developer productivity, and let’s RichFaces developer’s more quickly and efficiently deliver bug fixes and new features.

Component Upgrades

A number of libraries within the project have been upgraded in this milestone. This includes upgrading:

In addition, upstream changes in Mojarra required some significant changes to jsf-test, and the jQuery upgrade necessitated upgrading some of the jsf-test libraries as well:

While we currently use jsf-test to mock the faces context and execute our RichFaces unit tests, I’ll take this opportunity to plug the Arquillian extensions Graphene and Warp which the RichFaces Dev and QE teams are developing to allow us to take advantage of the Arquillian revolution, and unit test our components in real containers. Head on over to the Arquillian site to learn more about using these extensions to test your own JSF/RichFaces applications.

Noteworthy fixes

In addition to the above features, RichFaces 4.3.0.M2 delivers a number of additional features and bug fixes, including the fixes released with RichFaces 4.2.3.Final. Some noteworthy fixes include:

RF-12360
The onchange behaviour of the <rich:pickList> has been changed to fire whenever the picked value list changes, rather than waiting until the component loses focus.
RF-12397
A MyFaces profile has been added to the RichFaces showcase build
RF-12457
The <rich:validator> has two new attributes onvalid and oninvalid that can be used to trigger a javascript callback when validation succeeds/fails. Thanks for this addition Bernard!
RF-12492
A visual improvement, the <rich:inputNumberSlider> gets a new handle, in the style of the progress bar.

Moving forward

As per the RichFaces road map, we have one final milestone scheduled for RichFaces 4.3. Work has already begun on RichFaces 4.3.0.M3 after which there will be a CR1 release, followed (hopefully!) by the Final release. Then it’s on to RichFaces 5 where we will implement the new RichFaces build. Tune in to the RichFaces developer forum, where we will soon start the discussion and planning of what will be in RichFaces 5 in addition to this build re-structure.


Thursday, October 18, 2012

RichFaces 4.2.3.Final Release Announcement

RichFaces

RichFaces 4.2.3.Final has been released. This Final release is a re-tag of the 4.2.3.CR1 release as no blocking issues were found by either our QE team, nor by the community.

The RichFaces 4.2.3.Final release is purely a bug-fix release, with a focus on compatibility between RichFaces and the JBoss Portlet Bridge. I’ll refer you to the RichFaces 4.2.3.CR1 release blog for details of the release, with a special highlight paid to the contributions from the JBoss Portal Bridge team, and contributions from community members.

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

Release Notes:

To re-cap, the changes in the 4.2.3.Final release compared to the 4.2.2.Final release include:

Bug

  • [RF-10758] – Input fields in popupPanel lose focus
  • [RF-10980] – Impossible to set tabindex of input inside rich:popupPanel
  • [RF-11051] – a4j.version does not work
  • [RF-11104] – rich:inputNumberSlider slider position is affected by css position attribute of containing element
  • [RF-12113] – rich:inputNumberSpinner minValue and maxValue being ignored after second request
  • [RF-12114] – Richfaces 4.2 rich:autocomplete don't fire ajax on blur event
  • [RF-12221] – rich:orderingList: fix VDL-DOC of @listHeight, @maxListHeight, @minListHeight, @listWidth
  • [RF-12256] – DragAndDrop + position: absolute results in broken positioning
  • [RF-12273] – rich:fileUpload does not work in portlets because it does not utilize javax.faces.encodedURL for the XmlHttpRequest URL
  • [RF-12424] – Showcase contains Servlet specific code
  • [RF-12425] – Showcase fails to load SyntaxHighlighter scripts when Require.js is present
  • [RF-12476] – Resource Name in mapping for two menu images is incorrect

Enhancement

  • [RF-12343] – Problem when saving form with rich picklist inside composite component

This is very much a community driven release. Thanks guys, you rock!

Stay Tuned for 4.3.0.M2

The QA process for the 4.3.0.M2 release is about to begin, with a release as soon as QA is done. So stay tuned, as there is lots more great stuff to come!