Interview mit TYPO3 CEO Mathias Schreiber

TYPO3: Noch einige aufregende Themen in der Hinterhand…
Keine Kommentare

Die Ende 2017 veröffentlichte TYPO3-Version 9.0 markierte den Start zu fünf geplanten Sprint Releases auf dem Weg zum voraussichtlichen LTS Release im Oktober 2018. Wir haben einige Fragen zu den neuen und geplanten Features und zur weiteren Entwicklung von TYPO3 an den CEO der TYPO3 GmbH Mathias Schreiber gestellt.

Mit großen Schritten wird TYPO3 weiterentwickelt und an manchen Stellen komplett umgekrempelt. So wurde mit der Version 9.1 ein neues Hauptmodul eingeführt und für die Redakteure ein praktikables Frontend Editing etabliert. Auch die rasanten Entwicklungen in der Cloud-Welt und bei Container-basierten Entwicklungsumgebungen haben nicht vor TYPO3 halt gemacht. Es ist viel los im TYPO3-Kosmos. Zeit für ein Interview aus erster Hand mit TYPO3 CEO Mathias Schreiber.

„Ein großer Fokus liegt bei uns im Moment auf Standardisierung.“

entwickler.de: Der Seitenbaum in TYPO3 wurde neu aufgestellt. Auch der Systemwartungsbereich wurde kräftig überarbeitet. Was habt Ihr bisher schon auf dem Weg zu TYPO3 9.5 LTS geändert und aus Eurer Sicht verbessert?

Mathias Schreiber: Zuerst möchte ich sagen, dass wir auf das Feedback aus der Community gehört haben und deshalb versuchen, alle Breaking Changes in den ersten Release eines Cycles zu mergen. Die Idee dahinter ist, dass man mit der 9.0 seine Extensions an die Breaking Changes anpassen kann und ab dann kaum mehr mit Breaking Changes zu tun hat. Natürlich haben, wir auch später noch Breaking Changes machen müssen, aber die sind eher von der Sorte “Wer von dem Change betroffen ist, versteht, warum dieser Change sein musste und ist glücklich über den neuen Code”.

Ein großer Fokus liegt bei uns im Moment auf Standardisierung. Nachdem wir sehr früh den PHP-FIG Standard PSR7 eingeführt haben, arbeiten wir weiter an einer noch besseren Implementierung. TYPO3 verhielt sich an einigen Stellen nicht gerade kooperativ zu PSR7 und wir musste an ein paar Stellen mit Workarounds arbeiten, da wir ja auch unseren Nutzern nicht einfach Breaking Changes vor die Nase setzen wollen. Diese Workarounds entfernen wir aktuell Schritt für Schritt, wodurch sich TYPO3 immer besser in externe Systeme einbinden lässt und sich umgekehrt auch externe Systeme in TYPO3 einbinden lassen.

International PHP Conference 2018

Getting Started with PHPUnit

by Sebastian Bergmann (thePHP.cc)

Squash bugs with static analysis

by Dave Liddament (Lamp Bristol)

API Conference 2018

API Management – was braucht man um erfolgreich zu sein?

mit Andre Karalus und Carsten Sensler (ArtOfArc)

Web APIs mit Node.js entwickeln

mit Sebastian Springer (MaibornWolff GmbH)

Mit Version 9.1 haben wir als Vorbereitung unserer Gesamtstrategie in v9 ein neues Hauptmodul eingeführt, welches in Zukunft alle Aufgaben übernimmt, die in irgendeiner Form mit einer Site zu tun haben. Also z. B. Templating, aber auch Themen wie Redirect Handling. So erzeugt TYPO3 in Zukunft bei den tagtäglichen Arbeiten wie dem Umbenennen von Seiten(bäumen) auf Wunsch direkt die entsprechenden Redirects, damit SEO Rankings nicht abstürzen. Das klingt jetzt wahrscheinlich trivial, aber für Online-Marketer ist das Feature enorm wichtig.

