SUL finalisation
Group: | Platform |
Start: | ??? |
End: | ??? |
Team: | Kunal Mehta, Chris Steipp, Dan Garry, Bryan Davis, Brandon Harris |
Status: | See updates |
SUL finalisation would unify user accounts across all Wikimedia wikis.
Contents
Status[edit | edit source]
To help users with local-only accounts that are going to be forcibly renamed due to the SUL finalisation, the team is working on a form that lets those users request a rename. These requests will be forwarded onto the stewards to handle. The SUL team is currently in consultation with the stewards about how they would like this tool to work. When this consultation is wrapped up, the team will begin design and implementation.
To help users get globally renamed without having to request renames on potentially hundreds of wikis, the team implemented and deployed GlobalRenameUser, a tool which renames users globally. As the tool is designed to work post-finalisation, it only performs renames where the current name is global, and the requested name is totally untaken (no global account and no local accounts exist with that name).
To help users who get renamed by the finalisation and, despite our best efforts to reach out to them, did not get the chance to request a rename before the finalisation, the team is working on a feature to let users log in with their old credentials. The feature will display an interstitial when they log in, informing them that they logged in with old credentials and that they need to use new ones. We are also considering a persistent banner for those users, so that they definitely know they need to use their new credentials. An early beta version of this feature is complete, and now needs design and product refinements to be completed.
To help users who get renamed by the finalisation and, as a result, have several accounts that were previously local-only turned into separate global accounts, the team is working on a tool to merge global accounts. We chose to merge accounts as it was the easiest way to satisfy the use case without causing further local-global account clashes that would cause us to have to perform a second finalisation. The tool is in its preliminary stages.
The team also globalised some accounts that were not globalised but had no clashes. These accounts were either created in this local-only form due to bugs, or are accounts from before CentralAuth was deployed where the user never globalised. As these accounts had no clashes, there were no repercussions to globalising these accounts, so we did this immediately.
At present, no date has been chosen for the finalisation. The team plans to have the necessary engineering work done by the end of the quarter (end of September 2014), and have a date chosen by then.
Next month the team plans to continue work on these features.History[edit | edit source]
Originally, Wikimedia wikis operated completely independently from each other, with separate user accounts and passwords for each wiki. CentralAuth was created to let users log in with the same credentials across multiple wikis, but as the wikis operated independently for years there were thousands of clashing accounts, i.e. cases where different people had registered the same name on different wikis. These clashes prevent those affected from logging in with the same name across all wikis.
Project Goal[edit | edit source]
The goal of the SUL finalisation is to forcibly rename any clashing user accounts so that every single user has their own single unified login across all Wikimedia sites.
Project Duration[edit | edit source]
TODO: Fill this out
Backlog[edit | edit source]
Necessary prior code/ops steps[edit | edit source]
Done : ACTION: ?? to run the pass0 script to clean up data; updated stats review
Done: PG's AccountAudit extension deployed and $wgCentralAuthAutoMigrate enabled on 2013-05-10 (allows gradual automatic merging by users on login).
In progress : ACTION: ?? to run the migrateAccount script for non-conflicting users, in order:
Done the bulk Merge 10k users who only exist on one wiki, and are not attached
Done the bulk Merge 18k incorrectly unattached users and 3k LUGM
Done, but effects to be verified Iterate over all unattached accounts with email and, where all accounts for a username have the same (confirmed) email, merge them all.
- Send emails to make 50k global accounts claim all their local unattached accounts (gives 28 days time)
- Figure out other cases which need no manual intervention
- Next steps (parallel):
- Hoo? – Review lego's patch for 4
- Depends on stats DB
Done
Done : Finalize the global rename user tool and get deployed
- Note that renamed users MUST have their cookie invalidated.
- Next step:
Done Legoktm, CSteipp, Hoo man - Merge https://gerrit.wikimedia.org/r/#/c/92468/ and test on beta
Done CSteipp, Hoo man, Legoktm - deploy on cluster and test. Planned for July 9th.
Done We need the ability to re-run metrics like these
- Setup DB for tracking unattached user in the cluster
Ops: rt #7775CSteipp? - Scripts to synchronize user tables
- Next step:
In progress Legoktm helped by Roan – Scripts for updated stats
- Setup DB for tracking unattached user in the cluster
In progress : Add sufficient unit tests to CentralAuth to prevent regressions
- Next steps:
- Hoo man - reworking rename architecture for testability
- CSteipp - Add more tests
- Next steps:
Done : Run pass0 again, to ensure localnames and globalnames are accurate
- Legoktm - See updates at bugzilla:67350.
Not done : Write & deploy new code for auto-login-to-alternate account.
- ("You logged in as 'Foo' but your username has been automatically changed to 'Foo~Barwiki' - please use this in future")
- Started as Gerrit change 61074
- Next steps:
- Needs UX input
- ("You logged in as 'Foo' but your username has been automatically changed to 'Foo~Barwiki' - please use this in future")
Not done: CS to write & deploy clashing-user-rename-and-globalise script.
- Note that a single user with multiple local accounts that clash with a global account need to be renamed to a single global account named after the “home wiki” per the same code that Special:MergeAccount uses
Desirable prior code/ops steps[edit | edit source]
Not done: Write & deploy global user merging so two global users can be merged together
Not done: Write & deploy a tool for local ‘losing’ users to check a proposed new account name (check against clashing global and local users, and also against the global user account name rules) and request it be done.
- This needs to integrate with Stewards current rename workflow
- Depends on Global Rename tool
- Next steps:
- DGarry (WMF) - Requirements and UX input
Project pages[edit | edit source]
- Global rename
- older implementation (historical, outdated)
- User documentation for tool
See also[edit | edit source]
- SUL documentation:
- m:Help:Unified login, official docs
- w:Wikipedia:Unified login (quite different, including the subpage w:Wikipedia:Unified login/Finalisation)
- Extension:CentralAuth
- Bugzilla:35707 – Complete unification of all accounts to SUL
- m:Single login specifications (historic, notes)
- Admin tools development