--- Comment #1 from Brion Vibber <> 2011-01-28 01:02:40 UTC ---
For comparison, here's how we do it in StatusNet:

* Each site has a 'nickname' used as an internal identifier, which never
changes. This is used in multi-site data structures such as job queues.
* Local configuration, or a 'status_network' table for multi-site farms, can
provide additional mapping between nickname, database hostname & database name,
and domain name or URL path
* domain names or URL paths are used as the primary user- and admin-visible
identifier for choosing which site to work with (via vhost on web or parameter on command-line scripts)

So to handle the Wikimedia-style cases, a central site mapping table might list
for each row at *minimum*:

* database name ("enwiki")
* site family ("wiki"/"wikipedia")
* language/section subkey ("en")
* hostname ("")

If we're actually using a mapping table instead of trying to manually break
apart or build up from prefix/suffixes all the time, that might actually be

That would allow continuing to use the dbname as an internal key, while
allowing language codes or domains to be altered.

However, in places where we expose db names (such as cross-wiki user
management), we should consider displaying and selecting from canonical
hostnames ('') or language+family ('en.wikipedia') as a
UI-friendly form, so that things that look like they don't match are no longer
an issue.

Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

Wikibugs-l mailing list

Reply via email to