Allgemeines

WebRex ist ein Open Source Content Management System, welches unter der GNU General Public License steht. Am 10. April 2011 veröffentlichte Nicolas Pecher erstmals das CMS unter der Version 1.0.0. Mittels WebRex lassen sich Webseiten ohne Programmierkenntnisse leicht und schnell über ein sogenanntes Admin Control Panel (auch bekannt als Backend) umsetzten. Es ist in der Scriptsprache PHP geschrieben und speichert einen Großteil der über das Admin Control Panel generierten Inhalte in einer MySQL-Datenbank. Sollten Sie WebRex für Ihre Website verwenden wollen, benötigen Sie daher PHP (mind. Version 5.3) und eine MySQL-Datenbank.
Seit der Version 1.5.0 hat WebRex den Weg zu einem Community-Projekt eingeschlagen - Nutzer können sich demnach an der Entwicklung des CMS und an der Entwicklung von CMS-Erweiterungen (Layouts & Module) beteiligen.

Architektur

Das WebRex-CMS ist in dem HMVC-Architekturmuster aufgebaut, was eine strikte Trennung des Codes auf drei verschiedene Schichten zu Folge hat:
Präsentationsschicht, Datenschicht und Business-Schicht. Die erste Schicht, die Präsentationsschicht wird dabei nocheinmal in zwei weitere Schichten unterteilt - View/Template-Schicht und Controller-Schicht.
Das CMS fußt auf dem APF (Adventure PHP Framework). Entwickler können daher die komplette APF-Funktionalität für die Entwicklung von WebRex-Modulen nützen.

Eine Website exstiert in WebRex aus lediglich 3 Komponenten: Seiten, Layouts und Module. Die Anzahl an Komponenten wurde bewusst möglichst niedrig gehalten, damit Bentuzer nicht unnötig verwirrt werden.

Seite

Eine Website besteht bekanntlicherweise aus mehreren Seiten. Dabei kann es sich bei einer Seite um "Kontakt", "Impressum", "Home", etc. halten. Eine Seite definiert neben Metadaten noch welches Layout und darin beinhaltetes Template sie verwenden möchte. Jede Seite kann komplett individuell aufgebaut werden - sprachlich, inhaltlich und gestaltlich.

Layouts

Ein Layout bestimmt die Gesamterscheinung Ihrer Website bzw. einer oder mehrerer Seiten. Ein Layout muss mindestens ein Template beinhaltet, welches wiederum Container-Elemente (Header, Footer, Sidebar, etc.) deklariert. Eine Seite kann nun ein Template von einem Layout selektieren und dessen Container-Element mit beliebig vielen Modulen in beliebiger Reihenfolge füllen - jedes, in eine Seite eingebundene Module erhält eine neue und eigene Konfiguration, wodurch sich z.B. 5 in eine Seite eingebundene Kontaktformulare stark voneinandern unterscheiden können (z.B. Unterschiedliche Blacklist und Empfänger).

Module

Die dritte und wohl umfangreichste Komponente, die Module, sind Bausteine, die von einer Seite beliebig oft verwendet werden können. Jeglich erdenklicher Inhalt wird bzw. sollte von Modulen gebildert werden. Folgende Module werden standardmäßig im WebRex-Download-Paket mitgeliefert: