Google Summer of Code/Past projects


This page tries to keep up with the current status of all past Google Summer of Code projects.

See also Outreachy/Past projects.

Quantitative summary of past Summer of Code projects[edit]

Completed Google Summer of Code projects since 2006:


Wikimedia Commons VideoCutTool: Improve the functionality of VideoCutTool[edit]

Wikimedia Commons VideoCutTool: Improve the functionality of VideoCutTool[edit]

Wiki Education Dashboard: Improve Programs & Events Dashboard UX for Article Scoped Programs[edit]

Wiki Education Dashboard: Refactor and upgrade React[edit]

  • Student: Ahmed Amine Hassou
  • Mentors: Sage Ross
  • Outcome: The Wiki Education Dashboard went through a major refactor. React was upgraded from React 17 to React 18. A total of 71 React class component files were refactored into functional component files. This amount represents a conversion of ~50% of the class components that exist in the codebase into functional components. The dashboard's ticket system was also reworked to support multi-search functionality.
  • Relevant links: project proposal, blog posts, GitHub issue, final report

Commons Android app: Make upload more reliable[edit]

End-to-end test coverage for Abstract Wikipedia's Wikifunctions[edit]

Wikidocumentaries to import images from the web to Structured Data on Commons[edit]

Add wiki farm support for Canasta[edit]


Rewrite the Wikidata Infobox on Commons in Lua[edit]

Edit Request Wizard[edit]

Modernize JavaScript build process and dependencies for Wiki Education Dashboard[edit]

Improve the custom picture selector - Make it easier for contributors to choose pictures for upload on the Commons Android app[edit]

Create a Canasta CLI and Canasta Kubernetes template stack[edit]

Extending the WikidataComplete plugin for enabling data donations, recommendations, and gamification[edit]

Campaigns Retention Metrics Dashboard[edit]


View bi-weekly reports of participants.

Web dashboard to help monitor Wikimedia database backups[edit]

Custom Picture Selector for Commons Android app[edit]

Gamified Knowledge Base Completion Plugin for Wikibase/Wikidata[edit]

MediaWiki user script/gadget tutorial[edit]

Develop a guided tour on, using the GuidedTour extension, similar to Wikipedia's The Wikipedia Adventure, to teach new developers about user scripts and Gadgets.

Cypress tests for Wikipedia Preview[edit]

Autocompletion in Page Forms spreadsheet-style display[edit]

Add zoom and pan to the Wikisource Pagelist Widget[edit]

Upgrade WebdriverIO to version 7 for all repositories[edit]

Update the front page of Wikimedia projects[edit]

  • Student: Bhaarat Kumar Khatri
  • Mentors: Jan Drewniak
  • Outcome: Converted some sister portals' Lua templates to dynamic templates so that they can be updated easily and look attractive, in a manner similar to Wikipedia's.
  • Relevant links: Project task, Project proposal

Retrain models from ORES to be deployable on Lift Wing[edit]

  • Student: Anubhav Sharma
  • Mentors: Christopher Albon and Chaitanya Mittal
  • Outcome: This project consisted of a renewed attempt to retrain the existing ores architecture and build new deep learning based techniques and understand how it improved the performance. This was a pilot project and revealed a lot of flaws in the existing pipelines of the ORES architecture.
  • Relevant links: Project proposal


Add leaderboard based on user's edits to the Commons Android app[edit]

Page-list editing widget for the ProofreadPage extension[edit]

Tool to correct false depicts claims manually on Wikimedia Commons[edit]

Tool to create overlays on pre-rendered offline maps for Internet In A Box[edit]

Detecting reverts and tagging reverted edits[edit]

Original project name: Add Reverted filter to RecentChanges Filters

Mechanism to send Wikimedia-specific Zulip welcome messages[edit]

Evaluate replacements for existing browser automation framework[edit]

Implement articlequality and draftquality model for ptwiki and apply insights to models for bs, uk, hi wikis[edit]

Improve the framework to transfer files over the LAN[edit]

Improve Wiki Education Dashboard's error monitoring[edit]

Reduce bundle size of the Wiki Education Dashboard application[edit]

Remove use of jQuery UI from Page Forms[edit]

  • Student: Amr M. El-Absy
  • Mentor: Yaron Koren, Priyanshu Varshney (unofficially)
  • Outcome: Various changes were made to the Page Forms extension in order to remove the use of the deprecated jQuery UI library: these included converting the "text with autocomplete" and "textarea with autocomplete" input types into aliases for the "tokens" and "combobox" input types, converting the "datepicker" and "datetimepicker" input types to use OOUI instead of jQuery UI, and replacing FancyTree with jsTree. There was also a task to replace the jsGrid library with jExcel, but this was only half-completed during GSoC; it was eventually completed several months later by Yaron.
  • Relevant links: project task, project proposal, final report

Supporting the 'maps' parameter in TemplateData editor (GUI)[edit]

Upgrade WebdriverIO to version 6 for all repositories[edit]


Android app for Wiki Education Dashboard, and Programs & Events Dashboard[edit]

Code samples in JavaScript and PHP to demonstrate the use of MediaWiki Action API modules[edit]

Editable calendar interface for Page Forms[edit]

Add to the Page Forms extension the creation and editing of templates with one or more date/datetime fields through a calendar interface, using the FullCalendar JS library.

Hashtag search subpage for statistics and charts[edit]

Add a feature to display statistics for hashtag search so that user can dive into more details for campaigns such as 1lib1ref.

Improve article recommendation pipeline[edit]

Improve the interface of Special:ViewData in the Cargo extension[edit]

Integrate SVG Translate with ContentTranslation[edit]

Add to the ContentTranslation extension the ability to use the SVG Translate tool, to allow for translating images.

Make notification counts update without page reload[edit]

Add to the Echo extension automatic update of notification counts.

Multi-wiki support, article exclusion and namespace support for WikiEduDashboard[edit]

Structured Commons support in Commons Android app[edit]

Tool for event organizers to track developer activity[edit]

Tool to cut videos in Wikimedia Commons[edit]


See GSoC 2018 Code analytics for statistics on code contributed by these projects and wrap-up blogpost.

Browse feature for Wikimedia Commons App[edit]

Create an Explore feature for the Wikimedia Commons App.

Emoji Twitter bot for Commons images from NYPL fork[edit]

Create a Twitter bot account that responds to mentions containing an emoji, and replies with an image from Wikimedia Commons; based on the New York Public Library Emoji Bot account.

Feedback on how pictures uploaded to Commons get used: statistics, barnstars, light gamification[edit]

Add to the Wikimedia Commons App features to encourage uploading, including feedback on usage of the images, and rewards.

Improve the Cargo Special:Drilldown page[edit]

Improve the functionality and display of the Special:Drilldown page in the Cargo extension.

Improve Data Explorer on[edit]

Implement resizable and draggable windows for the Data Explorer, improve the Graph Explorer by adding support for incoming links, and give these explorers new look by adding toolbars for the Wikidata Query project.

Improvements for the Toolforge 'webservice' command[edit]

Enhance the Toolforge 'webservice' command.

Improvements to Wikistats 2.0 front-end[edit]

Improve the Wikistats 2.0 front-end, aesthetically and functionally.

OOUI Tutorial Migration[edit]

Started as a project to add a category filter to Special:RecentChanges. However, due to its complex nature and dependency issues, the initial idea was replaced by a project to create and improve tutorials for the OOUI JavaScript library.

Predict relevance of search results from historical clicks using a Neural Click Model[edit]

Starting from a small pre-existing patch, produce a proof of concept for predicting search result relevance from click data using neural networks.

  • Student: Karan Dhingra
  • Mentors: Erik Bernhardson, Trey Jones
  • Outcome: Test results board can be viewed here. Testing and evaluating this model is ongoing, to determine whether it provides any computational or prediction benefits over the current modeling.

Spreadsheet interface for modifying multiple pages to the Page Forms extension[edit]

Add a new special page to the Page Forms extension to let users edit infobox data in multiple pages at once using a spreadsheet interface.

WikiEdu Dashboard Article Finder Tool[edit]

Create an article finder tool to aid course instructors and students identifying the Wikipedia articles they would like to work on.

Worklist tool for campaigns and in-person editing events[edit]

Develop a worklist tool to help the #1Lib1Ref campaign.  

Other projects[edit]

Special mention should be made of two projects that were not done via the Wikimedia Foundation, but are still relevant to Wikimedia sites. The first was a GSoC project done with CiviCRM, instead of the WMF, as a mentoring organization. The student was Saurabh Batra, and the mentors were Adam Wight and Eileen McNaughton. Saurabh created a fraud-detection API for Wikimedia donations that could potentially save the WMF tens of thousands of dollars in the form of chargeback payments. See the main API code, sample pipeline code that calls the API, and the student's project summary.

