Page MenuHomePhabricator

List of content contributors
Open, Needs TriagePublic

Description

Problem: CC-BY-SA and GFDL require to add a list of contributors whenever content is copied from one project to another or outside a wiki (WP to WB, en-WB to de-WB, but also from this forum to de-WB or from de-WB to any external PDF). In all these cases it's necessary to add such a list. In the past, there was a tool by Duesentrieb at Toolserver which is deactivated before July, 2014. Next, there were Xtools which don't work since June, 2015 -- see GitHub issue. There's no way to get one list for all pages (incl. subpages) of one book in Wikibooks.

Users: All users who copy content, mainly admins.

At the moment, one has to export a page as pdf or book via Tools and then copy the created list inside the exported work.

Proposed solution: Such a list may be created by analyzing the history of a page. It should be possible to include this feature into the MediaWiki software and make available via ToolsPrint/Export. The feature should offer some options: users with account yes/no, IPs yes/no, including subpages yes/no, including pages by prefix yes/no. (The last request concerns something like b:de:Mathe für Nicht-Freaks where subpages are marked by colon instead of slash.)

  • Juetho (talk) 14:48, 20 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 12 support votes, and was ranked #59 out of 107 proposals. https://meta.wikimedia.org/wiki/2015_Community_Wishlist_Survey/Moderation_and_admin_tools#List_of_contributors

From T120478 Page contributors

