Open main menu

Changes

adds notes on each extension upgrade
=== Overview ===
 
Last updated in 2008, it was time to revisit this page and make some new notes. Even though the README, UPGRADE and online help are very detailed, I find it helpful to note my personal preferences, observations, and clarifications. Still, for the do-it-yourself types, the [[mw:Manual:Upgrading#Using_Git|official docs]] are the best resource. If you need professional help with MediaWiki, then contact [[User:Freephile|Greg Rundlett]]
The process obviously started with downloading the source from the web. However, since the wikipedia project uses the continuous integration method of development (meaning they always run their own latest code), I follow the same practice and run off either the latest release branch or master from the [[git]] repository. So, I simply did a <code>composer update --no-dev && git fetch</code> to prepare for an upgrade.
=== Consult the release notes ===
Before doing anything, stop and consult the release notes supplied with the new
procedure. There was a lot here, although nothing that impacted the function of my installation.
=== Backup first ===
I copied my filesystem as a backup and testing ground.
For the database, I have a backup script that in addition to timed backups, will create a spot backup on demand: <code>~/bin/backup.db.sh mediawiki</code>
=== Perform the file upgrade ===
The mechanism for loading extensions has changed, so the old 'requires' can be replaced by 'wfLoadExtension' function <code>require_once\( *"\$IP/extensions/.*/([^/]*)" * \); wfLoadExtension( '\1' );</code>
If using an alternative uploads directory, preserve this; and if using custom skins, preserve these too. The core code is now updated.
=== Perform the database upgrade ===
You will need an AdminSettings.php file set up in the correct format; see
</pre>
=== Check configuration settings ===
The names of configuration variables, and their default values and purposes,
behaviour of MediaWiki.
=== Change the wiki pointer ===
In order to quickly upgrade, revert or take the site offline, you can simply use a symbolic link and point that to the correct target folder. However, note that this can present problems for your extensions when <code>$IP</code> is not defined correctly
=== Test ===
It makes sense to test your wiki immediately following any kind of maintenance
# [[Special:ReplaceText]] for the Replace Text extension
=== Extension and Skin Upgrades ===
Your MediaWiki site will contain many [[MediaWiki/Extensions|extensions]] to provide extra functionality. You also have one or more skins installed. Those need to be upgraded independently since they are not distributed with the core (although many are bundled if you download a tarball). The [[Special:Version]] page will list the ones in use, so go through the list one at a time and check for upgrades.
</source>
Also, if you don't even know whether there are submodules in use, you can search for those by looking for .gitmodules or .git '''files''' <code>find . -type f -name .git</code> And if you want to know which extensions may be using composer, you can check <code>find . -maxdepth 2 -name composer.json |xargs grep -l '"require":'</code>
 
=== Bad Behavior ===
* not in gerrit
* added a whitelist.ini file for [http://bad-behavior.ioerror.us/ bad-behavior] to avoid the file not found error
* upgraded bad-behavior 2.2.13 to 2.2.17
* deleted all the log table entries because they were from 2014
 
=== [[mw:Extension:Lockdown|Lockdown]] ===
* upgraded to REL1_26 (c0f9986) 2015-09-29T17:56:04 from (db7023e) 2012-12-31T16:48:02
* still spews a million PHP Notices
 
=== Gadgets ===
* upgraded to REL1_26 (58f236d) 2015-11-23T16:22:00 from (a775200) 2014-01-26T12:22:15
* compatible with wfLoadExtension
 
=== SyntaxHighlight_GeSHi ===
* Note this extension now uses Pygments
* Initially had difficulty with this throwing all kinds of notices and breaking things like the edit window, probably because I was on REL1_25
* But still after upgrading to REL1_26 it caused a 500 error.
* Then I noticed that you need to composer update
* upgraded to 2.0 (a15f02e) 2015-12-12T07:49:03
* and Parsoid and VisualEditor
 
=== Parsoid ===
deactivated 0.2.0 (b23043f) 2014-10-11T18:09:35
 
=== [[Visual editor]] ===
* completely updated (new git repo)
* upgraded to 0.1.0 (34a21d8) 2015-11-10T07:15:06 from 0.1.0 (c416e78) 2014-05-07T17:36:05
* Followed the complete install instructions which includes deprecating the Parsoid extension. Node was [[mw:Parsoid/Installing_Node|already installed]]
* previously and was new enough (running v0.10.40)
 
=== Html2Wiki ===
* disabled temporarily
* reenabled
 
=== [[mw:Extension:WikiEditor|Extension:WikiEditor]] ===
* upgraded to 0.5.0 (72db6c7) 2015-09-29T18:59:11 from 0.4.0 (b13e25d) 2014-10-11T18:26:25
* added options within LocalSettings
 
=== [[mw:Extension:Cite|Extension:Cite]] ===
* upgraded to (e26565f) 2016-01-08T17:16:58 from null
* change the .git repo from https://gerrit.wikimedia.org/r/p/mediawiki/core.git to https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Cite
* delete the Cite dir and clone the new repo
* git checkout REL1_26
* comment the old requires (there used to be two: Cite/Cite.php and Cite/SpecialCite.php)
* wfLoadExtension( 'Cite' );
* The second extension can be installed separately now, and provides the SpecialPage
* git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/CiteThisPage.git
* git checkout REL1_26
* wfLoadExtension( 'CiteThisPage' );
 
=== Collection ===
* 1.7.0 (1f410db) 2015-09-29T17:19:00 from 1.7.0 (f0686fd) 2014-10-11T17:47:09
* The new config does save books, and renders to pdf (using pediapress) but the output needs some work to be truly professional looking. See https://freephile.org/wiki/Help:Books
 
=== Delete Batch ===
* upgraded to 1.5.0 (3870998) 2015-09-29T17:32:00 from 1.4 (non-git)
 
=== [[mw:Extension:Nuke|Extension:Nuke]] ===
* Installed v1.2.0 (5763d10) 2015-11-23T16:46:18
* There were several broken Html2wiki import images which I wanted to use this extension to remove from the wiki. I still had to delete them by hand, but at least the 'recent changes' view on the main page is now fixed. The Nuke extension is still a useful tool
 
=== Interwiki ===
* bundled
* upgraded to 3.0 20140719 (6ed9dc3) 2015-11-23T16:39:17 from 2.2 20120425 (83fa077) 2013-03-31T14:51:05
* Since the freephile wiki is served in secure mode (https), and all my interwiki links were hardcoded to 'http', I'd be unfairly dumping visitors out to the non-encrypted web. Interwiki since v1.18+ supports Protocol Relative URLs (PRURLs), so I updated my interwiki table converting all links to use // It's not possible to browse the freephile wiki in plain http mode (because our server is configured to always redirect to secure mode), so you can't really link off to an insecure website via the interwiki table now. But, if we ever decide to serve plain http, then our interwiki links will maintain your insecurity.
<source lang="sql">
SELECT * FROM mediawiki.interwiki;
UPDATE mediawiki.interwiki
SET iw_url = REPLACE(iw_url, 'http://', '//')
LIMIT 200;
</source>
 
=== User Merge and Delete ===
* upgraded to 1.9.0 (8a4faae) 2015-09-29T18:53:44 from 1.7 (9cdb625) 2013-04-04T16:10:25
 
=== [[mw:Extension:DynamicPageList_(third-party)|DynamicPageList (third party)]] ===
* upgraded to 2.3.0 (fa2f83b) 2015-06-22T10:40:33
 
=== Page Schemas ===
was at 0.4.5 (c60b6fc) 2015-06-22T14:38:11 from Semantic Bundle. Disabled
 
=== [[mw:Semantic Bundle|Semantic Bundle]] ===
* upgraded to 1.9.2 (97c0b0a) 2014-01-03T15:33:07 from 1.8.0.5.3 (97c0b0a) 2014-01-03T15:33:07
* but then decided to use straight SMW with Composer
 
=== [https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki Semantic MediaWiki] ===
* upgraded from 1.8.0.5 (fbd7570) 2013-04-06T20:44:28 to 2.3.1
* deleted the now unused PageSchemas and SemanticBundle directories.
* {{@todo}} Need to find out whether I should delete or do anything with the following which were bundled.
** ./SemanticCompoundQueries
** ./SemanticDrilldown
** ./SemanticForms
** ./SemanticFormsInputs
** ./SemanticImageInput
** ./SemanticInternalObjects
** ./SemanticMaps
** ./SemanticResultFormats
** ./SemanticTasks
** ./SemanticWatchlist
* When you look at the composer.json file, it recommends semantic-forms and semantic-result-formats
 
=== [[mw:Extension:ParserFunctions|Parser Functions]] ===
* (bundled)
* upgraded to 1.6.0 (81eca7c) 2015-11-23T17:18:03 from 1.6.0 (738403b) 2014-10-11T18:09:18
 
=== Scribunto ===
* from 184a649) 2013-10-23T12:23:02
 
=== Tooltip ===
* This interesting extension fell out of maintenance, and is superseded by the Lingo extension.
 
=== Lingo ===
* The Lingo extension was installed via Composer
* Creates new [[Terminology]] page
 
=== Bootstrap ===
* I chose to install the Bootstrap extension, which will allow me to use skins based on Bootstrap. E.g. Chameleon
<source lang="bash">
composer require "mediawiki/bootstrap:~1.0"
composer update
</source>
 
=== [[mw:Extension:SVGEdit|Extension:SVGEdit]] ===
* upgraded to the latest git from (00b9b30) 2013-11-22T16:46:23
 
=== PDF Handler ===
* upgraded to (6d8477d) 2015-11-23T17:19:41 from (f7044ec) 2014-01-21T20:50:35
* installed poppler-utils on Ubuntu
<source lang="bash">
which gs convert pdfinfo # tells if you have the right dependencies
</source>
* added link to example test page
 
=== Wiki Category Tag Cloud ===
* upgraded to 1.2.0 (e8c04a8) 2015-09-29T18:58:37 from 1.1
 
=== Gadgets ===
==== wikEd ====
* For the wikEd [https://freephile.org/wiki/Special:Gadgets gadget], I had to adjust the javascript and also add [ResourceLoader] to the definition
 
==== Toggle ====
For the [[mw:Snippets/Toggle_between_dropdown_menus_and_tabs|Menu Tab Toggle gadget]], I had to update the definition.
== Preferences ==
Oftentimes, you will need to test and check [[Special:Preferences]] in combination with core, skins, extensions and [[Gadgets]] upgrades.
=== Debug ===
When things don't quite work as expected, you're left to figure out why. There are [[mw:Manual:How to debug|several debugging options]] that can assist you.
[[Category:Wiki]]
4,558

edits