A Content Management System (CMS), in the most basic sense, is a web application that manages website content. With such a system, adding, modifying or deleting content can be done without learning how to program in html or any other language. There are many different types of CMS applications out there. Some are desktop applications that reside on the computer, while others are browser-based, which allow you to change web content from within a browser.
A CMS solves many of the challenges most businesses face when maintaining a website. These include updating textual content, updating images, redefining the site structure, archiving old content, and testing the new changes, among others. For large website, this can become an extremely laborious process for developers. Fortunately, a CMS automates the entire publishing process, and enables non-technical people to make their own updates. For online publishers, a CMS becomes a necessity on account of the fact that they make changes to website content all the time.
A typical web-based CMS application contains a database to store user information, a built-in search engine, and a control panel where administrators can modify other website preferences. Some types of CMS applications go beyond content management and provide numerous functionalities using various add-ons. These include sophisticated publishing options, document management, digital asset management, groupware and even e-commerce.
Should a business or publisher move to CMS applications and forego typical web publishing? While a CMS application does offer compelling advantages, finding one with the correct feature set is not very easy. Plus, customizing its appearance, and installing it, is never an uncomplicated task and often requires heavy technical know-how. Still, the advantages of immediate and painless content updates may overshadow the initial drawbacks. There are several CMS applications out there with different levels of complexity, functionality and price-points. Some, however, are available under a GPL license and robust enough for large-scale use.