Montag, 26. Oktober 2015

Ein Content Management System in zeitgemäßen Gewand

TYPO3 7.6 LTS steht in den Startlöchern

Als im Dezember 2014 die erste Version von TYPO3 7 (7.0) erschien, war noch nicht absehbar, wie sich die geplanten Änderungen durch das TYPO3 Core Team gestalten würden. Mit Blick auf Redakteure und TYPO3-Integratoren als Zielgruppe definierten die Kernentwickler die Umsetzung als "technisch und visuell die größte Anpassung des Backends seitdem Kasper Skårhøj 2003 das 'klassische Backend' aus TYPO3 entfernt hat".

Link zur Releaseinfo TYPO3 7.0

Nachdem nun die letzte Release-Version TYPO3 7.5 vor dem finalen Release der neuen LTS Version von TYPO3 erschienen ist, kann man nun schon vorab das Fazit ziehen, dass dies dem TYPO3 Core Entwicklungsteam gelungen ist.

Bisher verläuft die Entwicklung von TYPO3 genau im Timing des geplanten Releasezyklus der TYPO3 Core Entwickler.

Frischzellenkur für das TYPO3 Backend

Die neuen Icons und die Elemente von TYPO3 7.5 - Unterstützt werden ab dieser Version nun auch SVG Icons.

Das Backend von TYPO3 zeigt sich nach dem Login ins Backend visuell schon sehr viel moderner als bei TYPO3 6.2. Die neuen Icons und ein Userinterface-Design, das sich an dem modernen Kachel- und Flat-Design orientiert, deuten die Änderungen, die sich hier unter der Haube des TYPO3 Cores verstecken, bereits an.

Technisch wurden die alten JavaScript Frameworks Prototype.js, script.acul.ous and ExtCore entfernt, und für ein verbessertes Backend-Rendering mit App-Feeling ist nunBootstrap an deren Stelle getreten. Insgesamt wirkt das Backend aufgrund des neuen Designs im Desktop-Rechner aufgeräumter, obwohl die Texte im direkten Vergleich zu alten TYPO3 Versionen größer geworden sind. Auch auf Tablets wirkt die Darstellung sehr gut.

Auf einem Smartphone lässt sich zwar alles gut erkennen, eine spezielle Anpassung der Menüs, zum Beispiel  in Form eines Off-Canvas Menus, sucht man hier jedoch vergeblich. Das kann die Bedienung, wie bei der Auswahl einer Seite im Page-Tree, sehr mühselig gestalten. Aber diese Form der Anwendung wird sicherlich auch eher selten der Fall sein.

Visuell kommen noch weitere neue Aspekte hinzu, die nicht direkt ins Auge fallen:

  • Die Einführung eines Avatars für einen Backend-User
  • Das Admin-Panel für das Front-End wurde ebenfalls visuell überarbeitet
  • Bilder können nun im Backend zugeschnitten werden
  • Die Messages im Backend wurden überarbeitet
  • Application-Informationen lassen sich nun im Headbereich neben den Clear Cache Buttons abrufen
  • Der Seitentitel kann nun jederzeit editiert werden, bei Anzeige im Page-Modul oder in der Listen-Modul Ansicht, durch einfachen Klick auf das Edit-Icon neben dem Titel.
  • Aktualisierung des File-Uploads
  • System-Benachrichtigungen in Pop-Ups und Dialogboxen sind besser im Backend eingebunden
  • Es gibt nun ein Handling für Online-Medien wie Youtube und Vimeo für die sich Referenzen anlegen lassen, die im Backend verarbeitet werden können
  • Die Form-Extension wurde angepasst auf ein Rendering auf Basis eines Fluid-Templates und lässt sich so nun weitaus flexibler anpassen
  • Der Backend-Login Screen lässt sich nun auch individuell mit einem Hintergrund-Bild, Logo, und einer gewünschten Farbe anpassen
  • Statt wie bei älteren TYPO3 Versionen die Backend-Benutzergruppen als Record auf der Rootseite zu konfigurieren können diese jetzt innerhalb des Backenduser-Moduls verwaltet werden
  • Verbleibende Zeichen in einem Input Feld werden nun dargestellt
  • Der Benutzer erhält eine Warnung, wenn man einen Datensatz verlässt ohne zu speichern
  • Im Extensionmanager lässt sich bei der Installation einer Extension wieder die gewünschte Version auswählen
  • Für das Preview-Modul ist es möglich, Vorschau-URLs zu definieren und bei der Nutzung mehrerer Sprachen auf die gewünschte Sprache bei der Preview zu wechseln.
Ein Avatar kann für User im Backend vergeben werden.
Die Maske für das Beschneiden von Bildern.
Admin Panel
Anlegen von Assets von neuen Medien wie YouTube oder Vimeo

Ein Blick in den Core

Prüft man den Code von TYPO3, so werden viele große Änderungen sichtbar, die auch für Entwickler und Integratoren relevant sind und die Stabilität und Performance von TYPO3 positiv beeinflussen. 

