Sunday, April 25, 2010

What is Content Management?

One of the buzzphrases in web technology is Content Management, which is  implemented by a Content Management System, or CMS.  I've posted back-to-back articles about  Drupal, one of the most popular of these systems.   There were two interesting  news articles about Drupal (the release of drupal modules developed at the White House website, and the upcoming release of Drupal 7). Consequently I thought it might be a good idea to write a short article explaining what a Content Management System is, and why they have become such an integral part of contemporary web environments.

When I first started putting together websites in the late 1990s I spent as much time writing the Hypertext Markup Language (HTML) to render an  article for  web browsers as I did working on the plain English language article I was writing.   While learning HTML was fun for me, it wasn't really the best allocation of my available writing time.  Often just getting the articles to display properly took more time and effort than composing and editing the text, not to mention the sheer number of keystrokes it took to hand-craft HTML.  A much simplified (and shortened) version of one of my articles might look like this:

  <head><title>The problems with directly editing Hypertext Markup Language</title></head>
    <h1>The problems with directly editing Hypertext Markup Language</h1>
    <p><a href="">Hypertext Markup Language</a> is a wonderful means of exchanging
    information over the <a href="">World Wide Web</a>.  The text surrounded by the  &lt; and  &gt; symbols give basic
    instructions which allow the web browser to render the document correctly.</p>
    <p>The problem of course, is that I have to focus on not only the flow and logic of what I have to say in the article, but details of page
     layout as well</p>
    <p>This creates a time consuming and error prone editing process,  not to mention the necessity to learn two unrelated skill sets.  And when
    other technologies such as embedded audio and video, online shopping carts, database access, and dynamically created content based on
    user input come into play, the whole package rapidly overwhelms the skill set of most writers or designers.</p>

Depending on the amount of time I put into the web page the quality of either the document, or the display (look and feel) of the document could vary wildly.   Some of my worst articles had beautiful appearance, and some of my best articles were almost unreadable because of sloppy visual presentation.

While there are a number of truly Renaissance individuals out there  who are able to write wonderful literature with beautiful graphics, and to program the website to accept user input, and render the page in an attractive and readable manner, these individuals are  not the norm.  Usually programmers are good at programming, graphic artists are good at graphic art, and writers and editors are good at writing and editing.

Pre-defined templates, and markup editing systems like Bluefish or Dreamweaver alleviate the problem somewhat, but creating large scale collaborative websites involving multiple writers and often multiple editors require a more complete solution.  It became increasingly obvious that systems were needed which would allow a writer to craft an article, upload it in a simple manner, and let the software deal with details including, but not limited to,   font, header information, page layout, and support utilities such as user comment text entry boxes and writer contact information.

This is where Content Management Systems come in.

The term Content Management System (CMS) usually refers to a general and full featured framework such as the free and open source Drupal or Joomla, or any of several proprietary systems, although more specialized blogging software does fall within Content Management.   

I'm going to use Drupal as an example, because it's the Content Management System I've used most.  It's a large free software project with a very  active development community.

The learning curve for getting Drupal set up can be a bit daunting.  If it's done from scratch it can involve the following steps.  Don't worry if you have no idea what the following steps really mean.  I'm just making the point that the initial setup and design can require some specialized skills.  It can involve  setting up and configuring a web server (usually the Apache webserver), linking the Drupal site to a database system (usually MySQL or Postgres), and if any custom work is needed on the site (beyond the thousands of modules available for download) some programming in the PHP language may be necessary.  It also involves decisions about the layout and design of the website, what functionality the site needs (does the site need blogs?  articles?  user comments? login and subscription?  a forum?  a shopping cart?).  After those decisions are made modules to accomplish the tasks need to be chosen, and options for the use of those modules and page placement needs to be configured, and a theme needs to be either chosen or developed to give a consistent look and feel to the site.

After all this is done, though, writers can concentrate on writing, visual artists can concentrate on producing artwork, and the technologists who run the site can focus on the routine tasks of updates and troubleshooting.

Fortunately many web hosting environments have the installation of Drupal or Joomla! already handled, and you can activate it with a single click.  Also there are many contract programmers and consultants who can work with customers on designing and configuring a Drupal or Joomla! site.

For more information on Content Management Systems the following links might be useful:
For general descriptions and definitions:

The Wikipedia article on Content Management
The Wikipedia article on Content Management Systems

On particular implementations of CMS

Drupal's home page
Joomla's Home page

Books about Content Management and Content Management Systems

Content Management Bible
Content Management for Dynamic Web Delivery
Enterprise Content Management Methods: What You Need to Know

Managing Enterprise Content: A Unified Content Strategy
Content Management Systems (Tools of the Trade)
Content Management Systems for Libraries: Case Studies
Professional Content Management Systems: Handling Digital Media Assets
Using Drupal
Pro Drupal Development, Second Edition
Front End Drupal: Designing, Theming, Scripting
Joomla! 1.5: A User's Guide: Building a Successful Joomla! Powered Website (2nd Edition)
Using Joomla: Building Powerful and Efficient Web Sites
Joomla! Start to Finish: How to Plan, Execute, and Maintain Your Web Site (Wrox Programmer to Programmer)

No comments:

Post a Comment