Google Summer of Code/Past projects

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

Extension management platform
"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
 * Status as of 2011: 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 due to concerns about the security of the overall system.

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


 * Student: Brian Wolff
 * Mentor: Chad Horohoe
 * Status as of 2011: Code was initially added to the img_metadata branch, and then merged into trunk in r86169, which is part of MediaWiki 1.18.

Interwiki template transclusion
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.).

A prototype has been put in place. More on the status can be read here.
 * Student: Peter Potrowl
 * Mentor: Roan Kattouw
 * Status as of 2011: This has been coded in the branch iwtransclusion and is available here. It is currently awaiting being merged into the trunk.

Javascript overhaul of Semantic MediaWiki
"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.

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


 * Student: Samuel Lampa
 * Mentor: Denny Vrandecic
 * Status as of 2011: The RDFIO extension is in use, and is currently in "beta" status.

Wikisource Legal Tool
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.

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

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


 * Student: Jeroen De Dauw
 * Mentor: Yaron Koren
 * Outcome: Both extensions are in use on dozens of sites, and still under active development, and Jeroen is still very active in the community.

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


 * Student: Gerardo Cabero
 * Mentor: Michael Dale
 * Outcome: Applet was not successfully implemented.

Translation
"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 TranslateWiki.

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


 * 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 (need URL for this). 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: 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.

WebDAV
"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."

http://code.google.com/soc/2008/wikimedia/appinfo.html?csaid=E6DAC4A0526C0A41


 * Student: Jack Bates
 * Mentor: ?
 * Outcome: WebDAV extension exists, but appears to be unusable.

Visual Diff
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 MediaWiki 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.

Audio/video file recoding
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.

LiquidThreads
"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. The extension is currently being rewritten yet again, 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
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: ?
 * Mentor: ?
 * Outcome: ?