Requests for comment/Future of magic links

Jump to: navigation, search
Request for comment (RFC)Requests for comment
Future of magic links
Component General
Creation date 2016-09-14
Author(s) Legoktm
Document status accepted
See Phabricator.


Magic links are a feature of MediaWiki core that create automatic links for 3 hardcoded external identifiers:

For the purposes of this RfC, we are not considering free external links (e.g. typing just to be a magic link.


These are hardcoded, inflexible, un-localizable, and generally unexpected. If this feature were proposed today, it would be rejected in favor of using templates or interwiki links. There have been long standing requests to make them disable-able, move them to an extension, or remove them outright.

In many cases, local templates are preferable and more advanced than magic links. For example, on the English Wikipedia, Template:ISBN checks for invalid ISBNs and adds them to a tracking category for editors to fix up.


As of gerrit:309528 it is now possible to disable magic link functionality using $wgEnableMagicLinks. Our eventual goal should be to remove all magic link functionality from MediaWiki core. While moving them to an extension would allow us to remove them from core, it would probably entrench magic links even deeper in the parser as we would need a mechanism and hook system to support an extension to add magic links.

Instead, we should:

  • YesY Done Add a tracking category (via ParserOutput::addTrackingCategory()) to any page that uses a magic link (3 categories, one for each link type)
  • Add a {{ISBN:...}} parser function that replicates the functionality of the magic word (validation and linking to Special:Booksources).
    • It has also been suggested that we could use a "ISBN" virtual namespace that redirects to Special:Booksources
    • Discussion on phab:T148274 is still ongoing.
  • VisualEditor and other editing tools would continue to support ISBN/RFC/PMID "magic" links as they do, but convert it to a proper link client-side.
  • YesY Done RFC and PMID should be added to the Wikimedia interwiki map and the MediaWiki default one if they aren't already.
  • YesY Done In the MediaWiki 1.28 release, default magic links to being disabled. Wikimedia wikis would still have it enabled for now.
  • In progress In progress Encourage users to migrate to using the parser function and interwiki links or local templates (e.g. w:Template:ISBN), probably using bots and other assisted tools.
  • Remove magic link capabilities in MediaWiki 1.30 (1 year later, also LTS).
    • Update: this part was controversial, and will be re-evaluated based on the response to disabling by default.
    • We would retain ParserOptions::getMagicISBNLinks() and co. but they will always return false, in order to signal to extensions that the magic links are disabled.
    • Old revisions would no longer have autolinks, but that should not reduce the readability of the content as they are well known identifiers.
    • Move Special:Booksources and the ISBN parser function to an extension.


What for would you do this? It will clutter all the projects with extra template calls and other extraneous crap. Rich Farmbrough 18:03, 27 December 2016 (UTC).

There's concern on enwiki (here, for example) about the loss of the ISBN and PMID magic links. There's also concern about the lack of discussion. The first most of us knew about this was when a bot operator submitted a request to remove the links. Can the disabling of the links be halted so that a wider discussion can be held first? SarahSV (talk) 19:05, 29 December 2016 (UTC)

  • Lets look at one "reason" un-localizable, that issue is just tagged as "won't fix" for "the absence of objections." I would have said that localisation is totally trivial, certainly as easy as localising a set of templates. Rich Farmbrough 23:16, 2 January 2017 (UTC).
Has there been any real discussion on the actual sites? This will have a huge impact. [It seems to me that this change goes against consensus? See Removal of ISBN magic links.] Jeblad (talk) 13:12, 15 April 2017 (UTC)
  • At first I thought this cleanup might be a good idea, then I started to wonder if magic links is just the kind of feature that might solve the currency converter problem. Now we write into articles what a specific currency might be, and how it might be converted to a local currency, but by using magic links for the short three-letter codes we could simply parse out the currency and add a currency converter without cluttering the wikitext. This is not that common, so perhaps it is acceptable to use a parser function in those cases. It would probably not go long before someone have created templates for all currencies, with no real additional functionality, if it is added as a parser function. I would prefer silent parsing of an inline magic link. [Just to be clear; I do not support this RfC.] Jeblad (talk) 13:18, 15 April 2017 (UTC)

See also[edit]