CMS Made Simple
CMS Made Simple ist ein freies Content-Management-System (CMS) für kleine bis mittelgroße Websites. Es ist nicht zu verwechseln mit CMSimple.

Es ist in der serverseitigen Skriptsprache PHP programmiert und verwendet MySQL als Datenbank, die über den Datenbank-Layer ADOdb Lite eingebunden wird. Für die Gestaltung des Layouts wird die aktuelle Version der Template-Engine Smarty3 eingesetzt. CMS Made Simple wurde unter der GNU General Public License veröffentlicht.

Merkmale 

CMS Made Simple kann durch verschiedene Erweiterungen für spezielle Verwendungszwecke angepasst werden. Die gängigsten Erweiterungen decken einen Großteil der Anwendungsfälle wie zum Beispiel News, Blog, Kalender, Gästebuch, Bildergalerie und weitere ab.

Eigenschaften 
 Template-Engine Smarty: Durch den Einsatz können Layout und Inhalt strikt voneinander getrennt bearbeitet werden.
 Ausgabeformat der generierten Webseite kann individuell festgelegt werden (HTML, XML, RSS etc.)
 Inhalte (Seiten) lassen sich bei adäquatem Ausbau des für PHP zur Verfügung stehenden Speichers hierarchisch in unbeschränkter Tiefe sortieren
 rollenbasiertes Rechtesystem: vordefiniert sind die Rollen Admin, Designer und Editor, die durch weitere individuell ergänzt werden können
 für jede Seite kann individuell eine URL festgelegt werden, unter der sie erreichbar sein soll
 Pretty URLs: CMS Made Simple kann für Mensch und Maschine einfach zu lesende URLs erzeugen
 integrierte Caching-Mechanismen zur Leistungsoptimierung
 bis auf die Grundkonfiguration werden alle eingegebenen Daten (sowohl die Inhalte von Seiten und Modulen als auch die Templates und Stylesheets) in der Datenbank gespeichert
 integrierte Erstellung von Prüfsummen zur Sicherung und Kontrolle der Systemintegrität
 kann durch Zusatzmodule Multisite-fähig gemacht werden
 Administration in 45 Sprachen verfügbar
 Sprache über Lokalisierungsdateien anpassbar
 Override: eigene Anpassungen sowohl von Templates als auch der Sprachdateien ohne Kern-/Modul-Code-Veränderungen möglich
 modularer Aufbau: die Funktionsbibliotheken installierter Module können über Instanzen miteinander kombiniert werden (z. B. News-/Feedback-/Captcha-/RSS-/Social-Media-Modul bis hin zu kompletten E-Commerce-Suiten)
 EventManager: stellt sowohl für den Systemkern als auch für Module Pseudo-Cronjobs bereit, über die auf verschiedenste Ereignisse im System mit frei definierbaren Aktionen reagiert werden kann (wird zum Beispiel voreingestellt genutzt, um nach Eingabe neuer Inhalte diese automatisch für das Suchmodul zu indizieren)
 vorinstalliertes CMS Made Simple als lokaler Webserver, virtuelle Maschine und Docker-Container als Bitnami-Stack verfügbar

Anforderungen 
CMS Made Simple wurde auf verschiedenen Plattformen und Versionen getestet. Die Minimalanforderungen sind folgende:
 Linux/Unix, Windows 2000/XP/ME/2003/7/8/10 oder Mac OS X
 Apache HTTP Server 1.3 / 2, Lighttpd 1+, Microsoft IIS 5+, Nginx oder Sun Webserver7
 MySQL 4.1+
 PHP 5.4+ mit aktivierter Tokenizer-Unterstützung

Erweiterungsmöglichkeiten 
CMS Made Simple bietet mehrere Möglichkeiten zur Erweiterung:
 Module: Mit diesen kann das System um komplexe Funktionalitäten wie Blogs, Kalender, Produktkataloge, Shops u. ä. erweitert werden. Deren Dateien sind im Verzeichnis /modules zu finden. Module können als XML-Dateien ex- und importiert werden.
 Tags: Das sind kleinere vorgegebene PHP-Skripte, mit denen einzelne Funktionen wie zum Beispiel die Ausgabe des Datums der letzten Seitenänderung u. ä. in den Inhalt und/oder die Templates eingefügt werden können. Diese Skripte sind im Verzeichnis /plugins abzulegen.
 Benutzerdefinierte Tags: Diese sind identisch mit den Tags mit dem Unterschied, dass sie vom Benutzer innerhalb der Administration erstellt, bearbeitet und in der Datenbank gespeichert werden.

