Technische Dokumentation für das PG-CMS

Stand dieser Dokumentation: 31.12.2007
Autor: Felix Riesterer (webmaster@peutinger-gymnasium.de)

Auf diesen Seiten wird dokumentiert, wie man das PG-CMS installieren, konfigurieren und warten kann. Diese Seiten richten sich vorzugsweise an Webmaster und Administratoren. Bei Fragen, die diese Dokumentation nicht beantworten kann, schreiben Sie bitte eine Mail an den Autor.

Inhalt

Installation

Sie finden das PG-CMS zum freien Download auf der Seite zum PG-CMS. Die dort verlinkte ZIP-Datei enthält unter anderem diese drei Dateien:

  1. "install.php", ein Installations-Script (in PHP geschrieben)
  2. "pclzip.lib.inc", eine Datei, die den Umgang mit ZIP-Dateien garantiert (falls auf Ihrem Server dieses Modul deaktiviert sein sollte)
  3. eine weitere ZIP-Datei mit einer Vorinstallation des Systems

Um das PG-CMS zu installieren, brauchen Sie nur die drei Dateien in das Stammverzeichnis Ihrer Website zu speichern. Traditionell geschieht dies mittels FTP oder etwas Vergleichbarem. Ihre Webhosting-Firma berät Sie in solchen Fragen sicherlich gerne.

Nachdem nun diese drei Dateien hochgeladen wurden, kann nun die eigentliche Installation erfolgen, indem Sie das Installations-Script über Ihren Browser aus aufrufen. Dazu geben Sie in die Adresszeile Ihres Browsers die Adresse Ihrer Website ein (also die Domain wie z.B. "www.unsere-schule.de"), gefolgt von einem Slash und dem Namen der Installationsdatei (z.B. "www.unsere-schule.de/install.php").

Nun wird der Inhalt des ZIP-Archivs auf dem Server entpackt. Dieser Vorgang ist erfahrungsgemäß auf Knopfdruck sofort fertig. Das eigentliche System installiert sich in einen Unterordner names "site", den es dann als Stammverzeichnis betrachtet, und innerhalb dessen es agiert. Das Installations-Script gibt ihnen in der vorliegenden Version noch die Möglichkeit, einen anderen Verzeichnisnamen auszuwählen. Wollen Sie einen anderen Verzeichnisnamen benutzen, so benennen Sie das Verzeichnis mittels FTP nachträglich um - das stört die fertige Installation nicht, es könnte nur sein, dass bei manchen Seiten die Verweisziele (Links) nicht mehr stimmen...

Anschließend ist die Installation im Grunde fertig. Alles, was jetzt noch ansteht, sind optische Anpassungen der Seite, sowie die Einrichtung von Benutzern und verschiedenen dynamischen Inhalten (wie z.B. das Gästebuch).

Konfiguration

In diesem Abschnitt geht es um die verschiedenen Einstellungsmöglichkeiten im PG-CMS. Nicht alle Einstellungen sind über eine bequeme Oberfläche möglich, daher sind für manche Dinge etwas tiefergehende Kenntnisse in der Schreibung von XML oder (X)HTML notwendig. Insbesondere die Anpassung des Layouts erfordert tiefergehende Kenntnisse der Layoutsprache CSS. Sollten Sie hier Hilfe benötigen, dann wenden Sie sich einfach an den Autor.

Layout verwalten

Die optische Gestaltung einer Website mit dem PG-CMS wird rein über die Layoutsprache CSS geregelt. Dies dient der strikten Trennung von Darstellung und Inhalt, damit eine zentralisierte Steuerung der Darstellung möglich ist. Arbeiten am Layout sind so mit wesentlich weniger Aufwand verbunden.

Das Template

Um ein Layout mittels CSS zu erstellen, braucht es eine strukturelle Vorlage (manchmal auch als Template bezeichnet), welches die Grundlage der Seite bildet. Diese strukturelle Vorlage bildet der XHTML-Code, aus dem jede Seite der Website aufgebaut ist. Die grobe Struktur einer Seite ist dabei so gehalten:

<body> <div id="seite"> <div id="kopf"> <div id="inhalt"> <div id="navigation"> <div id="nav-suche"> <div id="footer">

CSS-Dateien

Um nun mittels CSS das Layout zu steuern, bedarf es externer CSS-Dateien, die in jede einzelne Seite eingebunden werden. Dafür gibt es eine zentrale CSS-Datei für die Darstellung auf dem Bildschirm und eine ebenso zentrale CSS-Datei für die Darstellung auf einem Drucker. Beide zentralen CSS-Dateien können durch zusätzliche CSS-Dateien ergänzt werden, um besondere optische Effekte auf speziellen Unterseiten zu erreichen.

Die zentralen CSS-Dateien finden Sie im Unterordner "css", wobei "standard.css" die zentrale Stylesheet-Datei für die Bildschirmausgabe und "druckansicht.css" die zentrale Stylesheet-Datei für die Druckausgabe sind.

