serious-cool

IT Solutions
  • Start
  • Computer
  • Warhammer
Hauptmenü
  • Kontakt
  • Archiv
  • Impressum
  • Sitemap
Computer
  • Datensicherheit
  • Multimedia Server
  • Webdesign
  • PHP-Scripts
Anmeldung



  • Passwort vergessen?
  • Benutzernamen vergessen?

Überlegungen zum eigenen CMS

PostDateIconMittwoch, den 04. Januar 2012 um 16:58 Uhr

Die aller meisten PHP-Hobbyisten stellen sich irgendwann die Herausforderung ,,Ein eigenes Content Management System muss her!", die allerwenigsten schaffen überhaupt den ersten Schritt. In diesem Artikel möchte einige Grundideen zur Erstellung eines CMS erläutern.

Die Umsetzung in PHP liegt dabei weniger im Fokus. Es geht mir in dieser Artikelserie um das Verständnis der Anforderungen und deren Umsetzung auf Daten(bank) Ebene. Die Implementierung kann später in jedem Framework erfolgen. Bevor überhaupt eine Zeile in PHP geschrieben wird, sollte man sich sicher sein, dass man mit der eigenen Datenstruktur alle Anforderungen unkompliziert abbilden kann.

Hier setzt diese Serie an.

Erste Fragen

Am einfachsten lassen sich die richtigen Werkzeuge wählen wenn man sich klar wird welche Aufgaben auf einen zu kommen, einige grundlegende Betrachtungen weisen den richtigen Weg.

Was muss (m)ein CMS eigentlich können?

Der Kern eines Content Management Systems ist, wie der Name schon erraten lässt, die Inhaltsverwaltung. Seiten und Beiträge sollen ohne vertieftes Wissen in HTML / CSS und Co erstellt werden können. Alles muss eine erkennbare Struktur haben und sollte auch nach Jahren wieder intuitiv gefunden werden und bearbeitet werden können.

Erweiterungen wie eine Template-/Layout-, Benutzer- oder eine Dateiverwaltung lassen wir hierbei mal außenvor. Einen Punkt nehmen wir allerdings noch auf: Es muss später noch nach allen Richtungen erweitert werden können.

Wie sieht es mit der Bedienung aus?

Wer wird später mit dem CMS arbeiten? - Hier können wir in absteigender Anzahl folgende Typen vermuten: Normale Besucher - egal ob eingeloggt oder nicht, Autoren - schreiben nur die Inhalte  und Administratoren - haben das System installiert, betreuen und aktualisieren es.

Alle weiteren Nutzergruppen sind letztlich nur Gruppierungen oder Ableitungen dieser Typen. Es geht hierbei nicht um die Planung eines Rechtesystems, sondern um die Frage ,,Wie ermögliche diesen Nutzertypen eine intuitive Bedienung des CMS?"

Zwei bekannte Systeme im Vergleich:

Eines der bekanntesten CMS weltweit ist Joomla. Auf Grund der zahlreichen Anleitungen, der einfachen Konfiguration und Installation sowie dem breiten Angebot an fertigen Designs/Modulen/Komponenten, ist Jommal das Mittel der Wahl bei mehreren Millionen Webseiten, einschließlich dieser. - Wie sieht es aber mit der Bedienbarkeit aus? Nach meiner Meinung: Für Besucher und Administratoren super! - Autoren haben es unnötig schwer.

In Joomla kann ein Beitrag einem Bereich und einer Kategorie zugeteilt werden, oder keinem von beiden. Kategorien und Bereiche werden in einem separaten Untermenü angelegt. Jedoch lässt die Kategorisierung  nicht auf die Präsentation im Frontend schließen, sie kommt erst zum tragen wenn ein Kategorieblog angelegt wird.. Allgemein erstellt erst die Menükonfiguration den Seitenbaum.
Gerade Autoren verlieren hierbei schnell den Überblick obwohl sie sich eigentlich nur mit den Inhalten beschäftigen soll.

