EXT:staticfilecache is one of the most loved extensions in shard server envs to speed up the page delivery process. There are mechanisms to keep a very fast page delivery, even the editor work in “heavy mode”
With TYPO3s internal “CSP as USER_INT” generation since v12, EXT:staticfileache do not work anymore in the expected way. The general idea is to create a future-proof EXT:staticfilecache release for TYPO3 v12 and v13 that support CSP generation and a more modern codebase.
What do you want to achieve by the end of Q4 2024?
The following milestones should be done with the budget.
TYPO3 v12 & v13 compatible version
Finish migration from internal “Rule” & “Generator” structure to PSR-14 Events
Add more PSR-14 events in the generation workflow to be more flexible in the integration
Find a solution for CSP frontend handling of the core
More tests
What is the potential impact of your idea for the overall goal?
The community get a fresh and up-2-date extension version, for fast static file cache generation. The migration to PSR-14 events take care, that the extension is flexible in the integration.
Which budget do you need for your idea?
3.000 Euro
Please note: After the start of the voting we can not change the idea description nor the idea outcome. If this idea is selected by the members, it must be archived as described.
The StaticFileCache extension has been around for a while, and the download numbers are really impressive.
As stated in the budget request, this extension is especially necessary for shared hosting environments where no other caching mechanisms like Redis or Varnish are available.
But it makes sense in other setups as well, since it adds very little complexity.
The setup via the .htaccess file makes the barrier to entry relatively low, and StaticFileCache offers a huge increase in speed in return.
A Content Security Policy (CSP) is becoming more and more important for modern websites. This alone justifies the budget request. In addition, Tim has already shown in the past that he will maintain the extension for the long term and constantly improve it and adapt it to new TYPO3 core features. I am therefore very happy to support this budget request.
Concerning the CSP aspect of this budget request:
There’s a proof-of-concept patch pending at https://review.typo3.org/c/Packages/TYPO3.CMS/+/80554 - the basic idea is to switch from nonce to hash values, which can be statically cached with the request.
That patch still needs some adjustments to not break existing behavior with automated assess handling (AssetCollector, AssetRenderer and PageRenderer). Thus, backward compatibility is the issue here…
Besides that:
Having a modernized ext:staticfilecache for the future would be great!
I have a solution in place, which works with TYPO3 v12, SFC & CSP nonces. This solution uses a small patch of the TYPO3 core (to enable caching even nonces are used), small extensions of the Generator-Classes from SFC (via XClasses) and generation of the nonce-values itself via SSI Includes directly on the server.
As this might not fit any hosting environment, it works pretty fine. I have hold a session about this solution at the TYPO3camp Hamburg this year. If it help in any way, I’m open to discuss this and share code.
Thanks for the feedback and support Olli & Marc. I wrote “Find a solution” because this is flexible in the solution. I prefer and try to support the core solution (mid term), but also provide a solution in the extension itself (short term). So the extension will work with the already published core releases also…
@willmann I already wrote you via Slack. Would be cool to see your solution…