Extension:WikiFarm

The WikiFarm extension is a tool designed to assist wiki farm administrators in maintaining their wiki, multiple individual wikis or wiki farm(s).

About
The current version has 6 modules:
 * WikiFarmStatistics - shows the following information for each wiki:
 * wiki name (What API returns)
 * number of pages
 * number of articles
 * number of views
 * number of edits
 * number of files
 * number of users
 * number of categories
 * number of templates
 * interwiki prefix, if exists in interwiki table

The following is visible in debug info level only:
 * wiki URL and API URL
 * list of wikis for each DB
 * table prefix in DB
 * DB name
 * DB server


 * WikiFarmLinks - gathers usefull administrative links for every wiki
 * WikiFarmChanges - shows recent changes from all wikis
 * WikiFarmPages - shows all articles in the project from all wikis
 * WikiFarmUsers - list all users of administrative wiki with useful links for each of them. So it is good to have an admin wiki as one of wiki farm.
 * WikiFarmLog - provides links to log pages. Bots can write to the log, which is useful to trace their work. The log is a page(s) in the "project" namespace.


 * + You can find special scripts for batch-renaming MySQL tables in tools directory.
 * More features are being developed for future releases of this extension. I am morally ready to use git if anyone is interested in that.


 * WikiFarm requires one wiki to be an "admin wiki". The admin wiki can be a central or a master wiki, but it could also just be a regular wiki. WikiFarm uses the admin wiki to:
 * read the user database
 * read the interwiki table (optional)
 * write log pages (optional)

See for previous versions and release notes.
 * Since version 2.0, WikiFarm is using the MediaWiki API, which required a complete code rewrite. In v2.1 there is only one direct MySQL request has left.


 * Note: this extension does not set up wiki farms automatically. It helps to manage and maintain an existing wiki farm or farms, although it can also be used for a single wiki.

Prerequisite

 * cURL module for php5 - standard on most web servers, so in most cases you have this already.

Installation

 * 1) Add to LocalSettings.php the following line:
 * 2) Set variables in /extensions/WikiFarm/WikiFarm_config.php
 * 3) Optionally disable WikiFarm tools at the end of /extensions/WikiFarm/WikiFarm.php
 * 4) Optionally put all wikis you would like to manage to interwiki table

One wiki installation

 * Set prefix delimiter for MySQL wiki tables. If there is none set it to ''.


 * Set admin wiki. In this case it is your wiki.


 * Comment additional wikis description

Several wikis installation

 * Set prefix delimiter for MySQL wiki tables. If there is none set it to ''.
 * Set admin wiki. It will be looked up for interwiki links and users.
 * Uncomment and set variables $wfarmDBConnection[] and $wikis[], see config file for info.

Usage
To use this extension, access the page Special:WikiFarm on your wiki.

Issues

 * WikiFarmChanges:
 * Hide my edits -- to be implemented soon
 * Show changes since -- this feature isn't useful to me, so it's a low priority

Please send me a note if you have other issues.

Examples

 * a single wiki (Russian)
 * two wiki farms with 8 wikis each (English)