Zusammengefasst ist es schlicht nicht möglich die gesamte Seitenstruktur auf einen Blick zu erfassen - Bei mehreren 100 Beiträgen das Todesurteil eines jeden CMS.

Menues-JoomlaMenues-Joomal-FE

Das Schlachtschiff unter den Content Management Systemen ist ohne Zweifel Typo3.
Die Installation erweist sich allerdings auf Grund der komplexen Konfigurationsmöglichkeiten als Herausforderung.  Ohne zusätzliche Literatur zu Typo3 und TypoScript ist es kaum möglich die Vielzahl an Funktionen und Einstellungen zu einem Gesamtkunstwerk zurecht zu biegen. Hier liegt allerdings auch die Stärke von Typo3.
Was Typo3 für den Autor so interessant macht, ist Art und Weise wie der Seitenbaum im Backend repräsentiert wird. Eine einfache Baumstruktur die gleichzeitig auch die Menüstruktur im Frontend darstellt. 

Eine Baumstruktur ist jedem Computerbenutzer aus dem Explorer bekannt und wird dadurch intuitiv erfasst. Eine weitere Kategorisierung der Seiten entfällt dadurch. Typo3 folgt hier dem Prinzip: Was Du siehst, ist was Du willst!

Seitenbaum-typo3Seitenbaum-Typo3-FE

Meiner Meinung nach, ist der Seitenbaum, wie Typo3 verwendet, die schönste Variante um Menüpunkte zu repräsentieren.

Seiteninhalte, Inhalte auf Seiten, Abschnitte auf Seiten und Inhalte?

Die Einfachste Methode ist es auf jeder Seite einen Inhalt anzulegen. Dieser kann mit einem WYSIWYG Editor bearbeitet werden.

Dies wäre allerdings zu einfach, da die Modularität darunter leidet. - Was ist mit einem Kontaktformular? Einer Sitemap? Einer Google-Anfahrtsbeschreibung? - Alles bekannte Anforderungen an eine Webseite, aber mit dem WYSIWYG Editor alleine unmöglich.

Ein erneuter Blick in oben bereits erwähnte CMS bringt uns neue Ansätze. In Typo3 werden Seiten mit Seiteninhaltselementen gefüllt. In Joomla ist eine Seite entweder ein Textbeitrag oder wird von einem Modul gestaltet.

Beitrag-typo3Beitrag_Joomla
Auch hier gefällt mir der Ansatz von Typo3 besser, da es möglich ist unter z.B. einem Kontaktformular weitere Inhalte zu platzieren. Dennoch müssen wir darüber klar sein, dass es nicht möglich ist Joomla oder Typo3 einfach zu kopieren, in diesen Systemen stecken mehrere tausend Arbeitsstunden, die wir so nicht aufbringen können. Allerding lohnt es sich, sich an ein gutes Konzept anzulehnen und dieses in einer Vereinfachten Form zu übernehmen.

Schlussfolgerungen aus den ersten Überlegungen:

(M)ein CMS soll Seiten als Baumstruktur repräsentieren.
Inhalte werden als Inhaltselemente auf einer Seite eingebunden.
Inhaltselemente haben Datensätze.
Alle Inhaltselemente einer Seite ergeben die fertige Seite.
Alles soll modular bleiben und später erweitert werden können.

Diese Punkte ergeben schon ein Zielführendes Pflichtenheft für unsere Anwendung. Die Bedienbarkeit und Modularisierung steht im Vordergrund. Jetzt wird es Zeit die einzelnen Punkte konkret auszuarbeiten.

Zum nächsten Teil: Der Seitenbaum.

Aktualisiert (Sonntag, den 08. Januar 2012 um 18:48 Uhr)

 
meist gelesene Beiträge
  • Media Server -Teil 2 - TV Server
  • Diffie-Hellman Schlüsselaustausch
  • Media Server -Teil 1 - Hardware
  • Typo3 Meta Generator entfernen
  • Basegestaltung
  • Häufigkeitsanalyse
  • Chaos General

Valid XHTML 1.0 Transitional