With the recent RichFaces build re-structure proof-of-concept, we realized that in order to be effective with the new build we had to introduce some breaking changes. As such we are using the opportunity to kick off a RichFaces 5 effort that will broadly focus on two aspects:
- Build Re-structure
- New approach to styling
The new build structure will leave us with a codebase contained in a single github repository with fewer artifacts and less artifact assembly performed at build time. The result can be previewed in on Lukas’ github repository, where the new project layout is demonstrably easier to understand and work with. It’s worth noting that this new and improved build structure has only recently been enabled with the CDK incremental build feature introduced in RichFaces 4.3.
Along with the build restructure, we are considering collapsing the rich: and a4j: namespaces into a single namespace. Having PoC’ed this idea, and implemented the change in the dev-examples in showcase, I can report that the migration is easy to perform with a simple regex. The end-result is more clear, and unconstrained by the dual-history of the project.
New approach to styling
The new styling approach is based on LESS, and is an extension of the Bootstrap style. We are expecting to include a new skin for the current components so they can be used alongside the new Bootstrap themed components. This will open up applications written with RichFaces to the world of pre-canned Bootstrap themes, and will also better empower those who create their own skins via the richness inherent with LESS.
Stay tuned for more details as we start working on this with for the upcoming 5.0.0 release.
Bug fixes and new components
We will continue in RichFaces 5 with our iterative improvements on existing components in terms of bug-fixes and feature requests. We will also continue to roll out new components. Both of these efforts will be facilitated by the new build structure, enabling us to achieve a more timely turnaround in both fixes and features.
We will address JSF 2.2 compatibility with the first RichFaces release that follows the release of JSF 2.2. Timing-wise this *looks* like it will be RichFaces 5.0, but it could very well be a 5.x release.
For those who have had a tough time with the RF 3 -> RF 4 migration, you will be glad to hear that any migration required to move to RF 5 will be much simpler. As we’ve stated before, the complexity of the transition from RF 3 to RF 4 derived from the significant change in going from JSF 1.x to JSF 2. There is no such underlying change in the release of RichFaces 5, which will make the migration process much smoother.
Any difficulty in migrating from RF 4 to RF 5 will most likely come from those who have created a custom theme/skin. We will however make a concerted effort to minimize any such breaking changes. The improvements we expect to see in theming extensibility and expressiveness will however make any such transition worth taking the time to perform.
Please share your thoughts on moving the project forward! -- but please avoid citing specific jiras, we’ll leave that to the more effective jira voting mechanism.