Before the switch to tool labs (am I using the right jargon?) we had a nifty little tool on the English wikipedia that was much superior to what we have now under Top 50 contributors. (https://tools.wmflabs.org/sigma/articleinfo.py?page=User_talk:Ottawahitech&server=enwiki)

By a simple click of a button one could check out ALL editors who ever edited a page sorted 8 different ways. This is useful when trying to gauge the activity level of w:WP:WikiProjects, and comes in real handy for someone like me who only very occasionally participates on a talkpage, but when they do want to have some background on the potential audience before making a total fool out of themselves.

The tool displayed the list of editors who had participated on the page. There were 4 columns, each of which could be sorted front-to-back and vice verse:

  • user ID
  • number of edits to the page
  • date of first edit
  • date of last edit

It was quick and rarely (if ever) failed, while the tool we have now lists only the top 50 editors, cannot be sorted, and is broken a lot.

Thanks for considering this proposal. Ottawahitech (talk) 19:18, 18 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 18 support votes, and was ranked #47 out of 107 proposals. https://meta.wikimedia.org/wiki/2015_Community_Wishlist_Survey/Editing#Page_contributors

See also T4994: Automatically generated count and list of contributors to an article (authorship tracking) and linked tasks.
See also T49721: Restore action=credits on Wikimedia wikis, which may overlap/duplicate.
See also T2639: [Epic] Add feature annotate/blame command, to indicate who last changed each line / word (semi-related)

Details

  • Mentors : @Addshore , @Samtar
  • Other mentors: @Niharika
  • Skills: PHP, Javascript, Familiarity with MediaWiki in general
  • Estimated project time for a senior contributor: 2-3 weeks
  • Microtasks: T130597, T130598

Related Objects

Event Timeline

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

I'd like to see this done up properly, in a tool that tries to identify who created the readable content, rather than who reverted vandalism or tweaked the formatting the most times.

My minimum goal is one that counts only edits that make visible changes and weren't reverted. So take a page history, and exclude any edit that does (only) things such as:

  • changing interlanguage links
  • turning manually formatted citation into citation templates
  • reverting someone else (exact/complete reversions)
  • edits that were reverted (at least in the very next change to the page)
  • editing {{PERSONDATA}}
  • changes (only) wikitext formatting

It might be possible to use WikiTrust's algorithm to determine who wrote how much of an article, but I think that just this would give us a more accurate description of the "top 5 contributors" that the license requires us to identify. Under the current system, if you post an entire article in a single edit, and I add, and then remove, a single space, then I'm counted as contributing "more" to the article than you did. That's misleading, and we need a better solution.

01tonythomas subscribed.
NOTE: This task is a proposed project for Google-Summer-of-Code (2016) and Outreachy-Round-12 : GSoC 2016 and Outreachy round 12 is around the corner, and this task is listed as a Possible-Tech-Projects for the same. Projects listed for the internship programs should have a well-defined scope within the timeline of the event, minimum of two mentors, and should take about 2 weeks for a senior developer to complete. Interested in mentoring? Please add your details to the task description. Prospective interns should go through Life of a successful project doc to find out how to come up with a strong proposal for the same.

Hello! I would like to work on this project for GSoC 2016. Is anyone willing to mentor?

@aude I wonder whether you or someone you know could be a mentor for this project idea?

@Addshore has agreed to be the primary mentor for this project! Thank You!

20:57 <addshore> Should be fine thrn! Sounds like a great project! (:

Thank you @Addshore for agreeing to mentor this project! It would be great if you could point me to some microtasks so that it'll help in understanding the project better.

@Addshore I would like to work on this for Gsoc 2016. Please describe the skill set required and micro task to get acquainted with related code.

Hi, I'm interested in working on this for GSoC and had a couple of questions. Since T120478 appears to be similar, I was wondering if some of the features (e.g. being able to sort the list) need to be implemented here as well or whether this is simply intended for transwiki import / export (and other use cases that require copying pages).

@Samtar : How about you mentoring for this one too, so that we can merge T120478 too with this one ? Also, your thoughts on my comment at T120478#2091564.

That would make this one a 'Featured task', as well.

Merging in T120478 too, which seems to be doing more or less the same thing. Adding @samtar as an additional mentor here.

19:24 <tonythomas> so you and samtar can join up in mentoring it out, making one featured, instead of two missing mentors !
19:33 <addshore> yeh that basically seems like the same thing!

@Addshore @Samtar ! Looks like one of you should add some micro-tasks for this project in the task description. This would make it easy to evaluate the applicants, and is required for a 'Featured GSoC/Outreahcy project!'

See https://www.mediawiki.org/wiki/Outreach_programs/Life_of_a_successful_project#Start_working_on_microtasks !

I am interested in working on this project for Outreachy round 12. I am writing a proposal for the same. I have worked on a few microtasks. Are there any specific ones that I need to work on?

@Addshore, @Samtar some microtasks would be greatly appreciated. They would help both in evaluation of the proposals and give the students some prior experience with the project and MediaWiki in general.

Not a hard requirement for the tasks to be directly related to the project.

@Addshore, @Samtar some microtasks would be greatly appreciated. They would help both in evaluation of the proposals and give the students some prior experience with the project and MediaWiki in general.

I am looking into this today!

So after generally looking at and thinking about the problem for a bit today it would be great to have this in core itself or as an extension.

The extension "Contributors" already exists and would likely be a good starting point.
The way credits is currently implemented in core does not scale (hence why it is disabled on wikimedia wikis)
The "Contributors" extension probably would scale to a degree.

A rough thought

My current idea (which should cover lots of bases) would be to have 2 tables

  • one called "contributors" which could contain id,page_id,user_id,user_text,author(bool),revisionCount(int)
  • another called "contributors_props/_counts" which would contain id,prop_name,prop_value (similar to the page props table.

Initially the first table alone would cover the current functionality of the Contributors extension and afaik action=credits in core.
The db could be updated either sync or async, in theroy there is never any need to recalculate everything for all revisions on a page or do big db queries.
The second table could then include more infomation, for example, whitespace characters change, characters copied and pasted etc (for which an interest has been expressed in this task.
Of course it may even make sense for more colums to be added to the first table (total characters touched) etc? But I guess we will see as time goes by.

I'm interested in working on this for GSOC. I think I'd be a good match for this task, especially given that one of my very own Labs tools is referenced in this task.

It was quick and rarely (if ever) failed, while the tool we have now lists only the top 50 editors, cannot be sorted, and is broken a lot.

How's it broken? And why didn't you tell me earlier that it was broken?

Also, I agree with Addshore's last comment here.

Hi everyone, I'd be happy to be an additional mentor for this project, given that it relates to my team and I can help with code review and general development help. Plus, I'm most likely in a different timezone than the other mentors. I hope nobody has any objection! :)

Hi everyone, I'd be happy to be an additional mentor for this project, given that it relates to my team and I can help with code review and general development help. Plus, I'm most likely in a different timezone than the other mentors. I hope nobody has any objection! :)

That would be great! :)

Malyacko changed the status of subtask T130916: The best from Open to Stalled.Mar 26 2016, 6:48 AM

The Wikimedia-Hackathon-2016 starts tomorrow and this task is featured at T119703. We want to use T130776: Wikimedia Hackathon 2016 Opening Session to promote these projects and help recruiting volunteers to work for them.

If this task is ripe for hackathon work, please follow these instructions. If it is not ready, remove it from T119703 in order to avoid volunteers' frustration. Thank you!

@Qgil I removed this task from the hackathon description thing T119703

Aklapper renamed this task from List of contributors to List of content contributors.Jun 7 2016, 4:16 PM