SiteMesh 3 preview
I’m pleased to announce a preview of the next generation of SiteMesh.
Before I go on, here’s a big disclaimer: This is not a stable release version yet… it’s not even a beta… it’s an alpha… a first alpha.
But anyway, I decided to launch it in this state, as I think it’s a huge improvement over SiteMesh 2, and I’d like to get your feedback earlier so it can be fed into the final product.
Quick links, for the impatient:
So what’s new? Well, everything. The 10 year old code base has been thrown away and rebuilt from the ground up. At the core of it is a new content processing architecture that performs roughly three times as fast as SiteMesh 2 with half the memory usage.
Along with that:
- Decorator chaining. Compose pages from multiple layouts and decorators.
- Decoupled from templating systems. Decorators can be produced with any technologies – you are free from JSP.
- Offline site generation. Apply decorators as part of a build step. Accessible through Java API, Ant task and command line tool.
- Simplified configuration. Use XML, Java or plug in your own system.
- Clean API provides extension points for adding custom processing rules (e.g. on the fly page transformations).
- Licensed under Apache Software License v2.0.
So what’s the same? The values of SiteMesh have not changed – simplicity, robustness and performance.
You can learn more about SiteMesh 3 on its new website: www.sitemesh.org
What about compatibility with SiteMesh 2?
This was a hard decision to make, but SiteMesh 3 is not backwards compatible with SiteMesh 2. Upgrading will require work beyond just upgrading a library. Over the coming weeks, I shall produce some guides and tools to make this transition easier. Though this may be frustrating to many users, it was becoming too hard to make changes to SiteMesh 2 based on limitations to its design. SiteMesh 3 addresses these and will make way for a lot of great features and improvements in years to come.
Meanwhile, SiteMesh 2 will continue to be supported until 2011 – though this will mostly be critical bug fixes only. The majority of development effort will be focussed on SiteMesh 3.
So give it a go, and give us feedback. But please remember that it’s only an alpha!