Thomas Kramer

IT-COW | All posts tagged 'Contao'

Webseitenerstellung mit Contao

By Administrator at Februar 08, 2011 21:12
Filed Under: Projekte, Studium

Die Beschäftigung mit dem CMS Contao war ein Projekt während meines Erstsemesters.

 

Der Aufsatz kann sicher noch überarbeitet/erweitert werden, ist doch die Hälfte der Projektzeit bereits für die Installations- und Konfigurationsprobleme aufgewandt worden.

 

Falls ich mich wieder einmal mit einem CMS befasse wird es vermutlich nicht Contao sein.

 

Inhalt:

 

Contao ist ein sogenanntes CMS (Content-Management-System). Mittels eines solchen Systems werden Webseiten baukastenartig zusammengebaut.

 

Der Grund für die Auswahl dieses Systems war eine Empfehlung in einem Internetforum. Das System hieß früher TYPOlight und befindet sich seit 2004 in der Entwicklung. Gemäß dem Wikipedia-Eintrag

 

http://de.wikipedia.org/wiki/Contao

 

handelt es sich bei Contao (respektive TYPOlight) um eine komplett eigene Entwicklung und ist NICHT mit TYPO3 verwandt. Das CMS wurde beim „Packt Publishing Award 2007“ in der Kategorie „meistversprechende Content Management Systeme“ nominiert und mit dem zweiten Rang ausgezeichnet.

 

Als Grund für den Namenswechsel von TYPOlight zu Contao wird in der Dokumentation auf der Seite

 

http://www.contao.org/neuigkeiten/items/typolight-wird-zu-contao.html

 

genannt, das das „light“ im Namen eine Abgespecktheit suggeriert, die dem CMS nicht gerecht wird. Die Bezeichnung „con tao“ soll im Vietnamesischen soviel wie „Das Schicksal“ oder „Der Schöpfer“ bedeuten.

 

Installation

 

Die Installation des Systems war auf meinen Rechnern mit einigen Schwierigkeiten verbunden. Ich besitze zwei Server-Systeme zuhause, einen Selbstbau-Linux-Rechner (1) (mit der Ubuntu-Variante Kubuntu 9.04, ein Atom-Board), sowie einen Fujitsu Scaleo 2205 (2) mit dem Windows Home Server-Betriebssystem, so das ich behaupten kann Administrations-Vorkenntnisse zu besitzen – trotzdem war die Installation nicht gerade einfach.

 

(1): Für meinen Linux-Server musste ich zunächst PHP und MySQL nachinstallieren, die Zugriffsrechte in der Apache-Konfiguration von Hand setzen, sowie einen FTP-Server installieren (proftpd). Dann scheiterte die Installation von Contao mittels des beigefügten install.php-Skriptes an der Fehlermeldung „Das Contao-Verzeichnis /contao/ wurde nicht gefunden“. Dieses angegebene Verzeichnis war aber im FTP-Server an der richtigen Stelle der Verzeichnishierarchie vorhanden.

 

(1): Mittels des Filezilla-Clients (auf dem gleichen Rechner) konnte ich auch überprüfen das der Zugriff auf das FTP-Verzeichnis funktionierte. Probehalber hatte ich für Contao alternativ einmal den FTP-Server meiner Webseite angegeben, mit der gleichen Fehlermeldung als Ergebnis. Zugleich mit dieser Fehlermeldung erschien in der Webseite unten übrigens immer die Fehlermeldung „Fatal Error: Exception thrown without a stack frame in Unknown on line 0“ - siehe Seite 8 in meiner Projektdokumentation.

 

(2): Auf meinem Windows-Server scheiterte die Installation daran, das während der Ausführung des Installations-php-Skriptes von Contao immer ein weißer Bildschirm im Webbrowser erschien – an der Stelle, an der die Konfiguration der Datenbank vorzunehmen wäre. Die Datenbank MySQL war in dem Moment zugegebenermaßen auch noch nicht installiert weil das Installationsprogramm hing, wie ebenfalls auf Seite 6 in der Projektdokumentation zu sehen ist.

 

