Tuesday, April 17, 2012

RichFaces 4.2.1.Final Release Announcement

We've released RichFaces 4.2.1.Final - the first micro release for the 4.2 release train. Since the CR1 release we've primarily addressed bugs with the Richfaces showcase and the RichFaces archetypes.  CR1 itself focused on bug fixes and stability improvements throughout the framework.

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

What’s in 4.2.1.Final?
One noteworthy issue to take note of:
  • [RF-11940] - Our ajax push component (a4j:push) was not receiving pushes from the server on Android devices. We identified a bug in the Atmosphere framework which powers our push technology, a bug which we fixed and pushed back upstream (OSS for the win!).

Be sure to check out the 4.2.1.CR1 release blog for a more complete picture of what we addressed with this micro release.

New with this release, we are once again deploying the showcase on new infrastructure. The OpenShift Express service has been unified with OpenShift Flex to deliver a single service now simply referred to as OpenShift (see this FAQ entry). The end result for us is a simplified deployment and management console, and an easier ability to host multiple applications.

Moving Forward
We’re currently focused on improving the JSF testing and RichFaces mobile stories. However we’ll shortly begin our 4.3.0.M1 sprint which will focus on MyFaces compatibility issues. Concurrent to all this, we will working in the RichFaces Sandbox to deliver our next-generation component set. Should any of the above initiatives appeal to you, feel free to get involved and help move the project forward!

Wednesday, April 4, 2012

RichFaces 4.2.1.CR1 Release Announcement

We've released RichFaces 4.2.1.CR1 - the first candidate release for the first 4.2 micro release. This release comes with initial support for rapid component development with the CDK and jRebel, and a new archetype demonstrating (among other things) a mobile RichFaces application,. For the most part however, this release focuses on bug-fixes and stability of the components and framework.

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

Kitchensink Example
Since the 4.2.0.Final release, we've included a new sample application: the RichFaces kitchensink quickstart (also available as an archetype). This is example application demonstrates key pieces of the Java EE stack, with a JSF/RichFaces frontend. We have it currently deployed to openshift if you want to see it in action. Be sure to check out this example with your mobile phone, to see the kind of mobile application you can build with RichFaces (complete with client side validation, and ajax push!)

Rapid component Development
Another new initiative that made its way into this release is the work we've been doing to support rapid component development with the CDK and jRebel. We've included the necessary jRebel configuration in our component projects (RF-12090) to enable jRebel to hot reload the classes generated by the CDK. See Lukas' blog post for details on how you can get this working seamlessly within eclipse with JBoss tools.

Highlighted release notes
Specific components addressed include the rich:extendedDataTable, rich:contextMenu, and a4j:push:
  • ExtendedDataTable
    • [RF-10754] - extendedDataTable: two or more components placed on the page causes horizontal scroll to disappear
    • [RF-11948] - rich:extendedDataTable create an onready event to trigger javascript interactions after the EDT has been initialized
  • a4j:push
    • [RF-12013] - Deadlock in push component
    • [RF-12072] - Push: add onsubscribed event
  • rich:contextMenu
    • [RF-11936] - rich:contextMenu activation is possible outside of tree nodes
    • [RF-11971] - rich:menuItem onclick return value ignored
    • [RF-12042] - Metamer: rich:contextMenu doesn't disappear after clicking out of the menu in IE9 and Google Chrome
    • [RF-12043] - rich:contextMenu isn't rendered correctly in IE 9 compatibility mode
    • [RF-11996] - rich:contextMenu on several rows in extendedDataTable


Overall, areas such as event handling, validation, messages, and browser compatibility were addressed:
  • Events
    • [RF-10941] - a4j:command* components misses default behavior event
    • [RF-12091] - rich:dataScroller scrollListener not documented
    • [RF-10968] - Tree: treeSelectionChangeListener and treeToggleListener do not work
    • [RF-12007] - AbstractPanelMenuGroup.getChangeExpandListener is not used
  • Validation/messages
    • [RF-7351] - Regression: "messages: globalOnly does not work properly"
    • [RF-11978] - Graph Validator - does not mark context to fail validation
  • Browser compatibility
    • [RF-12026] - Javascript error in AjaxRequests on FireFox "invalid 'in' operand event"
    • [RF-11884] - Multiple Errors with IE8/9

The RichFaces showcase saw some improvements, including some mobile specific fixes:
  • Showcase
    • [RF-11872] - Mobile Showcase and a4j:region demo: submit button doesn't respond on the first click
    • [RF-11905] - shutdown of the JBoss AS with showcase deployed throws DB error
    • [RF-12048] - Showcase: Change the password for JMS guest connection
    • [RF-12051] - Showcase: simplified Push CDI sample which wouldn't use subtopics

Lastly, a few fixes I couldn't fit into any of the above categories:
  • Miscellaneous fixes
    • [RF-11977] - Multiple fileUpload controls on the same page do not work
    • [RF-12093] - ResourceServlet can't handle resources outside of specific libraries
    • [RF-12052] - rich:TabPanel - HTML comments should be supported inside the tabPanel


Next steps
Our crack-QE team has uncovered some regression in the CR1 release with their extensive test suite. We'll address these issues with the 4.2.1.Final release, but be sure to give the CR1 release a spin to check for any issues we may have overlooked. Of course, concurrent to this micro release, we're hard at work on some brand new stuff for RichFaces 4.3 (see the relevant planning discussion for details).