Tweet | ![]() |
Die Planung – Eigenes CMS mit PHP & MySQL 1/15
-
Ein eigenes CMS macht jedem Webmaster das Leben leichter, es gibt so unendlich viele kostenlose CMS-Scripte. Jedes dieser CMS-Scripte hat etwas besonderes und eine Eigenart, doch oftmals hat ein CMS nicht alle Funktionen die man sich für seine Webseite so vorstellt. Nun hat man die Möglichkeit sich in einen fremden Code einzuarbeiten und das CMS zu erweitern mit den Funktionen die man benötigt. Das ist jedoch sehr oft anstrengend und schlussendlich doch nicht das was man braucht. Da bleibt nur noch eins, man muss sich sein CMS selber schreiben! Nur wie funktioniert so ein CMS, was macht es schlussendlich zu einem CMS und was für Funktionen soll ich denn alles in das CMS packen?
Zuerst einmal eine Erklärung zu dem Begriff CMS, denn viele können sich darunter nicht wirklich etwas vorstellen. CMS ist die Abkürzung für Content Management System, was so viel bedeutet wie “Inhalteverwaltungssystem”. Also ein Script das zur Verwaltung der Seite dient.
Und wie ein CMS funktioniert ist natürlich auch eine grundliegende Frage wenn man ein eigenes schreiben will. Denn wer nicht weiß wie man ein Auto zum fahren bringt, der braucht sich auch keines zulegen. Aber dafür gibt es ja mich, ich erkläre euch mal wie ein CMS funktioniert. Bei jedem CMS gibt es so etwas wie ein Admin-Center. Ein Admin-Center ist das Zentrum für den Webseitenbetreiber, denn von dort aus kann man alles bearbeiten was man so bearbeiten möchte. Meist gibt es für ein Admin-Center nur begrenzt Zugang für ein paar ausgewählte Personen denen man vertraut. Um diesen Bereich vor fremdeinwirkungen zu schützen, sichert man ihn mindestens mit einem Passwort. Nun aber zum eigentlichen Sinn des CMS. Der Grundgedanke hierbei ist, alles auf einem Fleck zu haben und mit ein paar Klicks verwalten zu können, also alle Inhalte der Webseite bearbeiten zu können ohne extra die Datenbank aufzurufen und jeden Inhalt in minutenlanger, wenn nicht sogar stundenlanger Arbeit herauszusuchen. Dass könnten Inhalte sein wie Texte auf der Webseite, Newseintrage, Newskommentare, Benutzerprofile und und und…
Ein CMS ist meiner Meinung nach nur dann ein richtiges CMS, wenn man damit alles auf der Webseiten bearbeiten kann, es ordentlich strukturiert ist und genau das beinhaltet was ich für meine Webseite brauche. Hier mal ein kleines Beispiele was ein CMS ist und was nicht:
- Ein Newsscript bei dem man nur neue News verfassen kann – KEIN CMS
- Ein Newsscript bei dem man neue News verfassen kann und ältere Einträge bearbeiten und löschen kann – KLEINES CMS
Weitere Beispiele kann ich mir glaub ich sparen da man den Unterschied deutlich erkennt, nämlich hat das erste Newsscript zwar die Möglichkeit dass man neue Einträge veröffentlichen kann, jedoch kann ich bereits gespeicherte Einträge nicht ohne weiteres verwalten. Nun dürfte jeder verstanden haben was ein CMS ausmacht, nämlich die Möglichkeit uneingeschränkt die eigene Seite zu verwalten.
Nun kommt die wichtigste Frage, was soll mein CMS denn alles können? Diese Frage kann ich natürlich nicht direkt für euch beantworten, da jeder Leser hier warscheinlich etwas anderes vorhat mit der eigenen Webseite, doch um die Planung eines solch “komplexen” Scripts anschaulicher zu gestalten werde ich die gesamte Tutorialreihe auf folgendem Beispiel aufbauen, denn diese Art von CMS hat nun mal die meisten Möglichkeiten. Als Beispiel habe ich mich für eine Community entschieden, also ich möchte eine eigene kleine (oder auch eine größe) Community mit euch auf die Beine stellen, natürlich nur für das Tutorial ;).
Da ich mich entschieden habe was ich denn für eine Seite machen will kann ich mir natürlich ausmalen welche Funktionen diese Community habe soll und inwiefern ich was kontrollieren will. Also zum Beispiel will ich eine komplette Benutzerliste in meinem Admincenter haben. Bei dieser Benutzerliste will ich alle Accounts die registriert sind angezeigt bekommen. Es soll immer der zuletzt registrierte User als erste angezeigt werden, desweiteren sollen nur 15 Accounts pro Seite angezeigt werden. Außerdem will ich eine Suchfunktion für die Accounts haben, mit der ich nach Benutzername und E-Mail-Adresse suchen kann! Das war erst einmal ein Beispiel, ich habe aber eine komplette Liste schon einmal für die Beispiel IT-Runde Community aufgestellt. Bitte beachtet aber dass ich bereits meine Liste in der Reihenfolge aufgebaut habe wie ich vorhabe es zu verwirklichen, das solltet Ihr aber möglichst lassen, da man sonst Dinge vergisst oder alles nochmal neu schreiben muss weil manche Dinge erst später aufschreiben will, die aber vorher schon benötigt werden. Das heißt für euch 2 Listen zu erstellen, die erste Liste mit dem was das CMS können soll und die zweite Liste ist dann euer Leitfaden bei dem alles so aufgebaut ist wie Ihr es abarbeiten wollt und könnt.
Leitfaden
- Meine Community soll eine Templatefunktion erhalten.
- Ich möchte dass man auf mein Admin-Center nur nach dem Benutzerlogin und mit den nötigen Rechten zugreifen kann.
- Besucher sollen sich einen Account registrieren können, welcher aber per Email besätigt werden muss.
- Besucher sollen sich einloggen können (der Login soll per SESSION gespeichert werden).
- Ich möchte auf der Startseite für Besucher nur News anzeigen und für einen Benutzer eine Übersicht seiner Möglichkeiten und Ihn-Betreffender Inhalte schaffen.
- Ich möchte eine PN-Funktion einbauen, bei sich User gegenseitig Private Nachrichten schreiben können.
- Ich möchte ein Freundschaftssystem einbauen, bei dem die User Freundschaften schließen können.
- Ich möchte dass meine Benutzer 1 Avatar pro Account hochladen können mit einer festgelegten Maximalen-Dateigröße.
- Ich möchte ein Forum mit Kategorien bei dem User miteinander diskutieren können.
- Ich möchte das Moderatoren die Forenbeiträge editieren, notfalls auch löschen können und Benutzer beim Admin Beiträge melden können mit Grund!
- Hier ein kleiner Break, bis jetzt habe ich mir Dinge aufgeschrieben die der User so machen kann und habe den Grundstein fürs Admin-Center gelegt. kommen wir zu allem das die Verwaltung der Seite betrifft, also alles was im Admin-Center so zu sehen sein wird:
- Welche User sind online ? – Mit IP
- Ich möchte jede Aktivität der User auf einem Bildschirm haben (Bsp. UserX schrieb UserY eine Nachricht…).
- Ich möchte durch Bestätigung eines Buttons den Zugriff auf die Nachrichten der User haben (wieso das werde ich euch in diesem Artikel erklären).
- Ich möchte (ohne ins Admincenter zu müssen) User bearbeiten können!
- Ich möchte eine Benutzerübersicht, bei dieser soll der zuletzt registrierte User als erstes angezeigt werden, desweiteren sollen nur 15 User pro Seite angezeigt werden und ich möchte eine Suche haben, mit dieser will ich nach namen und Email-Adressen suchen können!
- Ich möchte einen User zum Moderator/Administrator ernennen können.
- Ich möchte das Administratoren Newseinträge erstellen, bearbeiten und löschen können.
- Ich möchte das Administratoren Kategorien im Forum hinzufügen, bearbeiten und löschen können
- Ich möchte das Administratoren von Moderatoren gemeldete User angezeigt bekommen mit Meldegrund und diese dann entsprechend bearbeiten können (Profil bearbeiten + Sperren entweder für eine Stundenanzahl oder für immer)
- Ich möchte dass neue Seiten nach Eingabe des Dateinamens für die Seite automatisch integriert und angezeigt werden!
- Ich möchte dass Administratoren die Seite per Mausklick und Grund offline schalten können (sinnvoll für Wartungsarbeiten usw…)
Damit hätte ich zumindest einmal die Funktionen meines CMS aufgeführt, mit allen Möglichkeiten die ich als Adminstrator haben will. Ich werde aber nicht für jeden dieser Punkte einen extra Artikel erstellen, da manches sehr einfach zu integrieren ist, desweiteren werde ich in den Artikeln auch weitere Möglichkeiten vorstellen die man integrieren könnte.
Soweit erst einmal zur Planung unseres CMS für eine Community. Im zweiten Teil werde ich euch ersteinmal das mit der Templatefunktion zeigen, denn dabei gibt es mehrere Varianten dies elegant ein zu bauen.
Bisherige Artikel zur Tutorial-Reihe:
1. Die PlanungIch hoffe Ihr habt euch soweit zurechtgefunden, sollte noch etwas unklar sein bzw. noch Fragen zu Planung bestehen, so könnt Ihr das als Kommentar in diesem Beitrag mitteilen.
Tweet
07.09.2010 um 11:51 Uhr
Na dann viel Spaß, ich habe vor einer ganzen Weile auch mal ein kleines eigenes CMS geschrieben (mit Gästebuch, Newsverwaltung, Umfragen…). Aber für mich allein wurde das Ganze zu viel. Wollte man etwas neues musste man sich wieder etwas einfallen lassen.
Für die Zukunft kann ich mir nur vorstellen, ein neues CMS mit einem Team zu entwickeln, nie wieder allein 😉
07.09.2010 um 13:55 Uhr
gut es mag etwas arbeit sein, doch wer sich viel mühe gibt beim ersten mal erstellen und alles ordentlich aufbaut, der hat kein problem damit es zu erweitern!
07.09.2010 um 14:00 Uhr
Nicht schlecht… Bin mal auf das Ergebnis gespannt.
07.09.2010 um 19:38 Uhr
Na, dann… Bin schon gespannt, wie es später sein wird und vor allem, wie es funktionieren wird.
Aber denkst du nicht, dass es für dich allein etwas viel Arbeit ist sowas großes zu schreiben?
Und dieser Link zu “1. Die Planung” funktioniert nicht. 😉
07.09.2010 um 21:03 Uhr
Link aktualisiert, danke 😉