Wie bereits erwähnt, kommt nun Bootstrap als tragende JavaScript API für die Gestaltung des Backends zum Einsatz. 

Die Integration von TYPO3 Flow in das TYPO3 CMS wurde weiter vorangetrieben. Als Folge davon ist nun der PHP Paket-Manager Composer vollständig integriert und kann, neben dem weiterhin existierenden Extensionmanager, für die Installation von Erweiterungen genutzt werden. Dies erleichtert die Nutzung des TYPO3 Flow Frameworks und Integration Flow3-basierter Applikationen.

Damit TYPO3 mit Erweiterungen von diesen beiden Lösungen arbeiten kann, wurde der Autoloader von Klassen nach dem PSR-4 Standard überarbeitet.

Existiert eine composer.json Datei in einer Extension, so übernimmt hier nun der Autoloader die Controlle über die Extension. Eine Composer.json Datei entspricht im weitesten Sinne der ext_emconf.php der klassischen Extensions und definiert Abhängigkeiten, die während der Installation von Composer aufgelöst werden. Der neue Autoloader ist aber weiterhin abwärtskompatibel zu der alten Variante des Autoloaders um auch klassische Extensions einzubinden, so dass beide Varianten nebeneinander existieren können.

Wer mehr über Composer und dessen Nutzung innerhalb von TYPO3 erfahren möchte, sollte diese beiden Seiten prüfen:

https://wiki.typo3.org/Composer
http://composer.typo3.org/

Bereits mit TYPO3 Version 7.4 war TYPO3 das erste Open Source CMS, das den neu eingeführten PSR-7 Standard unterstützte. Dieser definiert eine technische Grundlage für eine eindeutige Request/Response Logik.

Das bedeutet im Kontext von TYPO3, dass nun alle Anfragen mit Response nur noch über eine eindeutige definierte Anlaufstelle im Code laufen. So nutzen AJAX Requests, Backend Module, u.s.w. des TYPO3 Backends nun nur noch "typo3/index.php" als Anlaufpunkt für diese Anfragen. Das war in vorangegangenen Version nicht der Fall. 

Neue Extensions

  • mediace (nicht per default installiert) enthält folgende Content-Objekte:
    • MULTIMEDIA
    • MEDIA
    • SWFOBJECT
    • FLOWPLAYER
    • QTOBJECT
    • Der Media Wizard ist nun auch Bestandteil dieser Extension.
  • Neue Form Extension - nutzt nun Fluid Rendering für das Rendering der Formulare. Partials für die einzelnen Input Felder können nun auch überschrieben werden. 
  • Die compatibility6 Extension - in diese  wurden veraltete Extensions ausgelagert (beinhaltet unter anderem: u.a. HRULER, CLEARGIF, OTABLE, CTABLE sowie die alte mailform)
  • Neue System Extension: Fluid Styled Content - Content Elemente die auf Basis von Fluid-Templates gerendert werden

