summaryrefslogtreecommitdiff
path: root/docs/maintenance.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/maintenance.txt')
-rw-r--r--docs/maintenance.txt57
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