Sam Wilson's Website

T67: MediaWiki

Wikidata logo. Wikidata item Q83: MediaWikifree and open-source wiki software, developed by the WMF
issue tracker URL
source code repository URL
programmed in
  • PHP
  • JavaScript
copyright license
  • GNU General Public License, version 2.0 or later
Commons category
  • MediaWiki
topic's main category
  • Category:MediaWiki
official website
software version identifier
  • 1.23.14
  • 1.24.4
  • 1.25.3
  • 1.27.0
  • 1.26.0
  • 1.26.1
  • 1.26.2
  • 1.26.3
  • 1.25.6
  • 1.28.0
  • 1.27.1
  • 1.28.1
  • 1.27.2
  • 1.23.16
  • 1.23.17
  • 1.27.3
  • 1.28.2
  • 1.29.0
  • 1.29.1
  • 1.27.4
  • 1.28.3
  • 1.29.2
  • 1.30.0
  • 1.31.0
  • 1.30.1
  • 1.31.1
  • 1.29.3
  • 1.27.5
  • 1.32.0
  • 1.32.1
  • 1.27.6
  • 1.30.2
  • 1.31.2
  • 1.32.2
  • 1.27.7
  • 1.31.3
  • 1.32.3
  • 1.33.0
  • 1.33.1
  • 1.32.4
  • 1.31.4
  • 1.31.5
  • 1.32.5
  • 1.26.4
  • 1.25.5
  • 1.25.4
  • 1.25.2
  • 1.25.1
  • 1.25.0
  • 1.24.6
  • 1.24.5
  • 1.24.3
  • 1.24.2
  • 1.24.1
  • 1.24.0
  • 1.23.15
  • 1.23.13
  • 1.23.12
  • 1.23.11
  • 1.23.10
  • 1.23.9
  • 1.23.8
  • 1.23.7
  • 1.23.6
  • 1.23.5
  • 1.23.4
  • 1.23.3
  • 1.23.2
  • 1.23.1
  • 1.23.0
  • 1.22.15
  • 1.22.14
  • 1.22.13
  • 1.22.12
  • 1.22.11
  • 1.22.10
  • 1.22.9
  • 1.22.8
  • 1.22.7
  • 1.22.6
  • 1.22.5
  • 1.22.4
  • 1.22.3
  • 1.22.2
  • 1.22.1
  • 1.22.0
  • 1.21.11
  • 1.21.10
  • 1.21.9
  • 1.21.8
  • 1.21.7
  • 1.21.6
  • 1.21.5
  • 1.21.4
  • 1.21.3
  • 1.21.2
  • 1.21.1
  • 1.21.0
  • 1.20.8
  • 1.20.7
  • 1.20.6
  • 1.20.5
  • 1.20.4
  • 1.20.3
  • 1.20.2
  • 1.20.1
  • 1.20.0
  • 1.31.6
  • 1.32.6
  • 1.33.2
  • 1.34.0
  • 1.19.24
  • 1.19.23
  • 1.19.22
  • 1.19.21
  • 1.19.20
  • 1.19.19
  • 1.19.18
  • 1.19.17
  • 1.19.16
  • 1.19.15
  • 1.19.14
  • 1.19.13
  • 1.19.12
  • 1.19.11
  • 1.19.10
  • 1.19.9
  • 1.19.8
  • 1.19.7
  • 1.19.6
  • 1.19.5
  • 1.19.4
  • 1.19.3
  • 1.19.2
  • 1.19.1
  • 1.19.0
  • 1.18.6
  • 1.18.5
  • 1.18.4
  • 1.18.3
  • 1.18.2
  • 1.18.1
  • 1.18.0
  • 1.17.5
  • 1.17.4
  • 1.17.3
  • 1.17.2
  • 1.17.1
  • 1.17.0
  • 1.16.5
  • 1.16.4
  • 1.16.3
  • 1.16.2
  • 1.16.1
  • 1.16.0
  • 1.15.5
  • 1.15.4
  • 1.15.3
  • 1.15.2
  • 1.15.1
  • 1.15.0
  • 1.14.1
  • 1.14.0
  • 1.13.5
  • 1.13.4
  • 1.13.3
  • 1.13.2
  • 1.13.1
  • 1.13.0
  • 1.12.4
  • 1.12.3
  • 1.12.2
  • 1.12.1
  • 1.12.0
  • 1.11.2
  • 1.11.1
  • 1.11.0
  • 1.10.4
  • 1.10.3
  • 1.10.2
  • 1.10.1
  • 1.10.0
  • 1.9.6
  • 1.9.5
  • 1.9.4
  • 1.9.3
  • 1.9.2
  • 1.9.1
  • 1.9.0
  • 1.8.5
  • 1.8.4
  • 1.8.3
  • 1.8.2
  • 1.8.1
  • 1.8.0
  • 1.7.3
  • 1.7.2
  • 1.7.1
  • 1.7.0
  • 1.6.12
  • 1.6.11
  • 1.6.10
  • 1.6.9
  • 1.6.8
  • 1.6.7
  • 1.6.6
  • 1.6.5
  • 1.6.4
  • 1.6.3
  • 1.6.2
  • 1.6.1
  • 1.6.0
  • 1.5.9
  • 1.5.8
  • 1.5.7
  • 1.5.6
  • 1.5.5
  • 1.5.4
  • 1.5.3
  • 1.5.2
  • 1.5.1
  • 1.5.0
  • 1.4.15
  • 1.4.14
  • 1.4.13
  • 1.4.12
  • 1.4.11
  • 1.4.10
  • 1.4.9
  • 1.4.8
  • 1.4.7
  • 1.4.6
  • 1.4.5
  • 1.4.4
  • 1.4.3
  • 1.4.2
  • 1.4.1
  • 1.4.0
  • 1.3.18
  • 1.3.17
  • 1.3.16
  • 1.3.15
  • 1.3.14
  • 1.3.13
  • 1.3.12
  • 1.3.11
  • 1.3.10
  • 1.3.9
  • 1.3.8
  • 1.3.7
  • 1.3.6
  • 1.3.5
  • 1.3.4
  • 1.3.3
  • 1.3.2
  • 1.3.1
  • 1.3.0
  • 1.2.6
  • 1.2.5
  • 1.2.4
  • 1.2.3
  • 1.2.2
  • 1.2.1
  • 1.2.0
  • 1.1.0
  • 1.34.1
  • 1.33.3
  • 1.31.7
  • 1.31.8
  • 1.33.4
  • 1.34.2
  • 1.34.3
  • 1.31.9
  • 1.34.4
  • 1.31.10
  • 1.35.0
  • 1.31.11
  • 1.35.1
  • 1.31.12
  • 1.31.13
  • 1.35.2
  • 1.31.14
  • 1.36.0
  • 1.36.1
  • 1.35.3
  • 1.31.15
  • 1.31.16
  • 1.35.4
  • 1.36.2
  • 1.37.0
  • 1.37.1
  • 1.36.3
  • 1.35.5
  • 1.35.6
  • 1.36.4
  • 1.37.2
  • 1.38.0
  • 1.38.1
  • 1.35.7
  • 1.37.3
  • 1.38.2
  • 1.37.4
  • 1.39.0
  • 1.35.8
  • 1.37.6
  • 1.38.3
  • 1.38.4
  • 1.39.0
  • 1.35.9
  • 1.38.5
  • 1.39.1
  • 1.39.2
  • 1.35.10
  • 1.39.3
  • 1.38.6
  • 1.35.11
  • 1.38.7
  • 1.39.4
  • 1.40.0
  • 1.35.12
  • 1.39.5
  • 1.40.1
  • 1.35.13