The second project was done unsupervised and not as part of GSoC, though it was completed concurrently with GSoC. The student, Balaji Ramasubramanian, developed a Facebook chat bot for Wikipedia that users can subscribe to, to receive notifications for Article of the day, Picture of the day, Random article, Top read, etc. from Wikipedia. See a video of the bot in action, as well as the project task and code commits.


Automatic editing suggestions and article feedback in Programs & Events Dashboard[edit]

Add to the Wiki Education Foundation Programs & Events Dashboard the ability to provide automatic suggestions to student editors about how to get started with improving their assigned Wikipedia articles.

Hierarchy support in Cargo[edit]

Add support for hierarchical data in the Cargo extension and, to a lesser extent, the Page Forms extension.


Develop a tool which allows any Wikimedia Commons user to import images to Commons from the online repositories of a number of GLAMs (galleries, libraries, archives and museums) easily.

Improvements to Proofread Page and Wikisource[edit]

Improve and enhance the Proofread Page extension and Wikisource, through important bug fixes that are left as backlog and implementation of significant features that would make it more user-friendly. 

Enhanced usability for Wikimedia Programs & Events Dashboard[edit]

Make various enhancements to the Wiki Education Foundation Programs & Events Dashboard, including doing user testing and improving accessibility on mobile devices.

Thanks support in Pywikibot[edit]

A second attempt at a project originally attempted in 2016. Give Pywikibot bots the ability to use the Thanks extension on normal revisions and Flow posts, as well as work with Thanks log entries and generate reports for thankers and thankees on wikis.

  • Student: Alexander Jones
  • Mentors: John Vandenberg
  • Outcome: Pywikibot bots can now thank Flow posts and normal revisions. A script was written to generate reports compatible with Faebot's. Thanks log entries can now be used in Pywikibot. Progress was made on publicly logging Thanks notification changes and on Flow revision support in Pywikibot.
  • Relevant links: project task, code commits in Gerrit, weekly reports

Upgrade and improve the Quiz extension[edit]

Update and upgrade the Quiz extension, add new features, and remove legacy code.


Accuracy review of Wikipedias[edit]

Create an accuracy review tool to make it easier for users to find and review inaccurate content in Wikipedia articles.

Contributors extension improvements[edit]

Original name "List of Contributors". Improve the Contributors extension.

  • Student: Devi Krishnan
  • Mentors: Addshore, Niharika Kohli
  • Outcome: The Contributors extension now has its own database table, which makes querying faster; and the display of the contributors list was improved.
  • Relevant links: project task

Extension for page creation/editing notifications[edit]

Create an extension to allow for notification of specific types of edits, making use of the Echo extension.

HTML email support in MediaWiki[edit]

Improving static analysis tools for MediaWiki[edit]

Improve the MediaWiki-CodeSniffer linting tool.

Pywikibot categorisation of Commons media using computer vision[edit]

Pywikibot Support for Thanks[edit]

Add handling of the Thanks extension to Pywikibot.

Wikidata support for IFTTT[edit]

Improve the Wikimedia web app that provides an API for IFTTT to also provide triggers for Wikidata events.

WikiToLearn projects[edit]

Special mention should also be made of the participation of the WikiToLearn organization in GSoC 2016; many of their projects involved MediaWiki-related development. The relevant WikiToLearn projects were:


Allow contributors to update their own details in tech metrics[edit]

  • Student: Sarvesh Gupta
  • Mentors: Alvaro, Dicortazar
  • Outcome: Failed in mid-term due to absence of substantial work
  • Relevant links: project task

Enhanced cross-wiki watchlist[edit]

Extension to identify and delete spam pages[edit]

Graph editing in VisualEditor[edit]

Modify the Graph extension to allow for editing graphs within VisualEditor.

Implement Flow support in Pywikibot[edit]

  • Student: Alexander Jones
  • Mentors: John Mark Vandenberg, Matthew Flaschen
  • Outcome: Loading content, creating topics, replying to posts, locking and unlocking topics, and fetching post and topic revision history were all implemented; further progress was stalled by unforeseen bugs in existing code.
  • Relevant links: project task

Implement OAuth support in Pywikibot[edit]

Newsletter extension for MediaWiki[edit]