Wenn Sie eine zusätzliche Stylesheet-Datei auf einer Seite einbinden möchten, dann können Sie im entsprechenden Unterordner, in dem sich Ihre Seite befindet, eine Datei namens "extra.css" anlegen, in welcher Sie dann Formate für alle Seiten in diesem Unterordner definieren. Ein zusätzliches Druckstylesheet muss als Dateinamen "extra-druck.css" haben, damit es vom System erkannt und eingebunden werden kann.

Besonderheiten für Internet-Explorer

Wenn es um das Thema CSS geht, dann darf nicht unerwähnt bleiben, dass der Internet-Explorer bis einschließlich Version 7 (!) CSS nur höchst unzureichend unterstützt und viele Layout-Anweisungen höchst eigenwillig umsetzt. Daher ist es möglich, über sogenannte "Conditional Comments" ganz spezielle CSS-Dateien einzubinden, die nur der Internet-Explorer interpretiert und die diese Anzeigefehler korrigieren. In der Standardinstallation werden allerdings nur der IE in den Versionen 6 und 7 berücksichtigt. Sollten Sie noch ältere Versionen unterstützen wollen, dann müssen Sie in einer Script-Datei diese Unterstützung selbst nachrüsten. Fragen Sie den Autor per Mail um Hilfe, wenn Sie nicht weiterkommen!

Inhaltsbereiche verwalten

Da das System die Inhalte in HTML-Dateien speichert, ist eine Unterteilung in "Bearbeitungsbereiche" gleichbedeutend mit einer Unterteilung in (Unter-)Verzeichnisse. Jedes Verzeichnis der Website stellt einen eigenen Bereich dar, für den gesonderte Bearbeitungsrechte vergeben werden können.

Mit dieser datentechnisch bedingten Struktur ist es logischerweise sinnvoll, die Inhalte in hierarchisch sortierten Verzeichissen abzulegen. Diese Hierarchie ist später in der Sitemap der Seite direkt sichtbar. Die Erfahrung hat gezeigt, dass diese datentechnische Gliederung für die inhaltliche Gliederung der Seite sehr von Vorteil ist. Verwenden Sie daher ausreichend Zeit, sich eine sinnvolle inhaltliche Struktur für Ihre Website zurechtzulegen, damit Sie die Inhalte in entsprechende Verzeichnisse ablegen können.

Wenn jedes Verzeichnis für sich einen eigenen Bereich darstellt, dann braucht auch jedes Verzeichnis eine "Einstiegsseite". Daher muss jedes Verzeichnis eine HTML-Datei mit dem Namen "index.html" besitzen, bevor weitere HTML-Dateien in diesem Verzeichnis abgelegt werden. Sollte eine "index.html" dagegen fehlen, dann arbeitet die globale Navigation nicht erwartungsgemäß und auch die Sitemap zeigt unerwartete Strukturen!

Statische Inhaltsseiten

Für das Bearbeiten von Inhaltsseiten existiert ein Seiteneditor, mit dem das Pflegen der Inhalte fast genau so wie mit einer üblichen Textverarbeitung gelingen sollte. Mit diesem Editor werden die Inhalte von HTML-Dateien eines Verzeichnisses (alias "Bearbeitungsbereich") bearbeitet und wieder gespeichert. Auch das Löschen einer HTML-Datei in diesem Bearbeitungsbereich ist einem Benutzer möglich. Ein Benutzer kann immer alle Seiten eines Bearbeitungsbereiches bearbeiten.

Es gibt im Editor systembedingt gewisse technische Einschränkungen hinsichtlich der Gestaltungsmöglichkeiten. Webseiten sind keine Printdokumente wie etwa PDF- oder Word-Dateien. Zudem soll die optische Einheitlichkeit der gesamten Webpräsenz gewährleistet werden, sodass gestalterische Möglichkeiten im Vergleich zu einer Textverarbeitung absichtlich sehr stark eingeschränkt sind. Kennt sich ein Benutzer dagegen mit CSS aus, so stehen ihm über das Einbinden und Bearbeiten eines zusätzlichen Stylesheets (eine CSS-Datei namens "extra.css" im jeweiligen Verzeichnis) eine Fülle an Gestaltungsmöglichkeiten zur Verfügung, die weit über die Möglichkeiten einer Textverarbeitung hinausgehen.

Dynamische Inhaltsseiten

Gewisse Seiten arbeiten mit einem interaktiven Mechanismus (beispielsweise der Terminkalender, der sich durchstöbern lässt), sodass eine Bearbeitung mit dem Editor so nicht möglich ist. Viele der dynamischen Seiten haben eine eigene Eingabemaske, über die das Editieren der Inhalte (und oft auch der Einstellungen) erfolgen kann.

Das Einbinden und Konfigurieren solcher dynamischer Seiten geschieht mittels einer XML-Datei im Verzeichnis "scripts/sonderseiten", in der eine Zuordnung von Seite und Script vorgenommen wird. Dort ist z.B. festgelegt, dass der Terminkalender auf der Seite "wie/termine/index.html" von dem Script "scripts/termine/termine.script.inc" bearbeitet werden soll, und dass dieses Script auch eine Eingabemaske zur Pflege der Inhalte bereithält. Der entsprechende Eintrag in der Datei "scripts/sonderseiten/sonderseiten.xml" sieht entsprechend so aus:

