Types of Content Management Systems


Content management systems can be sorted into rough categories. As you've probably figured out, there's more to it than just deciding to use a content management system. You have to figure out what type of content you have and which content management system makes the most sense for you. In some cases, multiple content management systems may be the answer. You may prefer to publish your writing using a weblogging tool and to publish your photos using a photo gallery application. Here's a discussion of some common types of content management systems.

Weblogging Tools

It seems you can't escape the term weblog (or more commonly, blog) these days. A weblog is just a website where new items are published in reverse chronological order. The items can be articles, links, recipes, photos, or anything else. Generally the most recent items are displayed on the front page, the site maintains an archive of earlier material, and in many cases the site allows users to publish comments of their own. You can find weblogs on just about any topic of interest, and increasingly weblogs are integrated into other types of websites. For example, many magazines and newspapers publish weblogs as part of their sites. Companies are using weblogs to communicate directly with their customers. Political campaigns are using them to get their message out. In large part, the reason weblogs have taken off is that the format is easy to work with. You can publish short items as frequently as you like, and users know that when they visit the site they'll always see the latest and greatest information right up front. In this lesson, I'm going to discuss a weblogging package you can install yourself called WordPress as well as a hosted weblog tool called TypePad. Google also offers a hosted solution that's free to use called Blogger, which you can find at http://www.blogger.com. You may want to check that out as well.

Community Publishing Applications

Community publishing applications are similar to weblog tools in that they are usually built around publishing items by date right up front. They differ from weblogging tools in that they are more centered around providing features for all of the site's users, not just the site's author or authors. Generally these applications provide the ability for users to register as members of the site, submit stories, and engage in discussions among themselves. Sites that incorporate this kind of functionality include http://slashdot.org/ and http://digg.com/.

Some other popular community publishing applications include the following:

  • Slash (http://www.slashcode.com/) The software behind the popular website Slashdot.org, written in Perl.

  • Scoop (http://scoop.kuro5hin.org/) The software behind Kuro5hin. Scoop is similar to Slash and also written in Perl.

  • Drupal (http://drupal.org) A community publishing system written in PHP. The application is written in a modular fashion so that you can include only the features you want.

  • PostNuke (http://www.postnuke.com) Another community publishing system written in PHP.

Wikis

Wiki-style systems take the most radical and counterintuitive approach to content management. Most wikis not only allow anyone to view articles but also to edit them. Some wikis require users to register before they can view or edit articles, but the wiki philosophy is that every user is an editor. When most people hear about this concept, they imagine that the result will be anarchy, but as long as there is a critical mass of users who want the wiki to be useful, this type of system is resistant to attempted defacement. Wikis generally keep a history of changes made to every article, so it's easy to go back to an older version of a page if someone deletes things they shouldn't or otherwise submits unwanted changes.

The most famous wiki is Wikipedia (http://wikipedia.org), an online encyclopedia written and edited by volunteers. Not only can anyone view the articles in the encyclopedia, but they can also edit them. If you know something about Fargo, North Dakota that's not already in Wikipedia, you can look it up there and add your own information. Attempted vandalism is taken care of by volunteers who keep an eye out for it, and volunteers handle disputes over controversial content as well.

The name wiki comes from the name of the original wiki software, which was called WikiWikiWeb, taken from an airport bus route in Honolulu, Hawaii. To read more about the nature of wikis and their history, why not read about them in Wikipedia? The URL is http://en.wikipedia.org/wiki/Wiki.

Aside from the fact that everyone can edit the pages in a wiki, the other distinguishing feature of wikis is that they generally provide their own markup language instead of HTML. Generally wiki markup is less flexible than HTML, but also a bit easier to get the hang of. Unfortunately, wiki markup usually differs between wiki software packages, so learning MediaWiki's markup language won't help you out a whole lot if you start using TWiki, for example.

Wikis aren't right for every project. If you want to publish your poetry online, putting it up on a page where anyone can edit it probably isn't a good idea. On the other hand, if you need a site where a group can collaboratively write documentation for a project, a wiki can be a great choice. Here's a list of other popular wiki applications and hosts:

  • WikiWikiWeb (http://c2.com/cgi/wiki) The original wiki.

  • MediaWiki (http://www.mediawiki.org/) The software behind Wikipedia. I'll discuss it more later in this lesson.

  • TWiki (http://twiki.org/) A popular wiki package aimed at people who want to support collaboration on a project.

  • DokuWiki (http://wiki.splitbrain.org/wiki:dokuwiki) Another wiki designed for project collaboration. Unlike some other wikis, it does not require you to install a relational database such as MySQL to store its data.

You can find a comparison of various wiki software packages at http://en.wikipedia.org/wiki/Comparison_of_wiki_software.

There's also a list of hosted wikis that you can use at http://c2.com/cgi/wiki?WikiFarms.

Image Galleries

As digital cameras have grown more popular, so too has sharing photos online. There are many photo-sharing sites online that you can use to host your photos. Some popular choices include Flickr (http://flickr.com/), Kodak EashShare Gallery (http://kodakgallery.com/), Snapfish (http://snapfish.com/), and Fotki (http://fotki.com/).

If you just want to upload pictures and share them with your friends and family members, these sites provide an easy way to do that. In some cases, however, you may want to host your own image galleries. A number of popular image gallery applications are available that vary in terms of complexity and the extent to which they can be customized. The good ones take care of creating thumbnails of your images for you so that you can just upload your photos without dealing with image-editing programs yourself.

In this lesson, I'm going to discuss Coppermine, a popular image gallery application written in PHP.

General-Purpose Content Management Systems

There are far too many general-purpose content management systems to list here. Some content management systems are really just toolkits that enable you to build something on your own. Others are highly structured with tons of features that you control via configuration, rather than by writing code on your own. Here are some features that these general-purpose content management systems tend to have in common:

  • A templating system All content management systems provide some way for you to specify how your content will be laid out on the page, and how the pages containing the content will look. Most templates take the form of HTML files with special markers that indicate where each piece of content goes. In many cases, the templates are just regular PHP, JSP, or ASP pages. In other cases, the content management system will provide its own template language.

  • A data repository Content management systems produce web pages, but they usually store the data in some structured format, whether it's in a relational database or in XML files. When users enter data, it is stored so that the system can merge the data with the templates to generate HTML when the documents are published.

  • A workflow system Controlling who gets to edit which content as well as managing processes for moving content from draft to published status are big parts of many content management systems. Some provide very rigid systems that you have to work within; others let you modify the workflow to suit your own organization. Generally complex workflow features are part of larger content management systems. They're not very useful for individuals or small groups.

  • A system for writing and editing content All content management systems provide some way for you to get your content into the system. Some enable you to enter it using HTML forms; others provide integration with external tools such as Microsoft Word.

  • A system for publishing content Once content is in the repository and has been approved for publishing, a content management system has to merge that content with a template and publish it on a web page. Some content management systems produce actual HTML files; others generate the HTML on the fly for every request. Which approach is used usually depends on how much dynamic content appears on the page. Most content management systems that don't publish static files provide some mechanism for caching so that data that hasn't changed can be read from the cache rather than being generated dynamically.




Sams Teach Yourself Web Publishing with HTML and CSS in One Hour a Day
Sams Teach Yourself Web Publishing with HTML and CSS in One Hour a Day (5th Edition)
ISBN: 0672328860
EAN: 2147483647
Year: 2007
Pages: 305

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net