Guten Abend Community,
ich habe in der letzten Woche ein Content-Management-System geschrieben und möchte nun wissen was der normale Free Hack User für Anforderung an ein solches System hat.

Aber kommen wir zu erst zu der aktuellen Basis Struktur :
  • Die Sektionen
    Die Sektionen werden aus der Datenbank geladen und sind das Herz des CMS. Es gibt insgesamt 5 Typen:
    [list:b466b07203]
  • Top Sektion (parent)
    Der Typ "parent" beinhaltetet alle Kinder Fenster und ermöglicht eine unendliche Verschachtelung von Sektionen.
  • Templates (tpl)
    Beim Typ Templates wird nur das Template aus der Datenbank geladen und in der Sektion verlinkt.
  • Menüs (menu)
    Die Menü Punkte werden ebenfalls aus der Datenbank geladen und verschachtelt (wenn angegeben) ausgegeben. Aber später mehr dazu.
  • Modules (module)
    Es wird nachgeschaut ob das Module existiert wenn ja wird es registriert und zu einem späteren Zeitpunkt nach Priorität verarbeitet. Durch die Module kann jeder Programmierer seine eigenen Programme in das CMS System ohne Probleme einbinden.
  • Content (content)
    Der "content" Typ kann nur einmal einer Sektion zugewiesen werden. In dieser Sektion finden später die Ausgabe statt.

Jeder Typ wird individuell verarbeitet und jeweils mit einer "div" Umrandung ausgegeben (Bild Darstellung). Dazu kann kann jede Sektion leicht über das Administration Panel eingestellt werden.
  • Name
  • Alias
  • Beschreibung
  • Typ
  • Parent
    Hier kann angegeben werden in welcher Sektion die aktuelle Sektion angezeigt werden soll. Bei "Top" wird Parent keine Sektion zugewiesen.
  • Rechte
    Jeder Sektion kann ein Recht zugewiesen werden, später mehr zum Rechte System.
  • Anzeigen
    Durch diese Einstellungen können Sektionen ausgeblendet werden.
  • Css Klasse
    Jeder Sektion kann eine individuelle Css Klasse zugewiesen werden.

[*]Die Menüs
Wie bei den Sektionen gibt es auch hier Typ insgesamt 4:
  • Kategorie ( cat )
    Die Kategorie ist der Kopf von jedem Menü und kann auch an einen Link gebunden werden.
  • JS Menü ( js_menu )
    Dadurch werden Untermenüs erst durch einen Klick auf den Menü Punkt sichtbar. Ist der Typ nicht angegeben werden untergeordnete Menüs einfach versetzt ausgegeben.
  • Link ( link )
    Ist ein normaler Menüpunkt.
  • Externer ( externer_link )
    Führt auf eine andere Seite und wird markiert angezeigt.

Auch gibt es Einstellungen die über das ACP bearbeitet werden können:
  • Name
  • Alias
  • Beschreibung
  • Typ
  • Link
  • Parent
    Hier kann angegeben werden in welchem Menü das aktuelle Menü angezeigt werden soll. Bei "Top" wird Parent kein Menü zugewiesen.
  • Rechte
    Jedes Menü kann ein Recht zugewiesen werden, später mehr zum Rechte System.
  • Anzeigen
    Durch diese Einstellungen können Menüs ausgeblendet werden.
  • Css Klasse
    Jedes Menü kann eine individuelle Css Klasse zugewiesen werden.
[*]Das Rechtesystem
Das Rechtesystem es viel komplexer als bei anderen CMS. Den man kann wirklich jeder Sektion, jedem Menü, jedem Module usw. ein eigenes Recht anlegen und dieses Systemgruppen zuweisen oder bestimmten Usern das Recht einräumen.
Das Rechtesystem wird auch im ACP benutzt so ist es zum Beispiel möglich das Designer einen begrenzten Zugriff auf das ACP haben um die Templates und Stylesheets zu ändern oder neue anzulegen.
[*]Das Administration Panel
Folgendes ist im ACP Möglich:
  • Userverwaltung
  • Gruppen Verwaltung
  • Sektions Verwaltung
  • Menü Verwaltung
  • Templates Verwaltung
  • Rechte Verwaltung
  • Module Verwaltung

[*]Die Module
Die Module ermöglichen es jedem Programmierer das CMS zu erweitern. Die De/Installation erfolgt über eine XML Datei. Aktuelle Module:
  • User Funktionen
    [list:b466b07203]
  • Alle Member anzeigen
  • Private Nachrichten
  • Profile
[*]Gästebuch[*]Menü Bar
Wo man sich aktuell auf der Seite befindet[/list:u:b466b07203][*]Andere Funktionen
  • BB Code
  • Microtime Berechnung ( Momentan D: 0.032s )
[/list:u:b466b07203]

Was würdet ihr euch noch für Funktionen oder Module wünschen?
Soll die Basis Struktur noch geändert werden?

Die Erste Version werde ich Ende der Woche veröffentlichen und ich hoffe auf eine Menge Beta Tester die sich melden. Desweiteren bin ich noch auf der Suche nach einem passenden Namen für das System.

Cout