CMS Wasteland
It’s not hard to understand why so many content management systems exist—none of them are ever quite the right fit. The promise of the perfect CMS calls to programmers as a siren, tempting them to use the latest language in vogue, the newest techniques and standards. Perhaps part of the proliferation is due to us missing the point. In one of my favorite articles about the subject, Jeffery Veen in 2004 pointed out that:
Content management is not a technology problem. If you’re having trouble managing the content on your Web site, it’s because you have an editorial process problem. Your public-facing Web site is a publication. Treat it like one.
Since I registered by first website in 2003, I’ve used Apache Forrest, Movable Type, Mambo (which turned into Joomla ), and TextPattern and finally pyblosxom to manage my “content.” My adoption of pyblosxom was an attempt to simplify the technology I was working with on my weblogs. Despite some drawbacks, I’ve enjoyed it quite a bit.
In addition to the work I’m currently doing on the ApacheCon family of websites, I’m facing new updates to my own sets of websites, particularly the JadeTower sites. I spent a good bit of the last weekend reviewing blog and CMS software trying to see if I could find a solution I liked. Part of my trouble is that I would prefer to manage all the websites from a single software installation, rather than have multiple databases and administrative consoles. I also have odd preferences like preferring flat files to databases (especially for document heavy websites like blogs) and believing that most content should be served statically instead of generated dynamically (something I still need to enable on my own weblog).
In fact, for most weblogs there are only two features that require any sort of server side processing—comments and search. If you hand search off to google, then you’re left with comments. Whether comments are worth the trouble is a matter all to itself. Nevertheless, blog commenting can be implemented by either a single script or by linking to proper forum software.
You may have thought that I forgot the most obvious form of server side processing for CMS’s and blogs—online authoring. Well, maybe that’s an important feature too, but right now I’m writing this article in emacs which is a better editor than any web form can provide. I much prefer to author my documents in a proper editor and then upload to the site via subversion or the like. I can see a case for adding ATOM publishing support, but I don’t need anything more advanced than that.
All of this has me leaning to generating my websites instead of using a CMS to manage them. Pyblosxom offers static generation and I’m thinking about hacking it to fit my exact purposes. I keep turning back to Apache Cocoon which matches my needs almost perfectly if only I could run Java on my webhost. And with a lifetime account at TextDrive, it’s not worth it to me to move. This tempts me to write a “simple” version of Cocoon in Ruby or Python, but that’s a slipperly slope.
So despite spending the weekend looking at Drupal, Radiant, Lenya, the new MovableType beta (though I’ve burned by them before) and a host of others, I’ll probably stick with good ‘ol pybloxom. It appears that CMS oasis in the wasteland is most likely a mirage.




§Commentary