There are very many definitons of what a Content Management System (CMS)
is. There is not an official definiton. There are also very many types of
CMSs. Two features that are the most common among all CMSs is that they
provide multiple users (accounts) with associated permissions and they
provide an editor (in the web site) that can be used by designated users.
Some definitions state that some CMSs manage content for something other
than web sites but most are for web sites. The editor (it might be called
something else, such as an interface) software in the web site manges the
content. The content might be documents, modules or something else. This
article describes CMSs that manage modules, as described below.
A Content Management System (CMS) consists of reusable peices of web
sites and an editor for creating and maintaining web sites using the peices.
The peices are often called modules but there are many other names used for
them. For example, in DNN (formerly DotNetNuke) a DNN Module is very much
like a DNN Skin. For the purpose of this article I will call the peices
modules.
Web sites usually consist of a combination of HTML, CMS and programming.
The programming is usually done using Java, JavaScript, PHP and/or a an
ASP.Net language such as C# or VB.Net. It is very convenient to create
modules consisting of all that in a package that can be re-used. We would
need a wayt to re-use the modules conveniently and without programming using
a custom editor that can put the modules in a web site and later edit
(maintain) the web site with them. That is what a CMS is; it consists of a
system that a web site developer can use to create modules and an editor
that can manipulate them. The editor usually is a part of the web site.
When a CMS is used, the CMS software is first installed into the web
site. The CMS software supports multiple users (accounts) in the sense that
the configuration and editing of the web site is done by users designated
for that purpose.
Many definitions of CMSs say that a CMS manages documents. That however
is not the fundamental purpose of most CMSs. The "Content" of a CMS is
typically the modules and one of many features that the modules provide is
the ability to manage documents.