Tuesday, March 25, 2008

Daisy 2.2 released. Kauri keeping Outerthought busy

Outerthought recently announced version 2.2 of their Daisy CMS platform. One of the biggest improvements has been in the area of localization. Daisy, with its "variants" model, has always been strong in managing multiple language renditions of a content asset. With 2.2, Daisy has improved the way different translations of a document are kept in sync. For example, if your native language is English, you may create many incremental English versions of an asset and translate the major versions into the secondary languages. Daisy 2.2 allows you to map different versions of language variants and shows you when the mapped versions are not in sync. For a better, more thorough explanation, see Bruno Dumon's blog post on translation management.


I think that the Daisy 2.2 release has been ready to go for a while but the team has been working on a new web application framework called Kauri. I know what you are thinking: just what the world needs, another web application development framework. Take comfort in knowing that they are not trying to re-invent everything. They are re-using what they like but have decided to build their own runtime and their own template language. The runtime is based on a "Restlet" (as opposed to servlet) architecture and seems pretty interesting. While servlet based frameworks may be considered to heavy weight for REST style architectures, I think departing from a well known standard (like the Servlet standard) should not be taken lightly. Noelios, the company behind Restlets, is intending to take their Restlet API 2.0 through the Java Community Process this year (see blog post).

The creation of a new templating language makes me a little uncomfortable. While there is really no good standard other than JSP JSTL (not really a templating language in itself) and XSLT (too hard for most to learn), creating a new templating language (or any new language) is the developer equivalent of jumping the shark - an over the top attempt to break out of the status quo.

No templating language is perfect but there is value in working in an imperfect language that you know or that your IDE knows. Most templating languages go through a natural lifecycle where they start out architecturally pure but limiting (and often a little slow and buggy too), then they achieve stability, then they start to get ruined by the desire add programming capabilities that spoils the separation between layout and business logic. I would love to see a better standard in this area that will help slow the decay of a good templating language and bring some commonality between content management systems.

I will try not to pass judgement on the Kauri template language before I see it and I would love to see something that would make me want to teach it to a creative developer. I guess you could say that I have a healthy skepticism.