Brief summary
The Dashboard is a Ruby on Rails web application for tracking contributions by groups of editors, providing statistics and details about their contributions. It is commonly used for events that bring new editors to Wikipedia, such as edit-a-thons, Wikipedia editing assignments in schools and universities, and distributed campaigns like #1Lib1Ref.
One especially valuable statistic that is currently available in a handful of languages is "references added". The Dashboard currently gets statistics on references added by fetching the features data supplied by Wikimedia's article quality machine learning models, and comparing the values of one revision with values for the previous revision. For example, here's a revision that added 3 references: https://en.wikipedia.org/w/index.php?title=Rubiales_affair&diff=next&oldid=1175352098
And here is a query for the articlequality features that the Dashboard uses to determine that 3 references were added from one revision to the next (note the increase in feature.wikitext.revision.ref_tags value): https://ores.wikimedia.org/v3/scores/enwiki/?models=articlequality&revids=1175352098|1175352005&features
This method of counting references is limited to languages that have an articlequality machine learning model available, and most Wikipedia language versions do not.
For this project, you will develop a performant alternative implementation of counting references added that does not depend on articlequality features data, and works for every language version of Wikipedia. One high priority is to enable reference counting for Spanish Wikipedia, in support of the Spanish #1Lib1Ref campaign. One promising route would be to co-opt data from another API that works across languages, such as this one: https://misalignment.wmcloud.org/api/v1/quality-revid-features?lang=es&revid=144495297
To get started, you should set up a Dashboard development environment so that you will easily be able to explore the system and work on initial contributions. See https://github.com/WikiEducationFoundation/WikiEduDashboard
Email sage at wikiedu.org to request an invite to the project's Slack chat.
Relevant skills
- Ruby - required
- JavaScript - helpful but not required; the Dashboard's frontend is written in JavaScript using the React framework, although this project will primarily involve the Ruby backend.
- Familiarity with wikis and/or Wikidata - helpful but not required
Microtasks
- https://github.com/WikiEducationFoundation/WikiEduDashboard/labels/newcomer%20friendly
- Ask on Slack for recommendations of additional tasks