Hello,
I've looked around for methods to manipulate the cache duration for a given article. There are methods to facilitate the expiration of an article, and there are extensions that can disable caching for articles via convenient management interfaces. What seems to be lacking though, is a way to expire the article after some duration. For instance, I'm working with embedded RSS feeds... from what I'm finding I have 3 options:
1. Live with the RSS feed being cached. 2. Immediately invalidate the article cache so that the next request causes the article to be rebuilt. 3. Tell users to use action=purge (or provide a button to manually do this (or invalidate the cache).
The first option is not really an option :) The second option is inefficient. The third option is unpalatable.
So the question becomes-- Would it be possible to have a new field added to the page database table that determines the duration of the cache? This would be optimal because extensions could then auto determine the maximum duration of the article either by directly manipulating the table entry, or preferably via a hook when the article is saved.
Failing a change to the MediaWiki core, I guess I could create a service extension that uses it's own database table to track durations and checks for expirations via the job system at which time it could invalidate articles. But that seems roundabout for something that strikes me as better supported in the core.
Thoughts?
Cheers, Rob.