page cache

classic Classic list List threaded Threaded
4 messages Options
jdd
Reply | Threaded
Open this post in threaded view
|

page cache

jdd
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
--
http://www.dodin.net
http://dodin.org/galerie_photo_web/expo/index.html
http://lucien.dodin.net
http://fr.susewiki.org/index.php?title=Gérer_ses_photos
_______________________________________________
MediaWiki-l mailing list
[hidden email]
http://mail.wikipedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: page cache

Brion Vibber
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
[hidden email]
http://mail.wikipedia.org/mailman/listinfo/mediawiki-l

signature.asc (257 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: page cache

Kasimir Gabert
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 <[hidden email]> 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
> [hidden email]
> http://mail.wikipedia.org/mailman/listinfo/mediawiki-l
>
>
>
>


--
Kasimir Gabert
_______________________________________________
MediaWiki-l mailing list
[hidden email]
http://mail.wikipedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: page cache

Jan Steinman
In reply to this post by jdd
> From: "Kasimir Gabert" <[hidden email]>
>
> 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".

Better yet, if you KNOW you have dynamic content -- as in an  
extension -- you can add page-cache-nullifying PHP code to the  
extension itself. If you can't find it by searching the archives, let  
me know, and I'll try to dig it up for you. I verified it with a  
"fortune" extension that runs the UNIX fortune(1) program each time  
the extension is invoked.


:::: Express your individuality through brand-name conformity! ::::
:::: Jan Steinman http://www.VeggieVanGogh.com/::::


_______________________________________________
MediaWiki-l mailing list
[hidden email]
http://mail.wikipedia.org/mailman/listinfo/mediawiki-l