diff options
Diffstat (limited to 'docs/maintenance.txt')
-rw-r--r-- | docs/maintenance.txt | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/docs/maintenance.txt b/docs/maintenance.txt new file mode 100644 index 00000000..039c71c5 --- /dev/null +++ b/docs/maintenance.txt @@ -0,0 +1,57 @@ +Prior to version 1.16, maintenance scripts were a hodgepodge of code that +had no cohesion or formal method of action. Beginning in 1.16, maintenance +scripts have been cleaned up to use a unified class. + +1. Directory structure +2. How to run a script +3. How to write your own + +1. DIRECTORY STRUCTURE + The /maintenance directory of a MediaWiki installation contains several +subdirectories, all of which have unique purposes. + +2. HOW TO RUN A SCRIPT + Ridiculously simple, just call 'php someScript.php' that's in the top- +level /maintenance directory. + +Example: + php clear_stats.php + +The following parameters are available to all maintenance scripts +--help : Print a help message +--quiet : Quiet non-error output +--dbuser : The database user to use for the script (if needed) +--dbpass : Same as above (if needed) +--conf : Location of LocalSettings.php, if not default +--wiki : For specifying the wiki ID +--batch-size : If the script supports batch operations, do this many per batch + +3. HOW TO WRITE YOUR OWN +Make a file in the maintenance directory called myScript.php or something. +In it, write the following: + +==BEGIN== + +<?php + +require_once( "Maintenance.php" ); + +class DemoMaint extends Maintenance { + + public function __construct() { + parent::__construct(); + } + + public function execute() { + } +} + +$maintClass = "DemoMaint"; +require_once( DO_MAINTENANCE ); + +==END== + +That's it. In the execute() method, you have access to all of the normal +MediaWiki functions, so you can get a DB connection, use the cache, etc. +For full docs on the Maintenance class, see the auto-generated docs at +http://svn.wikimedia.org/doc/classMaintenance.html |