In theory it should be possible to have pages using the DynamicPageList expire from cache after some predetermined age, which would reduce the need for manual purges (eg, as noted at bug 11617) while still letting pages be cached fairly sanely against heavy load.
A couple parts should be 'easy':
- Cache-Control headers -- the s-maxage could be reduced, allowing the page to expire from Squids.
- ParserCache entry could have an expiration time added to it, letting the system re-render.
I'm not entirely sure though how best to handle If-Modified-Since checks (from user agents or proxy caches). The page_touched timestamp wouldn't have changed, so the system as currently set up would come back with a 304 response from the page metadata long before reaching the parser cache.
It might be necessary to add a page_expiry field or something... or some kind of equivalent check hacked in as a hook.
Note that other extensions could use a similar mechanism.
Version: unspecified
Severity: enhancement