User:Dantman/Interwiki improvement


 * For backwards compatibility the Interwiki::load interface to listing interwiki links may be retained as a primary interface for fetching an interwiki.
 * The interwiki system should work in a file repository like way:
 * Multiple repository types like database (the current way), flat files (csv, json, tabulated, etc...), flat files over http.
 * Each repository will need a ->list( ... ); function, the overall static interface will need a list that will list over the listing interfaces in each instance. This will replace the use of $db->select to list interwiki items.
 * Tip: Theoretically if you sort prefixes in each ->list it is possible to do an overall list that does not require (did we do this one before) checks on a long list when dealing with fallback interwiki sources. As you can do greater than or less than checks while listing.
 * Instead of pre-loading interwiki links into the database in new installations we can just maintain a standard built in csv file as a fallback (which we can actually update).

 do we even need half those entries in the default interwiki list >.>  p858snake|l, agreed..... we should also make it easier to modify, and share bundles of lists...  Actually... I'd argue we might not necessarily even want the db as our only list  I just created a new wiki recently... and it's somewhat related to two other wiki I made in the past...  they  they don't necessarily share the same interwiki db, but it would've made much more sense to have one shared batch of iw mapping of a name for each wiki mapped to the url...  So that when I add a new wiki, each wiki shares the new interwiki and the new wiki gets the links automatically  db format, flat files, csv, json, tabulated, etc... something that supported multiple inputs like our file repos  We could stop importing that db for new wiki, and just fallback to a default csv  ((which we can actually update with the software)) ;)  file formats over http too