Rewrite the Newsletter extension to be more comprehensive, allowing publishers to create newsletter and announce new issues and allowing users to browse and subscribe to newsletters.

Unified Language Proofing tools integration framework[edit]

Add language proofing support for VisualEditor.

Wikidata Page Banner Extension For Wikivoyage[edit]

Create an extension which displays page banners that can be based on data in Wikidata.


Add proper email bounce handling to MediaWiki[edit]

Add VERP, or Variable Envelope Return Path, to MediaWiki mailing, so that bounced messages can be handled better.

Automatic cross-language screenshots for user documentation[edit]

Automate the process of creating screenshots of MediaWiki software, across many different languages.

Book management in Wikibooks/Wikisource[edit]

Modify the BookManagerv2 extension in order to improve its user interface and allow it to handle books not created with that extension.

Catalogue for MediaWiki extensions[edit]

Enable ratings and potentially other ways for users to judge the quality of different MediaWiki extensions.

Chemical Markup support for Wikimedia Commons[edit]

Add the ability to display chemistry information from within wikitext in Wikimedia Commons.

Generic, efficient localisation update service[edit]

Improve on the LocalisationUpdate extension to make the delivery of new translations, such as from to Wikimedia wikis, more efficient.

  • Student: Kondi
  • Mentors: Kartik Mistry, with assistance by Niklas Laxström
  • Outcome: Code for the LUv2 Server was created and was formerly viewable here, though it is no longer viewable. Such a server would also require a MediaWiki extension to interact with it, which was never created.

Google Books to Internet Archive to Commons upload automation tool[edit]

A tool to automatically import the contents of a book stored in Google Books to both the Internet Archive and Wikimedia Commons.

MassMessage page input list improvements[edit]

Modify the MassMessage extension to be able to use JSON, instead of parser functions, to define delivery lists.

A modern, scalable and attractive skin for MediaWiki[edit]

Create a new and modern-looking MediaWiki skin.

  • Student: Jack Phoenix
  • Mentors: Isarra, Emufarmers
  • Outcome: Project created the BlueSky skin, which worked with MediaWiki until version 1.27. Jack was an active MediaWiki contributor before GSoC, and remains so afterwards.

Parsoid-based online detection of broken wikitext[edit]

Modify the Parsoid service to be able to report all instances of incorrect wikitext to a central location.

Separating skins from core MediaWiki[edit]

A high-impact project to make skins in MediaWiki more modular, akin to extensions.

  • Student: Bartosz Dziewoński
  • Mentors: Jon Robson, Ori Livneh
  • Outcome: Code was successfully merged in to MediaWiki, resulting in skin handling changing significantly in MediaWiki version 1.24, including skins no longer being included directly in core. Bartosz was an active MediaWiki contributor before GSoC, and remains so afterwards.

Switching Semantic Forms autocompletion to Select2[edit]

Add a new input type, "tokens", and modify another, "combobox", in the Semantic Forms extension, both using the Select2 JavaScript library.

Tools for mass migration of legacy translated wiki content[edit]

Add to the Translate extension the ability to automatically "prepare" a page for translation by adding the necessary tags and to import old translations in the system.

UniversalLanguageSelector fonts for Chinese wikis[edit]

Modify the UniversalLanguageSelector extension to create font files for Chinese-language pages that only contain the characters necessary for each page, instead of all 80,000+.

  • Student: Aaron Xiao
  • Mentors: Liangent and DChan (WMF)
  • Outcome: The code had unresolved bugs, and was never put into production. A demo was formerly viewable here, but is no longer viewable.

Usability improvements for the Translate extension[edit]

A project to make a variety of improvements to the Translate extension, including a clearer user interface, more features, and bug fixes.

  • Student: Kunal Grover
  • Mentors: Robin and Siebrand Mazeland
  • Outcome: Kunal created many changes and fixes to MediaWiki core, the Translate extension, and a few other extensions. Most were merged in, though some are still under review. The main change was ready for deployment but got stuck for 2 years waiting for a database schema change.

Wikidata-based book annotation tool[edit]

Enable annotation of book contents in order for facts from those books to get imported into Wikidata.


Android app for MediaWiki translation[edit]

An Android app to translate in a MediaWiki site that has the Translate extension installed, such as or

Bayesian spam filter extension[edit]

Create an extension to detect spam edits using Bayesian techniques.

Improve support for book structures[edit]

