TYPO3 – Die erste Erweiterung – ein Erfahrungsbericht
Mai 17, 2011 | Posted by Rainer Fischinger | TYPO3 Wissen Tags: anfänger, einsteiger, extension, typo3Das Content Management System TYPO3 ist bekannt für seine Vielzahl an Erweiterungen (Extensions), die öffentlich zugänglich sind. Jeder Administrator von TYPO3 steht immer wieder vor der Problematik, das CMS an Kundenwünsche mittels Erweiterungen anzupassen. Wer etwas Programmierverständnis mitbringt und eine gute Quelle hat, kann sich an die Entwicklung einer eigenen Extension wagen.
Auch wir standen vor der Problem, TYPO3so anzupassen wie es ein Kunde wünschte. Um jedem Neuling in der Extension-Entwicklung vielleicht ein paar Fehler zu ersparen, stelle ich hier einen kurzen Erfahrungsbericht online.
Gibt es schon eine Extension?
Die wichtigste Frage überhaupt. Eine eigene Extension zu entwickeln bedeutet Arbeit. Planung, Implementierung, Testen, Umsetzen sind die groben Schritte, und je nach Aufwand im mehrstelligen Stundenaufwand festzulegen. Daher sollte man zu allererst kurz recherchieren, ob nicht eine bereits vorhanden Extension eine ähnliche Funktionalität anbietet. Oftmals ist es weitaus leichter, eine vorhandene Extension zu nehmen, und an die eigenen Wünsche anzupassen. Doch hier ist Vorsicht geboten! Viele Extensions werden regelmäßig erneuert, um Sicherheitslücken zu schließen, oder auch an neue TYPO3-Versionen anzupassen. Und ein Update der Extension vernichtet auch die eigenen Änderungen daran bzw. müssen diese wieder neu eingearbeitet werden.
Daher gilt: genau abwägen, ob eine vorhandene Extension sinnvoll ist.
Wissen ist Macht!
Wer die erste Extension selbst schreibt, sollte sich unbedingt gut informieren. Zahlreiche Tutorials im Internet sind vorhanden, meiner Meinung nach reichen diese aber bei weitem nicht an die Fachbücher. Von denen gibt es ohnehin nur eine Handvoll, und die Bücher bieten wirklich umfassendes Wissen. Bei der Buchauswahl sollte Wert gelegt werden auf den Aufbau des Buchs, den Inhalt und vor allem die Aktualität. Die Extension-Entwicklung kann mit klassischer PHP-Programmierung erfolgen oder auch mit Extbase und Fluid, was definitiv die Zukunft bei TYPO3sein wird. Je nach Anspruch sollte also die richtige Lektüre im Bücherregal Platz finden.
Ein reines Theoriebuch mit Aufzählungen von TYPO3-Funktionen wird sehr wenig helfen. Es gibt jedoch hervorragende Bücher, die eine Schritt-für-Schritt Anleitung zur eigenen Extension enthalten, und die würde ich empfehlen.
Planung ist alles!
Bevor man sich an die erste programmierte Zeile wagt, sollte man genau wissen was man alles benötigt. Die spätere Funktionalität wird ja als Plugin eingebaut, und man muss sich vorher genau Gedanken machen, welche Funktionalität wo und in welcher Art und Weise benötigt wird.
Wichtig ist also, die gewünschte Erweiterung zu Beginn auf einem Blatt Papier fest zu halten. Jede einzelne Funktionalität sollte kurz niedergeschrieben werden und das Ganze dann in möglichst kleine Stückchen zerteilt werden. Lieber 15 Plugins programmieren, die kurz und übersichtlich sind, als nur 3 Plugins mit hunderten Zeilen Code. Je kleiner ein einzelner Baustein ist, desto leichter tut man sich mit dem Templating, der Fehlersuche und der Anpassung später.
Development Bereich einrichten
Wer seine erste Extension umsetzt, wird ziemlich viele Fehler produzieren (und daraus lernt man ja bekanntlich). Des öfteren wird die gesamte Seite aufgrund von Programmierfehlern unerreichbar sein, deswegen ist es unumgänglich diese Entwicklung NICHT in einem Live-System umzusetzen. Ich persönlich mache mir bei jedem Projekt einen eigenen Development Bereich. Zuerst eine Subdomain einrichten oder einfach einen Unterordner, und dort die exakt gleiche TYPO3-Version wie auf dem Live-System installieren. Das ganze mit Robots.txt vor Google sperren und mit htaccess vor Zugriff von Fremden absichern. So ist gewährleistet, dass dieser Entwicklungsbereich wirklich nur für mich da ist.
Besonders wichtig ist es, die exakt gleichen Extensions wie in dem Live-System zu installieren. Oft kommt es zu Konflikten mit anderen Erweiterungen, und wenn man dann die eigene Erweiterung ins Live-System übernimmt funktioniert nicht mehr. Sind jedoch beide System exakt gleich, kann dies nicht passieren.
Ist die Extension fertig programmiert (vermutlich mit kickstarter), so kann sie im Development-Bereich einfach exportiert werden und im Live-System über die exportierte Datei installiert werden.
Wer diese Punkte beherzigt, wird wenige Probleme in der Entwicklung einer Extension haben. Im Entwicklungs-Bereich kann man sich spielen und austoben, und wer gut geplant hat wird auf wenige Probleme und Änderungen während der Entwicklung stoßen!
Tags: anfänger, einsteiger, extension, typo3



