Aktuelles

03 Apr 09

Was macht eigentlich FLOW3?

Stagnation des FLOW3- und TYPO3v5-Projekts seit August 2008? Weit gefehlt! Wir fassen den aktuellen Entwicklungsstand zusammen.

Das Team um Robert Lemke und Karsten Dambekalns arbeitet mit Hochdruck an FLOW3, dem PHP-Framework,  auf dem die kommende TYPO3-Version basiert.

Wir möchten hiermit einen kurzen Überblick über die Entwicklung während der letzten Monate liefern:

 

September 2008

  • Kurz nachdem das PHP Entwicklerteam eine erste Version für die Unterstützung von Namespaces implementiert, werden alle FLOW3-Klassen entsprechend angepasst.
  • Eine PHP-Portierung der Open-Source-Java-Volltextsuche Lucene wird in die FLOW3 Distribution aufgenommen.

 

Oktober 2008

  • Das MVC-Framework wird um View Helper erweitert. Mit dem URIHelper können jetzt sehr einfach Links zu anderen Actions, Controllern und Packages erzeugt werden.
  • Als weitere Maßnahme gegen Cross-Site Scripting und SQL-Injection werden die SuperGlobals $_GET, $_POST und $_SERVER von FLOW3 ersetzt, so dass darauf nicht mehr direkt zugegriffen werden kann.

 

November 2008

  • Wie auf den Transition Days in Berlin besprochen, wird das Format der Konfigurations-Dateien von PHP auf YAML geändert was sich sehr positiv auf die Lesbarkeit der Einstellungen auswirkt.
  • „Components“ heißen jetzt „Objects“. Da Singleton- und Prototypklassen auf unterschiedliche Art und Weise erzeugt werden, sinkt die Verwechslungsgefahr und damit die Fehleranfälligkeit beim instanziieren von Objekten.

 

Dezember 2008

  • Durch den File Alteration Monitor können jetzt Caches für geänderte Dateien gezielt gelöscht werden. Ein weiterer Schritt in Richtung automatisiertes Caching.
  • Nachdem das PHP Entwicklerteam die Syntax für Namespaces ändert, zieht das FLOW3-Team nach und passt sämtliche PHP-Dateien an. Durch die vielen Unit-Tests und Kontinuierliche Integration geht das ohne unerwartete Nebeneffekte vonstatten.

 

Januar 2009

  • Die Lizenz des FLOW3 wird angepasst. Statt GPL v2 ist das Projekt jetzt unter der LGPL v3 or later lizensiert. Dank des Contributor License Agreement, das von allen Kernentwicklern unterschrieben wurde, stellte dieser Schritt kein rechtliches Problem dar.
  • Eine erste Version des FLOW3 Package Repositorys (F3PR), das in Zukunft das TER ersetzen soll, wird in die FLOW3 Distribution aufgenommen.
  • Klassennamen werden umbenannt von der umständlichen langen Form „F3_FLOW3_Persistence_Exception_InvalidPropertyType.php“ zu der sehr viel besser lesbareren Variante „InvalidPropertyType.php“. Auch hier ermöglichten die vielen Unit-Tests eine schmerzlose Refaktorisierung.

 

Februar 2009

  • Die neue Template Engine Fluid, die auf den Transition Days initiiert wurde, wird in die FLOW3-Distribution eingebunden. Im Blog-Beispiel, das auf der letzten TYPO3 Konferenz (T3CON08) vorgestellt wurde, wird Smarty durch Fluid ersetzt.
  • Das Security-Framework bietet jetzt Unterstützung für RSA-basierte Logins.
  • Die index_dev.php Bootstrap Datei wird entfernt. Der Ausführungs-Kontext kann jetzt über eine Umgebungsvariable gesetzt werden, z.B. durch einen Eintrag in der .htaccess-Datei.
  • Funktions-Argumente in MVC-Actions müssen nicht mehr explizit angemeldet werden. Per Reflection werden die erwarteten Argumente ermittelt und validiert.
  • Das Routing-Framework wird umgeschrieben und ist jetzt schneller und deutlich einfacher. Routen werden nun global an einer Stelle konfiguriert. Durch sog. optionale Route Parts verringert sich die Anzahl der zu definierenden Routen drastisch.

 

März 2009

  • Die Querysyntax des Content Repositorys (TYPO3CR) wird erweitert, die Performance deutlich gesteigert.
  • Da die Zend-Implementierung der Lucene-Engine sehr schwerfällig ist, wird eine eigene Such-/Index-Lösung entwickelt. Das Lucene-Package ist damit obsolet und wird aus der Distribution entfernt.
  • Nach Refakturierung der Unit-Tests und diverser Klassen, wird das TestPackage nicht länger benötigt und aus der Distribution entfernt.

 

Fazit

Insgesamt sind in den letzten Monaten noch unzählige weitere Funktionen und Änderungen in das Projekt eingeflossen. Zum Beispiel wurden viele Prozesse im MVC-Framework automatisiert, so dass für eigene Implementierungen in den meisten Fällen nur noch sehr wenig Code nötig ist. Außerdem hat sich die Performance von FLOW3 im letzten halben Jahr immens verbessert.

Seit September 2008 wurden über 140 Issues geschlossen, die die FLOW3-Distribution und mitgelieferte Packages betreffenen.

 

Und was ist mit TYPO3 v4?

Auf der TYPO3 Snowboard Tour im März (T3BOARD09) wurde der Backporter ins Leben gerufen. Ein Script, mit dem sich FLOW3-Klassen per Klick in PHP5-kompatible Dateien umwandeln lassen. So ließ sich Fluid dank der klaren Trennung in Kern- und Erweiterungsklassen, innerhalb weniger Stunden in eine funktionierende TYPO3-Extension portieren. Die kommende Version 4.3 von TYPO3

 

 

 


Sie haben noch Fragen?

zum Kontaktformular