Außerdem lässt sich CMS Made Simple mit den Smarty-eigenen Möglichkeiten erweitern:
 Smarty-Tags: Diese sind identisch mit den Tags mit dem Unterschied, dass für deren Nutzung lediglich eine Smarty-Instanz erforderlich ist. Die vielen, im Internet frei verfügbaren Smarty-Plugins (z. B. im SmartyWiki) müssen für deren Einsatz im Verzeichnis /lib/smarty/libs/plugins abgelegt werden.
 PHP-Skripte können direkt (mit {php}...{/php}) maskiert und im Inhalt und/oder in Templates eingefügt werden. Dies ist jedoch aus Sicherheitsgründen voreingestellt deaktiviert und bedarf einer separaten Aktivierung in der Konfigurationsdatei.
 Alternativ lassen sich ab der Verwendung von Smarty3 PHP-Befehle direkt in den Smarty-Templates verwenden.

Lieferumfang 
Neben zahlreichen Tags sind die folgenden Module bereits im Lieferumfang von CMS Made Simple enthalten:
 CMSMailer – stellt die Funktionsbibliothek des PHPMailers für andere Module bereit
 CMSPrinting – Aufbereitung der aufgerufenen Seite für den physischen Ausdruck
 FileManager – Dateiverwaltung
 MenuManager – automatisierte Erstellung von Webseiten-Navigationen aller Art (einfache Brotkrumen-Navigation über Sitemaps bis hin zu komplexen Menüs zur Darstellung mehrstufiger Seiten-Hierarchien)
 MicroTiny – Light-Version des TinyMCE-WYSIWYG-Editors
 ModuleManager – Anzeige aller verfügbaren Module im zentralen Moduldepot sowie deren Installation und Aktualisierung per Klick
 News – Erstellung von Nachrichten/Artikeln mit integrierter Zeitsteuerung
 Search – indexbasiertes Suchmodul
 ThemeManager – Im- und Export der Layout-Themes im XML-Format (die generierte Datei enthält sämtliche für die Nutzung des Themes erforderlichen Dateien – Template, CSS, Javascripte, Bilder, MenuManager-Templates inklusive der Verzeichnispfade).

Außerdem ist im Systemkern die Bildverwaltung aus HTMLArea verankert.

Themes 
Über Themes kann das Layout für jede einzelne Seite individuell angepasst werden; die Webseiten lassen sich ohne großen Aufwand sehr flexibel, nahezu barrierefrei und W3C-konform gestalten. Über den im Lieferumfang enthaltenen ThemeManager können die Themes als XML-Datei ex- oder importiert werden.

So können auf der Themes-Website eine kleinere Anzahl frei verfügbare Themes heruntergeladen werden. Jedoch lässt sich auch jedes andere Template, sei es reines HTML oder das Theme eines anderen CMS für CMS Made Simple anpassen.

Erweiterungen 
Außer den bereits im Lieferumfang enthaltenen Modulen werden folgende Erweiterungen häufig eingesetzt:
 TinyMCE – Vollversion des WYSIWYG-Editors
 Gallery – Bildergalerie
 Formbuilder – Erstellung und Anzeige von Formularen
 CGCalendar – Terminverwaltung mit Kalenderfunktionen
 FrontendUsers – Anlage und Verwaltung von Frontend-Benutzern
 Cataloger – Erstellung von Produktkatalogen aller Art
 Newsletter Made Simple – zeitgesteuerter Versand von Newslettern
 GBook – Gästebuch
 ListIt2 – universell einsetzbares Modul zur benutzerdefinierten Listenerstellung im weitesten Sinne … News, Kalender, FAQ, Links, Bilder etc.

Die Erweiterungen für CMS Made Simple sind im Forge, dem zentralen CMSMS-Software-Depot, zu finden.

