On CBS.com: PMS wins at Physics Bowl

A product review of the Drupal Content Management System, does it make the grade?

Tags: Content management, Databases, Justin James, Drupal, content management system

  • Save
  • Print
  • Digg This
  • 1

Takeaway: With the release of Version 4.7, Justin James decided it was time to take another look at the Drupal Content Management System. Here is his review.

I have spent the last few years looking for the right CMS system. Drupal has been getting a lot of attention lately. For example, SpikeSource pushes it in conjunction with MySQL. I last tried to use Drupal (note the word "tried") about eighteen months ago. With the release of version 4.7, I decided that it was time to take another look at Drupal.

Getting it installed

The installation and configuration of these types of systems (PHP applications, CMS's in general) is fairly routine by now. You download the package, de-compress it, and upload it to your server, then browse to a configuration directory (or the default page), and it will detect that you need to be configured and walk you through it. The system will perform all chmod'ing for you (typically, not always) and nearly always construct the database structure for you; you simply provide the username, password, and schema name for an existing schema. A few short questions later, and the system is up and running. With the exception of Plainblack by WebGUI, I cannot recall an installation taking more than about five minutes of a system such as this one.

Drupal did not follow this standard procedure. If you do not have shell access to your server and the authority to run the MySQL console (or some other method of dumping raw SQL statements to MySQL), you can forget about installing Drupal. Drupal does not have an installer. Instead, you upload the software, dump the contents of a file to MySQL to run, and then access the site. The instructions are not helpful for a less-than-advanced user, in terms of telling you how to chmod, chgrp, chown, etc. the directory structure. If you do not already know how to do this, you are on your own.

Even worse, the tar file, when uncompressed with permissions (I used tar -xpf, out of habit) has some files set with an owner ID of 1055, a non-standard UID. To top it all off, a crontab addition was needed, which is also far outside the realm of the average user with an inexpensive hosted account. After messing around with permissions and setting up the crontab, it seemed safe to run Drupal. That did not work though, because I had failed to put my database username and password into a configuration file. Again, it is standard for these systems to prompt for this information, not to require you to manually edit a file.

Once I resolved these initial issues, I loaded up Drupal in my browser. It asked me to make an initial username and assign it a password. After making the username and password, it showed me my user's information, to perform final editing. No tutorial was offered, nor did it highlight anything along the lines of "click here to get started." I did not initially find any links to help, either. What documentation I did find within the system, was sparse and inadequate.

Is it usable?

I have always believed that a piece of software should be extremely usable. My measure of usability is that a user who is knowledgeable about the non-software-specific portions of the task should be able to begin basic work within a few seconds of the software loading, have the ability to perform all basic functionality in under an hour, and be an expert user within a few hours. For example, if the user understands the TCP/IP protocol, DNS, routing protocols, etc., and is working with software to configure a router, they should be able to do something such as set the IP address and subnet mask of an interface nearly instantly. Within a few minutes they should be performing basic DNS tasks, and after a few hours they should be able to perform any TCP/IP related function on that router.

Drupal fails on these measures. There were links to create content, which I happily followed. I was immediately presented with an interesting dilemma: do I want to create a "page" or a "story?" The system explained that a "page" is for something like an "About Us" page, and a "story" contained content like a blog. This did not make any sense to me. A blog would be a "page" where content can be added in small chunks, right? Every other system I have used (that I can recall) lets you define a particular "page" as a blog, and then just add content to the blog.

I decided to try to make a "page." I was confronted by a plain area to enter text, with no WYSIWYG editing capabilities. I actually considered this to be good, because I have had so many problems with Web-based WYSIWYG editors. However, less than advanced users will be pretty helpless putting content into Drupal. I was also given a choice of entering "Filtered HTML," "PHP Code," and "Full HTML." Again, it is very nice to have these advanced features, but it was clear to me that this system is not for the average content creator.

The site design customization is similarly restricted to advanced users. Out of the box, the instructions say that you can do the following: change the theme, edit the CSS, or edit the templates. CSS is standard for these systems now, but my experience has been that the look and feel that I want goes beyond CSS changes.

The default template, thankfully, is not as bad as the ones that come with most OSS PHP systems. Instead of a fixed width, three column layout, it is a two column (third column optional), navigation on the left, free flowing layout, which is my preference. Drupal scored points with me with this decision. Determining what menus appear where (and to whom) can be determined through the administration. The administration is a little bit less robust than I would like, and not as obvious as most users need, but it is adequate once you learn it.

The default configuration leans very strongly towards the "community site" genre, with comments and login boxes. These seem to be fairly easy to turn off throughout the site. The template system seems to simply be a rather standard PHP system, with a few special tags for the Drupal items, such as a "add content here" tag or a "main navigation here" tag. Overall, many Web site users will find that editing the default template's CSS will more than meet their needs.

One glaring omission is Drupal is asset management. It does not allow you to create and maintain a set of files for the site, such as images, PDF files, etc. for reuse throughout the site. To add any images to the site design requires manual editing of the template files or CSS, and adding images or file links within an individual page involves linking to the image from the HTML code that you enter, and separate uploading of the file. Drupal does have an "attach files to content" system, but frankly I find this to be inadequate. Without an asset management system, average content creators will find themselves creating content that is not much more than a good looking email with attachments.

The final grade

Overall, Drupal does not make the grade. I like that it allows entering in full HTML without trying to mangle it, like many systems insist upon, as well as PHP code. It is an extremely flexible system, and the initial theme choice was good. However, the installation process, while not difficult, is too difficult for someone who is used to the typical "upload and configure via browser" Web application. The lack of asset management is a serious oversight.

I get the impression from the installation process itself, and the documentation, that Drupal is aimed more at ISPs looking to provide a basic CMS for their customers, or an IT department to provide this service, than for the average customer to setup and use Drupal on their own. The interface provides little assistance, and most users will need to have Drupal's site open to the documentation for some time before they learn the system. Drupal may be a decent choice for an ISP, but its difficult installation, lack of simple online content management, and failure to provide asset management make it too hard to use for the average user for anything above and beyond basic site creation.

  • Save
  • Print
  • Digg This
  • 1

Print/View all Posts Comments on this article

I think the reviewer is expecting something different than what Drupal isshanson@...  | 07/07/06
I think that may be a fair assessmentJustin James  | 07/11/06
Drupal Not a CMS???????mindxz@...  | 08/03/06
I love Drupalmaxbell@...  | 07/07/06
Drupal 4.8Justin James  | 07/11/06
Consider MODxryan@...  | 07/24/06
It all depends on the needs of the projectpete@...  | 07/24/06
I will be looking at moreJustin James  | 07/24/06
We looked at Drupal, loved it but just to difficultnewsletters@...  | 07/24/06
Drupal has a horrible User Interfacemindxz@...  | 08/03/06
Somewhat Misleadingr.perkins@...  | 01/27/07
Very unfair review!jgazis@...  | 03/01/07

What do you think?

Article Categories

Security
Security Solutions, IT Locksmith
Networking and Communications
E-mail Administration NetNote, Cisco Routers and Switches
CIO and IT Management
Project Management, CIO Issues, Strategies that Scale
Desktops, Laptops & OS
Windows 2000 Professional, Microsoft Word, Microsoft Excel, Microsoft Access, Windows XP,
Data Management
Oracle, SQL Server
Servers
Windows NT, Linux NetNote, Windows Server 2003
Career Development
Geek Trivia
Software/Web Development
Web Development Zone, Visual Basic, .NET
advertisement
Click Here