0251 / 590 837 15
info@a-coding-project.de
;

Tutorial: ContentLion erweitern

Da ContentLion sich immer weiter der Beta-Phase nähert, ist die Zeit gekommen, in der Plugins entwickelt werden sollten. Der Skin-Wizard, den ich vor Kurzem hier vorgestellt habe, wird auch ein Plugin sein (aber standardmäßig mitinstalliert werden).

Die Arbeiten an diesem Plugin möchte ich, wie anfangs mit ContentLion selbst, wieder gut mitdokumentieren. So möchte ich dir und allen anderen einen guten Start für die Entwicklung hochwertiger Plugins ermöglichen.

Plugin Architektur

Ich würde mir wünschen, dass die Plugins so klein wie möglich bleiben und aufeinander aufbauen. So ist es möglich gemeinsam neue Funktionen zu implementieren, wo jeder der möchte seinen kleinen Beitrag dazu tut.

Das Aufeinander-Aufbauen stelle ich mir folgendermaßen vor:

Plugin Architektur

Plugin Architektur

Diese Sturktur wird natürlich nicht zwingend und zum Teil wohl auch nicht realisierbar sein, aber es sollte schon so eine Art Richtlinie sein.

Container-Plugin

Der Endbenutzer wird vermutlich am meisten Container-Plugins benutzen. Das soll hauptsächlich ein Set von anderen kleineren Plugins sein. Wenn nicht erforderlich, muss es auch nur die Installationsdateien enthalten und könnte theoretisch nach der Installation gelöscht werden.

Datenplugin

Diese Art von Plugin soll nur die Datenstruktur anlegen und die Daten verwalten. Dies mache ich aus dem Grund, dass dann mehrere Plugins eine gemeinsame Basis an Daten haben. Die Basis wird am besten mit der Community zusammen diskutiert und ausgearbeitet.

Erfassungs-Plugin

Diese Plugins sollen Daten erfassen. Dies geschieht vermutlich zum Großteil durch Formulare. Aber auch ein Import über Webservices und Co ist durchaus denkbar.

Nutzungs-Plugin

Nutzungs-Plugins verarbeiten die Daten. So könnten Sie zum Beispiel Code im Frontend anzeigen oder auch Sitemaps oder ähnliches generieren.

Klassenbibliotheken

Um nicht jedes Mal das Rand neu erfinden zu müssen, würde ich mir Wünschen, dass einige Plugins Klassenbiliotheken sind. Das können zum Beispiel JavaScript- oder PHP-Biliotheken sein. Mögliche Nutzung: FTP, ZIP, …

Plugins anlegen

Für Plugin-Entwickler steht ein eigener Subversion-Server zur Verfügung. Dort kann der Quellcode mit verwaltet werden. Eine später mögliche Anwendung, ist das automatische Generieren von Updates. Wer jetzt schon Zugriff darauf haben möchte, kann sich gerne bei mir melden.

Fazit

Ich möchte nur ungerne, dass jeder ganz alleine vor sich hin seine Plugins entwickelt. Besser wäre es, wenn jeder seinen Teil dazu beiträgt und so die Plugins gemeinsam erstellt werden. Durch die Aufsplittung in kleinere Plugins, können auch neue Entwickler schnell ihr eigenes Plugin rausbringen. Ich hoffe, dass dies auch einige machen werden.