Google Summer of Code/2018

Wikimedia is applying as a mentoring organization for Google Summer of Code 2018. Learn application process steps, selection process and responsibilities of a mentor below: Read information for participants Read information for mentors



Program timeline

 * January 23, 17:00 UTC - mentoring organization applications due
 * March 27 - Student applications due
 * April 27 - Accepted students announced
 * May 14 - August 14 - coding period

Ideas for projects
More ideas will be added below soon!

Join the #gsoc18 chat Ask a technical question

Education dashboard: Build an Article Finder tool for program leaders and participants to find good topics to work on
The Wiki Education 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.

Skills required Ruby on Rails, JavaScript, React.js and Redux, User interface design, etc

More details https://phabricator.wikimedia.org/T111416

Mentors Sage Ross, Jonathan Morgan

Ajax-ify and improve the Cargo Special:Drilldown page
The Cargo extension's Special:Drilldown page offers a way to browse, at a glance, all the stored Cargo data of a wiki. But it could do more, in terms of both flexibility and display options. This project would improve Special:Drilldown in a variety of ways. The tasks, in order of importance and probably in the order they should be done, are: 1) Make Special:Drilldown a "single-page application", so that clicking on a filter value will not reload the page, but will instead get new data via Ajax 2) Display checkboxes next to each value for some drill-down filters, to allow for "OR"-type filtering, not just "AND" 3) Add additional tabs for results display.

Skills required Knowledge of Javascript and PHP required. Experience with jQuery and Ajax will be useful

More details https://phabricator.wikimedia.org/T184387

Mentors Yaron Koren

Add a spreadsheet interface for modifying multiple pages to the Page Forms extension
The Page Forms extension allows for editing only one page at a time. Normally this is fine, but in some cases an administrator or "power user" may want to change many pages at the same time - for instance, if there has been a change to the data structure, like a parameter/field getting added to a template. What is needed is a new "special page", defined by Page Forms, that displays a spreadsheet interface for editing many pages, where each row represents a single template call and each column represents a template parameter, i.e. form field. There may be more than one call to a template on the same page, so this interface would need to handle that case as well. This interface should most likely be implemented using the jsGrid library, which thankfully is already in use by Page Forms for other purposes.

Skills required Knowledge of Javascript and PHP required

More details https://phabricator.wikimedia.org/T184387

Mentors Yaron Koren, Nischay Nahata

Contact
Reach out for general questions about Google Summer of Code on the Freenode IRC channel  or to the organization administrators John Vandenberg and Srishti Sethi (ssethi@undefinedwikimedia.org).