Page MenuHomePhabricator

Proposal: Improve Programs & Events Dashboard for use in the #1lib1ref campaign
Closed, ResolvedPublic


Profile Information

Name: Khyati Soneji
Location: Gandhinagar, India
Typical working hours (include your timezone) : 10:00 AM to 11:00 AM (+5:30 UTC)



The Wiki Education Dashboard is a web application that helps organize editors to contribute to Wikipedia. It is an effort in combining Wikipedia with academia and allowing editors to participate in Wikipedia education assignments, editathons, and other editing projects for Wikipedia.

While the editors can contribute by adding text, multimedia and visualizations, one way in which editors contribute in making Wikipedia content more reliable is by adding references to the details mentioned in the article.
The aim of this project is to simplify tracking the number of references added to the article.
This would also help in simplifying the workflow for tracking the number of references added in the #1Lib1Ref campaign organized by Wikipedia to encourage adding references to Wikipedia.


At first I would like to get in touch with #1Lib1Ref organizers and get their feedback on how they plan to use the dashboard to track participation.
Few topics which I would like to discuss are:

  1. Tracking participation: How do they plan to use the dashboard to track user participation
  2. Visualization: Any visualization that they have in mind for tracking user participation
  3. Data points: What data points(references, words added etc.) do they plan to track

Action Items [A]

[A]1. Implementing functionality to track references added in articles in backend
How to:
Need to change revisions model to have refs and refs_previous values, in order to add this, we can look at update_all_revision_scores_for_articles function revision_score_importer.rb which calls update_previous_wp10_scores.

[A]2. Display references added as part of the Campaign/Course overview
How to:
In course overview, course_stats.jsx file has all overview details
it calls /courses/${courseId}/${endpoint}.json function in api.js 289 line.
This endpoint calls courses_contoller's course function, 73 line.
To fetch the corresponding course, we need to have following points:

  1. created_count: new_article_count
  2. edited_count: article_count
  3. edit_count: revision_count
  4. upload_usages_count: upload_usages_count

here course.json is built using course.json.jbuilder
Here to have say refs_count, we need to just add the variable refs_count to @course model

[A]3 . Visualize references added in ORES graph
How to:
If one looks at ORES graph, we populate wp10_previous and wp10. Similarly we can have refs and refs_10 values. Here we can plot graph which shows the graph of the refs added.
Look at
a. campaign_ores_plot.jsx for how its displayed,
b. ores_diff_csv_builder.rb for how the json file is returned, here article_row function is the one where ores_after and ores is being populated from wp10 and wp10_previous


April 2 - May 5

  • Continue making contributions to WikiEduDashboard
  • Get more hands on experience with Ruby on Rails and React

May 6 - May 19

  • Community Bonding Period
  • Study about how #1Lib1Ref is organized and how participants contribute

May 20 - June 16 (Week 1, 2, 3, 4)
For the first month, the focus will be on research as well as working on implementation in parallel. As the time for research, is limited to the availability of people, the implementation can be carried out in parallel.


  • Begin interactions with #1Lib1Ref organizers to research their requirements for contribution tracking
  • Build mockups for the visualizations required


  • Work on implement functionality to track references added in articles - A[1]

June 17 - June 30 (Week 5 and Week 6)

  • Based on research, Capture the data points required for tracking user contributions

July 1 - June 7 (Week 7)

  • Buffer time for previous weeks implementation
  • Mid point evaluation

July 8 - July 14 (Week 8)

  • Display references as part of Campaign/Course Overview - [A]2
  • Get feedback on the implementation and the course overview page

July 15 - July 28 (Week 9 and Week 10)

  • Work on visualization tool for viewing references added - [A]3
  • Get feedback about the visualization tool

July 29 - Aug 11 (Week 11 and Week 12)

  • Implement suggestions for visualization tool
  • Testing and bug fixes
  • Buffer period

Aug 12 - Aug 20 (Week 13)

  • Wrap up research
  • Code submission

About Me

I am an undergraduate student at Pandit Deendayal Petroleum University, currently in my 4th Semester out of a total of 8 semesters. I am pursuing Bachelors in Technology in Computer Science and will be graduating in June 2021. I have studied C language during my school years and since then I was interested in Computer Science. After joining college, I have been involved with various technology clubs and have participated in technical events. I have started contributing to open source at a very early stage and realise its importance in collaborative development and continuous learning.

How did you hear about this program?
I came to know about outreachy from github repository: I was planning to participate last year but I instead decided to focus on RGSoC application. I also planned to apply last year but couldn’t apply because of program timeline during same time during my end semester examinations.

What does making this project mean to you?
The best thing that I like about this project is that my work will directly impact the organizers of the #1Lib1Ref campaign and other contributors to Wikipedia. Seeing other people use the tool and appreciate it is the biggest achievement for me. I am inspired to contribute to WikieduDashboard, the project will enables millions of users to contribute to Wikipedia. As a user of Wikimedia technologies myself, I admire it’s open spirit and would be proud to be involved with community as a contributor. I hope to spend my summer with Wikimedia and collaborate, give back and learn from others which otherwise would have been difficult with the traditional curriculum at school.

Please describe which Google Summer of Code communities and projects you are applying for, and provide mentor contact information:
I will be applying for WikiMedia community as part of Google Summer of Code program.

Relevant Projects:
I have solved 250+ challenges on freecodecamp. These challenges were focused on HTML, CSS, JS and React. Working on these challenges gave me hands-on experience of how all components are working together on a website. By using this knowledge , I was able to contribute to WikiEduDashboard.
Freecodecamp profile here.


Event Timeline

KhyatiS14 updated the task description. (Show Details)

@KhyatiS14, @Ragesoss: The Outreachy Round 18 application deadline was already a week ago? Or do I misunderstand something?

@Aklapper The application was submitted on the Outreachy website then, it just didn't have a Phabricator version posted.

Congratulations on completing the project! If there isn't anything remaining in your proposal to address, feel free to close this task. Before you do so, make sure your project is listed here and has the following information: Student name, Mentors, Relevant links and Outcomes (in not more than two lines). Thank you for your participation!