Modify the BookManager extension to provide a user-friendly form to organize individual pages and subpages into a single book structure, for use on sites such as Wikisource and Wikibooks.

  • Student: Molly White
  • Mentors: Raylton P. Sousa and Mwalker
  • Outcome: The BookManagerv2 extension was created. It had some bugs and missing features, some of which were fixed or implemented in Deepali Jain's 2014 GSoC project. Both the BookManager and BookManagerv2 extensions were later abandoned.

Improvement of glossary tools[edit]

Improve the functionality of the two MediaWiki glossary extensions: Lingo and Semantic Glossary.

Incremental data dumps[edit]

Create a system for MediaWiki data dumps that only show the differences from the previous dump, enabling much faster transfer.

jQuery.IME extensions for Firefox and Chrome[edit]

Create Firefox and Chrome browser plugins/extensions that make use of the jQuery Input Method Editor (jQuery.IME) library for providing input methods across different languages.

Language Coverage Matrix dashboard[edit]

Create an interactive tool for viewing MediaWiki's current language support.

Mobilize Wikidata[edit]

Create a mobile-friendly display for the contents of Wikidata.

Moodle extension[edit]

Create an extension to display information from the learning-management system Moodle.

Pronunciation Recording Tool[edit]

Create a user-friendly tool for uploading audio files showing the pronunciation of words, in Wiktionary.

Prototyping inline comments[edit]

Create a prototype for letting users add inline comments within wiki pages, to allow for discussions on the content, using the OKFN Annotator JavaScript library.

Refactoring of ProofreadPage extension[edit]

Modify the ProofreadPage extension for general improvements, as well as to allow integration with the VisualEditor extension.

  • Student: Aarti Dwivedi
  • Mentors: Tpt and Zaran
  • Outcome: Extension was successfully modified. Several bugs were later found after a deployment to WMF sites, and fixed by Tpt; a testing suite for ProofreadPage would be helpful.

Section handling in Semantic Forms[edit]

Add the ability to edit/handle page sections to both the Semantic Forms and Page Schemas extensions.

  • Student: Himeshi De Silva
  • Mentor: Yaron Koren
  • Outcome: This capability was added to both extensions, and was released in version 2.6 of Semantic Forms and version 0.4 of Page Schemas.

UploadWizard: Book upload customization[edit]

Modify the Extension:UploadWizard extension to allow for uploading books, and book metadata, for use on Wikisource.

VisualEditor Mathematical Equations Plugin[edit]

Create a plugin for the VisualEditor extension to allow for viewing and editing mathematical equations.

  • Student: Jiabao Wu
  • Mentors: Peter Krautzberger and Roan Kattouw
  • Outcome: Project was not completed.

VisualEditor plugin for source code editing (SyntaxHighlight GeSHi support)[edit]

Create a plugin for the VisualEditor extension to allow for editing source code, based on the formatting done by the SyntaxHighlight GeSHi extension.

VisualEditor RTL support[edit]

Improve support in the VisualEditor extension for right-to-left languages.

Wikidata Entity Suggester[edit]

Allow for suggesting new properties, as well as values for properties, to editors on Wikidata.

Wikidata language fallback and conversion[edit]

Add language fallback handling (in case data isn't available in the user's own language) to the Wikibase extension, for use on Wikidata.

ZIM incremental updates for Kiwix[edit]

Allow for incremental updates of Wikipedia's content, in ZIM format, to enable much faster transfer to the Kiwix offline reader.


Of about 41 applications that were worth considering;[1] the following were accepted:

Convention Extension[edit]

Create an extension, ConventionExtension, to enable MediaWiki to serve as a conference management system.

  • Student: Akshay Chugh
  • Mentor: Jure Kajzer
  • Outcome: ConventionExtension was at "beta" status, then later was abandoned.

Green SMW[edit]

Make changes to the Semantic MediaWiki extension's storage and caching system to make it more efficient, and thus more "green".

  • Student: Nischay Nahata
  • Mentors: Jeroen De Dauw and Markus Krötzsch
  • Outcome: This project formed the basis of the new database structure for Semantic MediaWiki, SMWSQLStore3, which first appeared in SMW 1.8, released in December 2012. Nischay remains an active SMW contributor, and also does code review and bug fixing for the WMF.

Improvements to OpenStackManager[edit]

Upgrade the OpenStackManager extension to support the new OpenStack API.

  • Student: Suhas Rao
  • Mentor: Ryan Lane
  • Outcome: Project failed and did not produce any code.

