Extension:InterwikiMap

Problem
The list of default interwiki prefixes and URLs is based "more or less on the public interwiki map from MeatballWiki". Aside from the Wikimedia wikis, its approximately 93 items mostly include a rather random assortment of obscure sites, such as Seattle Wiki. The typical wiki owner finds himself needing to add prefixes to the interwiki table even for moderately popular wikis.

Solution
An extension, Extension:InterwikiMap, should be created that periodically polls Interwiki map to get the latest interwiki prefix list, much as Extension:SpamBlacklist polls Spam blacklist for the latest spam blacklist. Extension:Interwiki should be made read-only, and there should be a MediaWiki:Interwiki-addlist and MediaWiki:Interwiki-subtractlist to allow site owners to customize their interwiki lists by adding or subtracting items from meta's list.

There should be a configuration setting,, that lets the site owner select a URL from which to obtain the interwiki list. Then site owners could choose the list they want. It should be an array that allows for fallbacks in case the main URL returns a 404. Some lists might have different criteria for inclusion and dispute resolution. This is a rather wikidynamist approach.

On a new install of the extension, before it starts modifying the interwiki table, it should provide, via special page, to the system administrator a properly formatted copy of the interwiki links so that he can copy and paste it elsewhere. He can then activate the automatic periodic modification.

There are a couple ways these modification can be done. A dummy (or real) account could make logged changes to the interwiki table. Or the interwiki table could simply be updated without any log entries. Perhaps these could be bot changes, so that they wouldn't appear in the recent changes feed.

Collisions
Sometimes an interwiki prefix will be added that collides with a page title. For example, suppose you have a page on your wiki titled Commandos: Behind Enemy Lines. If someone creates a wiki called "Commandos" with the  interwiki prefix, then the page will become inaccessible until you run the appropriate maintenance script to change the title. This could get rather inconvenient.

To obviate this problem, there should also be a Special:InterwikiCollisions page that allows users to view which interwiki prefixes the extension wants to add to the interwiki table but can't because there is a conflicting page title. There should be ArticleDeleteComplete and TitleMoveComplete hook functions that detect when the last conflicting page has been taken care of, so that the interwiki prefix can be automatically added. (Conflicting page titles in the archive table, logging table, and anywhere else they appear, should be "legalized" at that time.)