A content management system or CMS, is exactly what you might think it is… a system (web-based software usually), used to manage content. Or, it can be looked at as the “back end” for managing the content, look and feel, and the extensibility of a web site. There are numerous types of CMS’s and the term has been used very loosely over the years. Personally, when I think of the phrase “content management system”, right away I think of WordPress, which, arguably is the best open source content management system that exists.
The old days of content management
Prior to using WordPress, I would create web sites in a plain text editor, and often still do for greater control. Before that I, and many others, created sites using Microsoft FrontPage, and even before that I used Hot Dog Pro (in college “Internet class” primarily). Using the non web-based apps (FrontPage and HotDog) offered an editor, similar to that of a Word Processor, to author web sites, without the need to understand the behind-the-scenes code, HTML. FrontPage also offered the ability to share code.
Each web page on a web site often has similar, or exactly the same, background information (HTML) at the top, the side (or sides) and the bottom. FrontPage offered a way to “include” the borders (often called shared borders) on each page, and if any change needed to occur, it would just have to be changed in one place, and the change would be reflected throughout the entire site.
The need for more content management features
This separation of “functionality” was exciting back then, but with the need for “shared” content that is also “dynamic,” more advanced systems were created to manage web site content. Systems, like WordPress, separate many aspects of a web page by creating “layers” in a sense. The web pages layout is put to the screen, and the web pages various content pieces are then scattered around, and placed into various “spots” (identified by code) on the page as well. Both the content, and the layout, are then treated as separate entities. Additionally, with content stored in a database, CMS’s make it easier to show content dynamically, and in various places throughout the site using code in template files.
Add-ons, Widgets and Plugins
Open source content managemenet systems (not all are “open”) have their advantages and disadvantages. Being open invites the “malicious,” and being open also invites the inspired. Forgetting for a minute that some misguided person could look for vulnerabilities by studying the code of the CMS because it’s available for the world to see, an open source CMS does have the advantage that honest coders can “hook” into certain functions to create greater functionality. Coders can create extra, even proprietary features, that can be used throughout the site by using modular code in the form of add-ons or widgets.
Build Websites Easily
Common CMS systems
WordPress (WP), as mentioned, is one the top CMS’s, if not the best. It used to be stated that WP didn’t qualify as a CMS but was more of a “blogging system,” but that is no longer the case. WP has grown up a signifcant amount and is a platform used by many businesses and individuals for much more than just blogging. Other top CMS’s that are built with PHP and are open source include Joomla! and Drupal. Together, WP, Joomla!, and Drupal, are considered, by many, to be the top 3 CMS systems that exist on the web, each with their own distinct advantages and disadvantages. Other systems include (in no particular order): ExpressionEngine, TextPattern, ModX, Contao (formerly TYPOlight), SilverStripe, Umbraco, concrete5, CushyCMS, TYPO3, Radiant CMS, Alfresco, and many many more. All are built on a variety of platforms, having unique functionality, and different pricing models.