Incubator improvements and language support[edit]

Improve the usability, performance and language coverage of the WikimediaIncubator extension, used on the site Wikimedia Incubator.

  • Student: Robin Pepermans
  • Mentor: Niklas Laxström
  • Outcome: Project was partly completed. Robin was already a MediaWiki contributor before the project (he is the author of WikimediaIncubator).

Integration of Flickr and Geolocation in Upload Wizard[edit]

Improve the UploadWizard extension in two ways: allow for easy transfer of images from the website Flickr, and allow users to select a coordinate location for photos using a clickable map interface.

  • Student: Ankur Anand
  • Mentor: Ryan Kaldari
  • Outcome: Code was created for the two new features, and put into two Git branches: flickr (which was merged into UploadWizard trunk and deployed), and geo (which was not merged).

Realtime collaboration on VisualEditor[edit]

Enable the VisualEditor extension to be used for realtime collaboration, where users' edits propagate immediately to other users' screens, in the manner of Etherpad and Google Docs.

  • Student: Ashish Dubey
  • Mentor: Trevor Parscal
  • Outcome: A basic version of this feature was created, which allows for a single editor to make changes, which other users can then see immediately. This functionality was not integrated into VisualEditor.


Original name: "TranslateSvg: Bringing the translation revolution to Wikimedia Commons". Create the TranslateSvg extension, which will allow users to translate the text within uploaded SVG files into different languages, via the wiki.

Watchlist grouping and workflow improvements[edit]

Create a system for grouping pages, so that users can watch all the pages within a single group without having to add each one individually to their watchlist.

Wikimedia Commons mass upload tool[edit]

Original name: "Application for mass uploading files to Wikimedia Commons on upload campaigns". A desktop application for doing mass uploads of photos.

  • Student: Platonides
  • Mentor: Sumana Harihareswara
  • Outcome: Student did not have enough time, due to his other MediaWiki development-related work, and the project was not completed beyond a prototype.


Approximately 24 serious proposals were submitted,[1] out of which the following were accepted:

Archival for Web References/Citations[edit]

Facilitate the archival of external links used as references in the English Wikipedia, to prevent "link rot" for pages that go offline. This was implemented as the ArchiveLinks extension.

  • Student: Kevin Brown
  • Mentor: Neil Kandalgaonkar
  • Outcome: A working interface, and a protocol for feeding new links to partners like the Internet Archive, were created, but the extension was not completed. The ArchiveLinks extension was at "experimental" status, then abandoned.
  • Relevant links: work log

Customization of Gadgets[edit]

Original name: "AMICUS: Awesome Monolithic Infrastructure for Customization of User Scripts". Allow gadgets, defined within the Gadgets extension, to be made customizable per wiki using settings variables.

Extension Release Management[edit]

Implement an extension management platform for MediaWiki, based on the first half of the 2010 GSoC project "Extension management platform", i.e. the Distribution extension.

  • Student: Aigerim Karabekova
  • Mentors: Sam Reed, Priyanka Dhanda, and Chad Horohoe
  • Outcome: Cancelled due to student's personal problems, including health issues.

Improving Semantic MediaWiki search[edit]

Original title: "Improving Semantic Search/Semantic Query usability issues in SMW". Project to make the "Special:Ask" page in Semantic MediaWiki more user-friendly.

  • Student: Devayon Das
  • Mentor: Markus Krötzsch
  • Outcome: The code was created and added to Semantic MediaWiki as an optional feature that can be enabled by a configuration setting. Issues remained with the code, however, and the feature was later removed.

Offline article selection[edit]

Original title: "Making Offline Wikipedia Article Selection Easier with MediaWiki Extensions". Create an extension to allow export of Wikipedia articles into offline collections, meant to replace the WP 1.0 bot.

  • Student: Yuvi Panda
  • Mentor: Arthur Richards
  • Outcome: The SelectionSifter extension was created, but went unused and was abandoned. However, Yuvi Panda later worked as a contractor for the Wikimedia Foundation, working mostly on mobile development.

Page Schemas[edit]

Original title: "Semantic Schemas extension". Project to create the Page Schemas extension, to define data structure for wiki pages, mostly meant to be used with the Semantic MediaWiki extension.

  • Student: Ankit Garg
  • Mentor: Yaron Koren
  • Outcome: A preliminary version of Page Schemas was created successfully; it was later modified significantly by Yaron. The extension is currently in active use.

