How to make a MediaWiki version upgrade

This is an outline.

Making patches of the current version

 * 1) Download the original MediaWiki tar archive of the currently installed version.
 * 2) Unpack in wikiadmin's home directory
 * 3) Make a copy of the currently running version.
 * 4) Compare the original version to this copy and elimate dead end modification like debug output or other non relevant lines.
 * 5) Build patches from the remaining differences and check out for which of our extensions they belong to.
 * 6) Make a SVN checkout of all extensions in the SVN trunk
 * 7) Update all our MW extensions from the patches and update the SVN trunk.
 * 8) Make a new SVN branch for the current MediaWiki version. The trunk will hold the new version later.

Setting up a test wiki family

 * 1) Copy the new MW version into /home/www/mediawiki.
 * 2) Make a test installation for at least shared: and one language version by creating new directories in /home/www/wikivoyage/w/ and symlink to the new MW folder in a similar way as the directories for productive wikis do to the currently isntalled MW version.
 * 3) Make a copy of /home/www/wikivoyage.org/w/shared/images in the testing shared directory.
 * 4) Create a new DB and make a copy of the DB schemas corresponding to the testing wikis. Also copy schema zsamm.
 * 5) Adapt the LocalSettings.php for the testing wikis to the testing DB. Beware: Forgetting this step can ruin our wikis' database!
 * 6) Run the update script shipped with the new mediaWiki version for each wiki. Usually, this is simply called update.php.
 * 7) Take special care for modification of the mwuser table. If there are any modifications, adapt zsamm.mwuser manually.
 * 8) Modify /etc/apache2/sites-enabled/wikivoyage in order to deal with the testing wikis.
 * 9) Make sure the testing wikis (without any extensions) do work.
 * 10) Download all up to date versions of foreign extensions we use.
 * 11) Make sure the testing wikis do work as expected with this extensions.

Patching the new MediaWiki version

 * 1) Try to patch the new MW version with previously generated patches for our own extensions.
 * 2) Check carefully for rejected hunks. Find out why a hunk has been rejected and fix the problem manually.
 * 3) Enable our extensions one by one and make sure they do work as expected.
 * 4) Debug as necessary.
 * 5) When everything seems to work, announce a testing period for interesting Wikivoyagers.
 * 6) Build patches from your modifications and update our SVN trunk.

Upgrade productive wikis

 * 1) Announce the upgrade some days in advance.
 * 2) Prepare the directories for the new MW version in /home/www/wikivoyage/w/ and symlink to the necessary direcories or files in the new MW version.
 * 3) Toggle the wikis to read-only and make a complete DB dump.
 * 4) Delete the symlink /home/www/wikivoyage/w/shared and create a new symlink to the shared directory of the new MW version.
 * 5) Run the MW update maintenence scrip.
 * 6) Repeat the above steps for each of our wikis.
 * 7) Cross your fingers and make the wikis writable again.
 * 8) Be prepared to fix reported bugs.