Information

Das FusiRobot-CMS ist ein nichtkommerzielles minimalistisches Content Management System auf Basis von PHP und MySQL, welches auf Grund seines modularen Aufbaus leicht zu erweitern ist.

Dabei richtet es sich in erster Linie an PHP-Anfänger und -Fortgeschrittene, die ausreichend Kenntnisse in (X)HTML und CSS besitzen und eine solide Basis für ein Content Management System benötigen oder haben möchten, um dieses mit eigenen Diensten und Funktionen zu erweitern.

Das FusiRobot-CMS verfügt über die folgenden Merkmale:

Objekt-Prozedural

Das FusiRobot-CMS profitiert enorm von den Möglichkeiten der Objektorientierung, setzt aber der Einfachheit auch auf prozedurale Programmierung.

So ist sämtliche Funktionalität der Dienste und Module in Klassen strukturiert, die mit Hilfe von Reflections durch einen Dispatcher aufgerufen werden können, wodurch unnötige Konfiguration entfällt und eine einfache Erweiterung ermöglicht wird.

Innerhalb dieser Dienste und Module sind die Operationen prozedural organisiert.

Minimalistisch

Das FusiRobot-CMS liefert nur die wichtigste Grundfunktionalität einer interaktiven Webseite.

Sämtliche Funktionalität (wie z.B. Benutzerprofile, Foren, Gästebücher, Umfragen etc.) müssen selbst implementiert oder separat heruntergeladen werden.

Dieses Vorgehen hat den Vorteil, dass das FusiRobot-CMS nur über die Funktionalität verfügt, die der Webseitenbetreiber auch wirklich nutzen will.

Darüber hinaus erhöht es auch die Sicherheit des Systems dahingehend, dass weniger potentielle Angriffspunkte vorhanden sind.

Einfache Erweiterung

Ein minimalistisches CMS muss über eine einfache Möglichkeit der Erweiterung verfügen, damit man dem CMS auf leichte Weise neue Funktionalität hinzufügen (oder sogar entfernen) kann.

Um dies zu erreichen, wird sämtliche Funktionalität in Dienste und Module realisiert, die durch einen sogenannten Dispatcher verwaltet und aufgerufen werden.

Dispatcher

Ein Dispatcher ist ein Programmteil, der die Aufgabe hat, zu einem spezifischen Befehl, die passende Funktion zu finden, dieser benötigte Parameter zu übergeben, sie dann aufzurufen und deren Rückgabe an den aufrufenden Programmteil zu übergeben.

Der Dispatcher im FusiRobot-CMS sorgt – ganz ohne Konfiguration – dafür, dass bei einem bestimmten Befehl der passende Dienst bzw. das passende Modul aufgerufen wird.

Dienste

Ein Dienst verfügt über mehrere Operationen, die die Funktionalität des FusiRobot-CMS zu Verfügung stellen und werden vom Dispatcher aufgerufen.

So verfügt ein Dienst "Webseiten" über Operationen wie "Webseite anzeigen", "Neue Webseite erstellen", "Webseite bearbeiten" und "Webseite löschen".

Dienste und deren Operationen erstellen den Hauptinhalt der Webseite und unterscheiden sich daher von Seite zu Seite.

Module

Module sind im Prinzip Dienste, verfügen jedoch nur über eine Operation.

Sie werden über Platzhalter in die Webseite geladen und sind auf jeder Seite vorhanden.

So erstellt das Modul "Navigation" eine Navigationsleiste, die über den Platzhalter @{navigation}@ in die Webseite geladen wird.

Feines Rechtesystem

Da sämtliche Funktionalität in Dienste und deren Operationen strukturiert ist, ist es sinnvoll die Rechteverwaltung entsprechend zu realisieren.

Für jede Kombination aus einem Dienst und einer seiner Operationen wird ein eigenes Recht benötigt, um diese Operation aufzurufen.

Die einzelnen Rechte lassen sich in Gruppen einordnen, welche dann den Benutzern zugeordnet werden.

Die Gruppen werden dabei in drei verschiedene Typen unterteilt:

Standard:
Jeder Benutzer – unabhängig ob unangemeldet (Gast) oder angemeldet (registrierter Benutzer) – ist automatisch Mitglied in diesen Gruppen. Sie beinhalten die Rechte, die für eine normale Benutzung der Webseite als Gast benötigt werden.
Benutzer:
Angemeldete Benutzer sind des Weiteren automatisch Mitglied in diesen Gruppen. Diese beinhalten die Rechte, die für die zusätzlichen Dienste für angemeldete Benutzer benötigt werden.
Manuell:
Diese Gruppen werden manuell durch Moderatoren und Administratoren an registrierte Benutzer vergeben. Diese beinhalten die Rechte, die benötigt werden, um einen registrierten Benutzer zu einem Moderator zu ernennen.

Des Weiteren ist es möglich, einzelnen registrierten Benutzern, direkt spezifische Rechte zu erteilen oder zu verbieten, ohne diese in die entsprechende Gruppe aufzunehmen bzw. aus der entsprechenden Gruppe zu entfernen.

Vorlagensystem

Das FusiRobot-CMS trennt vollständig Inhalt und Programmcode.

Dadurch ist es möglich das komplette Aussehen der Webpräsenz zu ändern, ohne Programmcode oder Inhalt von Diensten bzw. Modulen anpassen zu müssen.

Dies wird dadurch erreicht, dass sämtlicher HTML- und CSS-Code in einer eigenen Verzeichnishierarchie gespeichert wird, auf dass das Vorlagensystem zugreift und anhand von Platzhaltern selbstständig die passenden Code-Dateien heraussucht und die Platzhalter durch den entsprechenden Inhalt ersetzt.