developer
  • Wikimedia Foundation
Stack Exchange tag
Commons gallery
  • MediaWiki
inception
  • +2002-01-25T00:00:00Z
image
  • Property type 'commonsMedia' not supported yet.
  • Property type 'commonsMedia' not supported yet.
software quality assurance
  • continuous integration
award received
  • Les Trophées du Libre
  • STUG Award
file format
  • MediaWiki wikitext
motto text
  • Because ideas want to be free.
instance of
  • free software
  • collaborative wiki software
maintained by WikiProject
  • WikiProject MediaWiki
publication date
  • +2002-01-25T00:00:00Z
influenced by
  • UseModWiki
has use
  • wiki
logo image
  • Property type 'commonsMedia' not supported yet.
  • Property type 'commonsMedia' not supported yet.
  • Property type 'commonsMedia' not supported yet.
  • Property type 'commonsMedia' not supported yet.
platform
  • cross-platform
uses
  • web server
  • relational database management system
different from
  • Wikimedia
  • Wikipedia
  • MediaWiki.org
operating system
  • GNU/Linux
  • Microsoft Windows
  • macOS
  • BSD
  • cross-platform
  • Linux
  • FreeBSD
  • OpenBSD
  • Solaris
copyright status
  • copyrighted
contributor to the creative work or subject
  • Brion Vibber
  • Magnus Manske
  • Lee Daniel Crocker
  • Sam Reed
  • Jeroen De Dauw
  • Niklas Laxström
  • Tim Starling
  • Kunal Mehta
  • Roan Kattouw
  • [No label]
