Extbase & Fluid Einführung - MTUG - Patrick Lobacher
1. Extbase & Fluid
Einführung
Munich TYPO3 User Group MTUG
typovision* - TYPO3 Agentur München
06.12.2011
Patrick Lobacher (CEO typovision*)
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011
2. ÜBER PATRICK LOBACHER
• Patrick Lobacher (geb. Schuster) - Geschäftsführer
• 41 Jahre alt, verheiratet, wohnhaft in München
• Autor von 7 Fachbüchern und 29 Fachartikeln
zum Thema TYPO3 und Webentwicklung
• Certified TYPO3 Integrator seit 2009
• Mitglied in den TYPO3 Core-Teams:
Extabase & Certification & Documentation
• Mitveranstalter des TYPO3camp München
• Speaker auf nationalen und internationalen Kongressen
• Dozent für führende Schulungsinstitute und die MVHS
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 2
3. ÜBER TYPOVISION*
• Münchner Fullservice-Agentur für digitale Kommunikation
• 10 Mitarbeiter (+ 8 aus festem Freelancer Pool)
• Geschäftsführer: Patrick Lobacher
• Spezialisiert auf TYPO3 seit 8 Jahren (Extbase/Fluid seit 2009)
• Agenturpräsentation unter: www.typovision.de/dieagentur
• Über 180 TYPO3-Projekte jeglicher Größenordnung - für Kunden wie:
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 3
4. QUO VADIS TYPO3?
Wohin die Reise geht...
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 4
5. GESCHICHTE VON TYPO3
• TYPO3 ist das weltweit führende
Open Source Enterprise Content Management System (ECMS)
• Erfunden 1997 vom Dänen Kasper Skårhøj
• Juni 2002 erste veröffentlichte Version (3.3, vorher nur beta Test)
• 2006 mit der Version 4.x komplette Überarbeitung
• aktuelle Version 4.5 seit Januar 2011
(Einfachere Installation, besserer BE-Usability, LTS)
• Version 5.x in Planung, grundlegend neue Architektur
• Organisation hinter TYPO3: TYPO3 Association
• ca. 400.000 Installationen weltweit
• Kunden jeder Größenordnung
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 5
7. EINIGE REFERENZEN
• Ministerien (Ministerium für Arbeit, Soziales, Gesundheit,
Familie und Frauen Rheinland-Pfalz, Ministerium für
Wissenschaft, Forschung und Kunst Baden-Württemberg,
Ministerium für Wirtschaft, Mittelstand und Energie des Landes
Nordrhein-Westfalen, ...)
• Bundesländer (Sachsen-Anhalt,...)
• Kreise (Bodensee, Borken, Emsland, Erzgebirge, ...)
• Landkreise (Fulda, Ludwigsburg, Warendorf,... )
• Städte (Augsburg, Oldenburg, Darmstadt, Ludwigshafen, ...)
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 7
8. PROBLEME
• TYPO3 ist höchst flexibel und sehr mächtig - ABER
• TYPO3-Codebasis
• Architektur und Programmiertechniken entsprechen dem
Stand der Technik um die Jahrtausendwende
• sehr heterogen (verschiedene Wissensstände)
• Der Core selbst ist nur mässig erweiterbar
• Kein ganzheitliches Konzept - sondern basierend auf
Komponenten
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 8
9. LÖSUNG
• Das Problem wurde 2006 erkannt und gründlich analysiert
• Auf den „1. TYPO3 Developer Days“ 2006 wurde der Entschluss
gefasst, TYPO3 von Grund auf neu zu schreiben
• Seit 2006 arbeiten Robert Lemke und Karsten Dambekalns an
einem Rewrite mit dem Namen:
• zuerst Phoenix / TYPO3 5.x
• dann Trennung in FLOW3 / Phoenix
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 9
10. FLOW3
• Die Architektur von
FLOW3 basiert auf
modernsten Konzepten
• z.B. erstes PHP-
Framework
mit ganzheitlicher
DDD und AOP
Umsetzung
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 10
11. THE BERLIN MANIFESTO
• Bis Oktober 2008 weitesgehend unabhängige Entwicklung von
v4 und v5 - dann Oktober 2008 - Transition Days in Berlin
• THE BERLIN MANIFESTO:
We, the participants of the TYPO3 Transition Days 2008 state that ...
• TYPO3 v4 continues to be actively developed
• v4 development will continue after the the release of v5
• Future releases of v4 will see its features converge with those in TYPO3 v5
• TYPO3 v5 will be the successor to TYPO3 v4
• Migration of content from TYPO3 v4 to TYPO3 v5 will be easily possible
• TYPO3 v5 will introduce many new concepts and ideas.
Learning never stops and
• we'll help with adequate resources to ensure a smooth transition.
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 11
12. AUSWIRKUNGEN AUF V4
• Vor dem Hintergrund des Manifests fiel die Entscheidung, zwei
Teile von TYPO3 v4 neu zu implementieren:
• Einen modernen Nachfolger für die Basisklasse tslib_piBase, auf der die
Mehrzahl der (damals) über 3600 Extensions für TYPO3 aufbaut. Daraus
ist Extbase entstanden.
• Eine neue Template-Engine zur Ausgabe von Daten, die Flexibilität,
Einfachheit und einfache Erweiterbarkeit miteinander vereint: Daraus
ist Fluid entstanden.
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 12
13. AUSWIRKUNGEN AUF V4
• Man traf 2009 die Einigung, sich so nahe wie möglich an den
Ideen, der Architektur und den Schnittstellen von FLOW3 zu
orientieren.
• Jochen Rau übernahm den Backport von FLOW3-Paradigmen in TYPO3
v4 und Sebastian Kurfürst entwickelte Fluid.
• Erste öffentliche Präsentation erfolgte auf der T3BOARD 2009
• Das Fluid-Team entwickelte in wenigen Tagen ein kleines Programm
(namens Backporter), das den Code von Fluid für FLOW3 in Code für
TYPO3 v4 umwandelt. Somit gab es am Ende der T3BOARD09 die erste
lauffähige Version von Fluid auf TYPO3 v4.
• Vorstellung auf der T3CON09 in Dallas und T3DD09 in Elmshorn
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 13
14. OFFIZIELLER STAND
• Extbase ist die offizielle
„Brückentechnologie“ auf
dem Weg zu TYPO3 5.x
und damit der offizielle
Weg, wie Extensions in
TYPO3 programmiert
werden sollten!
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 14
15. EXTBASE & FLUID
Extension Base
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 15
16. EXTBASE & FLUID
• Extbase und Fluid sind Systemextensions seit TYPO3 4.3
(in der Version 1.0)
• Aktuell 1.4 (TYPO3 4.6)
• Nächste Version: 1.5 im April 2012 / TYPO3 4.7
• >40 Extensions im TER
• Workspaces basiert seit 4.5 LTS auf Extbase/Fluid
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 16
18. CONVENTION OVER ...
• Das Framework gibt alles vor, wie Dateinamen,
Speicherorte, Klassennamen, ...
• http://de.wikipedia.org/wiki/
Konvention_vor_Konfiguration
• Erleichtert die Konzentration auf das wesentliche
• Vereinheitlichung des erzeugten Codes
• Erhöhung der Wartbarkeit
• Erhöhung der Entwicklungsgeschwindigkeit
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 18
19. OOP
• Alle „Bausteine“ einer Software-Lösung können als
Objekte gesehen werden
• Objekte sind gekapselte Einheiten mit Eigenschaften
und Verhalten (Methoden)
• In der OOP agieren diese Objekte miteinander
• Extbase & FLuid sind vollumfänglich objektorientiert
aufgebaut
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 19
20. DDD
• Domain-driven Design ist ein von Eric Evans 2004
geschaffener Begriff
• Das Problem/Aufgabe steht im Mittelpunkt und nicht
die technische Lösung
• Als wichtigste Basis wird ein Modell der Domäne
etabliert (Modellierung)
• Diese Modell ist Basis für alle weiteren Aktivitäten
im Projekt (Code, Design, Bennenungen, ...)
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 20
22. MVC
• Die Domäne wird mit dem MVC-Entwurfsmuster
strukturiert
• Model - enthält die Geschäftsdaten
• View - enthält den View (bzw. die Viewhelper)
• Controller - dient der Steuerung (slim controller)
(c) 2011 - typovision* - TYPO3 Agentur München | Extbase & Fluid Einführung | Patrick Lobacher | www.typovision.de | 06.12.2011 22