Über neue Beiträge des Blogs und die Kommentare können Sie per RSS automatisch informiert bleiben.
Das im Juni 2010 in der ersten Auflage bei O’Reilly erschienene Handbuch vermittelt Grundlagenwissen zum PHP-basierten Framework Extbase und der Template-Engine Fluid. Beide dienen der fortschrittlichen Extensionentwicklung unter TYPO3 v4.3 und höher. Mit Extbase und Fluid entwickelte Extensions sollen sich später auch unter TYPO3 v5 ohne größere Schwierigkeit einbinden lassen.

Jochen Rau, Sebastian Kurfürst:
Zukunftssichere TYPO3-Extensions mit Extbase & Fluid
O'Reilly, 1. Auflage Juni 2010
ISBN 978-3-89721-965-6
336 Seiten, gebundene Ausgabe
EUR 39.90
Die Autoren, Jochen Rau und Sebastian Kurfürst, sind erfahrene Software-Entwickler und Mitglieder des TYPO3-Core-Teams. Als Kopf von Extbase verfügt Jochen Rau über bestes Wissen, das er zusammen mit seinem Core-Autor anschaulich an die Leser weitergibt. Sebastian Kurfürst zeichnet außerdem für die Entwicklung von Fluid hauptverantwortlich, so dass hier zwei ausgewiesene Experten zur Feder gegriffen haben.
Das Buch beginnt mit kurzen Hinweisen zum Aufbau der Entwicklungsumgebung, um dann ausführlich die grundlegenden Prinzipien von Extbase zu erläutern. Das Framework wurde 2008 mit dem erklärten Ziel ins Leben gerufen, Programmierern die Entwicklung von Extensions mit sauberem und übersichtlichem Code durch einen modularen Aufbau nahezulegen. Die mit Extbase programmierten Extensions lassen sich auch von nicht bei der Entwicklung beteiligten Personen für weitere Einsätze leichter anpassen. Hintergrund für die Entstehung von Extbase war außerdem das Bedürfnis nach migrationsfähigen Extensions zum neuen TYPO3 Framework FLOW3, das ab Version 5 (alias Phoenix) zum Einsatz kommen wird.
Die Extensionentwicklung mit Extbase grenzt sich von herkömmlichen Verfahrensweisen ab, so dass spezifische Kenntnisse und eine sorgfältige Vorab-Planung erforderlich sind. Hier seien nur die wichtigsten Stichpunkte wie objektorientierte Programmierung und Model-View-Controller-Architektur genannt. Die gewonnene Erfahrung wird aber laut Kurfürst und Rau die Einarbeitung in FLOW3 später maßgeblich erleichtern: „Wir hoffen, dass Extbase und Fluid für Sie der Einstieg in eine neue Welt des Programmierens sind, sodass Sie sich schon jetzt mit neuen Konzepten von FLOWE3 vertraut machen können.“ (S. X)
Trotz oder wegen ihrer Begeisterung für das Projekt, schaffen es die Autoren, das notwendige Wissen erfrischend kurz und genau auf den Punkt zu bringen. Im Hauptteil des Buches helfen ausführliche und gut ausgewählte Beispiele aus der Praxis, die zuvor erläuterte Theorie zu veranschaulichen. Die Autoren beginnen mit dem Blog-Beispiel, welches auch im TYPO3 Extension Repository zu finden ist. Im Anschluss demonstrieren Sie das Anlegen einer kleineren Extension Schritt für Schritt anhand des Beispiels „Inventory“. Doch auch reale Anwendungen haben ihren Eingang in das Buch gefunden: Ein Projekt für den Stadtjugendring Stuttgart e. V. zeigt auf, was bei der Vorbereitung eines neuen Frontend-Plugins zu beachten ist (Stichwort Domain Driven Design) und welche Rolle die Template-Engine Fluid übernehmen kann (Fluid erleichtert die individuelle Gestaltung der Extensionoberfläche). Das Beispiel befindet sich als sjr_offers ebenfalls im TER. Weitere kleinere Exempel und Fallgeschichten illustrieren, was es mit ViewHelper auf sich hat und worauf man als Programmierer bei den Themen Mehrsprachigkeit sowie Validierung und Sicherheit achten sollte.
Im Ausblick gehen Jochen Rau und Sebastian Kurfürst auf die Weiterentwicklung von Extbase und Fluid ein. Wichtiger Punkt hierbei ist der Kickstarter, welcher eine schnellere Implementierung der neu entwickelten Extensions erlauben soll. Natürlich widmen sich die beiden Autoren im Ausblick auch der Verknüpfung zu FLOW3, die ja auslösender Faktor bei der Entwicklung von Extbase war. Das betont Jochen Rau in seinem Blog auf typoplanet.de: „And we hope that the book eases the migration to TYPO3 v5 (that’s what Extbase is all about).”
Ich bin da sehr zuversichtlich.
Etwas schade ist, dass die Autoren die Erstellung von Backend-Modulen mit Extbase nur als knappen Exkurs im Ausblick abhandeln. Das Thema wäre meiner Ansicht nach ein eigenes Kapitel wert gewesen. Dafür habe ich jedoch viele andere wertvolle Anregungen mitgenommen. Erhellend fand ich insbesondere den Ansatz bei der Extensionplanung, den Kunden als Domäneexperten zu respektieren, um mit ihm gemeinsam eine Lösung für die beste Umsetzung der Anforderungen festzulegen.
Das Handbuch verfügt über einen hilfreichen, dreiteiligen Anhang, bestehend aus den Coding Guidelines, der Referenz für Extbase und der Referenz für Fluid. Außerdem steht auf der O’Reilly-Website ein Formular für die Rückmeldung von Fehlern oder Anregungen bezüglich des Buchs bereit. Wer nicht im TER suchen möchte, findet den Beispiel-Code auch unter http://examples.oreilly.de/german_examples/typo3extger/. Die Projekte Extbase und Fluid sind auf der TYPO3-Entwicklungsplattform http://forge.typo3.org u. a. mit einem Bugtracker und Wiki verzeichnet.
Ich empfehle das Werk allen Webentwicklern, die in der Implementierung und Anpassung von TYPO3 erfahren sind und sich näher mit den aktuellen Methoden der Extensionentwicklung befassen möchten. Ob sie hierbei Anfänger sind oder bereits Vorkenntnisse aus der herkömmlichen Erweiterungsprogrammierung mitbringen, spielt keine Rolle - das Buch ist meines Erachtens für beide Gruppen geeignet. Auch nach ersten Erfahrungen mit Extbase und Fluid dürfte das Grundlagenwerk noch einige interessante Ansätze vermitteln, zusätzlich erleichtern Querverweise im Text die Nutzung als hilfreiches Nachschlagewerk.