Ein Rant über die fortschreitende Plattform-Segmentierung beim Bezug von TYPO3 Erweiterungen.
In letzter Zeit fällt mir ein neues Phänomen in der TYPO3 Community auf:
Immer mehr Erweiterungen sind nicht (sinnvoll) über das TER (TYPO3 Extension Repository) zu beziehen. Entweder sind die Extensions über den PHP-Dependency-Manager "composer" zu beziehen, oder händisch direkt von GitHub herunterzuladen. Manche Erweiterungen kann man heute auch überhaupt nur mehr finden, wenn man ziemlich genau weiss, wonach man wo genau sucht.
Beispiele gefällig?
Bitte schön:
- Beispiel: Amazon AWS S3 FAL driver (CDN) (Extension Schlüssel: aus_driver_amazon_s3).
Die Erweiterung ist im TER für TYPO3 v8 vorhanden. Die dortige Version ist allerdings fehlerhaft. Lädt man sich diese via Extensionmanager in TYPO3 herunter, gibt es eine böse Überraschung: das TYPO3 Backend ist "kaputt". Dies liegt daran, dass TYPO3 v8 die Bibliothek GuzzleHttp bereits mitbringt. In einem autoload.php der Erweiterung wird dieses allerdings nochmals geladen, was selbstverständlich zu Fehlern im Autoloader führt. Workaround: Auf GitHub gehen, die Extension forken und im Fork die entsprechenden Einträge in der betroffenen autoloader.php entfernen, oder noch besser, mit einem Switch versehen. Mein persönlicher Fork für TYPO3 v8 ist unter den weiterführenden Links gelistet. Lakonische Aussage der Extension-Entwickler: man möge doch auf Composer wechseln.
- Beispiel: Newsletter Subscription (Extension Schlüssel: pxa_newsletter_subscription).
Eine relativ alte Version dieser tollen Newsletter-Subscription Erweiterung ist im TER vorhanden. Allerdings fehlt dieser Version der Erweiterung eine ganz entscheidende Funktionalität: die Registrierung in die Tabelle der Erweiterung tt_address. Will man also diese Erweiterung mit tt_address nutzen, muss man wiederum auf GitHub wechseln. Da die Erweiterungsautoren aber offenbar vom "Branching" nicht allzuviel halten dürften, benötigt man schon etwas Fachkenntnis, um sich durch die vergangenen Commits zu wurschteln, um dann in der weiteren Folge eine Version klonen zu können, die sowohl die o.g. Funktionalität aufweist als auch unter TYPO3 v8 lauffähig ist.
- Beispiel: Static File Cache (Extensionschlüssel: staticfilecache).
Die Erweiterung ist ein Fork des bekannten nc_staticfilecache. Während letzterer nicht mehr weiterentwickelt wird, hat der Fork entsprechendes Potential, wird aktiv betreut, wartet mit einer rundum erneuerten Code-Basis auf und funktioniert mittlerweile sowohl für TYPO3 Version 8 LTS als auch 9 LTS. Eine wie auch immer geartete TER-Version sucht man vergeblich. Der derzeitige Maintainer, Tim Lochmüller, gibt allerdings auf seinem (nicht unbekannten) Blog, diverse Tipps und Tricks und beantwortet auch etwaige Anfragen dort (wie auch auf GitHub). Erfahren kann man von der Erweiterung aber nur, wenn man schon tief in der TYPO3-Community ist, bzw. recht genau weiss, wo man nach bestimmten Dingen sucht. Sehr schade, gerade für Neulinge!
Nach gefühlten drölfzig Rewrites des Extensionmanagers in den letzten Jahren ist es nun so weit, dass dieser zwar endlich wieder vernünftig funktioniert und beinahe Feature-complete ist, die UX betreffend, allerdings wird er von den Extension Autoren immer mehr einfach vernachlässigt ...
Das ist sehr, sehr schade. Nicht nur dass viele Leute eine Menge Arbeit ins TER und in den Erweiterungsmanager gesteckt haben, war er doch auch ein grossartiges Feature von TYPO3. Nicht zuletzt war das TER bisher auch die Anlaufstelle Nummer 1, wenn man auf der Suche nach einer entsprechenden Erweiterung für ein Projekt war. Auch die neue Solr basierte Suche im TER funktioniert ganz wunderbar und schnell. Außerdem ist es einfach so: es gibt immer noch Installationen ohne Composer. Und es wird auch immer Installationen ohne Composer geben.
Und nun kommen wir zur Erklärung der Überschrift:
Wenn diese Entwicklung so weitergeht, fürchte ich um das TER als einheitliche Oberfläche für TYPO3-Erweiterungen.
Dann wird man in Zukunft nicht nur im TER nach Erweiterungen suchen müssen, sondern zusätzlich auch noch auf GitHub, GitLab, Packagist et al. Unnütz anzumerken, dass die Suche auf diesen Dritthersteller-Seiten weit unübersichtlicher ist, wenn man eine bestimmte TYPO3-Funktionalität sucht. Schliesslich werden auf diesen Plattformen immens viele Projekte verwaltet, von Entwicklern auf der ganzen Welt, mit den unterschiedlichsten Programmiersprachen, Absichten etc...
(Die versprochenen Links findet ihr unterhalb des Videos)