Google Summer of Code/2020

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

Read information for participants Read information for mentors



Program timeline


Click here to view full timeline

Project ideas
'''Watch this space for project ideas! We will add more ideas below between now and when the application period opens.'''

Develop a mechanism to send Wikimedia-specific Zulip welcome messages
New contributors find their way to Wikimedia's Zulip chat quite frequently. It is also used for GSoC, Outreachy and GSoD discussions. One of the first questions they usually ask is information on getting started. The answer seems to be fairly consistent -- pointing them to some beginner resources. In this project, we try to develop a mechanism to automate this process.

More details: T233478

Skills required: TBD

Mentors: Derick Alangi, TBD

Remove use of jQuery UI from Page Forms
jQuery UI is a library that was added to MediaWiki in version 1.16, in 2010, at the same time as its "sister" library, jQuery. jQuery remains popular (and extremely useful), but jQuery UI is not popular, at least among MediaWiki developers. This project involves removing the use of jQuery UI from Page Forms - A MediaWiki extension that allows users to add, edit and query data using forms.

More details: T241632

Skills required: PHP, JavaScript

Mentors: Yaron Koren, TBD

Support 'maps' parameter in TemplateData GUI editor
TemplateData is a MediaWiki extension that introduces a tag and an API which together allow editors to specify how templates should be invoked. This project involves supporting the 'maps' parameter in the TemplateData Editor directly. Currently, it is only possible in source editing mode. The maps parameter is used by citoid and other third-party gadgets, and supporting it would be a good addition.

More details: T208305

Skills required: JavaScript

Mentors: Marielle Volz, Thalia Chan, Moriel Schottlender (only available for answering high-level questions related to the codebase)

Internet in a Box Enhancement
Internet in a Box (IIAB) is a platform to provide offline access to Wikimedia Foundation wikis and other content and applications. It is used by Wiki-Project Med as an information appliance for Healthcare Providers. This project involves implementing some technical enhancements to IIAB.

More details: T242997

Skills required: TBD

Mentors: Tim-moody, TBD

Develop an editing widget for Proofread Page extension
The pagelist creation process supported by the Extension:Proofread Page, in its current shape and form, is difficult for new users, and not particularly fast for experienced users. This project is about developing a new editing widget for it, so it can be edited more easily without relying on external applications.

More details: T172953

Skills required: Familiarity with PHP & JavaScript

Mentors: Sam Wilson, Satdeep Gill

Add leaderboard based on user's edits using Commons Android app
The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons. Commons is not only the image repository for Wikipedia, but an independent project that seeks to document the world with photos, videos and recordings. This project is about adding a leaderboard based on user's edits using Commons. The feature will include only edits made with the mobile app, and users who have shown interest in this activity.

More details: T244197

Skills required: Android SDK, Android UI design, Understanding of RxJava, Basic knowledge of Wikimedia APIs

Mentors: Vivek Maskara, Nicolas Raoul

Improve Wiki Education Dashboard's error monitoring
The Wiki Education Dashboard is a Ruby on Rails + React app that runs dashboard.wikiedu.org as well as outreachdashboard.wmflabs.org. For this project, you'll develop a system for capturing and surfacing errors in the course update process, so that it's easy for users to find out what went wrong with their particular course when data-related errors occur. This will involve capturing data about such errors when they occur, saving it in association with a particular course, and displaying that information in an appropriate way to Dashboard program leaders and admins.

More details: T244428

Skills required: Requires knowledge of Ruby and Rails, experience with JavaScript, and particularly React, will be helpful.

Mentors: Sage Ross, TBA

Improve Wiki Education Dashboard javascript build pipeline and reduce bundle size
The Wiki Education Dashboard is a Ruby on Rails + React app that runs dashboard.wikiedu.org as well as outreachdashboard.wmflabs.org. The app has a JavaScript frontend built mostly in React, but it's evolved gradually over the last several years, through a number of trends in JavaScript frontend technology. The build uses both  and , and there are a number of libraries — including jquery — that should be updated or in some cases removed. The focus of this project will be to improve the Dashboard's build tooling.

More details: T244427

Skills required: Requires knowledge of JavaScript; experience with React and with configuring and using Webpack will be very beneficial. Knowledge of Ruby and Rails will be helpful, but not necessary.

Mentors: Sage Ross, TBA

Contact

 * Reach out for general questions on the #gsoc20-outreachy20 Zulip chat or send an email to the organization administrators: Srishti Sethi (ssethi@wikimedia.org) and Pavithra Eswaramoorthy (pavithraes@outlook.com).
 * Ask a technical question on the Wikimedia Developer Support channel.