Es war mal wieder ein tolles TYPO3 Camp in München, vielen Dank an alle die das möglich gemacht haben! Ich habe hier die Highlights aus meinen Sessions zusammen gefasst, zu den Themen: Responsive Image Optimierung, TYPO3 Updates und TemplaVoila, Barrierefreiheit, ExtBase Alternativen und TYPO3 LTS 9.
Responsive Image Optimierung
- Responsive Images Tester: ein Tool ähnlich wie Pagespeed, aber speziell für Bild-Optimierung.
https://webspeedtest.cloudinary.com/ - Responsive Image Generator: ein Bild in allen Auflösungen generieren. Ich hoffe es quält niemand seine Praktikanten mit dem generieren aller Bilder einer Webseite, dafür gibts natürlich ImageMagick, crop und grunt Tasks. Doch zum testen der optimalen Breakpoints, Bildgrößen und Beispielbilder ein gutes Tool:
https://responsivebreakpoints.com/ - Neues Bildformat: webp – das schlägt jpg und png um Längen was die Bildgröße angeht, sowohl lossy als auch lossless. Wird momentan nur von Chrome/Android unterstützt, dafür gibt es im Picture Tag den type Parameter:
<picture> <source srcset="iamge-small.webp 320w, image-large.webp 1024w" sizes="(max-width: 20em) 30vw, 100vw" type="image/webp"> <source srcset="image-small.png 320w, image-large.png 1024w" sizes="(max-width: 20em) 30vw, 100vw" type="image/png"> <img src="image.png" alt="Bildbeschreibung"> </picture>
- Die Slides zum Vortrag „Frontend“ habe ich noch nicht gefunden.
Das ist sind die Slides zum Vortrag Responsive Images
TYPO3 Updates und TemplaVoila
- eine Step-By-Step Anleitung für große TYPO3 Updates, mit viel Erfahrungswerten, auch zum Thema „wie erkläre ich es dem Kunden“: https://www.slideshare.net/einpraegsam/typo3-migration-in-komplexen-upgrade-und-relaunchprojekten-114716116
- Lösungs-Ansätze zur TemplaVoila Migration:
- Den Service habe ich bei 2 großen Projekten (>30 FCEs) erfolgreich genutzt: Migration von TemplaVoila nach Mask
Vorteil: man spart sich eine Menge Datenbank-Abfragen, es kommt auch mit komplexen TV Strukturen fehlerfrei klar, den Preis einfach mal mit Entwicklerstundensatz gegenrechnen…
Nachteil: eine Menge manuelle Nacharbeit, da es für jedes FCE neue Felder erzeugt und tt_content danach +100 Felder haben kann.
mask_export danach ist Pflicht, sonst geht die Performance in den Keller - Migration TemplaVoila incl Gridelements
Wurde im Talk von Alex Kellner vorgestellt, eine spannende Lösung die auch gleich zu Gridelements konvertiert und die Verschachtelungstiefe von TV reduziert: https://github.com/einpraegsam/ImporterBoilerplate - Es gab noch einen weiteren Talk zu TemplaVoila Migration, den habe ich aber verpasst, ich werde die Slides verlinken wenn sie irgendwo auftauchen.
- Den Service habe ich bei 2 großen Projekten (>30 FCEs) erfolgreich genutzt: Migration von TemplaVoila nach Mask
Barrierefreiheit
aXe ist ein Browser-Addon, das in den Developer Tools die Webseite auf Barrierefreiheit checkt, die entsprechenden Stellen im Code anzeigt und die passenden Verbesserungsvorschläge bringt.
Extbase Alternativen
Auch wenn ich natürlich ein ExtBase Entwickler bin, gibt es eine Menge Szenarios bei denen ein komplettes Plugin mit Classes/Model/Repository einfach übertrieben ist. Dafür wurden von @spooner_web zwei Lösungsansätze gezeigt:
- News nur mit TYPO3 Standardfeldern: just_news
News Detailseite wird über pages realisiert, damit sind auch alle Layouts verfügbar, URLs passen, usw.
https://spooner-web.de/news/neue-news-extension-just-news/
Das ist auch der generelle Lösungsansatz für alle Arten von customized Content Elementen, den ich nach Jahren der schmerzvollen Migration (TemplaVoila, Flux, DCE, Mask) jedem ans Herz legen möchte. - XML statt Datenbank: wer seine Daten aus einer XML Datei bekommt, kann sich in vielen Fällen den Import in die Datenbank sparen, und dieses direkt als Datenquelle im Repository nutzen: https://git.spooner.io/spooner/just_openimmo/blob/master/Classes/Domain/Repository/RealEstateRepository.php
Die Beispiel-Extension verwendet einen XML Export für Immobilien (openimmo), editiert wird in der Immobiliensoftware und TYPO3 soll die Daten einfach nur anzeigen.
https://git.spooner.io/spooner/just_openimmo
Wenn dann doch ein ExtBase Plugin benötigt wird, gibt es hier eine Zusammenfassung der besten Features von ExtBase: https://github.com/DanielSiepmann/extbase-the-good-parts
TYPO3 9 LTS
Last but not least ein Ausblick auf die TYPO3 9: Die wichtigsten Neuerungen sind natürlich Sites und URLs, dazu der Vortrag von @ohader: https://www.slideshare.net/ohader/typo3camp-munich-2018-keynote-wo-wolln-mer-denn-hin
Doch es kommt auch etwas, das eher die Hardcore-Developer richtig glücklich machen wird: PSR-15 Middleware. Ich hatte vorher keine Ahnung was das überhaupt ist (shame on me), doch wer schon mal versucht hat irgendwo zwischen Datenbank-Verbindungsaufbau und Frontend-Rendering in die grundlegenden TYPO3 Prozesse einzugreifen, wird hier fündig!
Ab sofort kann sich in jeder Extension eine Klasse registrieren, und eigene Klassen an einer genau definierten Stelle in den TYPO3 Rendering Prozess einhängen. Damit ist so vieles möglich jenseits von Standard TYPO3 Seitenaufbau, ich denke dass damit endlich auch andere große Systeme (Shop-Systeme, CRM, SingleSignOn, Schnittstellen) sauber eingebunden werden können. Beispiel Code findet man in der neuen SysExtension Admin.