Content-Management-Systeme (kurz CMS) sind Softwarelösungen, die Inhalte (Content) innerhalb eines Datensystems verwalten, und den Anwender bei dessen Management unterstützen.
Der Begriff des Contents umfasst die Attributierung und daraus folgende Darstellung der Daten (beispielsweise Templates (Vorlagen), Bibliotheken und/oder Cascaded Style Sheets - CSS), den eigentlichen Rohdateninhalt (inklusive der Metainformationen, die im unzugeordneten Content enthalten sind, während der Zuordnung verlorengehen, dann jedoch optisch sichtbar bleiben), und die Struktur (Sitestruktur, Rubriken, Navigationsstrukturen, Document Type Definitions - DTD - und anderes). Alle Teile sollten in einem CMS als getrennte Einheiten betrachtet werden.
»Content ist die Summe aus Struktur, Darstellungsform und Inhalt; gewissermaßen die Anatomie der Dokumente.«
Das Management umfasst den kompletten Prozessablauf (Workflow) der Daten, unter dem man die redaktionelle Erfassung und Pflege, die Qualitätssicherung und den kompletten Lebenszeitraum der Daten versteht. Link- und Change-Management stellen eine Sitestruktur mit korrekten Verweisen und aktuellem Dateninhalt sicher. Rollen und Rechte beschränken die Zugriffsmöglichkeiten der Anwender.
Unter dem System versteht man die Kommunikations- und Distributionswege, über die sich die Daten bewegen (beispielsweise Webserver, Offline, Print oder ePaper) und deren Funktionsprinzipien (Staging und anderes). Eine wichtige Eigenschaft dieses Systems heißt Single-Source-Multiple-Media. Darunter versteht man die Möglichkeit, Daten aus einer einzigen Quelle vielen unterschiedlichen Zielmedien zuordnen zu können.
Jede Softwarelösung sollte zumindest die unten aufgeführte Kernfunktionalität abdecken können, um sich Content-Management-System nennen zu dürfen. Zu den Kernfunktionen gehören:
Darüber hinaus gibt es selbstverständlich noch eine Vielzahl anderer Funktionen, die in vielen Content-Management-Systemen vorhanden sind, aber nicht zu den Kernfunktionen zählen.
Mittlerweile werden Rohdaten häufig in XML (Extended Markup Language) repräsentiert, einer Definitionserweiterung von HTML/SGML, in der es möglich ist, ausser dem Inhalt einer Seite zusätzlich deren Struktur über eine DTD bzw. ein Schema zu beschreiben. Hierdurch wird eine standardisierte Möglichkeit geschaffen, Rohdaten gemeinsam mit ihren Metainformationen ablegen zu können, zumal neuere relationale Datenbanksysteme (beispielsweise Oracle 8i und höher) häufig bereits Kernfunktionen enthalten, die das Verwalten dieser XML-strukturierten Daten stark vereinfachen.
Zu unterscheiden sind XML-Rohdaten ohne Prüfung gegen eine bestimmte DTD oder ein Schema, sogenannte wohlgeformte Daten (wellformed valid data), und XML-Rohdaten, die einer bestimmten DTD oder einem Schema vollständig genügen.