maintained by
  • Sam Reed
mailing list archive URL
social media followers
  • +3826
icon
  • Property type 'commonsMedia' not supported yet.
small logo or icon
  • Property type 'commonsMedia' not supported yet.
has part(s)
  • OOUI
  • MediaWiki shell framework
  • MediaWiki user interface
described by source
  • MediaWiki
FAQ URL
user manual URL
IRC channel URL
pronunciation audio
  • Property type 'commonsMedia' not supported yet.
has goal
  • extensibility
build system
  • Grunt
official demo URL
translation contribution URL
credits URL

RSS feed icon. RSS feed for the "MediaWiki" tag

Authority Control:
— Dewey Decimal Classification: 006.75 — GND ID: 7629446-8 — Freebase ID: /m/01vw7p — Open Hub ID: mediawiki — Free Software Directory entry: MediaWiki — Quora topic ID: MediaWiki — File Format Wiki page ID: MediaWiki — Debian stable package: mediawiki — Ubuntu package: mediawiki — Framalibre ID: mediawiki — Arch Linux package: mediawiki mediawiki-math — Twitter username: mediawiki — Pro-Linux.de DBApp ID: 3995 — Repology project name: mediawiki — Gentoo package: www-apps/mediawiki — FreeBSD port: www/mediawiki133 www/mediawiki131 www/mediawiki134 www/mediawiki www/mediawiki135 www/mediawiki132 — AUR package: mediawiki-lts mediawiki-math-lts — OmegaWiki Defined Meaning: 1526074 — French Vikidia ID: MediaWiki — English Vikidia ID: MediaWiki — Spanish Vikidia ID: MediaWiki — NetBSD package ID: www/mediawiki — OpenBSD port: www/mediawiki — subreddit: mediawiki — Docker Hub repository: library/mediawiki — BabelNet ID: 02591762n — SILL software ID: 86 — Facebook ID: MediaWikiProject — AlternativeTo software ID: mediawiki — Zhihu topic ID: 19611014 — GitHub topic: mediawiki — Fandom article ID: uk.vijskpens:MediaWiki — Catalan Vikidia ID: MediaWiki — Australian Trade Mark Number: 1515327 2223564 1671256 — OSDN project: freshmeat_mediawiki — Namuwiki ID: 미디어위키 — FAST ID: 1787011 — Common Vulnerabilities and Exposures ID: CVE-2022-41767 CVE-2022-41765 — Mastodon address: mediawiki@wikis.world — SourceForge project: wikipedia — Open Library subject ID: mediawiki_(electronic_resource)


  1. A new extension this week: CopyCreds

    The CopyCreds extension registers two new tags <pw> and <un>, which make the text inside them visually distinctive, and allows for click-to-copy. The goal is to make life easier for those who document usernames and passwords in MediaWiki.

    I like the idea of a simple click-to-copy system for a wiki, but I’m not sure it warrants two new tags. Personally I’d prefer something like <copy class='pwd'>foo</copy> or something like that, with a means to customize the colour etc. of the displayed value. Actually, maybe that’s what CopyLink does. There used to be one called CopyToClipboard which also did something similar.

    Maybe someone should write the Copyencabulator 2000, to unite them all…

  2. In two places yesterday I noticed MediaWiki wikis with slightly odd phrasing relating to their site names:

    • under the login form a button that says “Join Join the Fediverse” (message userlogin-joinproject) which has a repeated word; and
    • in the sidebar of Vector-2022 a box with “On this Example Inc. the language links are at the top of the page across from the article title.” (message vector-language-redirect-to-top) which makes the assumption that there are more wikis with this name (which is true for wiki-per-language setups such as Wikipedia).

    There are many other uses of the site name in messages, and of course any wiki with a site name that makes these messages sound funny should probably be overriding the messages locally (as we did on the WMAU wiki where ‘Join Wikimedia Australia’ has a different meaning to ‘Create an account’).

  3. Someone asked about how to send an email if a MediaWiki page hasn’t been updated in a year, and it reminded me of an extension I wrote in 2013 that was for just that sort of thing. It was quite cool, for the year or so we used it.

    It was on a wiki that stored information about fleet maintenance and tools and things (documentation sorts of stuff mostly), and people wanted to be reminded of pages that they needed to review on a regular basis. It could target things quite well, so people wouldn’t get emails if other people had already done the review, and I think that helped with the response rate to the emails actually being quite high (although maybe that was just because the whole project was closed down after a year and people didn’t have time to get sick of it).

  4. MediaWiki extensions have two basic options for releasing: one (called rel) is to have a separate branch for each major[^1] version of core; the other (called master) is to only have one branch and to make it compatible with as many versions of core that the maintainer wants (hopefully all current versions). Extensions also have a version number of their own, and for years it’s confused me. I think that it doesn’t make sense to have a version number with a rel compatibility policy. It does make sense for master (and in that case, the automatically-created REL1_* branches should be deleted).

    [^1]: note that MediaWiki doesn’t use Semantic Versioning, so it’s not the first number; that’s always 1.

  5. I added a new parameter to the LinkCards extension this evening, so that it can show multiple cards on multiple lines — an image gallery, if you will. I like the built-in <gallery> syntax, but it’s nice to be able to link to something other than the image, and people usually seem to expect to be able to click on any part of a gallery item: the image, title, or description, and that’s how LinkCards does it.

    It might seem weird to make an extension to do what can pretty much be done with templates on their own, but it’s nice to be able to test locally and deploy to multiple wikis. I’m sure there’s better ways to do it, but why think too hard when there’s code waiting to be written! :-P

  6. Another new MediaWiki extension this week, by Octfx:

    The MultiPurge extension allows the purging of pages from multiple caches in a defined order. It was developed to allow the use-case of first purging data from a varnish cache, and then from CloudFlare.

  7. I’m trying to automate some more of MediaWiki’s accesskey documentation, and in doing so found these four errors with qqq.json:

  8. It’s only 10 o’clock on Monday morning, and I’m already three bugs deep in a queue of “oh, I’ll just have a quick look at why that thing isn’t working.” I wanted to confirm the way in which WikiEditor loads the CSS that disables the resize: none on the main edit form textarea. But of course I’m doing so with PHP 8.1 (for a laugh) and so hit a deprecation notice, so fixed that, and now am getting Error: Class "FormatJson" not found… everywhere. I think it’s a weirdness with LocalisationCache. The question is whether I’ll remember what I was trying to do an hour ago, after I’ve figured this one out. Probably not, but a feint feeling of enqueued context will persist for the rest of the day, making sure I keep feeling worried. Oh well.

  9. I have updated the MediaWiki Diagrams extension to support Mermaid diagrams. Actually I wrote the code a while ago, but today got around to merging and releasing it.

  10. I was writing some user documentation for RedirectManager just now, and wrote this sentence-and-a-bit:

    If you provide a name of an existing page to create as a redirect, an error message will be shown and no redirect will be created. Similarly, if you

    I was going to say something about how it’s not possible to create a redirect to a page that doesn’t exist. This isn’t a limitation of MediaWiki, but when I was writing the RedirectManager API I thought it would be good to prevent these “dangling redirects”. It wasn’t until I came to write the documentation that I realised the most obvious use-case: creating a redirect to a page that you’re in the process of creating! As in, while writing a new page, you want to add a shortcut to it — hardly a rare thing, I think.

    This is why I really like “documentation-driven development”, where one writes the docs first and pretends that they’re describing features that already exist. It really does help focus the mind on what’s required of the code, and (as in today’s example) highlights things that might otherwise be overlooked.

    So I’ll now go and change the API error to a warning, and not show it at all in the UI (although it might be worth having some indication that the target page doesn’t exist).

    https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:RedirectManager