Beachapedia

MediaWiki 1.17UpgradeNotes

From Beachapedia

Purpose

This page is to note issues that should be addressed prior to upgrading the site to MediaWiki 1.17

WikiMedia Foundation sites were upgraded in fits and starts during mid-February 2011.

The bulk of the changes involved in 1.17 are internal and related to performance, specifically a new feature called ResourceLoader which is designed to only load necessary javascript components.

MediaWiki 1.17 was officially released on 6/21/2011. The software has been downloaded and compatibility testing is underway.

Test Plan

Before any changes are made

  1. Check server environment (DONE- see Core software section below)
  2. Export current database (DONE)
  3. Create new database from export (DONE)
  4. Install test instance of 1.17 (DONE)
  5. Test upgrade using new DB (DONE)
  6. Resolve any problems with database (DONE No Problems Found)
  7. If upgrade has no problems, test extension compatibility (DONE)
  8. Resolve any issues with extensions and update compatibility matrix (DONE)
  9. Make and test skin file customizations (DONE)

Actual upgrade

  1. Notify users in advance (Done)
  2. Set current database read-only (Done)
  3. Create Backup of current Database and Software (Done)
  4. Install upgraded core software (Done)
  5. Upgrade Database (Done)
  6. Upgrade Extensions as necessary (Done)
  7. Test everything (Done)
    1. If there are problems, we will revert to the previous versions (Not necessary)

Core Software Compatibility

The PCRE php library installed on the server did not currently fully support UTF-8 character sets. The PCRE package module has been recompiled with full UTF-8 support, and a new version of PHP was compiled and installed using the new library. The new versions were installed on the evening of 6/22/2011. This should not affect the current site or anything else on the server, but is required for the Mediawiki 1.17 software.

Extension Compatibility

Most of the anticipated issues involved in upgrading to 1.17 will be with compatibility of extensions

Extension compatibility matrix

Semantic Bundle Extensions

Extension Name Version 1.17 compatible Extension homepage Notes
Semantic MediaWiki 1.5.6 Yes http://semantic-mediawiki.org/ Part of Semantic Bundle
Semantic Drilldown 0.8.2 Yes http://www.mediawiki.org/wiki/Extension:Semantic_Drilldown Part of Semantic Bundle
Semantic Forms 2.0.9 Yes http://www.mediawiki.org/wiki/Extension:Semantic_Forms Part of Semantic Bundle
Semantic Maps 0.7.5 Yes http://www.mediawiki.org/wiki/Extension:Semantic_Maps Part of Semantic Bundle
External Data 1.2.3 Yes http://www.mediawiki.org/wiki/Extension:External_Data Part of Semantic Bundle
Maps 0.7.5 Yes http://www.mediawiki.org/wiki/Extension:Maps Part of Semantic Bundle
ParserFunctions 1.3.0 Yes http://www.mediawiki.org/wiki/Extension:ParserFunctions Part of Semantic Bundle
Widgets 0.92 Yes http://www.mediawiki.org/wiki/Extension:Widgets Part of Semantic Bundle
Validator 0.4.4 Yes http://www.mediawiki.org/wiki/Extension:Validator Part of Semantic Bundle

Other Extensions

Extension Name Version 1.17 compatible Extension homepage Notes
WikiEditor 0.2.0 No http://www.mediawiki.org/wiki/Extension:WikiEditor Was part of Usability Initiative. Will need to be upgraded for 1.17 compatibility. Version 0.3.0 is tested and works on 1.17
DismissableSiteNotice Yes http://www.mediawiki.org/wiki/Extension:DismissableSiteNotice Slightly modified from SVN version to not use tables. In use on WP
UsabilityInitiative 0.1.1 No http://www.mediawiki.org/wiki/Extension:UsabilityInitiative Extension has been split and replaced by others, will be removed on upgrade
URL Get Parameters 1.0.0 Yes http://www.mediawiki.org/wiki/Extension:UrlGetParameters Only used for ChapterSearch- could probably go away if there are compatibility issues
Variables 1.3 Yes http://www.mediawiki.org/wiki/Extension:VariablesExtension Only used for ChapterSearch- could probably go away if there are compatibility issues
LookupUser 1.1 Yes http://www.mediawiki.org/wiki/Extension:LookupUser
Cite ? Yes http://www.mediawiki.org/wiki/Extension:Cite/Cite.php Assumed to be compatible- in use on WikiPedia
CategoryTree r68705 Yes http://www.mediawiki.org/wiki/Extension:CategoryTree
ArrayExtension 1.3.3 Yes http://www.mediawiki.org/wiki/Extension:ArrayExtension

Skin

The default Vector skin on Beachapedia has been modified to include the "Share This Page" section on the sidebar with Facebook, Twitter and AddThis sections and links. The modified skin file (/skins/Vector.php) needs to be backed up so that the changes can be migrated to the new skin in 1.17.

The css files inside the /skins/vector/ directory have also been modified (this was noted when upgrading the wiki to 1.16.2) and will need to be backed up and restored to coincide with the upgrade.

Upgrade Results

The upgrade took a total of 15 minutes. The Database and files were backed up ahead of time. A test version of the site was set up prior to the actual upgrade to determine Extension compatibility and any other issues that might be encountered with the upgrade.

Skin Customizations were made and tested on the test site with no problems.

Timeline: (all times are PDT (UTC -9:00) on 25 June, 2011)

  • 11:00PM Site goes read-only, backup begins
  • 11:05PM Backup Completed
  • 11:06PM Files Copied
  • 11:08PM Upgrade Script Begins
  • 11:09PM Database Schema Changes Begin
  • 11:13PM Cleanup Begins (Changes to LocalSettings.php to disable incompatible extensions/enable new versions)
  • 11:14PM Site is back up
  • 11:15PM Site goes back to read/write
  • 11:20PM SiteNotice changed to announce resumption of normal operations
  • 11:23PM Emails sent to notify stakeholders that upgrade is complete

One Minor issue with WikiEditor preferences was identified a few days after the upgrade was done. The offending preference was disabled globally in LocalSettings.php