OK, here's the plan:
1. We disallow the creation of new users (for the following, which won't take long)
2. We add a "user_single_id" field in the user table of each wikipedia, initially 0
3. We generate a list from all wikipedias, containing user name and user password hash
4. We merge every two entries on our list (#3) that have both the same name *and* the same password hash (same name and password = same user)
5. We create a new, separate user database
6. We fill it with all unique user names from our list, and fill the "user_single_id" for every user with that name in all wikipedias the "user_id" from the new database
7. We generate a new user in our new database for each remaining 'double' from out list; its password hash is blanked
8. We allow creating user names again (see, didn't take *that* long:-) with the following mechanism:
* New users can *only* be created if that user name isn't already taken in the new database, where it will then be added * The 'local' wikipedia database gets a new user account as well, with the "user_id" set to the "user_single_id" from the new database
A user trying to log in evokes the following rules: * If there is no user in the local database with that name, password is checked against the new database; if it matches, a local account is created * If the "user_single_id" is *non-zero*, password is checked against the new database * If the "user_single_id" is *zero*, password is checked against the local database
For any user with a conflicting user name, that means (s)he can still log on to the usual wikis, but can't create new accounts on other wikipedias under that name.
REASOING: * Easy to set up (new db and a script) * Minor changes to the MediaWiki scripts (login and preferences only) * Minor changes to the database (adding a single field) * Everyone can keep working under his/her username * Most users can instantly enjoy the new, unified login * Conflicting user names can be easily listed and resolved in time * New functions (My contributions/Watchlist/Recent changes in all wikipedias) can be introduced over time
Comments? Volunteers? ;-)
Magnus
Holy crap, that's a lot of work.
What about just tagging articles in cur and old with a language code ('en', 'fr', 'akk'), and putting them all in one big database?
Users' interface language (the navitorial stuff) is determined by their browser settings.
That doesn't solve the problem for other wikis (-tionary, -books), but it does cut down on a lot of differences. Also, it makes interwiki links a lot easier to detect and fix.
~ESP
Evan Prodromou wrote:
Holy crap, that's a lot of work.
For the task at hand, I don't think it is. The to-do-list is just very detailed.
What about just tagging articles in cur and old with a language code ('en', 'fr', 'akk'), and putting them all in one big database?
How would that lead to a single log-in? And all the user IDs for the edits would be wrong. You'd have to renumber all of them, both in cur and old, as well as in user. And then, how to unify the user table? Just add'em as they come? Half a dozen "Magnus Manske" users in the user table? You'd have to merge them somehow. Wait - that's my proposal... ;-)
Users' interface language (the navitorial stuff) is determined by their browser settings.
We can do that already without changing anything in the database. But IMHO that'd be a bad idea. Better, in my proposed new user database, let the user *choose* the interface language.
That doesn't solve the problem for other wikis (-tionary, -books), but it does cut down on a lot of differences. Also, it makes interwiki links a lot easier to detect and fix.
Well, my proposal *would* solve the problem for wiktionary/wikibooks. And I already had an interwiki management demo running once, with separate databases. The main point with interwiki links is to get them out of the article source and into a decent table. It would make sense to generate a single table for all interwiki links, granted. It could reside in the same database as my new user table. Which is exactly what I proposed about a year ago...
Magnus
"MM" == Magnus Manske magnus.manske@web.de writes:
Me> What about just tagging articles in cur and old with a language Me> code ('en', 'fr', 'akk'), and putting them all in one big Me> database?
MM> How would that lead to a single log-in?
I refuse to take responsibility for my uninformed comment!
Yes, you're right, of course. I wasn't thinking straight. Anyways, I just wanted to make sure that we're moving forward with this:
http://meta.wikipedia.org/wiki/Proposal_on_language_integration
MM> We can do that already without changing anything in the MM> database. But IMHO that'd be a bad idea. Better, in my MM> proposed new user database, let the user *choose* the MM> interface language.
I'd say: browser settings by default, overrideable by user preference.
~ESP
On Thu, Apr 22, 2004 at 08:13:14PM +0200, Magnus Manske wrote:
- We merge every two entries on our list (#3) that have both the same
name *and* the same password hash (same name and password = same user)
Uhm, but I don't have the same password on different Wikipedias. In fact I don't use any password unless I'm a sysop.
Is it unusual ?
Tomasz Wegrzanowski wrote:
On Thu, Apr 22, 2004 at 08:13:14PM +0200, Magnus Manske wrote:
- We merge every two entries on our list (#3) that have both the same
name *and* the same password hash (same name and password = same user)
Uhm, but I don't have the same password on different Wikipedias. In fact I don't use any password unless I'm a sysop.
Is it unusual ?
I don't know if that's unusual. I, for one, use the same password on all wikipedias. Anyway, nothing would change for you through my proposal, except that you can't create new users of the same name anymore. That is, until we resolved all instances of your user name belonging to you. Then we'd merge it like we did the others.
Magnus
Am Freitag, 23. April 2004 09:31 schrieb Magnus Manske:
Tomasz Wegrzanowski wrote:
On Thu, Apr 22, 2004 at 08:13:14PM +0200, Magnus Manske wrote:
- We merge every two entries on our list (#3) that have both the same
name *and* the same password hash (same name and password = same user)
Uhm, but I don't have the same password on different Wikipedias. In fact I don't use any password unless I'm a sysop.
Is it unusual ?
I don't know if that's unusual. I, for one, use the same password on all wikipedias. Anyway, nothing would change for you through my proposal, except that you can't create new users of the same name anymore. That is, until we resolved all instances of your user name belonging to you. Then we'd merge it like we did the others.
I think Thomas means, that it is not unusal to have no password. If two different users with same name on different wikipedias and empty password exists they will be merged. But may we can filter this special case.
--Ivo Köthnig
wikitech-l@lists.wikimedia.org