Now that we have geolookup on pageview, we don't actually need GeoLite anymore. All we really need is an extension that checks to see if a page exists or not. Here's how it should work ideally:
The target for a banner would be set by Javascript to http://www.wikimediafoundation.org/wiki/Special:LandingCheck?target=<pagename>&language=<languagecode>&country=<countrycode> (where the languagecode and countrycode are pulled from global vars). So for example:
http://www.wikimediafoundation.org/wiki/Special:LandingCheck?target=Appeal2&language=fr&country=DE
The new LandingCheck extension would then check to make sure that http://www.wikimediafoundation.org/wiki/Appeal2/fr/DE exists.
If it does, it redirects the user there. If it doesn't, it falls back to http://www.wikimediafoundation.org/wiki/Appeal2/fr
We could also use an optional fallback parameter to override the default fallback. It would also need to be able to pass along other query string params for tracking, etc.
Psuedocode:
if pagename includes "Special:" {
test with SpecialPage::exists()
} else {
test with Title::exists()
}
Version: unspecified
Severity: enhancement