Summer of Code Past Projects
|Google Summer of Code:||2006 • 2007 • 2008 • 2009 • 2010 • 2011 • 2012 • 2013 • 2014(planning) • Past projects|
- 1 2013
- 1.1 Android app for MediaWiki translation
- 1.2 Bayesian Spam Filter Extension for MediaWiki
- 1.3 Improve support for book structures
- 1.4 Improvement of glossary tools
- 1.5 Incremental data dumps
- 1.6 jQuery.IME extensions for Firefox and Chrome
- 1.7 Language Coverage Matrix dashboard
- 1.8 Mobilize Wikidata
- 1.9 Moodle extension
- 1.10 Pronunciation Recording Tool
- 1.11 Prototyping inline comments
- 1.12 Refactoring of ProofreadPage extension
- 1.13 Section handling in Semantic Forms
- 1.14 UploadWizard: Book upload customization
- 1.15 VisualEditor Mathematical Equations Plugin
- 1.16 VisualEditor plugin for source code editing (SyntaxHighlight GeSHi support)
- 1.17 VisualEditor RTL support
- 1.18 Wikidata Entity Suggester
- 1.19 Wikidata language fallback and conversion
- 1.20 ZIM incremental updates for Kiwix
- 2 2012
- 2.1 Convention Extension
- 2.2 Green SMW
- 2.3 Improvements to OpenStackManager
- 2.4 Incubator improvements and language support
- 2.5 Integration of Flickr and Geolocation in Upload Wizard
- 2.6 Realtime collaboration on VisualEditor
- 2.7 TranslateSvg
- 2.8 Watchlist grouping and workflow improvements
- 2.9 Wikimedia Commons mass upload tool
- 3 2011
- 4 2010
- 5 2009
- 6 2008
- 7 2007
- 8 2006
- 9 Footnote
2013[edit | edit source]
Android app for MediaWiki translation[edit | edit source]
Create an app for making translations in a MediaWiki site with the Translate extension, such as translatewiki.net or meta.wikimedia.org.
- Student: Or Sagi
- Mentors: Niklas Laxström and Yuvaraj Pandian
- Status: The app was successfully created, and is available in Google's Play Store.
Bayesian Spam Filter Extension for MediaWiki[edit | edit source]
Create an extension to detect spam edits using Bayesian techniques.
- Student: Anubhav Agarwal
- Mentors: Platonides and Chris Steipp
- Status: The BayesianFilter extension was created, and is currently at status "beta".
Improve support for book structures[edit | edit source]
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
- Status: Project was mostly finished, but still has some bugs; see here.
Improvement of glossary tools[edit | edit source]
- Student: Yevheniy Vlasenko
- Mentors: Yury Katkov and Stephan Gambke
- Status: Various features were added to one or both extensions, including a <noglossary> tag, integration with the Approved Revs extension, and customizing the tooltip display using templates.
Incremental data dumps[edit | edit source]
Create a system for MediaWiki data dumps that only show the differences from the previous dump, enabling much faster transfer.
- Student: Petr Onderka
- Mentors: Ariel Glenn and Tyler Romeo
- Status: Code is mostly finished (though file compression was not done), but requires review and merge.
jQuery.IME extensions for Firefox and Chrome[edit | edit source]
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.
- Student: Praveen Singh
- Mentors: Santhosh Thottingal and Amir E. Aharoni
- Status: The extensions were both created, and are available at the Chrome Web Store and the Mozilla Add-ons repository, respectively, both under the name "Wikimedia Input Tools". The source code for both is viewable here and here.
Language Coverage Matrix dashboard[edit | edit source]
Create an interactive tool for viewing MediaWiki's current language support.
- Student: Harsh Kothari
- Mentors: Runa Bhattacharjee and Alolita Sharma
- Status: The tool was created; the code is available here, and a demo can be seen here.
Mobilize Wikidata[edit | edit source]
Create a mobile-friendly display for the contents of Wikidata.
- Student: Pragun Bhutani
- Mentors: Katie Filbert and Jon Robson
- Status: A number of changes were made to the Wikibase extension to support this new feature, but the project is not yet complete. A demo can be seen here. See here for current status.
Moodle extension[edit | edit source]
Create an extension to display information from the learning-management system Moodle.
- Student: Rohan Verma
- Mentors: Jan Luca Naumann and Brian Wolff
- Status: The Moodle extension was created and partially completed; it is currently at "unstable" status.
Pronunciation Recording Tool[edit | edit source]
Create a user-friendly tool for uploading audio files showing the pronunciation of words, in Wiktionary.
- Student: Rahul Maliakkal
- Mentors: Michael Dale and Matt Flaschen
- Status: The PronunciationRecording extension was created, which was only partially completed and is currently at "unstable" status. A demo of the tool is viewable here.
Prototyping inline comments[edit | edit source]
- Student: Richa Jain
- Mentors: Matthew Flaschen and Tyler Romeo
- Status: The Annotator extension was created, which is currently at "unstable" status.
Refactoring of ProofreadPage extension[edit | edit source]
Section handling in Semantic Forms[edit | edit source]
- Student: Himeshi De Silva
- Mentor: Yaron Koren
- Status: 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 | edit source]
Modify the Extension:UploadWizard extension to allow for uploading books, and book metadata, for use on Wikisource.
- Student: Nazmul Chowdhury
- Mentors: Mark Traceur and Micru
- Status: Project was not completed, due in part to unresolved questions about the use of the TemplateData extension.
VisualEditor Mathematical Equations Plugin[edit | edit source]
Create a plugin for the VisualEditor extension to allow for viewing and editing mathematical equations.
- Student: Jiabao Wu
- Mentors: Peter Krautzberger and Roan Kattouw
- Status: Project was not completed.
VisualEditor plugin for source code editing (SyntaxHighlight GeSHi support)[edit | edit source]
- Student: Tongbo Sui
- Mentors: Trevor Parscal and James Forrester
- Status: A new "syntaxhighlight" module was successfully added to the VisualEditor extension.
VisualEditor RTL support[edit | edit source]
Improve support in the VisualEditor extension for right-to-left languages.
- Student: Moriel Schottlender
- Mentors: Amir E. Aharoni and Inez Korczynski
- Status: A large number of RTL-related bugs were fixed. A VisualEditor language selector/inspector was created. An RTL-capable TemplateData editor was created as both a gadget and a patch to the TemplateData extension; the gadget is already deployed on the Hebrew Wikipedia, and the patch is awaiting review. See here for more information.
Wikidata Entity Suggester[edit | edit source]
Allow for suggesting new properties, as well as values for properties, to editors on Wikidata.
- Student: Nilesh Chakraborty
- Mentors: Daniel Kinzler, Denny Vrandečić
- Status: The WikidataEntitySuggester extension was created; it is currently at "experimental" status.
Wikidata language fallback and conversion[edit | edit source]
Add language fallback handling (in case data isn't available in the user's own language) to the Wikibase extension, for use on Wikidata.
- Student: Liangent
- Mentors: Denny Vrandečić and Katie Filbert
- Status: A large number of changes were made to Wikibase, but the overall project is not yet complete. See here for current status.
ZIM incremental updates for Kiwix[edit | edit source]
Allow for incremental updates of Wikipedia's content, in ZIM format, to enable much faster transfer to the Kiwix offline reader.
- Student: Kiran Mathew Koshy
- Mentors: Emmanuel Engelhart and Tommi Mäkitalo
- Status: Two scripts, zimdiff and zimpatch, were added to the Wikimedia OpenZIM code. Integration into Kiwix is not yet complete, but student is still working on it. See here for current status.
2012[edit | edit source]
We received about 41 applications that were worth considering, and accepted the following:
Convention Extension[edit | edit source]
Create an extension, ConventionExtension, to enable MediaWiki to serve as a conference management system.
- Student: Akshay Chugh
- Mentor: Jure Kajzer
- Status: ConventionExtension is currently at "beta" status.
Green SMW[edit | edit source]
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
- Status: 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 | edit source]
Upgrade the OpenStackManager extension to support the new OpenStack API.
- Student: Suhas Rao
- Mentor: Ryan Lane
- Status: Student failed and did not deliver any code.
Incubator improvements and language support[edit | edit source]
- Student: Robin Pepermans
- Mentor: Niklas Laxström
- Status: Project was partly completed at the end of the summer, but Robin plans to keep working on it (he is the author of the extension).
Integration of Flickr and Geolocation in Upload Wizard[edit | edit source]
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
- Status: Code was created for the two new features, and put into the two new Git branches flickr (which was merged into UploadWizard trunk and deployed), and geo (which has not been merged).
Realtime collaboration on VisualEditor[edit | edit source]
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
- Status: A basic version of this feature was created, that allows for a single editor to make changes, which other users can then see immediately. This functionality has not yet been integrated into VisualEditor.
TranslateSvg[edit | edit source]
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.
- Student: Harry Burt
- Mentor: Max Semenik (Niklas Laxström helped out unofficially)
- Status: Extension is not yet complete.
Watchlist grouping and workflow improvements[edit | edit source]
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.
- Student: Aaron Pramana
- Mentor: Alex Emsenhuber
- Status: Only the back end of the system was finished. The student's development blog for the project can be found here.
Wikimedia Commons mass upload tool[edit | edit source]
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
- Status: Student did not have enough time, due to his other MediaWiki development-related work, and the project was not completed. However, a prototype was created, and Platonides hopes to improve it in the future.
2011[edit | edit source]
We received approximately 24 proposals worth considering, and accepted the following:
Archival for Web References/Citations[edit | edit source]
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
- Status: 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. See here for more information.
Customization of Gadgets[edit | edit source]
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.
- Student: Salvatore Ingala
- Mentors: Brion Vibber and Max Semenik
- Status: Code remains in a separate branch, awaiting merge into the Gadgets extension. It may be merged in as part of the creation of ResourceLoader 2. See here for more information.
Extension Release Management[edit | edit source]
- 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 | edit source]
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
- Status: The code was created and added to Semantic MediaWiki as an optional feature that users can enable by a suitable configuration setting. The code runs and can be used to solve tasks. But there are remaining issues that need to be addressed to make this feature the standard implementation.
Offline article selection[edit | edit source]
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
- Status: Extension was temporarily named the "GPoC" extension (for "GSoC Proof of Concept"), then renamed "SelectionSifter" in December 2011. (See code here.) The project has been abandoned. However, Yuvi Panda has become a contractor for the Wikimedia Foundation, working mostly on mobile development.
Page Schemas[edit | edit source]
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
- Status: 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 | edit source]
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.
- Student: Akshay Agarwal
- Mentor: Brandon Harris
- Status: The SignupAPI extension is currently at "experimental" status. Some of Akshay Agarwal's commits received code critique and require improvements (more information). The Editor Engagement team was at one point interested in reusing some of SignupAPI in a new project, though this has not occurred.
SocialProfile extension – UserStatus feature[edit | edit source]
Add the ability for users to set their current status, and track each others' statuses, in the SocialProfile extension.
- Student: Zhenya Vlasyenko
- Mentor: Jack Phoenix
- Outcome: Feature was added successfully. See here for more information.
2010[edit | edit source]
For the official list with links to the proposals, go here.
Extension management platform[edit | edit source]
"Creating an awesome extension management platform for MediaWiki, facilitating the installation, updating, removal and configuration of extensions."
- 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 | edit source]
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 | edit source]
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.)
- Student: Peter Potrowl
- Mentor: Roan Kattouw
- Outcome: Code was initially added to the iwtransclusion branch, and a prototype was created. Branch was merged into trunk in r95396 and then demerged. There was a plan by Sam Reed to re-merge the code into trunk in March 2012, but this was abandoned in April 2012.
- Student: Sanyam Goyal
- Mentor: Yaron Koren
RDFIO[edit | edit source]
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 | edit source]
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.
2009[edit | edit source]
For the official list with links to the proposals, go here.
Maps and Semantic Maps[edit | edit source]
- Student: Jeroen De Dauw
- Mentor: Yaron Koren
- Outcome: The two extensions are in use on over 100 sites each (see here and here), and are still under active development. Jeroen is still very active in the community, and has been a contractor for the Wikimedia Foundation and Wikimedia Deutschland.
MwEmbed[edit | edit source]
"Doog - The New Cortado Applet" - improvements to MwEmbed.
Translation[edit | edit source]
"Turning MediaWiki into an efficient localization platform" - improvements to the Translate extension.
- Student: Niklas Laxström (Nikerabbit)
- Mentor: Siebrand Mazeland
- Outcome: In active use on translatewiki.net 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 | edit source]
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.
2008[edit | edit source]
WebDAV[edit | edit source]
"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."
Visual Diff[edit | edit source]
Visual Diff - 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.
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; there is now a separate RDFa extension being used.
2007[edit | edit source]
Audio/video file recoding[edit | edit source]
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: http://mikeswikidev.wordpress.com/
- Student: Mike Baynton
- Mentor: Brion Vibber
- Outcome: Code appears to have been unused by the WMF.
2006[edit | edit source]
LiquidThreads[edit | edit source]
"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 (?)
- Notes: This project created the LiquidThreads extension, which had previously been only a proposal written by Erik Möller and others. David was later temporarily re-hired by the WMF in 2008 to maintain and improve the extension. See also David's GSoC project blog.
- Outcome: Andrew Garrett, working on contract from the Foundation, spent several months in 2010 overhauling LiquidThreads entirely; almost none of the old code was kept. A project to overhaul it again was begun in 2011. Still, this could be considered a successful project: it worked, and it developed some concrete ideas that were later expanded upon in the overhaul.
Video display[edit | edit source]
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.
Footnote[edit | edit source]
- "Worth considering" here means we are excluding the proposals that were spam, very very vague, or directly copied and pasted from our onwiki ideas list.