A content management system (CMS) is content management software. Usually, content management systems for administration or website creation are abbreviated as CMS, for example, WordPress. In fact, these systems are just one type of CMS and are generally referred to as Web Content Management Systems (WCMS) in trade publications.
However, it is more important than these terms to understand how a content management system works. After all, if you have a rough understanding of how a CMS works and is structured, it’s usually much easier to choose a system that’s right for your project.
HOW A CONTENT MANAGEMENT SYSTEM WORKS
We can roughly divide the functionality of content management systems into three or four areas: With a content management system, this is possible:
- Store content,
- Manage content,
- Provide content,
- Show content (optional).
Depending on the content management system, there are of course endless stages of expansion for each domain, but there is also some sort of minimum set of features that any CMS should have. For a better understanding, these essential functions are explained in more detail.
SAVE CONTENT WITH A CMS
A content management system stores the content. And there are many different types of content. For authors and content managers, these variations are not particularly relevant. However, they can be very important for website operators and IT departments as they have different advantages and disadvantages.
Large, well-known CMSs like WordPress, Drupal, or Joomla use a classic relational database to store content. Common databases are MySQL, MariaDB, or PostgreSQL. The databases supported by a CMS are listed in the system requirements.
However, there are also content management systems that don’t require a database. Instead, they store the content in files on the server and therefore are often referred to as flat-file CMS. Kirby or Statamic, for example, is part of the flat-file CMS. In recent years, Markdown has become the most popular file format for content. However, other formats such as TXT, XML, JSON, or directly HTML are also possible. Among the advantages of flat-file CMS is the trend towards greater security and easier handling, for example when moving the website.
There are also complex enterprise CMSs that do without a traditional database. These include Adobe AEM, Magnolia, and Sulu. They store the content in a sort of tree structure on the server and use certain standards. For the Java programming language, there is the JCR (Java Content Repository) standard and for the PHP language, there is the PHPCR standard. These systems are particularly effective in handling unstructured content and allow very flexible use of the content.
There are other variations and intermediate forms, for example, embedded databases like SQLite or NoSQL databases like MongoDB or CouchDB, which also handle unstructured content very well. However, the details are more relevant to database experts.
The differentiation between classic databases and file-based storage systems is primarily about storing textual content. However, whether they are images, documents, or other files, these “assets” are almost always stored in the server’s file system and managed separately.
MANAGE CONTENT WITH A CMS
The content should be managed, for example, created, edited, deleted, or published. To this end, content management systems provide a user interface (called a “user interface”). Via the user interface, editors can “manage” content and administrators can configure the CMS.
This little observation is quite an achievement because a content management system needs a lot of functionality for meaningful interaction with editors and administrators. Features that can make the CMS very complex. The minimum feature set for a usable user interface looks like this: User administration: In order for users to be able to log in, a CMS needs user administration. There, for example, new users can be created and roles and rights can be assigned. Roles and rights: Since not all users have the same tasks (eg editors and administrators), there must or should be different roles and rights. In the simplest case, the CMS offers two or three fixed roles that can be assigned to a user. In complex content management systems, you can create these roles yourself and distribute the rights individually.
Page management: the various pages of the web presence must of course be created, sorted, and managed somewhere in the user interface. Editor: In the simplest case, a standard HTML editor is sufficient to create and modify the content. However, the stages of expansion are limitless. Online publishing technologies or, more recently, bulk editors are common.
Media management: Media such as images, videos, PDFs, and other files are usually managed separately in a CMS and also stored separately in the file system. With complex content management systems, independent software is integrated for media management, often referred to as “Digital Asset Management System” (DAM). Configuration: Even the simplest of content management systems offers a few basic configurations. This requires configuration management, which does not necessarily have to be displayed in the user interface.
Besides these basic characteristics, the further design of the user interface depends a lot on the respective content management system. Here are some examples of features: Many CMSs offer content modeling, for example with the help of a forms manager. In this case, the publisher does not create the content with a single standard publisher, but with several custom forms, which can be individually compiled by a developer according to the requirements of the website. A CMS can also provide configurable workflow management for content administration or provide functionality for operating multilingual websites. In the e-commerce version, payment and product management functions are added, with separate systems such as product information management (PIM) often used here as well. These example characteristics can be continued endlessly.
A high level of complexity isn’t always popular, by the way. This is why many developers prefer to do without a CMS with a complex administration interface. Instead, they use a so-called static site generator to create a web presence. As the name suggests, static site generators like Jekyll or Gatsby can be used to generate static web presences. Static site builders are not controlled by a user interface, but by programming commands that the developer can enter through the console. Static site builders are not counted among full content management systems because they can only display the content (e.g. as an HTML page), but not dynamically store, manage or produce it.
PRODUCING CONTENT WITH A CMS
With a Web CMS, you can not only manage content but of course, also produce content. For this third basic function, a web content management system must have at least two functions: access control and output format control. Access control: Access control is about who is allowed to see what content and when. In its simplest form, a CMS should at least distinguish between content that is not visible to the public and content that is visible to the public, for example between “Draft” and “Publish”. In detail, however, a lot is conceivable here, such as posting for specific user groups, posting for specific channels, a gradual posting process with workflows, or even time-controlled posting. Great art is the personalized production of content, where a complex set of rules, most often modifiable or even self-learning, control the production. output formats: In the simplest case, a CMS only offers HTML as an output format and simply generates a web presence in HTML. However, more complex content management systems offer various output formats, for example, data formats such as XML or JSON or data formats.
Traditionally, the content of a CMS can be easily accessed via a URL with a web browser and displayed there as an HTML page. However, the production (and eventually administration) of data and content through an application programming interface (API) is increasingly common. Using the API, developers can invoke content with their own script and then process it. The dominant output format is JSON.
Themes: While the template engine organizes the integration of the content into an HTML page, the theme basically takes care of the design and appearance of the content: Static HTML templates are designed, the page is divided into areas such that the headers, footers, and navigation, and the corresponding CSS classes and IDs are assigned. The famous mobile optimization through responsive web design is also a task of the theme. Almost all content management systems offer the ability to develop your own theme and ideally change it with the push of a button.
As with content management, there can be many additional features for content presentation. For example, a preview of the page, the previously mentioned change of themes, individual adjustment of themes via the CMS user interface, or – more interesting for developers – the use of different template engines.
INSERTION: CMS ENVIRONMENT TERMS
Abbreviation for Content Management System.
content management system
Digital content management software.
Web Content Management System, a web-based CMS, for example for website administration.
This term refers to an overall software strategy for digital content management and, in addition to CMS, it includes other types of content management software such as a document management system (DMS). In practice, however, the term is also used for very complex web content management systems in order to recommend them as a solution for large enterprises and to differentiate them from less complex CMS.
Abbreviation for Digital Experience Platform. A relatively new term that is commonly used in the business environment. DXP refers to software suites that include, in addition to the CMS, other software components such as analysis, targeting, or personalization functions. The goal of the software is to create and map holistic experiences for customers or users.
The best of the breed
A strategy is rather opposed to DXP. In the “Best of breed” strategy, the CMS focuses on its core functions and is not offered as part of a complete marketing suite. Instead, the CMS offers mature interfaces to connect the best third-party software to the content management system.
A content management system that only provides storage, administration, and delivery of content and leaves the presentation of content to other systems. The content is provided through an API (Application Programming Interface). Headless CMS can also be understood as an improvement on the best breed strategy.
A decoupled CMS includes all the basic functions such as storage, administration, delivery, and presentation of content. However, the different parts of the software are decoupled from each other and largely independent. Data between parts of the software is exchanged through an application programming interface (API).
A content management system that does not use a relational database, but stores the content in files (usually markdown files) on the server.
A content management system that is distributed through one of the popular open-source licenses such as MIT or GPL. Although the free use of these systems is common in practice, it is not a requirement for Open Source.
In the case of a proprietary content management system, the use and further distribution of the software is limited, for example, by company-specific license terms (EULA). In practice, the use of these systems is generally subject to a fee.
A Digital Asset Management System is media management software. A DAM is integrated as an independent software component in a complex CMS.
Product Information Management is product administration software. PIMs are often used in e-commerce and are connected to the CMS as independent software.
A type of page that you can usually select in a CMS when creating a new page. For example, there may be different templates for the home page, for static pages, or for blog posts. Templates are usually part of a theme and are controlled by a template engine.
A theme presents content to the outside world as a website and determines its design and appearance. A theme can be developed individually for a CMS, many CMS offer a selection of ready-to-use themes.
Plugins are also called optional extensions or modules and are functional extensions that can be activated for a CMS and, if necessary, installed separately.
What you see is what you get. Common name for example for WYSIWYG editors, where the applied formats are already visible during editing. In contrast, single markdown editors, where only clear text with the markdown mark is visible. The formatting is then displayed only in a preview of the page or on the finished page after conversion to HTML.
Refers to the ability of a content management system to manage multiple independent web presences within a CMS installation.
The ability of a content management system to maintain old versions of a page of content and to switch between versions.
Content modeling involves structuring the content of a website and adapting the content management system to the needs of the content. For example, a forms manager can be used to create appropriate input forms for authors. Not all content management systems have sophisticated options for modeling content.
Programming code that runs on the server, for example, PHP, Java, or Python. By “backend”, users often mean the creation and administration interface. However, user interfaces are generally part of a developer’s user interface.
A list of all the pages on a website (most of the time) and therefore a sort of separate table of contents. Usually, the sitemap is displayed to the reader as an HTML page for orientation, or it is produced in XML format for indexing by search engines such as Google.
OTHER CHARACTERISTICS OF A CMS
The features described above are the building blocks of a complete CMS, a minimal CMS so to speak. Beyond these essential functions, there are no limits to the richness of functionality of a CMS. For example, almost all content management systems offer the possibility of developing their own extensions. These functional extensions are often referred to as plugins, extensions, or modules. The other available functionalities depend on the positioning of the CMS on the market.
Content management systems try to outdo themselves not only by the richness of their features but also by their minimalism. Because in addition to the trend towards an increasingly complex technology, especially with Enterprise CMS, we can also observe a counter-movement: Flat file systems, headless CMS, or static site generators were born from the desire to simplify again content management and website creation.
With a large number of content management systems, the many trends, and the most diverse characteristics, choosing the right CMS is not easy. In order to make an informed decision, even a rough categorization of systems can be very helpful.