Radiant CMS: It's all about the extensions
As we prepare to overhaul Pathfinder's corporate website, my colleague Dietrich and I have been giving Radiant CMS a spin. An open-source, Rails-based content-management system, Radiant offers up the slogan "content management simplified." Although Dietrich has been doing most of the heavy lifting, thus far Radiant seems to live up to its tagline.
At first I was a little shocked at what Radiant _doesn't_ offer, such as detailed workflows and content scheduling. My experience with CMS systems in the past has tended toward massive, if not bloated, implementations of platforms like Stellent for large international projects. Pathfinder's needs, though, are modest: a cheap (or free), easy-to-use CMS that allows business users to own the content and developers to own the code. Radiant fits the bill nicely.
I'm most impressed with Radiant's extension architecture, which follows the familiar Firefox/jQuery model in which the base product maintains only essential features and add-ons provide the rest. As the Radiant wiki puts it:
One of the most exciting aspects of Radiant 0.6 is the support that has been added for extensions. Since Radiant is a “no-fluff” content management system there are a lot of features supported by other systems that will never make it into Radiant. I’ve tried to keep things clean and simple so that Radiant is easy to learn and easy to support. The trouble is, my opinion of what features constitute “fluff” and what features are absolutely necessary is probably different than your own. Extensions give you the opportunity to change this.
A Radiant extension is simply a special kind of Rails application, so anybody can build one. Existing extensions cover everything from RSS aggregation and search-engine automation to blog-comment integration and - yup - the content-scheduling feature I was expecting.
Radiant ships with two extensions already installed: parsers for Textile and Markdown. At Pathfinder, we'll be using the Textile filter to enforce separation of concerns and encourage maintenance-free page design. Our business users will author their content in Textile, which will allow them to sidestep any involvement with HTML, CSS or JavaScript. Our developers, meanwhile, will be free to create flexible page templates that can effectively wrap any content and markup that the Textile filter spits out. It's a simple solution to a simple problem.
Plug-in ecosystems seem, to me, to offer the best model for open-source participation. By clearly defining a mechanism for the creation of add-on modules and a forum for publicizing and hosting them, framework authors can keep their central codebase lean and mean while encouraging limitless feature innovation. Songbird, the open-source media-player, is embracing that model; my interview with Songbird's Stephen Lau is coming soon.

Anyone interested in a PHP implementation of the Radiant model should check out Frog CMS - http://www.madebyfrog.com/
Posted by: Colin Scroggins | March 13, 2008 at 09:32 AM