TYPO3 4.6 –rebase
Kommentare

Extbase und Fluid
Extbase ist der Backport von FLOW3 in TYPO3 4.x und erweitert es um ein leistungsfähiges MVC-Framework für die moderne Extension-Programmierung [3]. Extbase und Fluid (die neue Template

Extbase und Fluid

Extbase ist der Backport von FLOW3 in TYPO3 4.x und erweitert es um ein leistungsfähiges MVC-Framework für die moderne Extension-Programmierung [3]. Extbase und Fluid (die neue Template Engine) sind nun im Status „stable“ und haben somit die Betaphase erfolgreich überstanden. Durch die Umstrukturierung und Codeoptimierung wurden viele Performanceverbesserungen erreicht, einige Funktionen ließen sich dabei sogar um 100 Prozent beschleunigen.

Neue Funktionen wie der in FLOW3 neu geschriebene PropertyMapper wurden nach Extbase rückportiert, ebenso der Signal/Slot-Ansatz, der in der Zukunft Hooks ersetzen kann. Wer den neuen Property Manager in 4.6 verwenden möchte, muss über TypoScript die Verwendung anweisen: config.tx_extbase.features.rewrittenPropertyMapper = 1. Extbase hat nun auch ein CLI-Interface erhalten und kann über die Kommandozeile angesprochen werden, beispielsweise über chronologische Scheduler Tasks.

Des Weiteren ist die so genannte Dependency Injection innerhalb von Domain Objects möglich. Damit kann man beispielsweise ein Repository innerhalb eines Domänenobjekts injizieren, das man dann beispielsweise in einem Getter oder Setter verwenden könnte.

Auch für Fluid gibt es zahlreiche Neuerungen. Hier führten neue Rendering- und Caching-Methoden zur Performanceverbesserungen. Fluid-Templates werden nun zu PHP-Dateien kompiliert, das brachte einen Performance-Boost von 200 bis 500 Prozent – die Verarbeitung ist somit wesentlich schneller.

Zudem gibt es nun mehrere neue ViewHelper, die das Templating noch flexibler machen. Der ViewHelper für das Validierungs-API wurde neu geschrieben und muss angepasst werden, wenn man diesen bereits in älteren Extbase-Anwendungen eingesetzt hat. Auch einen Kommentar-ViewHelper gibt es jetzt in Fluid. Weiterhin kann über das Attribut optional=“true“ in Fluid Sections mitgeteilt werden, dass die Section nur gerendert wird, wenn sie auch angesprochen wird.

Zuvor führte es zu einer Fehlermeldung, wenn es im Template nicht existierte. Ebenso ist es nun möglich, über das Argument {_all} auf alle Template-Variablen zuzugreifen, ohne jede einzeln aufzuzählen.

Neue TypoScript- und Backend-Funktionen
  • Die System-Extensions saltedpasswords und rsaauth, die schon länger als Zusatz-Extension im System verfügbar sind, sind nun bei einer Neuinstallation automatisch aktiviert. Sie bewirken, dass Passwörter von Frontend- und/oder Backend-Benutzern zusätzlich zur MD5-Verschlüsselung beim Speichern um einen einzigartigen Salted Hash erweitert werden, um zusätzliche Sicherheit zu bieten.
  • Auch für die Frontend-Performance wurde vieles getan. So können CSS- und JavaScript-Dateien, die über page.includeCSS oder page.includeJS eingebunden sind, über die TypoScript-Konfigurationen config.compressCss und config.compressJS zusammengefasst und komprimiert werden. Natürlich können auch einzelne Dateien, die bereits komprimiert sind (z. B. jquery.min.js) von der Komprimierung oder von der Konkatenation ausgenommen werden. CSS-Formatierungen, die eingebundene Extensions ins System mitbringen, können nun global deaktiviert werden. Die Konfiguration config.removeDefaultCss unterdrückt die Einbindung dieser mitgelieferten CSS Styles. Das erleichtert häufig die Anpassung von Extensions an das gewünschte Design.
  • Das Veröffentlichungs- und Ablaufdatum (Start-/Stop-Datum) einer Seite kann nun (wieder) minutengenau eingestellt werden. So können Inhaltselemente oder ganze Seiten zeitgesteuert veröffentlicht werden. Zuvor kam es zu Problemen mit gecachten Inhalten.
  • Die Suche im Backend wurde gründlich überarbeitet und durchsucht nun konfigurierbare Felder der Datenbanktabellen. In Extensions müssen die durchsuchbaren Felder angegeben werden, damit sie ebenfalls durchsucht werden. Integer-Felder werden nur noch durchsucht, wenn die Suchanfrage auch numerisch ist. Jetzt werden alle Seitenebenen durchsucht, das vorherige Limit waren vier Ebenen. Eine Kompatibilitäts-Extension (extension key: compat_besearch), die die gewohnte Backend-Suche zurückholt, kann in 4.6 installiert werden. Diese Extension wird allerdings ausschließlich in TYPO3 4.6 funktionieren.
  • Zahlreiche neue stdWrap-Optionen wurden eingefügt. Der stdWrap ist die große Funktionsbibliothek von TYPO3, mit der sich Operationen über TypoScript vor der Ausgabe ans Frontend durchführen lassen. Hinzugekommen sind nützliche Funktionen wie replacement zum Suchen und Ersetzen in TypoScript (inklusive RegEx-Syntax) oder round, um Fließkommazahlen zu runden. expandList ist in der Lage, eine Zahlenspanne in kommagetrennte Werte umzuwandeln, Beispiel: 1,2,4-8,10 wird zu 1,2,4,5,6,7,8,10.
  • Der veraltete Extension-Manager wird nun nicht mehr verwendet. Der in der Version 4.4 hinzugekommene neue Extension-Manager ist nun Standard und bei Neuinstallation default-mäßig aktiviert. Der alte Extension-Manager kann nur über eine Anweisung im Installations-Tool reaktiviert werden. Wer ihn also vermisst, muss $GLOBALS[‚TYPO3_CONF_VARS‘][‚EXT‘][’showOldModules‘] = TRUE; in die localconf.php eintragen.
  • Neue Scheduler Tasks: Zwei neue Tasks sind standardmäßig in die Auswahl an chronologisch ausführbaren Aufgaben hinzugekommen: der so genannte Garbage Collection Scheduler Task zum Löschen alter Dateien, die sich im TYPO3-Papierkorb befinden und nicht mehr in Benutzung sind, sowie selbige Funktion für die Datenbanksäuberung. Alte und als gelöscht gekennzeichnete Datenbankeinträge können endgültig aus der Datenbank gelöscht werden. So bleibt die Datenbank sauber, schlank und performant.
  • Übersetzungen können nun über die page-TSconfig-Funktionen für die Listenansicht ausgeblendet werden. Bei Installationen, in denen mehrere Sprachen verwaltet werden, war es mit vielen Übersetzungen im Listenmodul teilweise unübersichtlich. Im Localization View sind diese Datensätze aber nach wie vor sichtbar. Beschreibung und Labels von Flexforms-Feldern können nun via page-TSconfig angepasst werden.
  • Erste Schritte zur Vereinfachung der RTE-Konfiguration wurden eingeführt. Der Rich-Text-Editor in TYPO3 ist nach Belieben und Belangen konfigurierbar, teilweise ist die Konfiguration allerdings etwas kompliziert. Das wurde jetzt in ersten Teilen vereinfacht und wird in den nächsten TYPO3-Versionen fortgeführt. Zudem wurde die Routine zur Entfernung der Formatierung bei MS-Word-Inhalten verbessert.
  • Der GIFBUILDER zum dynamischen Generieren von Grafiken mit TypoScript kann nun mit 32-Bit-PNG-Grafiken und deren Alphatransparenz umgehen.

Auf den kommenden Seiten erwarten Euch folgende Themen:

  • Form Wizard
  • Caching-Framework
  • Ausblick auf 4.7
  • Fazit
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -