Admin tools development/Roadmap


Active areas[edit]

Global renaming of user accounts[edit]

Overall status
Code tasks
  • In progress In progress - gerrit:39171 Create a tool that is essentially a global version of the pre-existing RenameUser extension, which allows privileged users (stewards on WMF sites) to rename global accounts.
    Adjustment to provide a limit for accounts with fewer than 5,000 edits globally, for performance concerns.
  • Longer-term, we will need a solution for renaming accounts with 5,000 or more global edits.

Global blocking of user accounts and anonymous IP addresses[edit]

Overall status
Code written; to be deployed
Code tasks
  • Yes Done - In 1.21wmf11 In CentralAuth provide a mass account-locking (200 accounts at a time) tool.
  • Yes Done - Global (and local) blocking based on XFF headers bugzilla:23343 - Prevent edits that use multiple proxies if one proxy in the chain is blocked

Global CheckUser tool[edit]

Overall status
Requirements somewhat gathered; awaiting developer time.

Global AbuseFilter tool[edit]

Overall status
Code written; deployed to test2, test, mediawiki
Code tasks

SUL Audit[edit]

Overall status
Databases are ready for querying, ongoing
  • Yes Done - Procure hardware (db29), slave s7.centralauth, and load all other user tables
  • In progress In progress - Creating and running queries
  • In progress In progress - Initial scripts to migrate non-clashing users ("pass0" and "pass1" or their replacements)


  • In progress In progress code review bugzilla:12518 - Fix cross-wiki userrights reflects groups on local wiki, not target wiki - code in gerrit:36330
  • Yes Done shell request 43913 - Fix all "User@metawiki" entries to just "User" in the meta user rights log; requires just a single SQL query to be run (probably via maintenance/runBatchedQuery.php) by shell users.

Open tasks[edit]

  • Finalise Single User Login (SUL) to forcibly rename all clashing local accounts. (Blocker for Echo and Flow; OAuth etc.; …) - see SUL Audit, above.
  • Replace Single User Login with simpler system (shared DB?) to pay down technical debt.
  • Evaluate the effectiveness of the current CAPTCHA system (ConfirmEdit extension) and look into possible new CAPTCHA systems or other alternative ways of verifying that the editor is a human being and not a bot.
    This is necessary because nowadays bots can crack most CAPTCHAs easily and still post their spam, whereas the blurry word is a great inconvenience to some human editors (see also bugzilla:5309 about internationalization concerns) and has the potential to raise the barrier of entry for humans.
    Some ideas and insights in this e-mail thread: Captcha for non-English speakers II.
  • Set up a git repository for the Phalanx extension, clean up the code and fix whatever bugs there are, and evaluate the possibility of enabling Phalanx on WMF wikis (with Meta-Wiki as the central database, i.e. the database where its tables will be stored in).
    This could address a number of previously identified issues, such as merging the previous ad hoc anti-spam tools into one powerful tool and keeping the lists on database instead of on wiki pages.
    See admin tools development/Phalanx for some initial thoughts and concerns.
    See also 27988
    Yes Done - The e-mail black list (which prevents account registration or sending e-mail using matching addresses) is currently split into a file that only shells can access, or an entirely-public list on Meta-Wiki. A middle-ground tool which could only be accessed by a small number of users would be a significant improvement for privacy purposes.
  • 25000 - Better IP throttling configuration - Allow local sysops to temporary variation of the IP throttles for particular IPs and IP ranges (e.g. so that an event with a lot of expected newbies would not hit the "too many account creations from your IP" issue), which currently can only be solved by a user with shell access, or individually-creating accounts by local sysops. The code hooks for this functionality already exist, and an extension - Extension:ThrottleOverride - written which could be deployed.
  • 13601 - An extension to one-click revert all of a user's actions on RecentChanges - Create an extension which allows to revert all actions in the recentchanges table by a given user. Such a tool would be useful for reverting edits made by vandalism-only accounts and maybe some spambots.
  • Block known spambot user agents - Extend the AbuseFilter extension to allow preventing edits (and/or other actions) if the user's User-Agent string matches a known spambot UA. The Bad Behavior extension contains a list of spambot or otherwise problematic User-Agent strings.
    This is prioritized as a low-priority item because changing the User-Agent is very trivial, but like some of the pre-existing anti-spam methods (such as the SimpleAntiSpam extension, which is enabled on all WMF wikis), it's an easy way to block the dumbest spambots.
  • 3233 - Send a cookie with each block to block IP-changing vandals.
    Prioritized as low, because clearing your cookies is pretty easy, just like changing your IP address.
  • Extend GlobalBlocking to accounts. - Current the extension only allows for global blocking of IPs. However, Stewards are currently fulfilling requests to "block" registered users by locking their accounts in SUL. This workaround is imperfect to say the least. For example, it requires that the user have attached their accounts to work. Regardless of any debate as to whether accounts should be subject to global blocking, it is in fact happening, and the tool being used is not designed for that use case. Previous discussion on bug 15294.
  • bugzilla:15273 - Split GlobalBlocking action options out like local blocks - Currently, checking "Block anonymous users only" on a global block blocks anonymous users and also prevents them from creating accounts.
  • bugzilla:42734 - Hide AbuseFilter logs for deleted pages - Automatically hide any AbuseFilter logs for public filters, for pages that were later deleted.
  • Integrate into Admin Tools, e.g. CheckUser, so that users do not have to use a third party tool (bugzilla:16068?)
  • Enable OpenID (as a provider) for all global Wikimedia accounts, based off
  • 20189 - Allow suppression using the RevisionDeletion tool of multiple revisions of deleted page (existing functionality in action=history which is needed in Special:Undelete).
  • 60373 - Convert Oversight revisions to (revision deleted) suppressed on Wikimedia wikis.