Redaxo ist ein in PHP programmiertes, modular aufgebautes, gut strukturiertes Content Management System, das besonders im deutschsprachigen Raum über eine große Community verfügt. Das System eignet sich für Webprojekte kleinerer und mittlerer Budgets. Als Open Source System ist es lizenzkostenfrei (GPL) und lässt sich ausgezeichnet an die Wünsche und Bedürfnisse der Zielgruppe anpassen.
Das CMS wird durch eine Fülle von frei verfügbaren AddOns und Modulen erweiterbar und verfügt zudem über ein eigenes PHP Framework mit zahlreichen Objekten, die für nahezu alle Anforderungen Lösungsansätze bereit stellt. Die Installation ist auf gängigen Hosting-Umgebungen in wenigen Schritten gemeistert, benötigt werden lediglich PHP 5.x und MySQL 4.x sowie Webspace im zweistelligen Bereich.
Alle hier geäußerten Features beziehen sich auf die aktuell produktiv eingesetzte Version REDAXO 4.3.2, die Beispiele sind größtenteils aus den mitgelieferten Demo-Daten.
Die Struktur einer Website ist das A und O. Dieser Tatsache trägt das Backend Hauptmenü Rechnung, denn dort befindet sich die Strukturverwaltung an oberster Stelle. Neben dem Anlegen von Kategorien, die in der Regel auch als Navigationsstruktur im Frontend genutzt werden, sind auch die Inhalte in dieser baumartigen Struktur zu finden.
Strukturverwaltung zum Anlegen und Sortieren von beliebig verschachtelten Kategorien. In diesem Bereich erfolgt auch die Zuordnung von Templates sowie eine Möglichkeit, die Kategorien auf den Status offline oder online zu setzen.
Bereits in der von REDAXO mitgelieferten Demo-Site stehen sechs verschiedene Module zur Content-Verwaltung bereit. Mit wenigen Handgriffen lässt sich auch noch ein bereits vorbereiteter Rich Text Editor (TinyMCE) einbauen, sodass schließlich folgende Möglichkeiten existieren:
Während die Module 1-3 eine einfache Text-Bild-Eingabe und Ausgabe erlauben, stellt die Bildgalerie (4) einen Filebrowser mit Anbindung an eine interne Mediathek bereit. Die Ausgabe erfolgt dann als Bildergalerie mit Java-Script-Overlay. Der Import der Bilder ist denkbar einfach: entweder als Massen-Upload via FTP mit anschließendem Import ins bordeigene Medienverwaltungssystem oder als einzelner Upload. Bilder können dank Image Resize während der Ausgabe skaliert werden, was eine Bearbeitung mit externen Tools weitgehend überflüssig macht.
Artikelweiterleitung (5) ist eine Variante, um übergeordnete Navigationslinks ohne eigenen Inhalt zu verwalten oder externe URLs in die Navigationslogik zu integrieren. Eine Kategorienliste wird dynamisch aus einer Anzahl in einer Kategorie befindlicher Artikel erzeugt.
TinyMCE ist schließlich ein Rich-Text Editor, der HTML-Quellcode im WYSIWYG-Modus erzeugt. TinyMCE kann sehr leicht angepasst und erweitert werden, sodass Importfilter sowie Formatvorlagen mit CSS Klassen und ähnliche Anpassungen denkbar sind.
Selbstverständlich lassen sich ohne weiteres neue Module erstellen, verwalten und über die Rechteverwaltung des Systems einem Nutzer zuweisen oder eben nicht zuweisen.
Die Texteingabe kann mit einer Art Wiki-Format ausgezeichnet und formatiert werden: Textile. Weiterhin stehen die gängigen Rich-Text Editoren TinyMCE oder CK Editor zur Verfügung. Die Text-Eingabe kann auch bequem über eigens bereitgestellte Formulare erfolgen, also im Plain-Text Modus. Und es können eigene Module für die Content-Erzeugung und -Verwaltung eingesetzt werden. Die Module, beim Erstellen der Artikel, sind frei kombinierbar und werden intern als sogenannte Slices zu einem Artikel zusammengefasst.
Module sind frei kombinierbar, hier TinyMCE zwischen zwei anderen Content Blöcken
Die Medienverwaltung kennt unterschiedliche Datenformate, sodass auch CSS, Word, PDF und weitere Dokumententypen verwaltet und angezeigt werden können. Links, Tabellen und Bilder werden entweder durch die Rich-Text-Editoren oder durch spezielle Module formatiert. Mit ein wenig Aufwand lässt sich ein mit einem Styleguide korrespondierendes CMS erstellen, das dem Nutzer keinerlei Möglichkeiten nicht konformer Content-Eingabe ermöglicht. Ein solcher Anwendungsfall ist gerade in größeren Firmen mit entsprechend restriktiven IT-Sicherheits-Regeln sowie entsprechend klaren Vorstellungen zur CI nicht gerade selten.
Die Bildverwaltung erfolgt über den sogenannten Medienpool. Die Daten werden einfach via FTP hochgeladen und anschließend durch einen Mausklick synchronisiert sprich katalogisiert. Danach können die Metainformationen, wie etwa Titel, Beschreibungen und Alternativtexte, editiert werden.
Im Medienpool können verschiedene Daten wie Titel, Beschreibungen und Texte katalogisiert werden
Content wird in Blöcken, die aus allen möglichen Elementen bzw. Modulen bestehen können, bearbeitet. Ein Artikel besteht aus mehreren Blöcken, wobei man dort wiederum über Templates Bereiche (z.B. Footer, Sidebar, Header ...) definieren kann. Damit ist eine maximale Flexibilität gewährleistet und das bei sehr geringem Entwicklungsaufwand.
Die verschiedenen Module können nach Belieben editiert werden
Mehrsprachigkeit ist in zwei Varianten möglich: synchron und asynchron, das heißt zum einen werden die Website-Inhalte parallel in mehreren Sprachen gepflegt. Zum anderen kann der verschiedensprachige Content auch über unterschiedliche Strukturen verfügen, was bedeutet, dass die Sprachversionen inhaltlich unabhängig voneinander sein können.
Der Template-Aufbau lässt bei der Seitengestaltung alles zu, was ein Browser darstellen kann - ob HTML, XHTML oder HTML5 als Ausgabesprache verwendet wird, hängt von der Präferenz des Entwicklers ab. Empfehlenswert ist jedoch eine saubere Trennung von HTML und CSS-Daten.
Ein interner Template-Editor verwaltet die verwendeten Templates oder bietet die Möglichkeit, neue Templates hinzuzufügen. Um bei der Entwicklung komplexerer Websites eine maximale Wartbarkeit zu gewährleisten, empfiehlt es sich, Ausgabe-Templates und logische Templates zu definieren. Verbunden werden die Templates dann einfach über Einbinden wie in der nachfolgenden Codezeile deutlich wird: REX_TEMPLATE[5]
Mit diesem einfachen Ausdruck könnte zum Beispiel die Navigationslogik oder eine Sidebar erzeugt werden, je nachdem, was ein Template mit der Id 5 beinhaltet.
Die Templates können sowohl auf den Status aktiv als auch inaktiv gesetzt werden
REDAXO verfügt über ein mächtiges Framework, das natürlich auch eine komplette Navigationslogik, die nach Belieben angepasst und gestylt werden kann, beinhaltet.
Seit der Version 4.X wird durch Aufruf einer einzigen PHP Funktion eine Navigationslogik erzeugt, die anschließend weiter verarbeitet werden kann. Es wird in einer Zeile noch eine Methode aufgerufen, die noch vier Parameter erwartet:
Für Entwickler die spezielle HTML Attribute, zum Beispiel für das Einbinden einer jQuery Funktion benötigen, besteht natürlich auch die Möglichkeit etwas unter die Haube zu schauen und eine Funktion des REDAXO Frameworks zu nutzen. Es kann eine beliebig komplexe und vollständig frei layoutbare Navigation erzeugt werden. Externe URL oder eine Weiterleitung von einer übergeordneten Kategorie können auf einfache Weise durch das AddOn Metainfo erreicht werden.
Hier ist REDAXO eher schwachbrüstig, denn es können nur User definiert werden, keine Gruppen und auch keine erweiterten Berechtigungsmatrizes erstellt werden. Verwendete AddOns und Module lassen sich pro Nutzer an oder abschalten. Die Rechteverwaltung ist also starr an die User gebunden.
User-Management und Rechteverwaltung
Die Definition von Rechten erfolgt auf Nutzerebene. Derzeit gibt es keine Benutzergruppen, für die global Rechte vergeben werden können. In dem gezeigten Beispiel würde ein Nutzer "jeberle" als Autor Zugriff auf alle Content- und Medien-Ordner erhalten aber nur die fünf blau unterlegten Module nutzen dürfen.
User können das Recht haben, Artikel live zu stellen oder auch nicht, weiterhin gibt es eine Arbeits- und eine Live-Version. Um komplexe redaktionelle Workflows abzubilden, reicht das sicherlich nicht aus. Freigaben im engeren Sinne gibt es nicht, um nur die o.g. Privilegien Artikel live zu stellen oder nicht.
Redaxo hat eine sehr einfache und gut funktionierende Import- /Export Schnittstelle für DB-Backups und -Updates sowie für das Dateisystem. Das ganze unterliegt allerdings "natürlichen" Grenzen, je nach Konfiguration des Web-Servers und der damit erlaubten Datenmenge. Größere DB-Dumps und Dateisysteme oder größere Bildergalerien werden einfach per FTP bzw. durch geeignete Datenbank-Tools bewerkstelligt. Eigene Import-und Export-Funktionen für Backups, Cronjobs sind definierbar.
Derzeit existieren etwa 40 Module und doppelt so viele AddOns, die mit der aktuellen REDAXO-Version kompatibel sind. Einige Beispiele für Module (Artikel-Ein-/Ausgabe): Formulargeneratoren, SocialMedia Plugins, Artikelteaser mit Paginierung und Bildergalerien. Eingebunden werden Module wie auch AddOns durch Upload via FTP, AddOns werden im System durch eine Routine installiert und aktiviert.
Die Module sind in der Regel sehr gut dokumentiert und können nach Belieben angepasst werden. Eine Modulverwaltung würde eine Anpassung im REDAXO Backend bereits ermöglichen, empfehlenswert ist jedoch die Verwendung eines Code-Editors und eines Versionsmanagement-Tools.
Das CMS von REDAXO ist durch frei verfügbare AddOns beliebig erweiterbar
Einige Beispiele für AddOns (erweiterte und allgemeine Funktionalität):
Hier lohnt es sich, öfter mal einen Blick zu riskieren, denn REDAXO verfügt über eine ausgesprochen lebhafte und freundliche Community und die von Nutzern erstellten Feature-Wünsche werden häufig umgesetzt. Die Erzeugung individueller AddOns und Module lässt sich mit grundlegenden Programmierkenntnissen schnell erlernen.
Redaxo verfügt über verschiedene Mechanismen, die Bruteforce-Angriffe, SQL-Injection und Cross-Site Scripting verhindern. Über Anpassungen an der .htaccess und ähnliche Mechanismen können weitere Maßnahmen zum Schutz vor Angriffen in die Wege geleitet werden.
Wie bei allen produktiven Systemen werden von Zeit zu Zeit Sicherheitsupdates benötigt und bereitgestellt, etwa bei Bekanntwerden einer Sicherheitslücke.
Letztlich ist natürlich jeder Entwickler gefragt, sich mit dem Thema Sicherheit zu beschäftigen und so zu programmieren, dass keine Lücken in das System gerissen werden, denn jede Kette ist so stark wie ihr schwächstes Glied.
Der große Vorteil von REDAXO ist seine gute Struktur, seine intuitive Handhabung, die mächtige PHP-API sowie eine sehr gute Performance beim Anlegen und Bearbeiten von Content. Für Entwickler wie für Autoren zeichnet REDAXO besonders eine flache Lernkurve und eine schnelle Erweiterbarkeit aus.
Einsatz Schwerpunkte
Wie immer, gilt hier der Satz "wo Licht ist, ist auch Schatten". Bei REDAXO ist ein Nachteil, dass es nicht für komplexere Anforderungen geeignet ist. Wer nach erweiterten Freigabe-Workflows, Deploy-Prozessen oder Single-Sign-On Funktionen sucht, ist eingeladen, diese selbst zu programmieren oder sich eines der größeren Systeme, wie etwa TYPO3 oder Drupal zu bedienen.
Schwachstellen weist das System da auf, wo es um Redaktions-Workflows, um komplexere IT-Infrastrukturen oder um Mandantenfähigkeit mit entsprechend vielseitigen Rollen und Rechten geht.
Drei Web-Seites, die mit dem System umgesetzt wurden, samt dem Zeitaufwand für das initiale Go-Live:
Bitte beachten Sie unsere Informationen zum Datenschutz.
blog comments powered by Disqus© 2012 FEiG & PARTNER