Aus technischer Sicht hochspannend ist für uns das Thema PSR15 – Middlewares. Auch hier implementieren wir den Standard sauber in TYPO3. Dies ermöglicht Extension-Autoren ein Level an Customization, wie es bisher nur über wirre Umwege möglich war. Im Bootstrap von TYPO3 passieren eine Menge Dinge… die Domain muss aufgelöst werden, Seiten IDs auf Domains gemappt werden, prüfen, ob ein Nutzer angemeldet ist und vieles mehr. Diese Funktionalität ist jetzt in handliche kleine Stücke verpackt jeweils eine Middleware. Die Vorteile sind für uns zunächst einmal die deutlich einfachere Wartung des Codes, weniger Seiteneffekte bei Änderungen… einfach „Developer Happiness“. Wirklich spannend ist aber, dass man natürlich auch eigene Middlewares einhängen kann, z. B. für A/B Testing, oder auch Middlewares ausschalten kann, die man (im Moment) nicht braucht. Gerade im High-Performance-Bereich äußerst praktisch.

Wir haben aber noch einige andere aufregende Themen in der Hinterhand… lasst euch mal überraschen.

entwickler.de: Wie fällt das bisherige Feedback der TYPO3-Nutzer aus? Gibt es etwas, was Ihr eventuell noch einmal ganz neu anpacken müsst?

Mathias Schreiber: Hier zeigt sich die Stärke unseres Innovationszyklus. Wir bekommen früh Feedback und können im schlimmsten Fall alles nochmal umkrempeln… wobei das bisher zum Glück noch nie vorgekommen ist. Das Feedback ist positiv, das liegt eventuell auch daran, dass wir über den wiederbelebten Youtube-Channel Neuerungen schneller in die Community kommuniziert bekommen. Aber eure „ketzerische“ Frage will ich trotzdem beantworten: Erwähnenswert ist hier aktuell der Umbau der Konfigurationsoptionen. Hier sind wir komplett zurück ans Reißbrett gegangen und haben uns in einer großen Gruppe gefragt: “Wer arbeitet eigentlich mit unserem System, was sind die Aufgaben, wie müsste das aussehen?” Darum haben wir zum Anfang des 9er Cycles das “alte” Install Tool in den System Maintenance Bereich umgewandelt. Hier sind wir noch iterativ dabei, das Ganze weiter zu streamlinen – basierend auf dem Feedback der Community.

entwickler.de: Auf welche (einschneidenden) Veränderungen können sich die TYPO3-Anwender demnächst freuen?

Mathias Schreiber: Das kommt darauf an von welcher Gruppe wir reden. Für Redakteure stehen mit Sicherheit die Themen Frontend Editing und sprechende URLs ziemlich weit oben auf der Wunschliste. Frontend Editing ermöglicht dem Redakteur direkt im Frontend der Seite Änderungen zu machen. Dieses Feature haben sich viele Nutzer gewünscht, weil es schnelle Änderungen direkt dort erlaubt, wo der Content auf der Website dargestellt wird. Bisher war die Funktionalität als Extension verfügbar, wird aber mit Version 9.4 Teil des Cores.

Sprechende URLs klingt auf den ersten Blick für jeden Entwickler erst einmal total trivial und man fragt sich “was ist denn daran so schwer?”. Auf den zweiten Blick hin merkt man aber schnell, dass das Thema alles andere als einfach ist. TYPO3 ist aufgrund seiner Architektur in der Lage, mehrere Controller auf einer Seite zu steuern, und jeder Controller hat seine eigenen Path Segments und will dafür natürlich seine eigene Konfiguration mitbringen können. Der Komplexitätsgrad steigt dann exponentiell an, sobald man Mount-Pages benutzt, vergleichbar mit Symlinks, nur eben innerhalb der Seitenstruktur. Das Ganze geht dann noch in mehreren Sprachen und schon ist man bei einer Komplexität angekommen, die weit weg von “simpel” ist. Aber das bekommen wir im Moment Schritt für Schritt in den Griff und können so alle Anwendungsfälle abdecken.

