Introduction to CMS

From FreekiWiki
Revision as of 03:12, 23 January 2013 by Bsandberg (talk | contribs) (Chapters 2 & 3)
Jump to navigation Jump to search

All webpages are created equal, and are made with some combination of HTML, CSS and JavaScript. When webpages were first created, there was an actual, literal .htm(l) file for each webpage. If one had a site with 10 pages, there were 10 files; a website with 10,000 pages would (in theory) have had 10,000 files! As websites evolved, and these files needed to be maintained, it became clear that some method to manage the information on those pages in an efficient manner would be necessary.

What is a CMS?

  • CMS stands for Content Management System(s).
  • A CMS is a computer program (like Word) for managing a website.
  • But it runs on [top of] server software - it's not installed locally (like Word).
  • One uses a web browser to interact with a CMS, rather than directly (like Word).
  • CMS typically store content in a database. This can be analogous to the brain-and-body; the database is the brain, and the files are the body. Think Frankensite. :)
  • CMS often have a templating (or theme, skin, etc) system, for abstracting content and design. By simply changing a template, it can be like a new outfit or a coat of paint; an all-new-looking website, with the same, exact content.
  • CMS are complex software programs, built using multiple programming languages, such as;
    • PHP or .NET
    • SQL
    • XML
    • HTML
    • CSS
    • JavaScript & JSON
  • Generates each page dynamically (on-the-fly), and when CMS finish operating, what is output, is typically HTML, CSS and JS.

Why use a CMS?

  • Scalability. It's excellent for managing small or large amounts of content. Features like categorization, and publish scheduling are helpful.
  • All are welcome. No coding skills required! With WYSIWYG editors, one can easily write content in a Word-like interface, which will write HTML code for you.
  • Templates. Simply change a template and drastically alter the look of a website. Manage the look of all pages in a consistent, centralized manner.
  • SEO. Search engine optimization and placement is so important. CMS can maintain sitemaps, 'pretty' URLs, and redirections to improve ranking.
  • Multiple users. CMS allow multiple folks to manage a website at once, often with controls to allow certain groups (i.e., Teachers) to some content while blocking others (i.e., Students).
  • Extensibility. Most CMS are written using "open" languages such as PHP. These CMS have APIs for others to leverage the significant tools and features available in the CMS.

Why not use a CMS?

  • Static. A site that changes so rarely, that it's not a problem for someone familiar with HTML to update it when needed.
  • Size. If a website will only be a single page (or two) the overhead of a CMS may not be justified.
  • Time. It may simply be faster to 'hand-code' webpage(s), rather than setup and use a CMS.

CMS Flavors