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.
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.
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project