Zudem verfügt CMSMS über eine eigene Programmierschnittstelle (API) und kann so einfach erweitert werden.

Community 
Im Laufe der bisherigen Entwicklung hat sich im Umfeld von CMS Made Simple weltweit eine Gemeinschaft von Anwendern und Programmierern gefunden. So sind derzeit im Forum der offiziellen Support-Website knapp 10.000 Anwender registriert. Neben dem Forum gibt es außerdem einen unregelmäßig erscheinende Newsletter sowie einen IRC-Channel im Freenode Netz als Informationsquellen.

Da mit 70 % Anteil viele der Anwender in Europa beheimatet sind, verwundert es nicht, dass sich sowohl für den deutsch- als auch den französischsprachigen Raum starke regionale Communities abseits der offiziellen Support-Webseite gebildet haben.

Die GeekMoot, die internationale Zusammenkunft der Anwender von CMS Made Simple, findet jährlich statt. Zunächst hatte sich nur das Entwickler-Team 2007 in Kopenhagen/Dänemark und 2008 in Philadelphia/USA zur Diskussion der weiteren Entwicklung getroffen. Aufgrund steigender Anwenderzahlen wurden die nachfolgenden Veranstaltungen (2009 in Sheffield/Großbritannien, 2010 in Amsterdam/Niederlande, 2012 in Northampton/Großbritannien) für die Anwendergemeinschaft geöffnet und um Fachvorträge rund um CMS Made Simple ergänzt.

Nachdem die für Ende 2013 / Anfang 2014 in den USA geplante Veranstaltung ausgefallen war, fand die GeekMoot 2015 in Ghent/Belgien statt. Die diesjährige Veranstaltung ist für Oktober 2016 in Leicester/Großbritannien geplant.

Geschichte

Entwicklung 
Das Programmierung von CMS Made Simple wurde von dem in der Nähe von Philadelphia/USA beheimateten Programmierer Ted Kulp am 1. Juli 2004 begonnen, nachdem er laut eigenen Aussagen vergeblich nach einem geeigneten CMS für die Webseite des Music Player Daemon (MPD) gesucht hatte. Seit 2007 wurde Ted Kulp als Chefentwickler durch den Kanadier Robert Campbell unterstützt. Nach Kulps Rückzug aus dem Projekt übernahm er vorübergehend auch die Leitung des Projektes. Da Campbell sich jedoch wieder mehr auf die Programmierung des Systems konzentrieren wollte, übernahm ab Dezember 2014 ein 3köpfiges „Board of Directors“ die Führung der laufenden Geschäfte, in welches die Niederländerin Anne-Mieke Bovelett, der Kanadier Matt Hornsby sowie der Franzose Kevin Danezis berufen wurden.

Ab der Version 0.8 erhalten die Versionen zusätzlich zu ihrer Versionsnummer einen südpazifischen Insel-Namen als Versionsnamen. Die finale Version 1.0 wurde am 10. September 2006 freigegeben.

Aktuell ist der 2.2.x-Entwicklungszweig.

Name und Logo 

Ziel war und ist es, Ein- und Umsteigern ein leicht und intuitiv zu bedienendes CMS-System bereitzustellen, welches aber gleichzeitig dem ambitionierten Anwender genügend Raum für Erweiterungen des Systems und mächtigere Funktionen lässt. Der Leitspruch des Projekts in den ersten Entwicklungsjahren war „So easy, it feels like taking a holiday“, hinterlegt mit einem Bild „Sandstrand mit einer Gruppe Palmen“, was diese Leichtigkeit in der Bedienung vermitteln soll.

In der Folge avancierte das Motiv der Palme, stilisiert und in hellem Orange gehalten, schnell zum Logo des Projekts.

Versionen 

Offiziell unterstützt werden immer die letzten beiden Versionen des aktuellen Zweigs, derzeit also 2.2.14 und 2.2.15.

Distributionen 
Üblicherweise wird CMS Made Simple im Forge in zwei Versionen veröffentlicht, einer Basis- und einer Vollversion. Der Unterschied zwischen diesen beiden Paketen besteht darin, dass in der Vollversion alle verfügbaren Sprachen enthalten sind, währenddessen sich die Basisversion auf Englisch beschränkt. In diesem Fall können die einzelnen Sprachpakete separat heruntergeladen werden. Ergänzend werden Prüfsummendateien für beide Pakete angeboten.