Signup API[edit]

Original name: "Account Creation, Login Screens and AJAX-ification of everything". Implement the Account creation proposal, which would allow for Ajax-based login. This was implemented as the SignupAPI extension.

SocialProfile extension – UserStatus feature[edit]

Add the ability for users to set their current status, and track each others' statuses, in the SocialProfile extension.


For the official list with links to the proposals, go here.

Extension management platform[edit]

"Creating an awesome extension management platform for MediaWiki, facilitating the installation, updating, removal and configuration of extensions."

See Deployment for overview - project resulted in two new extensions, Distribution and Deployment.

  • Student: Jeroen De Dauw
  • Mentor: Brion Vibber
  • Outcome: Extensions took longer than expected, and remained uncompleted at the end of the term. The WMF decided not to fund additional development on these extensions, but there is still interest within the WMF to get this functionality working.

Improve metadata support[edit]

Improve metadata support for uploaded media in MediaWiki by displaying embedded IPTC and XMP metadata.

  • Student: Brian Wolff
  • Mentor: Chad Horohoe
  • Outcome: Code was initially added to the img_metadata branch, and then merged into trunk in r86169, which became part of MediaWiki 1.18. Brian has continued to work actively on MediaWiki, on core and extensions.

Interwiki template transclusion[edit]

The aim is to allow MediaWiki users to insert (transclude) templates from one wiki to another on Wikimedia Foundation (WMF) wikis (Wikipedia, Wikimedia Commons, etc.). (See feature proposal.)

Javascript overhaul of Semantic MediaWiki[edit]

"Improve and extend the Javascript for Semantic MediaWiki and some of its spinoff extensions, most notably Semantic Forms - this would include transferring over much of the Javascript to use the jQuery library, which is now becoming a MediaWiki standard."

  • Student: Sanyam Goyal
  • Mentor: Yaron Koren
  • Outcome: Work was completed as specified, and five extensions (Semantic MediaWiki, Semantic Forms, Semantic Forms Inputs, Semantic Drilldown, Semantic Result Formats) had their Javascript improved, and modified to use jQuery where appropriate.


Project to create the RDFIO extension. (Original project name: "General RDF export/import in Semantic MediaWiki").

  • Student: Samuel Lampa
  • Mentor: Denny Vrandečić
  • Outcome: The RDFIO extension was in active use for around a year, then stopped being maintained in 2011, then became maintained again in 2012. It is currently at "beta" status.

Wikisource Legal Tool[edit]

Create a tool to format judicial decisions, legal scholarship, and statutes for Wikisource.

  • Student: Stephen Laporte
  • Mentor: Ariel Glenn
  • Outcome: Formatted U.S. Supreme Court opinions are being imported to Wikisource by BenchBot. Stephen Laporte currently works for the Wikimedia Foundation as a lawyer.


For the official list with links to the proposals, go here.

Maps and Semantic Maps[edit]

Project to create the Maps and Semantic Maps extensions (original project name: "Semantic Layers Extension").

  • Student: Jeroen De Dauw
  • Mentor: Yaron Koren
  • Outcome: In 2017 Semantic Maps was made obsolete, and its features were merged into the Maps extension. The Maps extension is in use on over 1,000 sites, and remains under active development. Jeroen is still very active in the community, and has been a contractor for the Wikimedia Foundation and Wikimedia Deutschland.


"Doog - The New Cortado Applet" - improvements to MwEmbed.


"Turning MediaWiki into an efficient localization platform" - improvements to the Translate extension.

See Nikerabbit's GSoC 2009 wrapup blog post.

  • Student: Niklas Laxström (Nikerabbit)
  • Mentor: Siebrand Mazeland
  • Outcome: In active use on and dozens other wikis. Niklas Laxström was active in the community before and after this project, and currently works for the Wikimedia Foundation.

Image rendering daemon[edit]

Was written in Python and designed to handle asynchronous image rendering requests.

"This is a proposal to fix the MediaWiki bug #4854, implementing a daemon program to render and resize images uploaded by Wikipedia users. Separating the image manipulating work from the MediaWiki application will greatly alleviate application server's load, thus improve the overall performance. The API will be designed as general as possible to accommodate the needs of other applications that also render and resize images in large quantity."
  • Student: Zhe Wu
  • Mentor: Aryeh Gregor (Simetrical)
  • Notes: Proposal was very well written, programmer obviously knew what he was doing. Major issues:
    • Was being developed on another repository. Should have been in SVN with everything else.
    • Mentored by an accomplished developer, but someone who had little interest in the subject matter
    • While the proposal was very well written, it wasn't developed with Wikimedia operations in mind. Their wants/needs should've been solicited and probably consulted during the process as well.
  • Outcome: Final status email. Since it was developed off-site, it never really received much input. It appears that none of the code was ever looked at by anyone in operations for potential deployment on WMF.



