Diskussion: Core-Plugins
In der WP Hacker Mailing Liste gibt es Aktuell eine Diskussion zum Thema “Core-Plugins” für WordPress. Frank Bueltge hat seine sicht zum Thema geäussert. Er schildert seine sicht als Anwender und Entwickler und bringt einige intressante Punkte zu diesem Thema.
Ich habe mich bereits gering in einen Kommentar bei Frank zu diesem Thema geäussert, möchte es aber in diesem Beitrag etwas ausführlicher wiederspiegeln.
Core-Plugins
Mit Hilfe der Core-Plugins würde WordPress für den Anwender Flexibler werden und mann könnte selbstständig wählen, welche Funktionen man in WordPress braucht und welche das System nur unnötig Ausbremsem, da man sie nicht nutzt.
Beispiel:
Seit WordPress 2.5 besitz WordPress das “Revesionieren” von Artikeln, so wie man es von einer Wiki Software kennt. Eine sicherlich intressante Funktion, sofern man WordPress mit mehreren Autoren betreibt, für einen Privaten Blog wo nur ein einziger schreibt total unintressant.
Ein weiteres Beispiel wäre z.B. die Blogroll (Linkliste). Nicht jeder Anwender braucht diese Funktion. WordPress erstellt aber die endsprechenden Datenbank-Tabellen und verlangsamen das System, wenn die Funktion nicht genutzt werden möchte.
Ist es also nötig Funktionen mitzuliefern die nicht jeder benötigt oder nutzen möchte?
Ich Persönlich denke eher nicht, das es nötig ist. Jedem Anwender sollte gerade in solchen dingen Spielraum gelassen werden.
Aufwand & Nutzen
Ein wichtiger Punkt, seitens den WordPress Entwicklern ist sicherlich der Aufwand. Vorhandene Funktionen müssten aus dem Core entfernt werden und durch eine eigene “Core-Plugin-Schnittstelle” angesprochen werden können. WordPress müsste vom Grund auf neu Programmiert werden, was eine menge Zeit in Anspruch nehmen würde.
Jedoch dürfte sich der Aufwand für die Allgemeinheit Lohnen. Neben dem WordPress Entwickler-Team würden sich auch sicherlich viele andere Entwickler dazu bereit erklären, einzelne Plugins (Module) des Core-Systems weiter zu entwickeln. Die Community rund um WordPress würde damit intensiver in WordPress eingebunden werden, wodurch WordPress als Blog-&CMS Software noch erfolgreicher werden dürfte.
Ich denke, das WordPress durch die Aufteilung eines Schlanken Core-Systems und die erweiterrung mittels Core-Plugins auch ein ziemlichen Anstoss in sachen Performance und Sicherheit bekommen dürfte.
Gerade der Punkt Sicherheit, dürfte ein weiterer Pluspunkt für diese Aufteilung sein. Durch die Aufteilung in Plugins (Modulen) dürften Sicherheitslücken schneller in den einzelnen Elementen oder Grund Core Dateien behoben werden. Und Sicherheit sollte für eine Software wie WordPress es ist, sehr wichtig sein.
Kann man es Umsetzen?
Die Umsetzung von einem schlanken WordPress Core Systems und der Erweiterung mittels Core-Plugins (Modulen) sollte kein Problem darstellen. Natürlich benötigt es eine menge Zeit und viel Arbeit, machbar wäre es aber.
Die Firma WoltLab die einigen durch ihre Foren-Software Burning Board bekannt sein dürfte, hat es im Juli 2007 bereits mit dem Burning Board 3 und dem entstanden “WoltLab Community Framework (kurz: WCF)” gezeigt, das es machbar ist.
Das Burning Board 3 wurde vollständig neu Entwickelt und neben Zahlreichen erneuerrungen gegenüber seinen Vorgänger, hat WoltLab mit dem WCF eine Modulisierung seiner Foren-Software realisiert.
Das WoltLab Burning Board 3 installiert alle notwendigen Module (Plugins) die das Burning Board für den Regulären Forenbetrieb benötigt mit. Weitere Module (Plugins) werden über die Administrations Verwaltung unter den Punkt “Paketverwaltung” Installiert/Deinstalliert.
Nach der Installation des Burning Boards und dem WCF kann man über die Paketverwaltung auch vorhandene Grund-Funktionen deinstallieren/deaktivieren.
Das WCF bzw. die Paket Verwaltung greift hierzu auf einen von WoltLab gestellten Server zu, um zu Prüfen ob es für vorhandene Pakete “Aktualisierungen” gibt. Aber auch neue Module sind auf den sogenannten Paketservern vorhanden und können so installiert werden.
Das WCF ist so konzepiert das es sogar Module installiert, die ein bestimmtes Modul benötigt.
Ein Beispiel aus WordPress sicht:
Man hat das WordPress Core-System installiert.
Das Core-System wird nur mit den Funktionen ausgeliefert, Artikel und Seiten zu Veröffentlichen, mehr nicht.
Wenn der Anwender nun gern z.B. Plugin “Subscribe To Comments” Installieren will, erklennt das “Plugin System” sofort, das die Core-Funktion “Comments” nicht installiert ist, und installiert zum Plugin “Subscribe To Comments” zusätzlich das Core-Plugin “Comments”.
WoltLab geht sogar einen schritt weiter. Die Paketverwaltung prüft ebenfalls bei der Deinstallation eines Moduls (Plugin) ob das zu deinstallierende Modul nicht von einen anderen Paket benötigt wird. Sollte dies der fall sein, so Informiert die Paketverwaltung den Administrator, dass das Packet nicht entfernt werden kann, weil es mindestens ein Abhängiges Paket gibt, das das zu deinstallierende Modul benötigt.
Somit ist auch seitens der Software sichergestellt, das vom anwender kein Fehler verursacht werden können.
Fazit
Das WoltLab Community Framework zeigt uns, das diese sache machbar ist. Das System ist Flexible, der Anwender braucht nicht stundenlang im System Rumbasteln, Themes anpassen. Die Paketverwaltung und Installationsroutine erledigt bereits die wichtigsten Aufgaben. Ledentlich die Invidiualiesierung muss Persönlich vorgenommen werden.
Fazit!
WordPress zu Modualisieren würde für Anwender und Entwickler ernorme Fortschritte bringen. Der Anwender würde ein schlankes, schnelles und invidualisierbares System bekommen, das es ganz seinen Bedürfnissen anpassen könnte. Zudem sind Updates noch einfacher zu handhaben.
Für die Entwickler würde die entwicklung von WordPress erleichtert werden, da der WordPress Code nicht mehr so unüberschaubar sein würde, durch die Trennung der einzelnen Funktionen.
Ebenfalls könnte sich die Community rund um WordPress intensiver in die Entwicklung von und rund um WordPress eingliedern.
Was haltet ihr also von einem “Core-Plugin-System”? Ist es eurer Meinung nach totaler unsinn und ihr seit mit WordPress wirklich so zufrieden wie es bisher ausgeliefert wird oder würdet ihr diesen schritt in die Zukunft begrüssen?
Geschrieben am 05.02 09 von Fabian
Abgelegt in der Kategorie: WordPress.
Schlagwörter: Community, Core, Core-Plugins, Entwicklung, Flexible, Modul, Plugin, Plugins, WordPress

Pingback: Wordpress Community - WP Gemeinschaft | Blog | Diskussion: Core-Plugins - fk:Blog - Fabians Weblog