After the introduction of StaticFileCache last year (Englisch / Deutsch), there are some new topics part of the extension. Furthermore I am looking for Feedback, because I hope there will be many new versions in the next time.
There are several cleanups and fixes for TYPO3 8.x, TYPO3 9.x, Code Standards like PSR-2, the BoostMode and some small functions related to the StaticFileCache core functions. But read some more details…
Features
GitHub Templates: There are some new GitHub Templates that help me to cleanup the Issue-Tracker and force the user to create structured issues. Furthermore the templates contain some hints related to „regular questions“ that should be better asked in e.g. TYPO3 Slack – Channel #ext-staticfilecache.
Gzip Detection: The detection of the user settings, if gzip is enabled, is optimized, so no manually adaptions to the htaccess configuration is needed anymore. Please use the current .htaccess file of the documentation, the user will always get the right version (compression vs. without compression).
Database Selections: All database selections/manipulations are moved to separate Repository classes. These are no real ExtBase repositories. They are only to control the manually access to DB related stuff. Part of the migration was the introduction of the Doctrine DBAL layer.
Tag Handling: Static File Cache deliver special HTTP headers based on the TSFE page tags (can be added via Core TS or extension PHP code). The delivery works with the static generated file (via .htaccess) and also with regular pages that are not part of the Static File Cache. This tags are helpful for example Varnish-Server that can handle the tags. Very useful for efficent deletetion of caches in reverse proxies.
Logger: Internal exceptions are logged with the TYPO3 internal Logger API and generate output for your log files. Very useful for a clean setup and detailed information for debugging.
HTTP2 Push services: There are services for HTTP2 Push headers that include fonts, images, scripts and styles. Feel free to use the new HTTP headers.
Debug Header: The additional timestamp at the end of HTML documents has several disadvantages in other output formats like JSON rendering. So there is a new HTTP „X-Cache“-header that contains technical information about the cache, without modifying the content of the document.
Symfony Commands: All CommandController are moved to Symfony Commands. This introduce some „optical“ cleanups in the execution on the CLI. Furthermore there is only one „task“ in one PHP class. If you update the extension and use the Scheduler tasks, you have to recrete the tasks as Symfony tasks.
RemoteFileBackend: The extension already contains a UrlFrontend for the CachingFramework, so we created a „remote_file“ cache backend. This cache is useful for the usecase that there are external files that are have to be used local on your server. By using the CachingFramework you can easily control the cached files. You can use the cache only with the URL to the needed file. The cache respect lifetime & tags. Very helpful if a separate FAL driver is „oversized“.
Next steps?
How do you like the new features? Are you missing something in the extension that has to do with the storage and caching of static files? Feedback is welcome…
All information related to the extension are on github: https://github.com/lochmueller/staticfilecache