"I am working on an extension which provides a WebDAV / DeltaV / Subversion interface to MediaWiki articles: WebDAV"

"The extension enables articles to be browsed and edited with WebDAV or Subversion clients. When complete, it will support editing articles offline, using for example the Subclipse Eclipse IDE plugin or Emacs VC mode."

  • Student: Jack Bates
  • Mentor: ?
  • Outcome: The WebDAV extension became unmaintained soon after its creation, but was then resurrected in 2019.

Visual Diff[edit]

Visual diffs/2008 project - A system to provide more visually intuitive diffs, rather than lines added/removed.

  • Student: Guy Van den Broeck
  • Mentor: Brion Vibber
  • Notes: Brion was always busy, so Guy asked a lot of questions in #mediawiki.
  • Outcome: Had lots of outstanding issues - i18n, style, etc. Was a part of two releases, 1.14 and 1.15, in which it was disabled by default. Removed from trunk in r58267, and was not in 1.16 or subsequent releases. The code was used, however, as the basis for htmldiff, a non-MediaWiki PHP library that displays diffs of HTML snippets.

Special mention should also be made of another MediaWiki-related project done in 2008, but by Creative Commons and not the Wikimedia Foundation: a project to add RDFa support to Semantic MediaWiki. David McCabe was the student and Nathan Kinkade was the mentor. The code created is no longer in use.


Audio/video file recoding[edit]

The proposal: "Audio and video can instruct and inform in ways unattainable by words and still images. Currently, audio and video have only limited support and are often cumbersome to access in MediaWiki and the various projects of the Wikimedia Foundation. This project seeks to allow Wikimedia's sites to more effectively leverage the power of audio and video resources. To achieve this, a reliable and expandable system is proposed to automatically recode contributions from numerous digital a/v formats to a single, royalty and patent free compression standard. With the ability to generate such a library, Wikimedia would be poised to easily present a vast range of audio and video to their visitors using an in-browser streaming player."

Project blog:

  • Student: Mike Baynton
  • Mentor: Brion Vibber
  • Outcome: Code appears to have been unused by the WMF.



"Add support for structured discussion pages. Option for discussion pages to be more like message boards with threads. Current discussion format is less than ideal (can modify others' comments, cluttered editing window, etc). This could also include support for embedding polls in discussion pages, voting on proposals, etc. Basically, create a minimal message board system that is tailored for use in a wiki environment (see LiquidThreads [this is a link to the page as it existed then] for some ideas in that direction)."

  • Student: David McCabe
  • Mentor: Erik Möller (?)
  • Outcome: This project created the first version of the LiquidThreads extension. David was temporarily re-hired by the WMF in 2008 to maintain and improve the extension. LiquidThreads was almost entirely rewritten (by Andrew Garrett) in 2010, before being abandoned in 2013.
  • Relevant links: project blog

Video display[edit]

No-install, in-browser display of video (and audio?) clips for Wikimedia Commons, using reasonably common Java and/or Flash components. Needs to be able to 1) play or transparently pre-convert Ogg Theora videos, 2) avoid use of patent-encumbered formats. Consider integration of Fluendo's Cortado player applet as a starting point.

Brion's talk suggested that this project would also involve creating thumbnails for video clips.

  • Student: Michael Dale
  • Mentor: Brion Vibber
  • Outcome: Michael Dale went on to work on other MediaWiki video efforts (metavid, which eventually turned into mwEmbed and finally into TimedMediaHandler, which is in testing and review before WMF deployment). Tim Starling did the final integration of the Cortado applet and Ogg parsing as part of the OggHandler extension, which currently supports video functionality on Wikimedia Commons. Michael Dale came back to work with the Foundation in late 2008 on a few different projects with support from Kaltura, mentored a student in 2009, and is still active in developing Wikimedia technologies.


  1. 1.0 1.1 "Worth considering" here means excluding the proposals that were spam, very very vague, or directly copied and pasted from our onwiki ideas list.