Interwiki integration

This page is for proposing and discussing interwiki integration ideas. These ideas seek to fix the following bugs, while also enabling more interconnection among the wikis of the wikisphere as a whole, in ways not contemplated by these bugs:

Create wikispaces and langspaces in central database
Create a central database/website as a clearinghouse for interwiki data sharing. Have local wikis retrieve data from it (e.g. for producing interwiki watchlists, recentchanges, and existence-detecting links) via the backend, and allow remote wikis to either (1) pull data from it or (2) subscribe to a service in which the clearinghouse website will periodically push updates to those remote wikis via their APIs. The shared central database will contain wikispace and langspace fields, in addition to the already-supported namespace fields, in the appropriate tables. Pages would be accessible as follows:

This will enable both existence-detecting links to "absolute" addresses (e.g. http://wikimedia.org/wiki/wikipedia:en:Portal:Geography ) and (as is already the case) to "relative addresses" (e.g. http://en.wikipedia.org/Portal:Geography ). As is already the case, users would not necessarily need to type in the full page title (including wikispace and langspace); if the user is on, say, enwiki and types in Portal:Geography, the software will assume he means wikipedia:en:Portal:Geography.

Implementation
Make necessary changes to dozens/hundreds of core and extension files. E.g. parameters will need to be added to many functions, and new variables will need to be added to many class objects. Many aspects of the user interface, including special pages and the API, will need to be revised to make use of the new fields. In the central database, add the following database fields, and implement the associated functionality to make use of them:

Advantages

 * Allow for integrated watchlists, integrated RecentChanges, interwiki page existence detection, etc.
 * Allow one database query to be run on the entire wiki farm without the need to UNION or JOIN a bunch of different databases.

Disadvantages

 * Could be hard to implement, requiring hundreds of changes to the core and extensions.

Rejected ideas
There was an idea to consolidate all local wikis' databases into one big database with different wikispaces and langspaces: "All configuration settings will need to be unified for the one big wikifarm, which might require changing some of them to arrays in order to maintain customizability of individual wikis." This idea was rejected due to performance concerns related to the difficulty/impossibility of scaling such a huge database to a multi-server system, and the probable difficulty of getting the community to accept such an extensive revision of core code.