Mit Version 9.1 haben wir als Vorbereitung unserer Gesamtstrategie in v9 ein neues Hauptmodul eingeführt, welches in Zukunft alle Aufgaben übernimmt, die in irgendeiner Form mit einer Site zu tun haben.

Im gleichen Umfeld bewegen sich auch die automatischen Redirects, welche Marketern das Leben deutlich einfach machen sollte. Wir machen ebenso möglich, dass normale, technisch unversierte Redakteure schnell Microsites anlegen können, um ihre digitalen Kampagnen einfacher zu verwalten. Im Prinzip ziehen wir Fassaden für technisch anspruchsvolle Aufgaben, um komplexe Problemstellungen einfacher umzusetzen. Hier vermischen sich dann die Rollen ein wenig, Entwickler wollen nämlich solche Site-Konfigurationen im Code Repository haben. Darum ist unsere FormEngine jetzt in der Lage, komplexe Formulare nicht nur in die Datenbank zu speichern, sondern gegen beliebige Endpunkte – in diesem Fall das Dateisystem. Das mag jetzt erst einmal nicht so wahnsinnig aufregend klingen, aber letztendlich sind ja die mächtigen Formulare einer der größten Stärken von TYPO3. Man muss nur ein wenig weiter denken und stellt fest, dass man so z. B. einen Redakteur nativ gegen ein REST API wie beispielsweise Nuxeo oder Magento arbeiten lassen kann, ohne Kompromisse im Editing einzugehen. Die Möglichkeiten, die sich daraus ergeben, sind sehr vielfältig und bringen Nutzer mit dem System weiter.

Unsere Formular-Engine für Frontend-Formulare lernt auch ständig neue Tricks und kann jetzt z. B. abhängige Formularfelder rendern. Dazu haben wir noch ein paar Helferchen für responsive Formulare ab Werk hinzugefügt, welche Redakteure beim Erstellen von Formularen weiter unterstützt. Im April sind wir wieder mit 30 Leuten eine Woche auf dem UX Sprint, daraus ergeben sich wie jedes Jahr sinnvolle Neuerungen für TYPO3. Wir stehen also nicht still und entwickeln uns konsequent weiter.

entwickler.de: Immer mehr Unternehmen verlagern ihre Anwendungen in die Public Cloud. Es gibt ja u.a. die Initiative TYPO3-on-AWS. Wie ist TYPO3 bei dem Thema aufgestellt?

Mathias Schreiber: Der spannende Teil der Frage ist, dass AWS der letzte, der 3 großen Cloud Provider ist, bei dem TYPO3 zum Thema wurde. Wir arbeiten seit mehreren Jahren mit Microsoft’s Azure Team und dem Google Cloud Team zusammen. Wir waren Mitte März ohnehin in Mountain View und haben weitere Schritte besprochen. Die Zusammenarbeit ist in allen 3 Fällen sehr angenehm, weil wir direkten Zugriff auf die Teams haben, also von der Managementebene im Partnering Bereich bis hinunter auf die Engineers. Mitunter werden auch Teile der Cloud-Infrastruktur angepasst, so dass sie besser mit TYPO3 zusammenarbeiten. Das Feedback, welches wir sowohl von Nutzern als auch von unseren Cloud-Partnern bekommen, fließt zurück in den TYPO3 Core. So arbeiten wir uns Schritt für Schritt voran – letztendlich bleibt ja auch in der Cloud-Welt die Entwicklung nicht stehen. Da muss man schon dranbleiben.

Weiterhin prüfen wir die Option eines TYPO3-Cloud Offerings. Hier sind wir vor allem mit den Hostern in der Community im Gespräch, da ein solches Offering für Kurzsichtige nach Konkurrenz aussieht. Das ist an dieser Stelle Quatsch, der Markt verschiebt sich schlichtweg und in Nordamerika ist es eher unüblich, nicht auf den offiziellen Hosting-Plattformen eines CMS zu arbeiten. Konkurrenz beinhaltet ja, dass man im gleichen Feld unterwegs ist – was wir hier nicht wären.

