Merge "Rewrite collapsibleNav as LESS file"
[lhc/web/wiklou.git] / docs / distributors.txt
index b636c12..4a65431 100644 (file)
@@ -58,12 +58,11 @@ If you really must mess around with the directory structure, note that the
 following files *must* all be web-accessible for MediaWiki to function
 correctly:
 
-  * api.php, img_auth.php, index.php,opensearch_desc.php, profileinfo.php,
-  redirect.php, thumb.php, trackback.php.  These are the entry points for
+  * api.php, img_auth.php, index.php, load.php, opensearch_desc.php, thumb.php,
+  profileinfo.php, redirect.php, trackback.php.  These are the entry points for
   normal usage.  This list may be incomplete and is subject to change.
   * mw-config/index.php: Used for web-based installation (sets up the database,
-  prompts for the name of the wiki, etc.).  No command-line installation is
-  currently available.
+  prompts for the name of the wiki, etc.).
   * images/: Used for uploaded files.  This could be somewhere else if
   $wgUploadDirectory and $wgUploadPath are changed appropriately.
   * skins/*/: Subdirectories of skins/ contain CSS and JavaScript files that
@@ -88,9 +87,12 @@ which the user can edit by hand thereafter.  It's just a plain old PHP file,
 and can contain any PHP statements.  It usually sets global variables that are
 used for configuration, and includes files used by any extensions.
 
-Distributors cannot easily add extra statements to the autogenerated
-LocalSettings.php at the present time -- although hacking mw-config/index.php
-would work.  It would be nice if this situation could be improved.
+Distributors can easily add extra statements to the autogenerated
+LocalSettings.php by changing mw-config/overrides.php (see that file for details
+and examples).
+
+There's a new maintenance/install.php script which could be used for performing
+an install through the command line.
 
 Some configuration options that distributors might be in a position to set
 intelligently:
@@ -103,6 +105,20 @@ intelligently:
   * $wgSMTP: Can be configured to use SMTP for mail sending instead of PHP
   mail().
 
+== Updates ==
+
+The correct way for updating a wiki is to update the files and then run from 
+command line the maintenance/update.php script (with appropriate parameters if
+files were moved). It will perform all the needed steps to update the database 
+schema and contents to the version from whatever old one it has.
+Any package manager which replaces the files but doesn't update the db is leaving
+an inconsistent wiki that may produce blank pages (php errors) when new features 
+using the changed schema would be used.
+
+Since MediaWiki 1.17 it is possible to upgrade using the installer by providing 
+an arbitrary secret value stored as $wgUpgradeKey in LocalSettings (older versions 
+needed to rename LocalSettings.php in order to upgrade using the installer).
+
 == Documentation ==
 
 MediaWiki's official documentation is split between two places: the source
@@ -156,8 +172,8 @@ perhaps configure it to use them (see Configuration section of this document):
   "$wgAntivirus = 'clamav';".
   * DjVuLibre: Allows processing of DjVu files.  To enable this, set
   "$wgDjvuDump = 'djvudump'; $wgDjvuRenderer = 'ddjvu'; $wgDjvuTxt = 'djvutxt';".
-  * HTML Tidy: Fixes errors in HTML at runtime.  Can be enabled with "$wgUseTidy
-  = true;".
+  * HTML Tidy: Fixes errors in HTML at runtime.  Can be enabled with 
+       "$wgUseTidy = true;".
   * ImageMagick: For resizing images.  "$wgUseImageMagick = true;" will enable
   it.  PHP's GD can also be used, but ImageMagick is preferable.
   * Squid: Can provide a drastic speedup and a major cut in resource
@@ -172,7 +188,7 @@ perhaps configure it to use them (see Configuration section of this document):
 
 MediaWiki uses some standard GNU utilities as well, such as diff and diff3.  If
 these are present in /usr/bin or some other reasonable location, they will be
-used automatically.
+configured automatically on install.
 
 MediaWiki also has a "job queue" that handles background processing.  Because
 shared hosts often don't provide access to cron, the job queue is run on every