Nach einer Neuinstallation funktionierte dann die Installation von MySQL, Contao ließ sich aber immer noch nicht installieren. Dann hatte ich das Contao-Verzeichnis gelöscht und neu entpackt und dann versucht das Installationsskript erneut auszuführen, aber Contao ließ sich dann immer noch nicht installieren. An fehlendem MySQL konnte es dann aber nicht mehr liegen.

 

Letztendlich hatte ich die Installation von Contao mittels des Apache-Webserver-Komplettpakets XAMPP auf meinem Notebook erfolgreich absolviert:

 

http://www.apachefriends.org/de/xampp.html

 

Es gibt eine spezielle Installationsanleitung für XAMPP mit Contao:

 

http://dev.contao.org/wiki/typolight/TutorialsMultidomainXampp

 

Während der Installation von Contao kann ein Beispiel-Template mit importiert werden, dabei handelt es sich um eine Beispiel-Webseite. Installationslink:

 

http://www.contao.org/contao-installieren.html

 

Dabei gab es ein weiteres Installations/Konfigurationsproblem, denn mit dem ersten Template waren irgendwie nicht alle Menüpunkte des Administrations-Backends verfügbar – was ich aber erst wusste nachdem ich mit einem anderen Template experimentierte. Insofern findet sich dieses Problem nun nicht als Screenshot in der Projektdokumentation.

 

Zusammenfassend sei gesagt, das System ist wohl eher dafür ausgelegt auf einem echten Webserver betrieben zu werden, statt als Testinstallation. Außerdem ist anzumerken, das für die Benutzung von Contao ein FTP-Server benötigt wird.

 

Außerdem möchte ich erwähnen, das ich für Installation und Konfiguration einige Stunden der Projektzeit verbringen musste.

 

Grundlagen

 

Contao unterscheidet zwischen einem Backend und einem Frontend. Das Backend ist die Administrationsoberfläche, die im Webbrowser über den Link

 

http://localhost/contao/contao

 

erreichbar ist. Bei dem Frontend handelt es sich um die Webseite an sich, die mittels Contao erstellt wird. Diese ist einfach über

 

http://localhost/contao/

 

zu erreichen. Die Daten ansich werden in der Datenbank MySQL gespeichert. Wie gesagt verwende ich XAMPP, auf die Datenbank kann mittels des Webtools phpMyAdmin auch direkt zugegriffen werden. Die Webseite von XAMPP ist über

 

http://localhost/xampp/

 

zu erreichen – natürlich muss dazu immer das XAMPP Control Panel im Hintergrund laufen.

 

Ähnlich dem Windows-Explorer ab Vista wird für die Darstellung der aktuellen Hierarchie-Ebene in den verschiedenen Menüpunkten (und optional auch im Frontend) das Brotkrumen-Design Pattern genommen, als Erklärung siehe z. b. hier:

 

http://developer.yahoo.com/ypatterns/navigation/breadcrumbs.html

 

Das bedeutet ganz einfach eine horizontale Darstellung der Hierarchie-Ebene mit Pfeilen, wie z. b.

 

>Computer>Lokaler Datenträger (C:)>Windows>System32>

 

wobei jedes Fragment dieser Darstellung einzeln anklickbar ist.

 

Einstellungen

 

Unter Einstellungen habe ich persönliche Einstellungen wie den Namen der Webseite, meine eMail-Adresse, Datums- und Zeitformat vorgenommen. Der relative Pfad zum Contao-Verzeichnis – welches bei der Installation angegeben werden musste – kann hier wieder geändert werden. Außerdem können hier die Anzahl der angezeigten Datensätze pro Seite sowie die Standard-Zugriffsrechte gesetzt werden.

 

Templates

 

Für mein Projekt hatte ich aus Lernzwecken das Template „Music Academy“ modifziert und angepasst.

 

Themes

 

Unter Themes werden die Seitenlayouts verwaltet. Wenn die erstellten Seiten – über den Menüpunkt Seitenstruktur – sichtbar sein sollen muss ihnen jeweils ein Layout zugewiesen werden, und diese werden über den Punkt Themes erstellt.

 

Bei Themes gibt es zwei wichtige Menüpunkte:

 

