Es passiert immer wieder, wenn ich eine Extension installiere. Sie nutzt jQuery.
Ist ja auch toll, dass die Meisten schon auf dieses sehr flexible JavaScript Framework umgestiegen sind!
Doch es gibt 3 verschiedene Arten, jQuery einzubinden:
- Man liefert eine jQuery Bibliothek (teils aktuelle, teils nicht) mit und bindet sie mit TypoScript ein.
- Man liefert gar nichts mit und schreibt in die Dokumentation, dass man jQuery noch einbinden muss und es ohne nicht funktioniert.
- Man wirft einfach in die Dependencies der Extension die Extension „t3jquery“.
Glücklicherweise wird meistens Methode 1 genommen, was es mir möglich macht (aber andererseits auch ein wenig nervig ist), die TypoScript Anweisung zu deaktivieren, da ich grundsätzlich meine jQuery Lib selbst einbinde.
Methode 2 habe ich bisher noch nicht erlebt, habe aber vielleicht noch nicht jede Ecke des TER installiert.
Methode 3 habe ich eben erst wieder gesehen und kann nur den Kopf schütteln. Als Extension-Entwickler muss man doch so flexibel sein und es dem Anwender einfach machen. Falls ich jetzt schon Dutzende Extensions mit jQuery Lib installiert habe und jetzt kommt eine hinzu, die t3jquery will, ich sie aber nicht installieren will, habe ich ein Problem.
Unnötige Konfigurationen und wertvolle Zeit gehen verloren.
Was ist denn jetzt die sinnvollste Methode, Extensions auszuliefern, die jQuery benötigen?
Meiner Meinung nach ist Methode 1 die nervenschonendste Variante. Ich kann im TypoScript bequem die Anweisung (sofern ich sie finde) entfernen und somit mehrere Einbindungen von teils verschiedenen jQuery Versionen verhindern.
Welche Methode findet ihr besser? Und warum?
Wäre es nicht auch sinnvoll, eine Guideline für die Einbindung solcher externen Bibliotheken zu erstellen?
Sollten vielgenutzte Bibliotheken wie jQuery mit dem TYPO3 Core mitgeliefert werden?