Extension:CacheManager

Cache Manager is an enhancement of the default file caching. The default system caches aggressively: pages are cached unconditionally even if they contain variables, extensions and other changeable output. With this extension, you can specify each page that should not be cached: it uses a special tab on top of each page to specify not to cache it.

Installation
The extension was designed for MediaWiki 1.13 but it should be compatible with later version beginning with 1.10.

Download
Cut and paste the code found below and place it in. Note: $IP stands for the root directory of your MediaWiki installation, the same directory that holds LocalSettings.php.

Database
To install this extension, create a new table in your mediawiki database :

Files
To install this extension, add the following to LocalSettings.php:

User rights
The extension introduces a new user rights managecache. You can configure the rights in LocalSettings.php:

Defaults from DeletePagePermanently.php:

Code
");

return false; } elseif($action == 'ask_uncache') { $action = $wgArticle->getTitle->escapeLocalUrl."?action=page_uncache"; $wgOut->addHTML(" ");

return false; }		elseif( $action == 'page_cache' ){

# Cache the page : delete the id of the page in the table page_uncache $dbw = wfGetDB( DB_MASTER ); $ns = $wgArticle->mTitle->getNamespace; $t  = $wgArticle->mTitle->getDBkey; $id = $wgArticle->mTitle->getArticleID; if ( $t == '' || $id == 0 || $ns == NS_SPECIAL ){ $wgOut->addHTML( wfMsgHtml('caching_impossible') ); return false; }			if($dbw->delete('page_uncache', array('page_id'=>$id))) $wgOut->addHTML( wfMsgHtml('caching_done') ); else $wgOut->addHTML( wfMsgHtml('caching_impossible') ); return false; }		elseif( $action == 'page_uncache' ){ # Uncache the page : add the id of the page in the table page_uncache $dbw = wfGetDB( DB_MASTER ); $ns = $wgArticle->mTitle->getNamespace; $t  = $wgArticle->mTitle->getDBkey; $id = $wgArticle->mTitle->getArticleID; if ( $t == '' || $id == 0 || $ns == NS_SPECIAL ){ $wgOut->addHTML( wfMsgHtml('uncache_impossible') ); return false; }			if($dbw->insert('page_uncache', array('page_id' => $id))) $wgOut->addHTML( wfMsgHtml('uncaching_done') ); else $wgOut->addHTML( wfMsgHtml('uncaching_impossible') ); return false; }		return true; }	function ManageCache($wgArticle) {		$dbw = wfGetDB( DB_MASTER ); $id = $wgArticle->mTitle->getArticleID; $res = $dbw->select( 'page_uncache', 'page_id', 'page_id='.$id ); return $dbw->fetchObject( $res ) === false; } }