Das Content-Management-Framework "NowCMS"

Im Dezember 2015 habe ich nach reiflicher Abwägung begonenn, ein neues CMS zu schreiben. Seit September 2017 läuft es bereits auf dieser Webseite.

Mir ist völlig klar daß man nicht "das Rad neu erfinden sollte" - andererseits liefern alle CMS die ich bisher gesehen habe nicht die Funktionen die ich schon für die "Dellekom" dringend benötige. Wenn das Rad also nicht mehr rund läuft, kann Neuerfindung Sinn machen - wenn das Sicherheitswissen und "Best practice" Praktiken ausreichen, um meine Installation sowie die Kundendaten zu schützen.

Für mich hat sich das Schreiben schon fast dadurch gelohnt, daß die "Vorversion" des CMS mir seit 2005 gute Dienste als Fakturierung geleistet hat, die mir bis heute (Juli 2018) bereits 22247 Rechnungen geschrieben und größtenteils per Lastschrift eingezogen hat.

Was hat mich bei der Arbeit am CMS geleitet?

Probleme die ich versuche zu vermeiden

Das neue CMS ist in PHP (7.x) geschrieben und nutzt Datenbanken wie MySQL und MariaDB, kann aber auch mit anderen SQL-Datenbanken betrieben werden.

NowCMS ist nicht Open Source (was die Zukuft bringt werden wir sehen), ich benutze es bereits für mehrere Kunden. Das Hauptziel von "NowCMS" ist es nicht, die bekannten anderen CMS zu ersetzen, es soll immer dann zum Einsatz kommen, wenn die bekannten CMS wegen der Komplexität der Datenflüsse oder der Vielzahl besonderer Datentabellen und Businss-Logik nicht mehr verwendet werden können.

Pate gestanden hat phpMyAdmin - eine in PHP geschriebene Software die Technikern ermöglicht, beliebige Datenbankaktionen durchzuführen. NowCMS soll wie phpMyAdmin ein "Kleid" um eine Datenbank mit beliebigen Tabellen sein, bei dem die Zugriffsrechte und Visualisierung ansprechend gestaltet ist, während beliebige Tabellen dargestellt und manipuliert werden können.

Das README

NowCMS ist ein Content-Management-System das mehr auf die benutzerfreundliche Präsentation beliebiger Datenobjekte fokussiert als auf pixelgenaues Layout. Die Navigation ist vergleichsweise simpel und vereinheitlicht udn orientiert sich streng an der durch die URL vorgegebene Baumstruktur eines jeden Dateisystems. Es wurd in PHP (ab 5.6) geschrieben und nutzt die gängigen im Web verfügbaren SQL-Datenbanken.

Die Installation beginnt mit dem Hochlade einer einzelnen Datei install-nowcms.php in Ihren Webspace. Es sind keine anderen Downloads nötig: Das Skript prüft jede einzelne Vorbedingung und lädt weiteren Code aus gesicherter und verschlüsselter Quelle nach. Das Skript ist sogar in der Lage sich selbst zu aktualisieren und veranlasst Sie, den Browser mit der neuen Version nochmals zu starten. Es fragt Sie nach und nach nach den Einwahldaten zur Datenbank, den Daten des ersten Administratorbenutzers.

Später wird dieselbe Datei verwendet, das ganze CMS aktuell zu halten: Im Prinzip ist eine Aktualisierung wie eine schonende Neuinstallation: Sollte sich eien Datenbankstruktur geändert haben, prüft das Skript die Migrationspfade und wählt sie schonend.

Zur Installatin benötigen Sie einen speziellen persönlichen Installationsschlüssel

If not present, the installer will also create the initial database and fill with reasonable defaults, create a first administration account for you. It might try to repair if certain imtem like mandatory tables and / or data fields are not present. It does this by not deleting existing data but modifying carefully.

The installer install.php contains also the upgrade capabilities of NowCMS: Whenever you repeat the exceution of install.php, the mechanism will re-check all preconditions and update dependencies

As soon as the CMS itself is usable and running, an admin user is present, the installer will be blocked and made usable only by users with admin permissions

Beispiel für das Standard-Layout

Neuer Raumplan vom Stadtteilzentrum Haus 037:


Angelegt von: Andreas Delleske (ande) 01.01.2017 00:00, zuletzt geändert von: Andreas Delleske (ande) 07.11.2018 15:22, 3249 Seitenabrufe