complat
Related Articles
The road ahead for SiteMesh 3
Here's an update of what's in store for the upcoming SiteMesh releases and how they benefit you.
Firstly, there are a number of accumulated bugsthat we're steadily working our way through. The recent 2.1 and 2.2 releases have been mostly bugfixes, and this will continue for the 2.x series, including those related to using MVCframeworks such as Struts and WebWork.
Meanwhile, SiteMesh 3 has been brewing. It's been four years since SiteMesh was first open-sourced (it existed for two years before that as closed-source) and in that time it hasn't really changed significantly. SiteMesh 3 is going to see the largest set of improvements since it was initially released.
Flexible HTMLprocessing
The core of SiteMesh is based around an HTMLparser that is very fast and tolerant to badly formed HTML,however at the cost of being extremely hard to extend.
SiteMesh 3 will contain a new parser, which is easy to customize, without compromising on performance and tolerance to malformed HTML. This will allow extensions to be written that can:
- Extract user-defined properties from the page beyond the predefined ones from <title>, <meta>, <content>, etc.
- Remove blocks of content from the page.
- Transform HTMLas the page is parsed.
SiteMesh will come bundled with extensions for popular tasks and it will be trivial to add your own. More on this in a follow-up entry.
Improved Velocity integration
This follows on from some work done by Atlassianand will allow a page to be generated using the VelocityAPI as an alternative to calling Servlet
RequestDispatchers and the Filter.
This offers significant performance improvements for applications that don't use JSPand allows more of SiteMesh to be used in environments outside of the Servlet container, which leads nicely on to the next feature.
Offline support with StaticMesh
There has been a lot of demand for using SiteMesh to generate web-sites in an offline manner. A common case for this is a simpler alternative to DocBook style tools, allowing documents to be authored in standard HTMLcapable word-processing tools (such as MS Word, OpenOffice and Mozilla Composer), giving you the full capabilities of a rich-text word-processor and without the need to learn a special markup/schema.
SiteMesh can then process these raw HTMLfiles and generated another set of static HTMLfiles with the appropriate presentation and navigation added.
Building upon the extended HTMLprocessing capabilities, it will also be possible to do things like generate a table of contents, footnotes, and diagrams from inline syntax.
There have been at least three seperate incarnations of StaticMeshappear over the last few years. We hope to bring the best bits from each of these into the final version.
StaticMesh will have a simple APIfor configuration, bundled with a command-line wrapper and Ant task.
Backwards compatability
Just to ease your minds, you're not going to have to rewrite your applications to use SiteMesh 3. Great effort will be taken to ensure that backwards compatability is preserved. The library will have more features, but at the same time a lot of the old stuff can be simplified. Dependencies will be minimized and optional - for example, you will only need velocity.jar if you're actually using the Velocity stuff.
I'll be posting more information later.
Watch this space...



