Home > Resources > Web Development > Web Tips > Content Management Systems (CMS)

PDI 2008 Sessions: Content Management Systems (CMS)

What is it?

A content management system is a Web-based application for organizing, storing, maintaining and displaying files and information.

  • No universal definition
  • CMS differ radically in feature sets, complexity and cost

Why use it?


  • Manage content
  • Provide public and/or internal access to content
  • Allow staff and/or end users to create content
  • Group collaboration


  • Functionality
    • create a complex, dynamic site
  • Appearance and Usability
    • organizational and coding standards
    • uniform appearance and branding
    • separate content from presentation
    • CSS and standard templates
    • page layout, header, footer, navigation bar, color scheme
  • Efficiency: reduce staff time for administration and maintenance
    • less technical Web expertise needed
    • content staff focus on content
    • technical staff focus on presentation and coding

Costs and Issues

  • Server and/or client software licenses
  • Administrators needed to manage the software and users
    • Security holes and bugs
    • Regular upgrades
  • No long-term industry-leading CMS packages
    • New and unreliable
    • No standard set of features
    • Time-consuming to switch to another package
  • Inflexibility
    • Customization limited without programming
    • Difficult to mix scripting languages
  • Separate tools or a custom-built CMS may be better
    • Features may be unneeded or missing
    • SSIs, stylesheets and JavaScript for headers, footers and look and feel
    • Linux, Apache and Samba for managing user and directory permissions
  • Still need enforcement of content structure and quality
    • Organize content of pages into categories and hierarchies
    • Create a navigation structure that is logical for users
    • Review page content for accuracy, writing style, etc.
    • Too easy for novices to post pages without review
  • Easy to be attracted by bells and whistles of feature-bloated CMS packages
    • Stick to simple solutions that solve key workflow/process problems

Popular Tools

* = CSU Libraries has implemented, tested or considered this solution

CSU Libraries Demos

Drupal - CMS

Movable Type - blog

  • User interface is a list of articles
    • Navigation: search; categories; archives by date; recent posts
    • Subscribe to blog's news feed
    • Permalink to an article
    • User comments
    • Trackback/pingback - links to other sites that refer to the entry
  • Posting - Entries - title, category, body, extended entry, excerpt
    • Basic HTML formatting, links, images
  • Community - publish or delete comments, send automatic emails
  • Configuration
    • Templates - page layout for index and category/date archives
    • Categories - for grouping articles
    • Settings - blog name, description, display, new entries, comments, publishing
  • Authors - profile, permissions
  • Plugins - extended features
  • Utilities - Search & Replace - global changes e.g. updated URLs
  • CGI/Perl scripts and MySQL database build HTML pages

MediaWiki - wiki

  • Browse interface is more free-form like Web pages
    • Navigation: main page, recent changes, Search box
    • Toolbox: what links here, upload file, special pages, printable version
    • Page: article, discussion, view source, history
    • Page contents: TOC, headings, lists, links
    • Footer: modification date, page views, breadcrumbs
  • Create account/login
    • Only logged in users can contribute content
    • Libraries staff can create their own staff wiki accounts
    • Public wiki accounts created upon request
  • To edit pages, use simple wiki syntax
    • * bullets, # numbers, = headings, [] external links
    • Page links: [[]], namespaces
    • Some HTML codes are allowed
    • Page: protect, delete, move, watch
    • Upload files (images and other file types)
  • Configuration
    • LocalSettings.php - namespaces, file sizes/types, plugins
    • Skin - page layout (.php file), stylesheets (.css files), images
    • MySQL database tables hold page content, user info


  • Applications: built-in and plugins
    • wikis, blogs, RSS, chat, email
    • calendars, FAQs, image gallery, user/staff list
    • forms, surveys, polls, tests/quizzes
  • Templates for different page types: customizability, skins
  • Workflows/roles: writer, editor, publisher
  • Version control: view and compare versions, major/minor edits, rollback, automatic emails of changes
  • Access control: users/groups, read/write permissions, folder and file-level
  • Security: SSL, Captcha
  • Monitoring and evaluation: list recent changes, maintenance and usage statistics reports
  • Page Editing: HTML and WYSIWYG views, external editors, metadata
  • Navigation: multilevel, breadcrumbs, backlinks, site map, A to Z, search, printable view
  • Import and export existing page content
    • Global search and replace
    • Autoforwards to prevent broken links
  • File Structure: multilevel, formats accepted, max. file size, simple URLs
  • File Administration: import/export, rename/move, search/replace, automatic redirect, list owners

Other Selection Criteria

  • Provider: Commercial? Cost? Licensing? Open source?
  • Platform: Windows or Unix? Apache or IIS? PHP, ASP.NET or Java? MySQL or MSSQL?
  • Ease of configuration: GUI-based and/or file-based?
  • Ease of customization: When is programming needed?
  • Usability and accessibility:
    • W3C/WAI compliance (CSS, XHTML, JavaScript)
    • Can be crawled by search engines
  • Support: phone/email, user community, documentation, training, upgrades, longevity

Other Resources