Page MenuHomePhabricator

[Epic] Add feature annotate/blame command, to indicate who last changed each line / word
Open, MediumPublic

Description

Original task
I have had many times where I would continuously go through a history to find out who added an offending line, or a curious line which I need to contact them about. As various people mentioned here (Such as --TK) did not sign, it would take a while to figure out exactly who TK was. It would be rather nice to be able to highlight/search a line, and it would tell me times that that line was affected, which would allow me to easily find who added said line.

This is a feature request, and as so, I labeled it an enhancement, as there's no easy way to request features. Apologies if I did this wrong. I also searched "Line" and only found a very few bugs, none of which like this.

Merged duplicate task
Sometimes vandals insert a piece non-sensical information in the middle of a big article which stays covert for years. This is specially true in the Portuguese Wikipedia, which doesn't have enough task force for a immediate vandalism response. It would be great if there was a tool to "blame" a paragraph, like there is in GitHub. I mean, a tool that, given a paragraph (or a set of paragraphs), points out the last edition (or, perhaps, all the editions) in which this paragraph showed up in the differential. Sometimes it wouldn't work due to merges and displacements, but probably would for the 99%.

--Usien6 (talk) 03:06, 11 November 2015 (UTC)

This card tracks a proposal from the 2015 Community Wishlist Survey: https://meta.wikimedia.org/wiki/2015_Community_Wishlist_Survey

This proposal received 15 support votes, and was ranked #53 out of 107 proposals. https://meta.wikimedia.org/wiki/2015_Community_Wishlist_Survey/Moderation_and_admin_tools#Paragraph_blaming_tool

Example Blame

External tools that did/do this

Further discussion

Other duplicates:

See also:


Proposed in Community-Wishlist-Survey-2016. Received 33 support votes, and ranked #46 out of 265 proposals. View full proposal with discussion and votes here.

Proposed in Community-Wishlist-Survey-2017. Received 110 support votes, and ranked #4 out of 214 proposals. View full proposal with discussion and votes here.

Details

Reference
bz639

Revisions and Commits

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

psychonaut wrote:

(In reply to comment #28)

There is an extension [1] that does this now. WONTFIX?

[1] http://www.mediawiki.org/wiki/Extension:Annotation

The WikiTrust userscript also has this functionality:
https://de.wikipedia.org/wiki/Benutzer:NetAction/WikiTrust/WikiPraise

epriestley closed this task as Resolved by committing Unknown Object (Diffusion Commit).Mar 4 2015, 8:20 AM
epriestley added a commit: Unknown Object (Diffusion Commit).

epriestley closed this task as "Resolved" by committing rPHABeb010b2efc71: Group inline transactions in Pholio.

WTF

This task was proposed in the Community-Wishlist-Survey-2016 and in its current state needs owner. Wikimedia is participating in Google Summer of Code 2017 and Outreachy Round 14. To the subscribers -- would this task or a portion of it be a good fit for either of these programs? If so, would you be willing to help mentor this project? Remember, each outreach project requires a minimum of one primary mentor, and co-mentor.
DannyH raised the priority of this task from Low to Medium.Jan 3 2018, 12:39 AM
DannyH added a project: Community-Tech.
DannyH moved this task from New & TBD Tickets to Needs Discussion on the Community-Tech board.

@tstarling and I are interested in the implementation of this. It would be a good use of the "derived" slots in multicontent revisions. You'd checkpoint the authorship map every N revisions, and store the most recent authorship non-peristently in memcached.

I don't think the derived slots idea made it into the current MCR plan. @daniel can confirm.

Maybe we could add an API to wikidiff2 to export its operation list to a PHP array, and use that to build blame maps and store them in MySQL. But what should happen if there's revision deletion?

TBolliger renamed this task from Add feature annotate/blame command, to indicate who last changed each line / word to [Epic] Add feature annotate/blame command, to indicate who last changed each line / word.Feb 8 2018, 6:33 PM

@TBolliger I think this could be useful for Anti-Harassment as well, but might require some research. Would it be helpful to know if User:Bananas has edited User:Apples edit, even though there are many edits in between?

Regardless, perhaps it would be best to add this to the MediaWiki-Action-API so it can be leveraged in other tools (like the interaction timeline, etc.)

@TBolliger I think this could be useful for Anti-Harassment as well, but might require some research. Would it be helpful to know if User:Bananas has edited User:Apples edit, even though there are many edits in between?

Regardless, perhaps it would be best to add this to the MediaWiki-Action-API so it can be leveraged in other tools (like the interaction timeline, etc.)

Something to keep in mind during development. Could definitely be helpful in determining/highlighting edit wars.