MT Plugins and Brad Choate

Tagged:  

One of the advantages of using a popular, established package like Movable Type is the support available. Brad Choate seems to be an alpha MT guru, and has written a number of useful plugins, including KeyValues, which is a hack for storing metadata in extra fields of MT entries as well as category, and blog descriptions. This seems like an easy way for me to store my per-category link lists, so I've been using it. I ran into a problem, posted a question in Brad's comments section, and less than an hour after sending him a copy of my offending code he emailed me updated code which fixed my problem. Thanks, Brad!

Brad maintains that although Movable Type is not intended as a general purpose CMS, it can be coaxed to do a lot more than its authors intended. MT does have the core of a good CMS inside it, but its code is rather locked into its special-purpose application as blogging software. It's template management limits pages to be indexes or archives based on categories or date, and its tag library is similarly restricted. These can be creatively abused to do more than they were intended, but it would be nice if the authors rearchitected it a bit to allow the core to be more easily repurposed for non-blog uses.

The really useful thing about MT is it's got a great model for baking web pages. There are a baskillion web page frying systems whose templates are processed at runtime, ASP, JSP, PHP, et. al. Even more down-to-earth systems like Turbine fry their pages, although Velocity does offer baking functionality with DVSL.

MT bakes its pages when the content or the template changes, and whats more, offers a plugin architecture that makes it easy to extend what happens at bake-time. Since it puts out flat files, pages which really need to be fried, because they have elements which change at view-time (e.g. user personalization), can be produced with whatever frying template code you need.

If the MT authors refactored their code to move the blogging-specific features outside the core of MT, the core could become a very strong web application framework. Of course it would help if they open sourced that bit (they could keep the blog-specific MT stuff under the current semi-open license), but that's a different story.