Community Tech/Rewrite XTools

This page documents a project the Wikimedia Foundation's Community Tech team has worked on or declined in the past. Technical work on this project is complete.
We invite you to join the discussion on the talk page. You may track this project's progress on T153112.
The Rewrite XTools project aims to update and maintain XTools, the wiki curation and moderation tools originally developed by User:X! and rewritten by User:Hedonil. Both have retired, and aren't able to maintain these tools anymore. Community Tech will team up with User:Matthewrbowker in rewriting the tools, making them more stable and reliable.
The suite of tools includes:
- Edit Counter: Detailed information about user's edits, including breakdown by namespace (and time if they opt in). Current version: xtools-ec
- Article Information (aka Page history): Detailed information about an article, including issues and statistics. Current version: xtools-articleinfo
- Pages Created: Lists pages created by a specific user. pages
- Top Edits: Lists the pages that a user has edited the most, per namespace. topedits
- AdminStats: Shows statistics of admin actions in a sortable table. Current version: adminstats
- RfX Analysis: Analyze votes on Requests for Adminship and Request for Bureaucratship pages. Current version: rfa
- RfX Vote Counter: Shows how a user voted across Request for Adminship proposals. Current version: rfap
- Simple Edit Counter: Shows basic group and edit count information. Current version: sc
- Automated Edits: Shows automated edits made by a bot. This had been removed from Xtools; our team is bringing it back. Dev version: autoedits. We'll also be adding a nonautomated version.
The following tools were part of Xtools, but will not be rewritten in the new version.
- Article Blamer: Shows who is responsible for inserting given text into an article: Current version: blame. The current version doesn't work, and there's another existing tool: Wikiblame. It's a big, hard project on its own; the team will discuss whether it's worth developing a new version of Article Blamer, outside of this project.
- Range Contributions: Searches for contributions from IP ranges. Current version: rangecontribs. Community Tech is already working on a separate tool for this: see phab:T145912 for more information.
- Autoblock: A tool to monitor autoblocks. Community Tech has created a new tool in MediaWiki: Special:AutoblockList.
Important links
[edit]Status
[edit]May 15, 2017
[edit]Tools in development are on xtools-dev.
Lots of work has been done on Xtools -- we're getting close to the end of the project. There are nine tools that will be part of this rewrite, listed above. We've taken a few off the list, for reasons also listed above.
Currently, the team is building a new backend architecture for the tools which will make it easier to test the tools, and maintain their performance. Once that's complete, we'll hook up the new backend to each of the tools, and write tests.
Mar 1, 2017
[edit]The team is going to work on the Articleinfo tool first. We're currently putting together a list of tweaks and changes below; we'll reach out to folks to see if there are other important changes that people need -- posting on village pumps, possibly sending a message to people who voted for this wish.
Articleinfo (aka Page history): xtools-articleinfo
Planned changes
[edit]Header
[edit]- Add a way to start a new search without hitting the back button
- Make language links into a single dropdown
- Take out top link to Language Tool WikiCheck (404 error - see phab:T152049 for details)
General statistics
[edit]- Wikidata ID: change "## items" to "## sitelinks"
- Take out blue line on the left side next to Total revisions/Number of editors
- Change Ø to Avg
- First edit and last edit should have links to diff
- Fix stats for "Links to this page" and "Redirects"
- Fix pageviews (60 days), link to pageviews analysis tool
- Bugs/Todo icon is broken, either fix or remove
Year counts
[edit]- Better looking charts and font rendering
- "Events" has no data, fix it (if it means something) or remove it (if it doesn't)
Pageviews
[edit]- Take out this section (60 days pv and link to pageviews analysis tool are in the General statistics section)
Top editors
[edit]- Link to "Export as wikitable" works sporadically, appears to be a different tool. Remove for now.
- Make "# edits" the heading for column 3, rather than #1
- Better looking charts and font rendering
Bugs
[edit]- Take out broken link to LanguageTool (404)
- The bug section for Wikipedia articles seems to only show Wikidata bugs. Is this intentional? Should it be fixed?
Assessments
[edit]- Pull in data from PageAssessments API.
- If the wiki doesn't have assessments, don't show this section.
Month counts
[edit]- No changes needed?
Discussion
[edit]- Let us know what you think here! MusikAnimal (WMF) (talk) 23:48, 1 March 2017 (UTC)
- I like the plan, thanks for the concise and detailed listing. My only suggestion would be to add new functionality (perhaps longer-term) - The "Year counts" graph has a legend item saying "Protect", but there's no indication of protection status in (the usually semi-protected) https://tools.wmflabs.org/xtools-articleinfo/?article=Elephant&project=en.wikipedia.org - that'd be nice to add! Quiddity (WMF) (talk) 21:51, 3 March 2017 (UTC)
Rationale
[edit]Notes by User:MusikAnimal: XTools serves up to 185 languages and is used an estimated 200,000+ times a month [1] (I changed the endpoint [2][3] but failed to update the tracking endpoint in the xtools project until very recently).
XTools is easily the most popular of the user analysis tools, and complaints of instability have been ongoing since the author of the most recent rewrite retired in August 2014 [4] (see reports at w:en:WP:VPT [5], their talk page on dewiki [6], and issues on GitHub). Most people are content because our ongoing efforts have provided around an 80% uptime (according to private Uptime Robot data) of the services, which is still severely lacking for such a popular suite of tools.
Primary use cases include evaluating candidates for particular roles (request for adminship, various permissions, etc.), and individual interest in a user's productivity. Much attention has also been given to privacy. Multiple RfCs have resulted in data that is already public, such as aggregated stats on an user's editing activity, only be visualized if explicitly allowed by the editor [7][8]. So in summary, a rewrite of this integral suite of tools that is more reliable, maintainable, and more compatible with the Tool Labs environment, is desperately needed.
Matthewrbowker has been working very hard on the rebirth [9] that lives on a dedicated Labs instance. His work will surely make it's way to a more stable service for all, but official support for this effort I believe will greatly benefit the moderation community — MusikAnimal talk 07:50, 20 November 2016 (UTC)