Page MenuHomePhabricator

[Education Dashboard] Build an Article Finder tool for program leaders and participants to find good topics to work on
Closed, ResolvedPublic


The Wiki Education Dashboard / Programs & Events Dashboard is a Ruby on Rails + React.js application that helps people organize groups of newcomers to contribute to Wikipedia. It's used by the global Wikipedia Education Program for Wikipedia writing assignments in college and high school classes, the Art + Feminism editathon campaign, and many other thematic in-person and online outreach projects.

One of the initial first steps towards successful Wikipedia authorship is the selection of appropriate content to edit or create. An "Article Finder" tool will help instructors and students search for and select articles in need of editing and contribution. The basic concept is to build a tool that lets users explore a particular topic area on Wikipedia to identify articles that are in need of improvement and are relevant to their program or event, so that participants have a good set of possible topics to work on.

The dashboard has a rough, simplistic proof-of-concept, but it's not practical for use by instructors and program organizers and is not integrated into the rest of the dashboard:

For this project, you will:

  • Build a new Article Finder tool for dashboard's program pages, using React.js
  • Integrate the Article Finder into the dashboard's system for "available articles" so that program leaders can use it to curate a set of appropriate topics for their events
  • Evaluate and improve the basis for identifying articles in need of improvement, based on ORES data, view data, previous research ( ), existing tools (Suggest Bot), existing collections of articles (eg, WikiProject worklists), and other data sources

The problem of identifying appropriate articles for newcomers to work on is a big and open-ended one, and so this project is open-ended as well. But enough tools and strategies and data sources are available already that we can see the potential for some kind of article finder tool in the dashboard.

This project will be based in Javascript — mainly React.js and Redux — interacting with Ruby on Rails on the server. Knowledge of Javascript is a prerequisite. Additional helpful skills and experience include:

  • React.js and Redux
  • Ruby, and Ruby on Rails
  • User interface design
  • Experience with Wikipedia content evaluation and curation
  • Knowledge of Wikipedia's API


Get started:

Event Timeline

Ragesoss claimed this task.
Ragesoss raised the priority of this task from to Medium.
Ragesoss updated the task description. (Show Details)
Ragesoss added a subscriber: Ragesoss.
Ragesoss set Security to None.

Would be good to collaborate with @leila, who is actively building an Article-Recommendation suite as well.

@awight: good idea! We've pushed this back in our roadmap, and the focus will — to begin with — be on finding topics that have significant view traffic but aren't well-developed, especially within a certain topic area (such as a professor's area of expertise), with the expectation that the user who is trying to find an article or set of articles that need improvement will be an active participant in the selection process. So it's probably at least somewhat of a different direction than the article recommendation suite's early features, but there might be some significant cross-pollination opportunities.

Related to this, I have noticed that if you insert "available articles" list, and then want to start assigning, you can't "pick them" from the list. This would be easier for article-centered courses.

@Ragesoss happy to see this task is coming back! :) Some thoughts:

  • From the definition of the task, it seems to me that article creation will not find in the scope of the task. Is this correct? If it does, we can use the API behind GapFinder and do a couple of relatively simple iterations on it to surface articles to be considered for creation.
  • We now have ways for recommending what sections to be added to already existing articles in English Wikipedia which from my read of the task is more aligned with the description of it. Is this something you'd like to experiment with?

If you find it useful, I'd be happy to talk with you to learn more about your needs and what we can surface to help you in that direction given that this task is very much aligned with the knowledge gap work.


  • article creation can definitely be in scope if the GapFinder API can be put to the task!
  • recommended sections are also potentially a great thing to integrate

In the medium to long term, I think we want to be able to bring together both manual and automated suggestions for a specific gaps, and make those easily accessible to anyone who picks one of those gap topics as their assigned article. That stuff would probably be a stretch goal or follow-on work for a GSoC / Outreachy project, as the first step is just to get a basic tool that lets users explore a topic area in a basic way and pick articles for course / program participants to choose from to work on. But we've got to start somewhere.

I'd love to talk with you about this, at your convenience. :-)

Ragesoss renamed this task from Article Finder to [Education Dashboard] Build an Article Finder tool for program leaders and participants to find good topics to work on.Jan 11 2018, 8:52 PM

Hello i would like to work on this project can someone tell me how should i proceed

(Realized I never posted the reply that I composed a while back, so just for bookkeeping...)

@tabish.shaikh91 hi! I've sent you an invite to our slack channel for this project.

Hi, my name is Shivam Goyal. I would like to contribute to this project. I have already done the environment setup. Pretty excited for the project!

@g33kyshivam email me (sage at and I'll send you an invite to the slack channel.

Hello, @Ragesoss.I am Nishikant Mohanty. I am enthusiastic about contributing to this project. Currently on the learning path of ruby on rails. Would love to contribute to this project and excited about a great learning experience

Hi @Nishikant_mohanty. Send me an email and I can get you an invite to the project slack.

Hello @Ragesoss

I am Raounak Sharma, a passionate Ruby developer. I have a year of experience in Rails and angular. and it's been more than two months I am working on ReactJS. I am very much excited to contribute to this project. I have sent you a mail regarding that.

To know more about me hit the following links:
Youtube Channel:
Personal Website:

Let's get started.

Raounak Sharma

Hi @Ragesoss
I am Paarmita Bhargava. I am interested in contributing to this project. I have done the environment setup already and sent you the mail also.

@Ragesoss there's ongoing work around topic modeling for English Wikipedia using WikiProject topics as bases. If Education Program Dashboard has some similar categorization of articles around pre-defined topics, a similar model can be built to predict topics as well as recommend them. Let me know if you wanna talk more about it.

@Sumit I'm not sure what exactly you have in mind, but it sounds like it might be very relevant! We should talk... maybe sometime soon after the GSoC/Outreachy announcements, so we can include the intern.

This message is for students interested in working on this project for Google-Summer-of-Code (2018) / Outreachy (Round-16)

  • Student application deadline for GSoC is March 27 16:00 UTC and for Outreachy is March 22
  • If you have questions about eligibility, please read the GSoC / Outreachy rules thoroughly here: a) b) Wikimedia will not be responsible for verifying your eligibility and also not be able to make any decisions on this. For any clarifying questions, please email or
  • Ensure that by now you have already discussed your implementation approach with your mentors, completed a few bugs/microtasks and made a plan to move forward with the proposal
  • I encourage you to start creating your proposals on Phabricator now to receive timely feedback on them from mentors. Do not wait until the last minute. Give your mentors at least a week's time to review your proposal, so that you could then incorporate any suggestions for changes. Learn how to submit a proposal in our participant's guides: a) (Step 9) b) (Step 10)
  • Proposals that contain links to successfully merged patches before the application period and submitted on both Phabricator and GSoC / Outreachy portal will only be considered for the review process. So, between now and the application deadline, you could consider working on this task.
  • If you would like to chat with me more about the process or have questions, come and talk to me in the Zulip chat:

After doing some contribution. With my experience, I finally confident to submit proposal for this project. :D.

ping @Ragesoss @psinghal20 Is there anything remaining in this task from GSoC'18? If not, then please consider marking it as resolved! Ensure no pull requests are remaining to be merged and deployed in production and documentation both on-wiki and in the code is complete.

Same goes for T189991