Open Source im professionellen Einsatz

Content Management System in Perl

Web-Baukasten

WebGUI ist eines der ausgereiftesten freien Web-Content-Managementsysteme, mit dem man sehr einfach und schnell professionelle Websites erstellen kann. Es ist modular aufgebaut, erweiterbar, plattformunabhängig und komplett in Perl geschrieben.

Für kleine und mittelgroße Websites mit Schwerpunkt auf Text und Bild ist WebGUI ein gut geeignetes Content Management System (CMS). Über eine Web-basierte Benutzeroberfläche lassen sich Inhalte verändern, Daten sammeln, Bilder und Dateien verwalten sowie das Layout der Website festlegen. WebGUI speichert seinen gesamten Datenbestand an Inhalten und Layoutelementen in einer Datenbank. Entwickelt und unter der GPL frei lizenziert hat das System die amerikanischen Firma Plainblack Software[1]. Das CMS ist komplett in Perl programmiert und läuft auf Linux- und Windows-Systemen mit verschiedenen Webservern.

WebGUI ist eine reine Webanwendung. Das heißt, dass die Software auf dem Webserver läuft und einfach über einen beliebigen Webbrowser bedient werden kann. Hierzu loggt sich ein berechtigter Benutzer ein und aktiviert die Editier-Funktionen. Daraufhin blendet das System auf den Seiten zusätzliche Menüs und Buttons für die Bearbeitung ein. Wie jedes gute CMS trennt auch WebGUI Inhalte, Layout und Logik voneinander, sodass diese Teile einer Webpräsenz unabhängig voneinander verwaltet werden können.

Objektivität

Inhalte verwaltet WebGUI in Form so genannter Wobjects. Das sind vorgefertigte Elemente, aus denen sich die Website zusammensetzt. Die WebGUI-Distribution bringt bereits viele dieser Wobjects mit, von denen jedes spezielle Eigenschaften hat. Es gibt aber auch Gemeinsamkeiten: So lässt sich zum Beispiel für jedes Wobject festgelegen, in welchem Zeitraum es auf der Website erscheinen darf und wer zur Änderung des Wobjects berechtigt ist.

Das Wobject »Seite« repräsentiert eine Seite der Webpräsenz und kann wiederum Wobjects enthalten. Eigenschaften einer Seite sind unter anderem ihr Titel, ihre Bezeichnung in der Navigation, eine Kurzbeschreibung sowie der URL-Pfad, unter dem sie abrufbar ist. WebGUI verwaltet die Seiten in einer internen Sitemap, deren baumförmige Hierarchie unabhängig von den realen URL-Pfaden der Seiten ist. So kann eine Seite »Kontakt« mit der URL »/kontakt« durchaus der Seite »Infos« mit der URL »/info« untergeordnet sein.

Für statische Inhalte gibt es die Wobjects »Artikel« und »Textelement«. Ein Textelement besteht aus Überschrift und Text. Beim Artikel-Wobject lassen sich zusätzlich Bilddateien und Link-URLs festlegen. Außerdem haben sie eine optionale »Diskussion«, ist diese aktiviert, erscheint unter dem Artikel automatisch ein Diskussionsforum.

Weitere dynamische Wobjects sind etwa »Kalender«, »Abstimmung«, »Umfrage« oder das »Benutzerbeitragssystem«, das es Besuchern ermöglicht, eine Seite laufend mit weiteren Beiträgen zu versehen. Optional können andere Besucher diese Beiträge kommentieren. Auch für FAQ-Seiten oder Linklisten stehen Wobjects zur Verfügung. Die Einbindung externer RSS-Informationen ist mit dem Wobject »Syndicated Content« möglich. Es gibt eine Zwischenablage, die Cut & Paste von Wobjects möglich macht. So können Wobjects auch innerhalb des Systems, zum Beispiel zwischen Seiten, kopiert oder versetzt werden.

Stilsicher

Zum Layouten der Seiten dienen Styles und Templates. Ein Style ist eine Vorlage für ein Seitenlayout und besteht aus einem HTML-Rumpf und einem CSS-Stylesheet. Der Rumpf bestimmt das Layout einer Seite und enthält die Elemente, die auf allen Seiten enthalten sein sollen, zum Beispiel den Seitenkopf und die Navigation. Das Stylesheet bestimmt das Aussehen einzelner HTML-Elemente wie Überschriften und Tabellen. Der Style-Autor kann festlegen, an welcher Stelle im HTML-Rumpf die Inhalte einzelner Seiten erscheinen werden. Inhalt und Layout sind kombinierbar, indem einem Seiten-Wobject ein Style zugewiesen wird. Eine Änderung am Style wirkt sich damit sofort auf allen Seiten aus, die diesen Style verwenden.

Templates machen das Layout der einzelnen Wobjects variabel. Sie enthalten Standard-HTML, das sinnvollerweise die CSS-Klassen des Seiten-Styles nutzt, und Platzhalter für die Informationen des jeweiligen Wobjects. Da für jede Wobject-Klasse beliebig viele Templates erstellt werden können, lassen sich zum Beispiel verschiedene Arten von Artikeln auch unterschiedlich darstellen.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook