Hello,
I am new at wikitech-l, so I dont know what is said before to the theme "sinle-sign-on" (yes I know I could read the archive and I tried, but it is too long for today :-)...) but here are some thoughts from me...
If I`ve got it, we have 3 main problems:
1. There could exists users on different lang-WPs with the same name. 2. There is no (good) way to find out automatically which accounds with the same name in different lang-WPs belong to different persons and which belong to the one person. 3. We have actually no good solution for the first problem but as long as we wait the problem gets larger.
So we should think first about to solve the third problem. This should be very easy since we just have to create a new account in a new database for each account in the old databases. Each account gets a new ID, the old name, says from which lang-WP it is and which ID belongs to it there (and all the other stuff belonging to the account).
If someone creates a new account, he/she has to take a name which is not used in the new DB. A new account creates a new entry in the new database without pointing to an lang-WP and an ID.
The lang-WPs have to use the new user-DB (and before that should be translated to this, meaning the IDs has to be changed in the right way).
If this is done, the old user-dbs can be thrown away. (But we still need the rows with the pointers to the old lang-WPs and the corresponding ID in the new database as I will explain below.)
Thus we have the following situation: we have one single new user-database, where it is allowed just for old uses to have accounts with the same name like other users (or have more as one account with the same name).
These users have one big problem, they have to use there new ID to log in, so they have a reason to solve there name-conflicts as described below.
Now we have everything we wanted and just the small name-conflict-problem described above.
In the second step we have time to solve the problem with the names.
We could send automatically E-Mails to all accounts which have no unique name (if the adresses are known) telling them which (new) IDs belong to the old accounts (by telling them from which lang-WP there are, we even could tell them there old ID: Ahh, for this we still need the informations!) and invite them to merge the accounts which belongs to them! (Of course this needs a special formular, where you have to enter the new IDs, and the old (and new) password for each ID. Merging accounts could be a new feature of course).
We even could give them (and all others) the possibility to change there name (which also should be a new feature), but of course just to unique names which does not exist. This feature is somehow special, since for several reasons the old name should be save for a longer time, i.e. it should not be allowed for other persons to choose it for this time (but this is another topic).
Thus the new user-database can be cleaned up to a better level. If there would be users which does not want to change there name to solve the name-conflict with other persons they can mark there account(s) as "under conflict". This may will be the hard problems later.
After a while each account, whichs is not marked as "under conflict", but has a name-conflict with an other account is changed automatically to a new name (gets a additional number in the end of it...).
This may solves some "under-conflict"-accounts since may all other accounts with the same name are may changed, cause they was not marked as "under-conflict".
What to do with the rest could be discussed later...
Regards Ivo Köthnig