( jc – 19.07.2010 0:33)
Addon Template
rapid prototyping..
Sinn & Zweck dieses Addons ist es einen universellen Rohbau für schnelle Eigenentwicklungen zu bieten. Es richtet sich dabei sowohl an ambitionierte Einsteiger, die zum ersten Mal ein eigenes Addon bauen wollen, als auch an fortgeschrittene, die ad hoc eine Addon Idee antesten wollen ohne sich mit dem einhergehenden Kleinkram herumschlagen zu müssen.
Vorangelegte Elemente & Funktionalitäten
- automatischer Identifier: Der interne Identifier wird automatisch aus dem Ordnernamen abgeleitet, d.h. lediglich mit der Umbenennung des Ordner ist das Addon unter dem neuen Namen installierbar und sofort “betriebsbereit”.
- Addon Einstellungen: generische Seite für Addon-Einstellungen, in der alle input & Redaxo widget Varianten exemplarisch vorangelegt sind. Die Abfrage und Speicherung der Formular Parameter erfolgt automatisiert, d.h. um das Fomular zu erweitern oder zu verändern müssen lediglich Änderungen am Formular vorgenommen werden. Die Speicherung der Addon Einstellungen erfolgt ohne Datenbank in der config.inc.php des Addons.
- Datenbank Tabelle: Das Addon legt bei der Installation eine eigene, generische Datenbank Tabelle (rex_720_[AddonName]) mit 10 Feldern an. Korrespondierend dazu ist eine Seite für die Verwaltung der Tabellendaten angelegt (per rex_list & rex_form), auch hier wieder mit allen zur Verfügung stehenden inputs & widgets.
- Modul Installer: Option ein Modul zu installieren bzw. vorhandenes Modul wiederherzustellen, Anzeige des Modulcodes. Der Modul Code wird aus Dateien bezogen.
- Automatische Includes: Klassen und Funktionen die in die ensprechenden Addon-Ordner kopiert werden, werden automatisch included. Voraussetzung: Dateinamen richten sich nach den Redaxo Konventionen, konkret: function.$IRGENDWAS.inc.php bzw. class.$IRGENDWAS.inc.php
- faceless Subpage: Eine subpage, bei der nur der output der Seite ohne das HTML des Backends ausgegeben wird. Sie kann z.b. dazu dienen Daten oder Funktionen von außerhalb aufzurufen, wo eben allein die Ausgabe der konkreten Funktion gewünscht ist und sonst nichts.
- Hilfesektion: Vorangelegte Seiten für Hilfe/Readme und Changelog, Beispiele für die unterschiedlichen Möglichkeiten Inhalte zu includen bzw. darzustellen:
- Textile markup Dateien (.textile)
- reine Text-Dateien (.txt ohne markup)
- PHP
- externe Quellen (URL als iframe oder externer link mit popup)
Was das Addon nicht ist..
Das Addon ist zwar explizit dahingehend programmiert, daß es so übersichtlich und nachvollziehbar wie möglich gehalten ist, aber es ersetzt weder ein Tutorial noch eine ungefähre Vorstellung von Aufbau & Funktion eines Redaxo Addons.. und zumindest gewisse PHP/HTML Kenntnisse sind selbstredend. Sind diese Voraussetzungen erfüllt, dürfte man per copy, paste & adapt – und einer eigenen Idee was man eigentlich machen will – aber schnell etwas funktionierendes auf solider Basis erstellen können.
Addon Quickstart
- Addonordner umbennen auf eigenen Projektnamen
- Installieren und aktivieren
- fertig: Der Prototyp ist betriebsbereit für Umsetzung der eigenen Ideen..
post prototyping
Sobald die eigene Funktionalität gereift ist, bzw. spätestens wenn man sein Addon veröffentlichen will, sollte man folgendes anpassen:
- Code für automatischen Addonnamen aus Ordnernamen gegen statischen Identifier austauschen
- Addon rxid auf die des eigenen Addons ändern (die rxid erhält man in dem Moment wo man ein Addon @ Redaxo.de registriert)
- Datenbank Tabelle: eigenen spezifischen Namen anhand der rxid vergeben, generische Feldnamen den eigenen Vorstellungen anpassen und evlt. Anpassungen hinsichtlich Feldtyp und dergleichen.
Download
- @ Redaxo: http://www.redaxo.de/180-0-addon-details.html?addon_id=720
- SVN Versionen: http://svn.rexdev.de/redmine/projects/addon-template/activity