entwickler.de: Ein anderes Top-Thema sind Container-basierte Entwicklungsumgebungen. Ihr habt eine Open-Source-Lösung mit Drud Tech bereitgestellt. Was bietet DDEV Local der TYPO3-Community für einen Mehrwert?

Mathias Schreiber: „Wir sind ja alle faul“… sonst wären wir ja nicht in die IT gegangen. Was drud mit DDEV für uns löst ist, ein Docker Setup für die lokale Entwicklung zu haben, welches auf Linux, OSX und Windows funktioniert. Bisher endeten alle Community-Initiativen immer bei “works on my machine”, und diese Maschinen waren nun mal kein Windows. Über unseren gemeinsamen Freund Jeffrey “jam” McGuire sind wir dann mit DRUD in Kontakt gekommen. Für die europäische Strategie von DRUD ist TYPO3 enorm wichtig, wir wollten eine Entwicklungsumgebung – fertig ist die Zusammenarbeit. Das Team rund um Randy (Fay) und Rick (Manelius) ist unfassbar responsiv und hilfsbereit; vor allem, wenn man die 6 Stunden Zeitversatz berücksichtigt. In unserem Slack Team unter typo3.slack.com sind die beiden im Channel #ddev ständig verfügbar, nehmen sich den Problemen und Anmerkungen der User schnell an und bieten Lösungen.

Was uns aber bei DDEV final überzeugt hat, ist das grundlegende Geschäftsmodell von drud. Auf den ersten Blick sieht man nur “ok, lokales Dev Environment, cool”. Was drud aber erreichen möchte ist, dass Hoster auf der ganzen Welt DDEV als Deployment Standard in ihr Portfolio mit aufnehmen. Die Idee ist also, dass ich meine TYPO3 Installation lokal stressfrei mit DDEV entwickle, diese dann aber zum Hoster meiner Wahl live deployen kann. Wenn man das mal zu Ende denkt: Nie wieder Probleme mit der Live-Box, weil die sich anders benimmt als bei mir lokal. Beim Hoster meiner Wahl. Und wenn mir der Hoster nicht mehr zusagt, zieh ich das einfach um. Und DAS ist der eigentliche Knaller!

entwickler.de: Eine Frage zum Schluss: Wie viel „Kopfzerbrechen“ hat Euch bisher die kommende DSGVO-Verordnung bereitet?

Mathias Schreiber: Als Erstes kam bei uns natürlich das große Fragezeichen: Was passiert, wenn jemand seine personenbezogenen Daten aus dem GIT Repository entfernt haben will? Wie machen wir das überhaupt? GIT ist schließlich dezentral; wie löschen wir denn Daten auf jedem Rechner, der sich jemals einen Clone gezogen hat? Wir haben uns aber mit einem Team von Anwälten hingesetzt, die in der Materie zuhause sind (und TYPO3 nutzen) und das Ganze recht schnell geklärt. Letzten Endes ist GDPR 99 % Doku und 1 % Technik. Was wir in TYPO3 gerade vorbereiten, ist ein zentrales API, welches Extension Autoren benutzen können. Hierbei kann man dann pro Datensatz konfigurieren, ob die Daten anonymisiert gespeichert werden sollen und wenn ja, bis zu welchem Grad. Darüber hinaus gibt es dann hilfreiche Funktionen wie das Anonymisieren zu einem späteren Zeitpunkt (z. B. nach 30 Tagen), das Löschen etc. So können wir Nutzern von TYPO3 und Autoren von Extensions gleichermaßen hilfreiche Tools an die Hand geben, um für die operativen Themen von GDPR gewappnet zu sein.

entwickler.de: Vielen Dank für dieses Interview!

Mathias Schreiber ist seit Frühjahr 2016 CEO der neu gegründeten TYPO3 GmbH welche die Entwicklung und Sichtbarkeit von TYPO3 weltweit fördert. 2001 kam er erstmals in Kontakt mit TYPO3 und wurde als Teil von netfielders in die TYPO3-Community eingeführt. Im Jahr 2013 sammelte er Mittel für die 6.2-Version und wurde später als Vollzeit-Product Owner von der wmdb systems gesponsert.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -