3/01/2008

The vast majority of CMS systems store data in a database, typically in the excellent and free MySQL database. This is a reliable data storage method that offers quick response. It is the route I recommend if you foresee your Web site growing to a large number of pages.

But if you plan to operate a typical small or medium sized Web site, you may want to opt for a CMS system that doesn't use a database. Since a database server installation adds another layer of complexity to your Web site, it can overly complicate matters. I'm a firm believer that technical simplicity is the best route. If a simple flat-file CMS system will get the job done, why stress yourself with setting up and running a database?

Virtually all paid PHP hosting plans include access to a database engine. But many free hosts don't.
So if you are setting up a site as cheaply as possible, a flat file system may be the way to go. And there are some great Open Source CMS scripts out there, some robust enough to operate a top-class business Web site.

My favorite of the moment is MuCMS, short for Matt's Micro Content Management System. It requires only that the server it is installed on have PHP. The script itself is otherwise free standing, with no other dependencies. It has some traits that I find very attractive.

It stores each content page in a separate text file, so when someone calls for a certain page, all the script has to do is direct that user to that page. That's a much simpler process than the typical database-backed CMS, which in the same instance would process the request, send a message to the database engine, which would then need to process that request, find the requested information in the database table, send it back to the CMS system, which then would add the design wrapper information, then send the result back to the user.

MuCMS does its simplification magic by doing most of the work at the time the administrator creates the page. All the required information including the content and the design wrapper, at that time is bundled into a plain, straight HTML page and stored. By the time the user asks for that page, all the work is already done, so all the server needs to do then is send it on its way. That is very efficient, because normally, you create or edit a page one time and then it may be requested hundreds or thousands of times. I've noticed that add-ons are available for some maintream database CMS scripts that mimic this trait - they perform the PHP and database actions once and store the result in an HTML file for later recall. A server has to work much less to send an HTML file than it does to perform database manipulations, so the result is a quicker and more responsive Web site.

In addition to speed an efficiency, MuCMS has a clean, attractive admin interface, a couple of very nice bundled front end templates, built-in statistics package, built-in site search and a few other bells and whistles. Installation is not quite as easy as some more popular content management systems, but if you have a bare minimum of understanding of server paths, you can have it up and running in 10 minutes. Setting up the main menu also requires a basic knowledge of HTML, but again, takes just a minute or two to set up. I tested MuCMS with several dozen pages, and it performed fine. The admin interface slowed down slightly as the page number grew, but the public delivery did not.

A very interesting CMS offering is Drake, currently being renamed to Lanius, which was originally a development fork or offshoot of Limbo, which was itself a development fork of Mambo. Mambo used a MySQL database, and stopped being actively developed somewhere around 2004. Limbo used flat files for data storage. Drake offers the end user a choice of either. You can even create a site using one data storage method, create a backup, and restore it to the other. This is a great feature, since if you become dissatisfied with the method you are using, you can change to other without touching the structure or appearance of your site! I tested Drake on a free host and found that it worked faster using the built-in Gladius (flat file) storage system than MySQL. That's probably because the MySQL server software was on a different computer than my site - the extra complexity slowed things down. On a paid host where the MySQL software might be on the same machine as the site itself, the database probably would perform better.

I like Drake, and think it holds much promise as development continues under the Lanius name. Right now, it is handicapped, like many or even most CMS systems because the administration interface makes it difficult for average users. This is one of my pet peeves with most content management systems in common use. You set up a CMS once, then use it to add or edit content repeatedly. But open up a typical CMS control panel, and you are presented with a morass of menu options devoted to setup. Drake has a very complete admin page, but it's hard to find where to add or edit content. It's there, but it's hard to find.

1 comments:

Unknown said...

Very good post. Read my website: sitab