CMS steht für Content Management System (dt. Inhaltsverwaltungssystem). Fast alle Internetseiten, die zu einer Domain (=Namensraum, z.B. www.böhschaf.de oder www.bundesregierung.de) gehören, haben einen ähnlichen Aufbau. Sie haben meistens einen Kopf, wo das Logo und der Domainname zu finden sind, damit der Besucher weiß, welche Seite er sich gerade anschaut. Als nächstes wichtiges Element gibt es die Navigation, die es ermöglicht alle Seiten, die zu der Domain gehören (aber auch nach außerhalb z.B. Seiten von Freunden etc.), anzusteuern. Der Fuß ist ebenfalls ein viel genutzes Element, da sich dort Erstellungsdatum der Seite und auch die Verlinkung zum Impressum unterbringen lassen. Und als letzten Teil der Inhalt bestehend aus Text, Bildern und sonstigem.
Diesen immer wieder kehrenden Aufbau, insofern man eine Designlinie verfolgt, kann man automatisieren und sich unnötige und zeitaufwendige Arbeit ersparen.
Jede Seite, die man sich anschaut hat Informationen. Dabei ist es nützlich in einem CMS zwischen allgemeinen und individuellen Informationen zu unterscheiden. Ein Erstellungsdatum einer Seite ist eine individuelle Information, während dessen das Logo überall gleich ist. Die allgemeinen Informationen gelten also für alle Seiten der Domain und können leicht automatisch eingebaut werden durch ein php-Skript beispielsweise. Die individuellen Informationen kann man in einer Text-Datei speichern und bei Bedarf ebenfalls durch ein Skript auslesen und einbauen lassen.
Allgemeine Informationen:
Individuelle Informationen:
Mit Informationen sind hier also Daten einer Seite gemeint um einen bestimmten Rahmen zu beschreiben. Dabei geht es nicht um die Information, die in dem Inhaltsteil dargestellt werden wie Bilder und Texte.
An der obigen Abbildung sieht man, dass sich eine Seite aus Teilen zusammensetzen lässt. Dieses Baukastenprinzip kann man nutzen. So wird die Seite in die vier Teile aufgeteilt. Kopf, Navigation und Fuß lassen sich als eigene Teile erstellen, wobei die Informationen automatisch mit eingebaut werden. Diese drei Teile werden dann in eine Datei, die dann die eigentlich HTML-Seite darstellt, inkludiert. Der Autor kann sich so allein auf den Inhaltsteil beim Erstellen einer neuen Seite konzentrieren ohne sich um die anderen Teile großartig Gedanken zu machen. Das einzige, was er angeben muss, sind Titel, Rubrik, Erstellungsdatum und Metadaten für die Seite in einer Textdatei.
Als Know-How benötigt man einige grundlegende Programmierkonzepte (und die Syntax von PHP). Das CMS kommt mit vier kleinen Skripten und fünf Text-Datei aus. Der Programmierstil ist in der einfachsten Form gewählt (iterativ). Objektorientertes Programmieren ist zwar der schönere Ansatz, wäre aber in diesem Falle unnötig länger.
Skripte und Textdateien:
Diese Text-Datei enthält alle individuellen Information einer Seite. Jede Seite belegt eine Zeile in der Text-Datei:
ID+Title(HTML-Header)+Metadaten (HTML-Header)+Datum+Dateiname+Title(Header)
Das "+" grenzt die einzelnen Informationen voneinander ab - so weiß der Interpreter, wo die eine Information anfängt und aufhört.
Die Navigation wird hier abgespeichert.
ID+Identifier
MC+aktive Rubrik
UC+Seite+Link
...
C+Rubrik+Link
Aus praktischen Gründen liegen die Navigationen für die Rubriken in ihrer aktiven Form (also aufgeklappt, hier: Internet&Co) getrennt vor. Man könnte diese genauso gut in einer Text-Datei zusammenfassen. Auch hier werden die einzelnen Informationen durch ein "+" voneinander getrennt.
Dieses Skript berechnet aufgrund der angegeben Pfadtiefe (eine Zahl, die den Weg zum Wurzelverzeichnis wiedergibt) einen String, der die absoluten Pfade für jeden Link bzw. Referenzangabe generiert. Es ist das einzige Skript, das redundant (mehrmals) vorliegt. Es wird in jedem Ordner, wo sich Seiten, die den Inhalt darstellen, befinden. Aufgrund des path-Skripts ist es möglich auf die nachfolgenden Skripte zuzugreifen.
Im header-Skript wird als erstes nach der passenden Zeile in der page.txt gesucht und die Informationen einzeln gespeichert zur späteren Wiederverwendung. Dafür wird ein einfacher Abgleich der ID durchgeführt, die in einer Variable gespeichert wird. Danach wird, so wie man es gewohnt ist, der HTML-Kopf erstellt und die Informationen Metadaten und Titel eingefügt.
Beim Erstellen des Fußes wird nur noch der zweite Schritt wie beim Kopf durchgeführt. Die gespeicherten Informationen in den einzelnen Variablen wie das Erstellungsdatum werden in den HTML-Code eingefügt.
Dieses Skript besteht fast ausschließlich aus Auswahlanweisungen. Dabei wird die Darstellungsweise in HTML-Code aufgrund der Schlüsselworte "MC,C,UC" bestimmt.
$ID = "007";
$deepness = 1;
include ("path.php");
include ($path.'header.php');
Mit diesen vier Zeilen wird der Kopf erstellt, also das Logo und der Titel.
$NID = "I";
include ($path.'navigation.php');
Zwei Zeilen reichen aus, um die Navigation zu erstellen, wobei ein Identifier angegeben wird, damit das navigation-Skript weiß, welche Rubrik-Navigation.txt zum Erstellen der Navigation verwendet werden soll.
Zwischen der Navigation und dem Fuß folgt dann der Inhaltsteil: Text, Bilder, Links oder solche Blaupausen.
include($path.'footer.php');
Der Fuß wird mit einem Befehl inkludiert.
Nach dieser Blaupause sind alle Seiten bei böh-schaf.de aufgebaut. Das CMS ist momentan individuell auf böh-schaf.de abgestimmt und verfügt momentan noch nicht über eine grafische Oberfläche für das anwenderfreundliche Pflegen der Daten.