Hello :-)
I just notice a somewhat curious feature, I would like to know if this is the default behavior or if it's given by some local (that is on this special wiki) setup.
I have on my page several 'dynamic' links like {{Special:Recentchanges/5}}
When I'm logged these links displays what they are supposed to :-) (five lines of the recent change special page)
When I'm _not_ (yet) logged in, I see the page in the state it was the last time I _edited_ the page (the recent changes of one month ago, for example). This is a problem for people that watch the page without loggin, they don't know they are more recent things :-)
so, somewhere, the page is cached at edit time
any comment? thanks jdd
You probably want to add a purge tab on the top of every article, and if an article with dynamic content expires then a user may press "purge".
It is very easy to add this tab. Just edit MediaWiki:Monobook.js, and add:
********** // addPurge addOnloadHook( function (){ var x = document.getElementById('ca-history'); if(!x) return; if(x.children) x = x.children[0].href; else x = x.childNodes[0].href; addLink("p-cactions", x.replace(/=history/, "=purge"), 'purge', 'ca-purge', 'Purge the internal cache for this page', 0); });
function addTab(url, name, id, title, key){ var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; return addlilink(tabs, url, name, id, title, key); }
function addLink(where, url, name, id, title, key, after){ //* where is the id of the toolbar where the button should be added; // i.e. one of "p-cactions", "p-personal", "p-navigation", or "p-tb". // //* url is the URL which will be called when the button is clicked. // javascript: urls can be used to do more complex things. // //* name is what will appear as the name of the button. // //* id is the id of the button; it's best to define one. // Use a prefix to make sure its unique. Optional. // //* title is the tooltip title that gives a longer description // of the button; if you define a accesskey, mention it here. Optional. // //* key is the char you want for the accesskey. Optional. // //* after is the id of the button you want to follow this one. Optional. // var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); var tabs = document.getElementById(where).getElementsByTagName('ul')[0]; if(after) { tabs.insertBefore(li,document.getElementById(after)); } else { tabs.appendChild(li); } if(id) { if(key && title) { ta[id] = [key, title]; } else if(key) { ta[id] = [key, '']; } else if(title) { ta[id] = ['', title];} } // re-render the title and accesskeys from existing code in wikibits.js akeytt(); return li; } *********
On 9/4/06, Brion Vibber brion@pobox.com wrote:
jdd wrote:
so, somewhere, the page is cached at edit time
Yes, rendered pages are aggressively cached. You should not rely on "dynamic content" in wiki pages.
-- brion vibber (brion @ pobox.com)
MediaWiki-l mailing list MediaWiki-l@Wikimedia.org http://mail.wikipedia.org/mailman/listinfo/mediawiki-l
mediawiki-l@lists.wikimedia.org