Langsam aber sicher entwickelt sich der Static File Cache weiter, sodass ich euch mal wieder ein Update geben will. Nachdem die Geschichte mit fl_staticfilecache 2006 begonnen hat, wurde dieser in einem Fork als nc_staticfilecache weiterentwickelt (Podcast von früher). Ende 2016 habe ich die Version dann übernommen. Die Extension wurde darmals auf Github/Packagist/Composer migriert, sodass die neuste Version unter „lochmueller/staticfilecache“ zu finden ist. Bei der Version hat sich in den letzten 1-2 Jahren einiges getan, sodass ich euch einmal auf den aktuellen Stand bringen will. PS: Ein passender Teet zum Thema 😉
Was ist der TYPO3 Static File Cache?
Der TYPO3 Static File Cache ist ein Cache, welcher mit einem geschickten Regelwerk auf Basis von PHP und htaccess ausgestattet ist, dass Seiten, welche im Cache liegen RICHTIG FIX werden. Da reden wir nicht von Faktor 2 oder 3, sondern eher so vom Faktor ~200 (gemessen mit Apache Benchmark). Der Grund der Performance-Steigerung ist, dass das Regelwerk der statischen Dateien und der htaccess Datei dafür sorgt, dass weder PHP noch die Datenbank gebraucht wird. Gerade das „nicht starten“ des PHP Interpreter – und das damit verbundene direkte Ausliefern der Datei – führt zu diesem Schub! Neben dieser Hauptfunktion gibt es zudem ein Backend-Modul, in dem zu sehen ist, welche Seiten im Static File Cache sind. Sollte eine Seite nicht aufgenommen werden können, gibt es zudem Informationen warum dies der Fall war. Dies ist ein guter Einstieg für die Optimierung einer Seite, um z.B. falsche Konfigurationen und schlecht entwickelte Plugins zu finden.
Was hat sich in den letzten 2 Jahren getan?
Mit der Migration zu github.com habe ich stark an der Code-Qualität gearbeitet. Phpcs, phpmd, StyleCI, Scrutinizer und Travis sorgen dafür, dass der Code nicht nur PSR-2 kompatibel ist, sondern auch, dass Fehler vermieden werden und dies auch so bleibt. In dem Zuge wurde die PHP Version auf 7.x angepasst und die Extension läuft unter TYPO3 8.x und 9.x (Wer noch TYPO3 7.x hat, bitte dennoch staticfilecache [in einer älteren Version] anstatt nc_staticfilecache benutzen). Das Backend-Modul wurde umstrukturiert, aufgeräumt und näher an ein TYPO3 Look&Feel gebracht. Zudem ist das Backend-Modul sauber in deutsch und englisch übersetzt.
Großer Neuerung in der TYPO3 Static File Cache Extension ist der „Boost-Mode“. Ist der Modus aktiviert, werden die statischen Cache-Dateien nicht mehr aktiv durch das Caching-Framework entfernt, sondern stattdessen wird eine Queue aufgebaut, welche im Hintergrund von einem Scheduler-Task abgearbeitet wird. Großer Vorteil dieser Lösung: Der Benutzer hat IMMER eine statische Datei. Einziger Nachteil ist, dass Anpassungen an der Webseite ein wenig zeitverzögert erscheinen.
Zu guter letzte wurde die Dokumentation in den letzten 2 Jahren weiter optimiert, sodass die Einrichtung gut funktioniert. Bei Rückfragen gibt es direkt die passenden Antworten in der Doku.
Wie geht es weiter?
Im Moment bin ich auf der Suche nach mehr Feedback aus der Community. Ich habe die Extension kurz auf dem TYPO3Camp vorgestellt und habe bereits von 2-3 Usern Feedback bekommen. Dies ist mir aber noch nicht genug? 😉 Neben inhaltlichen Feedback sind auch immer gerne weitere Entwickler gesehen (oder auch finanziell ;)), weil ich glaube man kann mit der Extension noch einiges machen.
In den nächsten Wochen werde ich mich um die Kompatibilität für TYPO3 9.x kümmern und den Code entsprechend anpassen. Zudem werde ich weitere Tests schreiben, sodass die Qualität des Codes besser überwacht wird bzw. neue Entwicklung keine Angst haben müssen etwas zu ändern.
Ich freue mich auf euer Feedback…
Wer weitere Infos brauche. Bei GitHub ist alles zu finden…