Der Export oder die Entstehung einer Website

Die Inhalte im CMS müssen exportiert werden, damit sie für den Websitebesucher sichtbar sind. Hierfür sorgt ein System-Job, der beim Fiona-Demo-Content manuell ausgeführt werden muss. Im Produktivbetrieb wird der Job jedoch normalerweise mit einem Zeitplan versehen, so dass die Inhalte in regelmäßigen Abständen automatisch exportiert werden (Systemeinstellungen im Extras-Menü).

Der erste Export der Inhalte bewirkt, dass die komplette Ordnerhierarchie mit Hilfe der Layouts zu den entsprechenden Webseiten verarbeitet wird. Bilder und Ressourcen werden unverändert, d.h. ohne Verwendung von Layouts exportiert. Die Layouts selbst werden nicht exportiert.

Jeder weitere Export aktualisiert nur die Dokumente, die sich geändert haben. Insbesondere bei großen Websites ergibt sich dadurch eine erhebliche Einsparung von Hardware-Ressourcen. Bei Bedarf kann ein kompletter Export jederzeit manuell angestoßen werden.

Basisordner und Basislayout

Der Export der Inhalte beginnt stets beim Basisordner. Das CMS wandert von dort durch die Ordnerhierarchie, legt für Ordner die entsprechenden Verzeichnisse an und speichert darin die Dokumente.

Jeder Export eines einzelnen Ordners oder Dokuments beginnt mit dem Basislayout, der Layout-Datei mit dem Namen mastertemplate. Alle darin verwendeten npsobj-Anweisungen beziehen sich zunächst auf die gerade exportierte CMS-Datei. Die CMS-Datei dient bei der Erzeugung des Webdokuments als Datenquelle, aus der das HTML-Gerüst aufgefüllt wird. Technisch ausgedrückt stellt die Datenquelle den Kontext dar, in dem die npsobj-Anweisungen ausgewertet werden.

Mit bestimmten npsobj-Anweisungen kann der Kontext gewechselt werden. Wenn beispielsweise während des Exports eines Ordners die npsobj-list-Anweisung im Layout vorkommt, so wird für jedes Dokument, das sich in dem betreffenden Ordner befindet, der Kontext gewechselt. Dadurch beziehen sich die Anweisungen bis zum Ende der npsobj-list-Anweisung nicht mehr auf den gerade exportierten Ordner, sondern auf die darin enthaltenen Dokumente und Ordner.

Die Layout-Sprache von CMS Fiona erlaubt es also, beim Export eines Dokuments Inhalte aus beliebigen anderen Dokumenten einzubeziehen. Das Zusammenspiel der Layouts sorgt beim Export des Basisordners dafür, dass am Ende alle Dokumente genau die Inhalte haben, die das Websitekonzept vorsieht.

Andere Layouts in Unterbereichen

Sie können mit CMS Fiona jedem Bereich in Ihrem Webauftritt ein anderes Layout geben. Hierfür gibt es zwei Möglichkeiten, von denen die erste bereits erwähnt wurde: Sie können in den Layouts per NPSOBJ-Anweisung den Pfad des gerade exportierten Dokuments abfragen und je nach Lage des Dokuments in der Ordnerhierarchie anderen HTML-Text oder andere Styles verwenden. Dieses Verfahren bietet sich an, wenn die Abweichungen nicht zu umfangreich sind, also beispielsweise nur ein Teaser mehr oder weniger in den Unterbereichen erscheinen soll.

Bei größeren Unterschieden empfiehlt es sich, in den Unterbereichen individuelle Layouts zu verwenden. Man sieht bereits beim Demo Content, dass sich Layouts an verschiedenen Stellen in der Ordnerhierarchie befinden können:

(Für den obigen Screenshot wurden die Ansicht der Namen statt der Titel sowie die Layouts eingeschaltet.) Das Basislayout, das mastertemplate, befindet sich im Ordner playland und gilt für diesen sowie alle darunter liegenden Ordner, also insbesondere für die beiden Auftritte der Playland AG, de und en. Hätten der deutschsprachige und der englischsprachige Auftritt signifikante Layout-Unterschiede, so könnte man dies über eigene Basislayouts in diesen Ordnern realisieren, d.h. die Ordner de und en jeweils mit einem eigenen mastertemplate versehen. So verhält es sich beispielsweise mit dem Layout L_content, das sich in diversen Unterordnern der Auftritte befindet und dafür sorgt, dass der Hauptbereich der jeweiligen Dokumente ein individuelles Layout erhält.

Eine Layoutdatei auf einer bestimmten unteren Ebene in der Ordnerhierarchie löst also ein gleichnamiges Layout auf einer höheren Ebene ab – jedoch nur beim Export von Dokumenten in oder unterhalb dieser unteren Ebene.

Das Mittel der Ersetzung von Layouts sollte so konsequent wie möglich eingesetzt werden – also nicht nur, um individuelle Layouts für Teilbereiche zu erstellen, sondern auch, um gemeinsame Gestaltungselemente auszulagern. Haben beispielsweise zwei gleichnamige Layouts, A und B, teilweise identische Inhalte, so sollten diese Teile in ein drittes Layout, C, ausgelagert werden, das an höherer Stelle in der Ordnerhierarchie abgelegt wird, so dass es von A und B aus "sichtbar" ist. Durch diese Maßnahme brauchen Anpassungen an den gemeinsamen Bestandteilen von A und B nur in C vorgenommen zu werden.