CMSimple_XH

— das kleine modulare Open-Source CMS ohne Datenbank

allgemeine Informationen

CMSimple_XH

Wie genial das klassische CMSimple von Peter Harteg auch war, so fehlten ihm doch viele Fähigkeiten, die heute bei Content-Management-Systemen Standard sind.

Basis-Features

Versionsprüfung, Organisation der Nutzerdateien, Pluginmanager, sind als Standard-Plugins in CMSimple_XH enthalten. Wartungsmodus und Admin-Template sind als externe Plugins verfügbar.

Codebasis

Mit CMSimple_XH Version 1.6 wurde der ersten Schritt zu einer Codebasis nach modernen Standards gegangen. Große Teile des Codes sind in Klassen gegliedert, was automatisierte Tests ermöglicht und die Wiederverwendbarkeit erleichtert. Der gesamte Quelltext ist dokumentiert um (Plugin-) Entwicklern den Einstieg zu erleichtern.

Datenspeicherung

Das klassische CMSimple speicherte die Inhalte (Texte) der gesamten Webseite in einer HTML-Datei (content.htm), aus der automatisch die einzelnen Seiteninhalte, die Webseitenstruktur und die Navigation erzeugt wurden.
Mit den ersten CMSimple_XH-Versionen kam die Möglichkeit hinzu, seitenbezogene Daten in einer weiteren Datei (pagedata.php) zu speichern. Hierdurch konnte man Dinge, die vorher nur umständlich machbar waren, leicht per Klick erledigen. Zum Beispiel ein anderes Template einer speziellen Seite zuweisen, eine Seite in der Navigation zu verbergen oder eine andere Seitenüberschrift als in der Navigation zu verwenden.

Das Konzept hatte aber eine Schwachstelle: content.htm und pagedata.php mussten immer synchron gehalten werden. Kleine Fehler in Erweiterungen oder falsch eingespielte Backups konnten das durcheinander bringen.

Diese Schwachstelle wurde in CMSimple_XH 1.6 behoben, da jetzt wieder alle Daten in einer einzigen Datei (content.htm) gespeichert sind. Das ermöglicht einfache Backups und erfahrene Nutzer können die Inhalte auch leicht offline oder direkt bearbeiten.

Modularität

Seit je her war Modularität ein Prinzip von CMSimple, und auch CMSimple_XH verkörpert dies. Schon in der Basisversion sind viele Module als eigenständige Plugins, die sich unabhängig voneinander aktualisieren lassen. Sie werden i.d.R. auch von verschiedenen Personen entwickelt und gepflegt. Wenn für einzelne Module neue Versionen zur Verfügung stehen, wird dies bei der automatischen Update-Prüfung angezeigt und der Betreiber kann die Module aktualisieren. Überflüssige Module können auch einfach entfernt werden.

Sicherheit

Dem Thema Sicherheit wird besonderes Augenmerk gewidmet. Inzwischen wurde der Schutz des Admin-Modus erheblich verbessert, eine alte XSS-Lücke geschlossen und ein umfangreicher Schutz gegen CSRF-Angriffe hinzugefügt.

Usability

CMSimple_XH verwendet für die Konfigurationseinstellungen Checkboxen oder Select-Listen,
auch Plugins können dieses Feature ohne spezielle Änderungen nutzen.

Änderungen an den Seiteneinstellungen werden bei XH mittels Ajax gespeichert. Dadurch muss die Seite nicht bei jeder Einstellungsänderung neu geladen werden.

Gespeicherte Backups können in XH per Klick aktiviert werden.

Sollte der Betreiber sein Passwort einmal vergessen haben, gibt es eine "Passwort vergessen?"-Funktion, die dem Betreiber per Mail ein neues Passwort zusenden kann, wenn er diese Funktion in der Konfiguration – durch Eingabe einer E-Mail-Adresse für diesen Zweck – aktiviert hat.

Entwicklung / Community / Ausrichtung

CMSimple_XH wird seit längerer Zeit kontinuierlich von vier Entwicklern betreut, die aktiv Programmcode zu neuen Versionen beisteuern. Neue Ideen oder Änderungen werden vorab im Forum diskutiert und dann eventuell in eine öffentlich zugängliche Roadmap aufgenommen. Diese Roadmap dient auch als Basis zur endgültigen Abstimmung über die geplanten Änderungen für die Entwickler.

Anhand der Roadmap kann jeder Interessierte feststellen, was für die jeweils kommenden Versionen von den Entwicklern geplant wird. Der aktuelle Stand der Entwicklung ist auf GitHub jederzeit öffentlich zugänglich.

Vorschläge, Ideen und konkrete Lösungen aus der Community sind immer willkommen und können im "Developer-Forum" eingebracht werden.

Auch eventuell vorhandene bzw. bekannt gewordene Fehler (Bugs) in CMSimple_XH werden offen im Forum kommuniziert.

Die Ausrichtung von CMSimple_XH lautet klar "Community-Project".