Admin tools development/Global rename
Patch: gerrit:92468 Bug: bugzilla:14862
- How it works
- Status of a user's rename is stored in the centralauth.renameuser_status table
- This table is intended to be small and constantly updating
- Steward goes to Special:GlobalRenameUser, and starts the process
- The globaluser table is updated
- Jobs are queued on each wiki where the account is attached. Each job:
- Updates the wiki's row in renameuser_status to "inprogress"
- runs the RenameuserSQL code, which updates the user rows, log entries, and queues more jobs for revision and archive tables
- Using the RenameUserComplete hook, update the localnames table. This preserves the attached date/method columns.
- moves the user's userpages if that option was selected. The steward is assumed to have the proper rights to do so.
- Delete's the wiki's row in the renameuser_status table
- A log entry is added to the wiki from where the rename was started
- If a rename is in progress, a user who tries to login to either the old name or the new name, will not be able to do so.
- A hook is added to UserLoadFromSession which also does a similar check
- Special:RenameProgress will show what wikis are still being updated for a specific user