1. Die Seitenlayouts des Theme ID x bearbeiten

 

hierüber legt man fest, ob eine Kopfzeile eingefügt werden soll, wie hoch diese Kopfzeile sein soll, ob eine Fußzeile eingefügt werden soll und wie hoch diese sein soll... wieviele Spalten in der Webseite angezeigt werden sollen, und wo die positioniert werden sollen... welche Stylesheets eingebunden werden sollen... die Ausrichtung der Webseite...

 

Mit am wichtigsten ist hier, welche Module von den installierten eingebunden werden sollen, und wo die positioniert werden sollen. Also Name und Slogan beispielsweise, oder die Artikel, oder das Suchmaschinenen-Fenster – wenn man eines einbinden will. Die Reihenfolge kann hier auch festgelegt werden.

 

2. Die Frontend-Module des Theme ID x bearbeiten

 

hierüber werden die eingebundenen Module konfiguriert und neue hinzugefügt. Wenn man hier beispielsweise bei „Name and slogan“ auf bearbeiten klickt, kann direkt der HTML-Code für diese Daten eingegeben werden. Oder eben entsprechend für „Footer – Copyright“ ganz unten auf der Webseite.

 

Zuerst müssen die Module in diesem zweiten Menüpunkt installiert und bearbeitet werden, um dann im ersten Menüpunkt festzulegen wo sie tatsächlich eingebunden werden.

 

Seitenstruktur

 

Hierbei handelt es sich um den wichtigsten Menüpunkt. Es werden zuerst die einzelnen Seiten angelegt, und anschließend die Artikel – innerhalb – der einzelnen Seiten bearbeitet (über den Menüpunkt Artikel).

 

Nachdem man oben auf „+ Neue Seite“ klickt, passiert zunächst scheinbar nichts, was ich zuerst irritierend fand. Nachdem man darauf geklickt hat muss man zuerst angeben, an welcher Stelle diese Seite eingefügt werden soll – daher sieht man danach neben jeder bereits vorhandenen Seite in dieser Listendarstellung jeweils zwei weitere Icons, einmal mit „Nach der Seite ID x einfügen“ und „In die Seite ID x einfügen“.

 

Nachdem man die Auswahl getroffen hat (rückgängig machen mit „Ablage leeren“) gibt man die Daten wie Seitenname, Seitentyp, Layout, spezifische Zugriffsrechte, CSS-Klasse etc. an. Sehr wichtig sind hier die Punkte „Ein Layout zuweisen“ (Theme) und „Seite veröffentlichen“, ansonsten wird die Seite nicht angezeigt.

 

Nachdem man nun die einzelnen Seiten angelegt hat, werden über den Menüpunkt

 

Artikel

 

die jeweiligen Artikel zu den Seiten angelegt. Im Erstellen-Modus erscheinen dazu Eingabefelder wie Titel, Autor, „Anzeigen in: ?Hauptspalte?“, Artikel veröffentlichen...

 

Im Bearbeiten-Modus (also nach dem Speichern) wird listenartig untereinander aufgelistet, welche Bestandteile dieser Artikel hat, direkt nach dem Anlegen zunächst nur den Titel. Darunter können weitere Elemente wie Text, Aufzählung, Tabelle, Code, Hyperlink, Bilder etc eingefügt werden.

 

Schlusswort

 

Jede Änderung an der Webseite kann jeweils nach dem Speichern sofort begutachtet werden, durch den oben angegebenen Link. Alle Änderungen werden historisch gespeichert, im Bearbeiten-Modus eines Elements erscheint oben rechts immer eine Auswahlbox, mit der eine frühere Version wiederhergestellt werden kann.

 

Über Dateiverwaltung kann auf alle einzelnen Dateien zugegriffen werden. Das System-Log ist auch noch relevant, falls Fehlermeldungen aufkommen.

 

Mit Mitgliedern/Benutzern habe ich noch nicht experimentiert, für eine öffentliche Webseite ist das auch nicht unbedingt notwendig.

 

Insgesamt kann man das CMS durchaus weiterempfehlen, bis auf die Installations- und Konfigurationsschwierigkeiten.

 

Monats-Liste