<Modul URL="wie/termine/index.html"
Script="scripts/termine/termine.script.inc"
Editierbar="ja" />

Soll ein solcher Mechanismus auf der Website nicht verfügbar sein, so ist die entsprechende Zeile entweder komplett aus der Datei zu entfernen, oder mittels XML-Kommentaren auszukommentieren, damit sie wirkungslos wird. Das sieht dann so aus:

<!-- <Modul URL="wie/termine/index.html"
Script="scripts/termine/termine.script.inc"
Editierbar="ja" /> -->

Seiten vor der Öffentlichkeit verbergen

Sollten Bereiche per gesondertem (genauer: "serverseitigem") Passwort vor der Öffentlichkeit verborgen werden, so werden die Passwörter von Administratoren automatisch in diesen Bereichen mit eingerichtet. Weitere Zugänge müssen von Hand eingetragen werden. Es ist nicht möglich, einzelne Seiten zu sperren, es kann nur das jeweils komplette Verzeichnis mit einem Passwort geschützt werden!

Benutzer verwalten

Das PG-CMS unterscheidet zwischen drei Arten von Benutzern: User, User mit erweiterten Rechten und Administratoren.

Administrator
Ein Administrator hat uneingeschränkten Zugriff auf alle Bereiche des Systems. Er kann alle drei Arten von Benutzern anlegen und löschen.
User mit erweiterten Rechten
Ein User mit erweiterten Rechten kann neue User anlegen. Diese User erhalten von ihm einen Login-Namen und ein Passwort, haben aber noch keine Rechte irgendwelcher Art. Der User mit erweiterten Rechten kann für die Bereiche, in denen er erweiterte Rechte hat, Bearbeitungsrechte an andere User vergeben und wieder nehmen. Er kann aber keinem User, der auch für diesen Bereich erweiterte Rechte hat, Bearbeitungsrechte für diesen entziehen.
User
Es ist eine Grundfunktion eines jeden Users, dass dieser sein Passwort selbst ändern kann. Weitere Möglichkeiten hat ein User nur, wenn ihm Bearbeitungsrechte für einen Bereich der Website zugewiesen wurden.

Wartung

Es empfiehlt sich, des öfteren Sicherungskopien von diversen Dateien anzulegen. Dazu existiert ein Werkzeug, mit dem gezielt Backups gemacht werden können.

Backups anfertigen / einspielen

Es kann über den Dateimanager ein Backup angefertigt werden. Das bedeutet, dass auf dem Server eine ZIP-Datei mit den zuvor ausgewählten Daten angefertigt und in das Download-Verzeichnis abgelegt wird. Diese ZIP-Datei kann dann auf herkömmliche Art und Weise heruntergeladen werden. Welche Daten nun in dieser ZIP-Datei zusammengetragen werden sollen, kann von einem Administrator aus diesen Optionen entschieden werden:

  1. XML-Dateien
  2. "scripts"-Verzeichnis (enthält XML-Dateien)
  3. "js"-Verzeichnis (enthält alle Javascripte, unter anderem den Seiteneditor)
  4. Inhalte (Verzeichnisse mit HTML-Dateien)
  5. alles

Je nach Anwendungsfall ist es sinnvoll, nicht die komplette Website (je umfangreicher Ihre Website ist, desto größer wird die ZIP-Datei!) zusammenzufassen, sondern z.B. nur die XML-Dateien mit den dynamischen Inhalten zu sichern.

Das Einspielen geschieht dagegen umgekehrt. Eine so erzeugte ZIP-Datei müsste ins "Stammverzeichnis" gespeichert werden (PHP unterbindet das Hochladen von Dateien über 8MB Datenvolumen!), um dort dann über den Dateimanager entpackt zu werden. Es mag ein Widerspruch sein, dass die ZIP-Datei nach dem Erzeugen nicht eben dort abgelegt wird, wo sie anschließend wieder entpackt werden müsste, aber auf diese Art kann ein versehentliches Überschreiben der Website-Inhalte durch eine fehlerhaft erstellte ZIP-Datei vermieden werden.

Alternativ kann auch ein Dateien-Abgleich via FTP erfolgen.

Veschiedenes

Innerhalb des Seiteneditors existiert noch eine weitere Hilfe, in der das Arbeiten mit dem Editor genauer beschrieben wird. Diese Anleitung finden Sie hier: Anleitung im Editor.

Das PG-CMS wird ständig weiter entwickelt und modifiziert, sodass immer wieder Änderungen in Details möglich sind. Solche Änderungen sind in der Datei "CHANGELOG" im ZIP-Archiv einsehbar. Wenn sich in der Handhabung Wesentliches geändert hat, dann stehen dort genauere Hinweise. Ansonsten gilt das, was in dieser Dokumentation steht uneingeschränkt.