Außerdem werden innerhalb eines jeden Versionszweiges diff-Pakete bereitgestellt. Diese ermöglichen die einfache Aktualisierung eines bereits installierten Systems auf die aktuellste Version. Auch hier wird zwischen Basis- und Vollversion unterschieden. Soweit in diesen diff-Paketen ein Verzeichnis /install vorhanden ist, müssen nicht nur die neuen Dateien hochgeladen, sondern auch die Datenbank über den im Verzeichnis enthaltenen Assistenten aktualisiert werden.

Forks 
Im Laufe der Entwicklung gab es auch verschiedentlich Bemühungen, bestimmte Bereiche von CMS Made Simple zu optimieren.

Zunächst ist da der inoffizielle Fork CMSMS MLE (MLE = Multi Language Edition) zu nennen, der von einem russischen Anwender mit dem Foren-Nickname "Katon" begonnen und ab 2007 von dem Italiener Dr. Alberto Benati über mehrere Jahre weiterentwickelt wurde. Ziel dieses Forks war die Implementierung der nativen Unterstützung mehrerer Sprachen. Der Fork wurde über längere Zeit seitens des Entwickler-Teams geduldet, bis 2010 beschlossen wurde, dieses Projekt offiziell abzutrennen, da es immer wieder zu Inkompatibilitäten mit vorhandenen Erweiterungen kam. Dies war jedoch der Anfang von dessen Ende. Nicht zuletzt wegen des Zeitmangels des Entwicklers aufgrund beruflicher und familiärer Verpflichtungen wurde die Weiterentwicklung mit der Version 1.8.2 MLE eingestellt.

Einen anderen Weg beschritt der deutsche Entwickler Jan Czarnowski, der unabhängig von den Haupt-Entwicklern unter dem Namen PowerCMS einen eigenen Fork veröffentlichte, dessen Fokus primär auf der Optimierung der System-Performance lag. Doch auch diese Weiterentwicklung wurde 2008 mit der Version 1.1 Hanau Build 3.2.1 eingestellt.

Literatur 
 Johann-Christian Hanke: Welches CMS für welchen Zweck – das passende Content Management System. In: Internet intern, 02/2005, Sonderheft der PC Praxis, Data Becker Verlag, S. 16–25
 Johann-Christian Hanke: CMS leicht gemacht – individuelles Layout mit CMS Made Simple. In: Internet intern, 02/2005, Sonderheft der PC Praxis, Data Becker Verlag, S. 64–67
 Adobe Newsletter 04/2008
 Gastautor Ansgar Hein in: Nils Pooker: Der erfolgreiche Webdesigner. Der Praxisleitfaden für Selbstständige. Galileo Press, Bonn 2009, ISBN 978-3-8362-1166-6, S. 382–389
 Brice Dunwoodie: Drupal vs eZ Publish vs WordPress vs CMS Made Simple. 3. Juni 2009, Simpler Media, San Francisco 2009
 Nils Pooker: Modernes Webdesign mit YAML. In: PHP User Magazin, 8.09, Software & Support Media, Frankfurt 2009
 Hans-Christian Dirscherl: CMS für kleine und mittelgroße Websites. In: PC Welt, 04/2010, IDG Tech Media
 Carola Heine: Online-Redaktionssystem „CMS made simple“. PC-Magazin, Sonderheft „Websites für Profis“, WEKA Media Publishing, Haar bei München 2011
 Thorsten Eggeling: CMS-Guide - Das richtige Content-Management-System für Ihre Website. In: PC Welt, 03/2012
 Dieter Petereit: CMS Made Simple: Das beste CMS für Entwickler? 14. März 2013, commindo media, Freiburg 2013

Weblinks 
 Offizielle Webpräsenz (englisch)
 Forge (englisch)
 Themes-Verzeichnis (englisch)
 Deutschsprachige CMS Made Simple Community

Einzelnachweise 

Freies Web-Content-Management-System
PHP
MySQL
Freies Wissen