Google Summer of Code/2020/Ideas for projects
Ideas showcased for Google Summer of Code 2020 are below.
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: phab:T233478
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: phab:T241632
Mentors: Yaron Koren, TBD
Support 'maps' parameter in TemplateData GUI editor
TemplateData is a MediaWiki extension that introduces a <templatedata> 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: phab:T208305
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: phab:T242997
Skills required: 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: phab:T172953
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: phab:T244197
Skills required: Android SDK, Android UI design, Understanding of RxJava, Basic knowledge of Wikimedia APIs
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: phab:T244428
Mentors: Sage Ross, TBA
webpack, 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: phab:T244427
Mentors: Sage Ross, TBA
Add 'Reverted' filter to RC Filters
The RecentChanges page contains a list of recent changes to Wikipedia. It would be valuable to be able to filter out or highlight edits that have already been "rolled back" or "undone". This can be a huge improvement for using Recent Changes as a review tool, reducing the effect of stepping onto other reviewers feet (reducing frustration and saving time). This project will involve tagging edits that have been reverted with a "reverted" tag, and then expanding on the tooling (phab:T152434) to improve revert detection.
More details: phab:T164307
Skills required: Requires knowledge of PHP.
Design and Develop a tool to correct false depicts claims manually on Wikimedia Commons
A significant part of structured data has been entered through other applications(tools) which have been developed to collect structured data for the images on Commons. Though this is a fast way to collect structured data, we realized that in tools like ISA, where campaigns are organized and the participants will have prizes as top contributors, this may push some participants to enter ‘wrong’ or ‘unclear’ information which needs to be verified. In this project we try to build a tool which volunteers/admins will use to verify the structured data which have been added.
More details: phab:T245758
Create or improve a tool for monitoring or automating tasks for Wikimedia databases
Wikimedia uses over 200 MariaDB instances to store content and metadata for Wikipedia and other free knowledge projects. While standard open source tools for both monitoring and automation are used when possible, there are some tasks that require custom development. There are 2 options for a project to choose here:
2. Small-scope command line utilities to perform maintenance and monitoring tasks, such as: data checks between servers, data transfers, consistency checks between data and metadata, strange MariaDB process monitoring, and more. Integration of existing libraries and tools should be preferred when possible, rather than custom solutions, as well as focusing on future extensibility and maintainability rather than a large scope.
Skills required: Python (preferred) or PHP, SQL
More details: task T246435
Upgrade WebdriverIO to the latest version for all repositories
We use WebdriverIO as a browser driver for our test automation framework. We are currently using version 4. Version 5 was released more than a year ago. Version 6 will be release any day now.
More details: phab:T247844
Evaluate WebdriverIO replacements for our browser automation framework
We use WebdriverIO as a browser driver for our test automation framework. There are at least a couple of good alternatives. Evaluate how much work would it be to switch to an alternative.
More details: phab:T247835