Wednesday, May 16, 2012

I'm Awestruct!

I'm officially Awestruct! with this launch of my new blog:


It's time to update your bookmarks: http://www.bleathem.ca/
and your RSS feeds: http://www.bleathem.ca/feed.atom

I'll set up what redirects I can, before pulling the plug on this blogger site.

Tuesday, May 15, 2012

RichFaces 4.2.2.Final Release Announcement

RichFaces 4.2.2.Final is available, the second RichFaces 4.2 micro release. This release was originally intended to focus on changes required to better align with the upcoming JBoss AS 7.1.2 release. However we had some community members step forward with some fixes, and those contributions ended up turning this release into a reasonable bug fix release!

I would like to give a big shout out to Luca Nardelli, Adrian Gonzalez, and Jason Porter. These are RichFaces users who contributed back to the project with bug fixes and new features; improving the quality of the JSF component framework we all use to build applications on a daily basis. Three cheers for OSS, and our community contributors! If you would also like to get involved and contribute code to the project, check out our ContributorGettingStartedGuide wiki page!

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

What’s new with 4.2.2.Final?

The rich:tooltip has seen a number of improvements centered around changing the javascript implementation to use the RichFaces Javascript Service feature, and defer javascript loading until all components are rendered. Nice catch Luca! Specific issues resolved with this approach include:
  • [RF-10839] - tooltip: attachment using target not works if tooltip defined before the component to which it attaches.
  • [RF-11370] - rich:toolTip: targetted example causes NPE for some IDs
  • [RF-12198] - rich:tooltip does not work inside a4j:commandButton
  • [RF-12199] - rich:tooltip does not work inside h:graphicImage
For those migrating from RichFaces 3, Adrian has contributed improvements to the Xcss2Ecss conversion utility:
  • [RF-11994] - Xcss2EcssConverter error handling f:importResource
  • [RF-12010] - ecss hot reloading
A number of other fixes are seen with:
  • rich:dataTable and rich:extendedDataTable
  • validation and messages
  • dependency updates, matching changes in the upcoming JBoss AS 7.1.2 release
Lastly I’ll mention a simple feature, but one which I’m sure many will find useful. The a4j:log component has a new mode of operation, the console mode, allowing a4j:log messages to be output to the browser javascript error console.

What’s Next?

We’ll shortly begin our 4.3.0.M1 sprint which will focus on MyFaces compatibility issues and some CDK improvements in this first milestone. Concurrent to this, we will be 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!

Friday, May 4, 2012

RichFaces Bootstrap

I'm happy to share the news that the RichFaces community has started an effort to wrap Twitter Bootstrap with the RichFaces CDK. If you haven't yet heard, Twitter's Bootstrap project is a set of HTML/CSS/js "widgets" that you can use for building a website/web application with an emphasis on a fluid layouts that adapt well to mobile devices. The RichFaces community effort centres around providing a set of first-class JSF components built using these Bootstrap widgets via the RichFaces CDK.

This is still early days for the effort, consider what we have so far as a Proof of Concept. The work is being done in the RichFaces Sandbox, where new ideas/components are explored and proven before migrating in the the framework core. We'll explore how to bring these Bootstrap components into the framework proper when the effort is complete. The reason for this blog post is to let people know what the community is doing and invite people to get involved!

Take a look at the RichFaces bootstrap demo to see what the components look like. Keep in mind we used the RichFaces bootstrap JSF components to build the demo itself, (a dogfood demo if you will!). So far we've stubbed out a number of bootstrap components with the CDK, and we have a bootstrap "enabled" commandButton component (build on top of the robust a4j:commandButton).

Some example bootstrap components that I particularly like are:

b:buttonDropdown
The buttonDropdown can be used to provide alternate actions for a button on your page:




b:gridContainer
The bootstrap grid components (gridContainer/gridRow/gridColumn) provide a powerful means to layout your page. Being proper JSF components, they are also valid JSF execute/render targets.


I'll blog more about the individual components as they get fleshed out. There's a ton of blog material here!

RichFaces Bootstrap Roadmap
Our roadmap for these bootstrap components moving forward involves:
  1. RFSBOX-7 Finish wrapping the remaining bootstrap components
  2. RFSBOX-8 Flesh out the attributes of the already wrapped components
  3. RFSBOX-9 Couple the widget events into the RichFaces/JSF event subsytem (eg. for enabling JSF behaviours)
  4. Migrate/wrap (or re-implement if required) the existing RF 4 components
The task is big, and we could use your commits! So if you are interested in either RichFaces, Bootstrap, or both - be sure to drop by #richfaces on IRC (freenode.net) to discuss how you can get involved and influence how these components will shape up!

Concurrent to the work we do in our sandbox, we are still very much focused on improving the current set of RichFaces 4 components. We have another 4.2 micro release coming out soon, and are planning the Milestone releases for the 4.3 release train.

Lastly, I'd like to close with a big shoutout to Paul Dijou, a Richfaces community member who has been instrumental in getting this effort off the ground! Thanks Paul, and keep those pull request coming!