Scott Granneman

Contact | Site Map | Search
HomeWritingPresentationsTeachingWeb DevTech InfoUseful LinksPersonal

Content Management Systems Overview

I've been building Web sites since 1995, and I've seen a lot of changes through the years. However, no matter what technology I've used, I've always had two goals in mind:

  1. Make it easy for Web designers and developers to create sites.
  2. Empower clients and 'normal' people who aren't Web designers and developers so that they can maintain and update their own sites.

Unfortunately, the second goal has proven a lot more difficult to realize than the first. Tools have gotten better over the years for Web developers, but it's still pretty hard for most 'normal' folks to change even simple things on their Web sites. As a result, Web sites get out-of-date and lose their currency. Content gets stale, and mistakes abound.

Why? Typically, because you have two groups involved internally with a Web site: communicators who create content and the technology people who place the content on the Web site. With two groups like that, you simply can't get things done in a timely fashion. You, the communicators, say, 'This content is really important, and it needs to get published today!' So you rush over to the techies and ask them to publish your stuff. They have a crashed server on their hands, however, and can't possibly get to it until tomorrow. The results? A missed opportunity.

Remember, you want site users, not site visitors. A visitor come to a Web site once and never comes back, or returns only sporadically, because there is nothing new there, nothing of changing value. A user, on the other hand, goes a Web site often, because there is something there of value to her, and it changes often enough that repeated returns are a necessity. I visit Jamaica; I don't use Jamaica, which is definitely unfortunate.

After a lot of research and thinking and playing with various software packages, I found a solution that meets both of my goals above -- make it easy for Web developers, and empower non-techies -- and that also helps transform visitors into users. Let me therefore suggest that you investigate a CMS, or Content Management System.

A CMS is a Web-based system that manages the content & design of your Web site. A knowledgeable person or company sets up the CMS for your Web site, including the templates containing your specific site's look and feel. Approved users can then add content to the site -- including text, pictures, and extras like PDFs -- or edit content that has already been placed on the site. Best of all, these users do not need to know any HTML. If they can type something in a word processor, they should be able to use a good CMS.

A CMS reduces the cost of development and, more importantly, the cost of maintenance. To understand why, let's look at the traditional method of developing Web sites using hand-coded HTML or a tool like Dreamweaver or FrontPage that hides the HTML.

If you develop a Web site using the traditional method, you end up developing many separate Web pages. If a Web site is 100 pages, you literally have to code 100 separate pages. This is a lot of work up front, and it can mean a lot of work later, if you want to change anything. For instance, if you decided to change the footer on every page, you'd have to change it 100 times, or use a global find and replace that doesn't always work as you'd expected. If you wanted to move the logo from the right side of the page to the left, again, you'd have to change it 100 times, or do a massive search and replace and that may or may not work right.

After the Web site is finished comes the big question: who's going to maintain and update the site? The company that created the Web site? A lot of Web design companies charge big bucks for maintenance contracts with their clients. Plus, there's always the inevitable delay when something needs to get changed.

OK, if not the Web design company, then how about someone in your company? Your IT guys? They're usually busy doing other things, so you can't always count on them to make the important updates you need right now.

Do you want someone to have to learn HTML? Or should they have to learn a program like Dreamweaver or FrontPage? (and should your organization have to buy those programs?) If they do use a program, realize that they have access to the content of the page they're working on, but they also have access to the design for that page as well. While they're fixing a spelling mistake or updating the calendar, they can easily remove the company logo or accidentally delete some of the page's navigation. And if only one person in your company can edit the site, then they become the bottleneck, and that's never a fun position to be in.

A CMS removes all of these issues because it's built using a database. Everything is stored in a database: the templates that govern your site's look and feel, the content that appears on your site, pictures, and even PDFs and Word documents. There are no Web pages; instead, when the CMS gets a request for the 'Contact' page, let's say, it ...

  • selects the template,
  • grabs any appropriate content that is required for the 'Contact' page,
  • accesses any pictures that go on the 'Contact' page,
  • and then melds it all together to form the newly-constructed 'Contact' page,

... which the CMS sends out to the Web browser that originally made the request.

Since the Web site is built using customizable templates, it becomes easy to create the site. Instead of creating hundreds of pages, your designer creates one template. Better still, it becomes really easy to manage and change the site. If you want to change the site using the old, pre-CMS method, you have to change 100 pages. If you want to change a CMS-driven site, you change one template. Instead of hours or days, you're talking minutes.

Best of all, a good CMS provides non-technical folks with an easy tool they can use to edit Web pages. For instance, our system uses the following process.

  1. Approved user logs in to site with username and password.
  2. Logged-in user goes to Web page he wishes to change and clicks on an 'Edit This Page' button that only appears to logged-in users.
  3. The page reloads, but the content is now in an editor similar to a word processor.
  4. wysiwygBYS.gif: WYSIWYG used by our CMS

  5. The user makes the changes and presses the 'Post Changes' button.
  6. The page reloads, with the changes now visible.

This process makes adding and editing pages incredibly easy. It's really amazing to me to watch people use a CMS, because all of a sudden they're Web creators as well as Web viewers, and that is truly empowering.

I firmly believe that most dynamic, content-rich Web sites will be built using a CMS of some sort in the future. It's the solution that makes the most sense for everyone involved in the Web development process.

Content Management Systems to investigate

You have a choice: buy or rent.

Purchased CMS solutions

Hosted CMS solution

WebSanity hosts CMS-driven Web sites for a variety of local and national clients.