API-Änderungen

  • Neue API für die Content-Objekte, die es erlaubt TYPOScript mit angepassten Content Objekten zu erweitern. Deswegen ist die Auslagerung der veralteten Extensions in die compatibility6und die Auslagerung der Medien Content-Element in eigene Extension möglich geworden.
  • Neue API für den Backend-Login
  • Die FAL API Funktionalität wurde erweitert, um Reihenfolge und Anzahl von Dateien aus dem Storage zu bestimmen.
  • Backend Routing API - kompatible zum größten Teil zum Symfony Routing Framework.
  • Das Symfony/Console Package wurde als Unterstützung von CLI/Scheduler Prozessen in den CommandController integriert.
  • Neue Icon Factory Klasse und Icon Providers für Icons.
  • AvatarProvider API - Einbindung des Avatars in eigene BE-Extensions.
  • Optimierung des Record Datenhandlers.
  • Neue rsaauth API

    Weitere erwähnenswerte Änderungen

    • Verbesserte und eindeutigere Benachrichtigungen bei einer fehlerhaften Pflege bei Entitäten. In der Vergangenheit waren an manchen Stellen in Backend oft zwar Ausrufezeichen zu sehen, aber es in manchen Kombination nicht ersichtlich wo und welcher Fehler aufgetreten war. 
    • Das gesamte Formhandling wurde überarbeitet.
    • Die bestehenden Fluid Viewhelper und deren Rendering wurden optimiert
    • Mehr Fluid Templates und verbesserter Datenaustausch mithilfe von Dataproviders, um die Daten zu verarbeitet und an das Fluid Template zurückzusenden
    • Neue Viewhelper und Renderer-Klassen für die neuen Onlinemedien
    • BackendLayoutProvider via PageTSConfig sind nun im Core integriert - bei 6.2. war dies bisher als Data Provider integriert um deren Implementierung ein Entwickler sich selbst kümmern konnte
    • Erweiterung einiger Records wie z.B. Content-Elemente um ein Description Feld, das Redakteuren die Möglichkeit bietet, Kommentare für die Kol­la­bo­ra­ti­on mit anderen Redakteuren zu speichern
    • Neue Scheduler Tasks um Datenbanken zu leeren und Datenbank Tabellen zu optimieren
    • Es gibt TypoScript Conditions für INCLUDE TYPOSCRIPT
    • Der Html Parser löscht nun leere html Tags
    • FAL Meta-Daten enthalten nun das Feld Copyright
    • Bereits durch FAL erzeugte  und bearbeitete Dateien wie z.B. Thumbnails kann man nun löschen und damit neu erstellen lassen
    • SVG Dateien werden nun per default unterstützt
    • RTE HTMLAREA wurde optimiert

    Da neben den neuen Features auch einige "Breaker" zu beachten gilt, empfehlen wir Entwicklern einen Blick in die sehr gut dokumentierten Core Changes unter:

    https://docs.typo3.org/typo3cms/extensions/core/latest/Index.html

    Lohnt sich das sofortige Update ?

    Die offizielle Empfehlung von TYPO3.org zu einem Update lautet: Zunächst ein Update zu 6.2 LTS und dann erst ein Update von 6.2 LTS zu 7.6 LTS.

    Sobald die Entwicklung der TYPO3 7 LTS abgeschlossen ist, werden sicherlich die meisten bekannten Extensions wie Powermail oder Realurl entsprechend aktualisiert sein. Unsere Erfahrung mit den vo­r­aus­ge­henden Versionen zeigen, dass es eine kurze Übergangszeit gibt, in der einige Extensions noch für die neue TYPO3 Version angepasst werden. Aufgrund der grundlegenden Core Änderungen warten einige Entwickler mit der Aktualisierung Ihrer Extensions, bis sie auf den finalen LTS Core zurückgreifen können.

    Die Core Änderungen führen auch Änderungen an den Content-Objekten ein, so dass einige Content Objekte als veraltet eingestuft wurden oder im Falle der Medien Content Objekte in eine eigene Extension ausgelagert werden. Wurden diese Objekte in einer zu aktualisierenden Webseite verwendet, können diese durch Installation der compatibility6- oder mediace- Extension wieder aktiviert werden.

    Facts zu TYPO3 7.6 LTS

    Releasedatum

    Das offizielle Realease von TYPO3 7.6 LTS ist geplant für den 10. November 2015.

    Offizielle TYPO3 Roadmap


    Serveranforderungen

    Hier finden Sie eine detaillierte Liste der serverseitigen Anforderungen (PHP, MySQL, etc.) bei Betrieb einer TYPO3 7.6 Website

    Ein Fazit und ein Blick in die Zukunft

    Das TYPO3 Core Entwickler Team hat Wort gehalten:

    Visuell zeigt sich TYPO3 in einem frischen zeitgemäßen Design und der Core hat sich in großen Teilen verändert. Der Code ist nun moderner und schlanker. Durch die neuen APIs und das entfernen veralteter Komponenten ist die Anpassung für Integratoren und Entwickler flexibler geworden. Und zuallerletzt bereichert die Berücksichtung moderner Technologien (wie z.B. Composer, Symfony Componenten sowie Umsetzungen nach PSR-4 und PSR-7 Standard)  TYPO3 auch nach Sicherheitsgesichtspunkten enorm. 

    Vom Entwickler-Standpunkt aus wird die Entwicklung von Erweiterungen für TYPO3 7.6 sicherlich neue Herausforderungen stellen, liefert aber mit dem aktuellen Core und der noch besseren Einbindung von TYPO3 flow gleichzeitig eine gute Palette neuer APIs dafür.

    Kurz: Wir freuen uns schon darauf!

    Und wie geht es nach TYPO3 7.6 LTS weiter?

    Erklärtes Ziel der TYPO3 Kern-Entwickler ist ein jährlicher Release-Zyklus bis zur neuen LTS Version, der sich auch in der aktuellen Roadmap widerspiegelt.

    Für die die Version 7 LTS von TYPO3 wurden die geplanten Termine bisher alle eingehalten. Man darf gespannt sein, ob dieses Tempo weiterhin bei den zukünftigen Versionen 8 und 9 zu halten sein wird.

    Gerade mit Hinsicht auf zwei parallel existierenden LTS Versionen, wie bald Version 6.2 (LTS bis erstes Quartal 2017) und Version 7.6 (LTS bis 3.Quartal 2018),  die mindestens 1 Jahr zeitgleich nebeneinander existieren und zu warten sind, könnte sich dies in Kombination mit den Weiterentwicklungen ggf. als eine weitere Herausforderung für die Core Entwickler herausstellen, wie es z.B bei anderen CMS Systemen wie DRUPAL in der Vergangenheit der Fall war.

    Aber sollte das TYPO3 Core Entwicklungsteam die klare Planung- und Umsetzungs-Qualität beibehalten, die sie seit dem vergangen Jahr mit der Entwicklung an TYPO3 7.6 LTS gezeigt haben, werden sie sicherlich auch diese Herausforderung mit Bra­vour meistern. Zu der gelungenen Umsetzung von TYPO3 7.6 LTS  kann man die Core Entwickler aber bereits jetzt schon beglückwünschen.

    comments powered by Disqus

    Lesen Sie weiter: