Page MenuHomePhabricator

Implement a way to setup multiple interwiki sources
Closed, DeclinedPublic

Description

Rather than having a single interwiki table local or shared it would be better to allow the source for interwiki prefixes to be specified in site config and allow for multiple sources being specified in a list such that prefixes fall back to the other sources when not found in one.

Our interwiki database would become one type of interwiki source, an interwiki database source. We would also add in support for other interwiki source types such as CSV, CDB, perhaps an xml file, the | separated format we had lying around, etc...

Rather than inserting interwiki prefixes into the database on installation we could also instead directly reference a source interwiki file inside core as the last fallback.

Our default config would include a file default to the default interwiki links in core, and a database source pointing to the local or shared (depending on settings) with our default database connection.

Sites would be able to configure it however they want. They could drop the interwiki database and edit simple text files for their interwiki links instead. They could have multiple interwiki sources such as a central interwiki table, and also have a local one so that links can be overridden. Or even better in large setups like Wikimedia there could be a global central interwiki table, a project level interwiki table for interlanguage links and some overrides, and project local interwiki tables for specific overrides desired by the local community.


Version: 1.20.x
Severity: enhancement
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=57131

Details

Reference
bz31593

Event Timeline

bzimport raised the priority of this task from to Lowest.Nov 21 2014, 11:51 PM
bzimport set Reference to bz31593.
bzimport added a subscriber: Unknown Object (MLST).
Krinkle subscribed.

Closing for now. I do not think it is worth the complexity in MediaWiki to support multiple "live" source of interwiki mapping.

As a site administrator you can pick one of the supported sources (cdb file, php file, config array, or database table).

If internally multiple sources are desired, these can be aggregated and deployed as a single source.