CMS for TidBits

There is a very good discussion on the TidBits-Talk list about finding a new CMS for the publication. They are looking to replace their home built system as they move to an X-serve/OS X system.

I've worked with several systems including Clay Basket, Userland's Frontier (versions 4-7.x), Zope (2.x), Nuke derivatives and now Drupal. Each has something powerful to offer.

Frontier and Zope both use object databases. I originally did all my web work in Frontier. It has enabled projects such as the Oklahoma Sympathy Card and the news reader behind that subscribed to an e-mail press release list and published those press releases to the web. All of this was done with the relatively immature feature set of Frontier 5. It's worth noting that Frontier 5's feature set is only immature in comparison to its later versions. I stopped using Frontier for two main reasons. First I wanted something that would run on Linux or BSD as well as other flavors of *nix. Second, I like to keep several machines involved in my web efforts. Frontier is great for allowing updates from across the web, but fundamental work such as writing new scripts etc., requires a second copy of the database and now a costly second license for Frontier. If a site does not need to run under OS X there is still a fantastic version of Frontier is still available for free download. Frontier sets a standard that is unmatched in both ease of use out of the box and extendibility with ease of programming. All told Frontier helped me create several thousand web pages quite simply for a number of companies, educational institutions, individuals and other efforts.

Following my work with Frontier I moved to Zope and used it quite happily for a few years. Python was a new language for me and it took a little getting used to. Having been spoiled by the super intuitive outline-based editor for Frontier it took a while to learn the syntax. Zope presented a great advantage over Frontier in that it was editable completely from the web without having to create a script to edit settings. One could log in through the web, and occasionally a ssh connection and run the whole server, make changes and life was good. I eventually changed away from Zope because it's strongest feature is also it's greatest weakness. There are many advantages to storing data and scripts in a common object database (a feature shared with Frontier) but this also creates unwieldily situations at times when one wants to move a portion of a site, integrate a separate technology. It's not impossible, I just decided not to deal with it anymore.

After a few other false starts I'm very happy with Drupal both for it's well integrated news aggregation services for importing RSS feeds and it's reliance on PHP and MySQL as underpinnings. One of the greatest features that sets Drupal apart is it's taxonomy features. This may not be necessary for TidBits, but it enables interrelated taxonomies right out of the box. This means that a single word such as "milk" can be associated with both "liquids" and with "dairy". A feature lacking in many a CMS system.

With Drupal running very nicely on OS X (c.f. where Drupal runs on OS X Server on a TiBook 400It continued to run on the TiBook until approximately April 2004 when it was moved to a shared host because of our relocation.) it is also very possible to setup a flow where each contributor has a local copy of the database that can be used to edit and work with locally before sending updates to the central server. Drupal also includes many key ways of entering data such as e-mail, OPML and has RSS syndication built in.

Other people in the discussion have pointed to several great sites for evaluating systems. I'd definitely recommend trying as many as possible. Even if one is not selected it may have features that are desirable to include in the final solution.

P.S. One of the greatest challenges may be the conversion of current article paths. Most of uses ?'s to send the search arguments. It's quite likely that the final solution will have to include using Apache's re-write module to have these link to the same article in the new database.

P.P.S. One of the greatest features in Frontier is the ability to have it maintain the internal links for stories. In Frontier anything in double quotes is checked against the glossary for a match and if there is one it's made a link to the glossary. So an update to the site can be accomplished by updating the glossary and then re-rendering the site.