Hi,
I'm trying to write a rss feed aggregator in an extension function. I'm getting results now but there's a small problem (there's another one that I couldn't get to, yet). Extension functions are being called twice on save. I checked this by outputting a line to a debug log. Down below is a small excerpt from the log:
If you look through it, there are two "Call in extension" lines, one after submitting the page and one for viewing the updated page. Is this normal?
There was a talk about serving dynamic content from within Mediawiki recently, after this I will probably have to deal with caching, I know. But for now, I want to postpone it. I'm using 1.4beta6. By the way, I guess there was a change in caching between 1.3 and 1.4. I was able to refresh caches by doing a hard refresh from the browser to get updated pages in 1.3.10 but not in 1.4. I might go back to 1.3 if that's the case. Anyone have an idea?
Thanks!
---- Log starts here ---- Start request POST /.../index.php?title=Test&action=submit
[deleted lines]
Content-Length: 741
User::loadFromSession() unable to load from memcached Using reader #0: localhost
Call in extension: Sunday 20th of February 2005 10:03:09 PM ** private caching; ** Request ended normally
Start request GET /.../index.php?title=Test
[more deleted lines]
If-Modified-Since: Mon, 21 Feb 2005 03:02:35 GMT
User::loadFromSession() unable to load from memcached Using reader #0: localhost
-- client send If-Modified-Since: Mon, 21 Feb 2005 03:02:35 GMT -- we might send Last-Modified : Mon, 21 Feb 2005 03:03:09 GMT READY client: 20050221030235 ; user: 0 ; page: 20050221030309 tryFileCache() - not cacheable Trying parser cache xxx:pcache:idhash:924-1!1!0!1!0!1!0!!en Found. Key expired, touched 20050221030309, epoch 20030516000000, cached 20050221030237 Call in extension: Sunday 20th of February 2005 10:03:09 PM Saved in parser cache with key xxx:pcache:idhash:924-1!1!0!1!0!1!0!!en and timestamp 20050221030309 ** private caching; Mon, 21 Feb 2005 03:03:09 GMT ** Request ended normally
Muzaffer Ozakca wrote:
If you look through it, there are two "Call in extension" lines, one after submitting the page and one for viewing the updated page. Is this normal?
Yes. The page is parsed on edit to extract link information to update the link tables when saving.
Then the user views the page, and it's parsed again and the final HTML conversion stages are applied. If the parser cache is on, this version will be saved for future page views by users with the same options until the cache entry expires or the page is invalidated by another action.
By the way, I guess there was a change in caching between 1.3 and 1.4. I was able to refresh caches by doing a hard refresh from the browser to get updated pages in 1.3.10 but not in 1.4.
The parser cache is on by default in 1.4; a browser refresh will rerender only the skin, not the page contents. You can manually flush the cache for a page with action=purge. If you really want to you can of course disable it; see DefaultSettings.php for all config options.
-- brion vibber (brion @ pobox.com)
mediawiki-l@lists.wikimedia.org