WordPress.org

Codex

GSoC2008

Contents

Google Summer of Code 2008

Howdy Students! Please see our GSoC 2008 Application Template

Mentors

Alex Shiels, tellyworth
Unit testing, automated regression testing and any related ideas. Developer of WordPress unit tests.
Andy Peatling
Expertise in Wordpress and Wordpress MU plugin and theme development. Generally available to mentor on any project.
Andy Skelton, skeltoac
Generally available for mentoring on any idea. Experience with all aspects of the WordPress code base. Expertise in WordPress editor, TinyMCE, import/export, JavaScript.
Hailin Wu
Utilize Google earth, maps, etc to demonstrate blogger's geographic information.
Joseph Scott
XML-RPC features, automated testing and documentation.
Lloyd Budd
Specific idea below and any related ideas to basic measuring of WordPress participation. Testing and Quality Assurance expertise.
Michael Adams, mdawaffe
Expertise in bbPress and JavaScript.
Nikolay Bachiyski
Any ideas in the i18n/l10n fields.
Sam Bauers
Specific idea below. bbPress expertise.
Callum Macdonald (chmac)
Knowledge of WPMU, term / taxonomy stuff and various other bits 'n' bobs.

Co- or Backup Mentors

Bas Bosman, Nazgul 
Experienced with WordPress importers and exporters and WordPress on Windows Internet Information Server (IIS)
Brian Layman
Integrated Caching Solutions will improve WordPress's speed and reliablity out of the box and allow people to "Digg Proof" their sites without the struggle of installing plugins on a site that is virtually unreachable.
Demitrious Kelly
Generally makes systems and code dance to the same tune.
Mahmoud Al-Qudsi, Computer Guru 
Expertise with WordPress on Windows Internet Information Server (IIS) and high performance WordPress
Mark Jaquith
Integrated Caching Solutions will improve WordPress's speed and reliablity out of the box and allow people to "Digg Proof" their sites without the struggle of installing plugins on a site that is virtually unreachable.
Peter Westwood, westi
Experienced with all aspects of the WordPress code base.

Mentor's Mentor

Matt Mullenweg, photomatt
guiding the mentors from everything from student application selection through to evaluating that the project is meeting the milestone objects and, finally, evaluating that it was completed successfully.

Ideas

If you have your own idea for a project, include it in your application.

See the popular ideas submitted by members of the WordPress community. If you share their passion, why not make that idea your own? Also, check out the ideas from last year.

Developers please add a description of the projects that you would be willing to mentor. Add your idea by editing this entry. "Other" should always be last.


Performance

Mentors: Mahmoud Al-Qudsi (Computer Guru)

Ideas:

  • A testing suite that measures performance of various components and can be regularly run against new code.
  • Finding sections of the WordPress codebase that particularly don't scale well under load.
  • Review of the object caching system to natively support pre-fetching and zero-query WordPress pages (without wp-cache)
  • If proper HTTP headers were sent from WordPress pages then external squid-like proxy caches could be used to vastly improve performance.
  • Currently WP loads all its code on every page, could a selective code loading scheme improve performance in a meaningful way?


XML-RPC

In the grand over all vision XML-RPC would expose all of the functionality that the web based wp-admin interface does. Some of the specific parts that are currently missing include links (aka blogmarks), tag management, media (uploads) management, import / export, theme selection and management, widget control, comment management, read and write general settings, plugin controls and user management.

Another wide open area for XML-RPC right now is automated testing, something similar to Tim Bray's Atom Protocol Exerciser (APE) would be a good model to follow.

Outside the realm of coding there is also a need for detailed documentation on XML-RPC. There are subtle issues between blogging platforms and how they handle specific fields. The blog APIs themselves are often vague and unclear on how things work. Over time people have relearned over and over the specific details about how WordPress (and others) have addressed these issues. Having detailed and precise documentation on how WordPress implements and deals with blog APIs would benefit current and future XML-RPC clients and their authors.


Web Forums Export/Import Standard and Tools

Mentor: Sam Bauers

Author a standard for exporting user data and content in a common and extensible XML format. Create a suite of exporters and importers for the most common forum software available and a standalone validator for the format.

A nascent standard is documented here and an exporter already exists for bbPress. First focus would be on implementation within bbPress and then extending the format and tools to accommodate data created by plugins or that exists within other forum software.


WordPress Import/Export Tuning

Mentor: Lloyd Budd, Alex Shiels

Import and export are the two most important features of WordPress, and although very good could be even better by having rigerous automated testing for WXR format. The performance of importing a large blog should also be measured. Related work could be adding and updating other importers, implimenting WXR format versioning, documenting the code, and considering the open import/export bugs.

You may want to give some consideration to the idea of "chunked" exports and imports which would avoid problems on hosts with restrictive upload settings.

Trac Social Bug Tracking Development

Mentor: Lloyd Budd

This is a project that doesn't involve WordPress code, but Trac is such an essential tool for WordPress participation. I thought to include this.

WordPress has a large number of "casual" contributors, people that contribute only a few bugs or fixes. These contributions are essential, and are the lungs if not the heart of WordPress. A fun way way for anyone to easily identify their contribution would be interesting.

Investigate what GNOME and Ubuntu (Launchpad.net) bug trackers include for "karma"-statistics testing and development ticket tracking. See what is available for Trac, which may be nothing, and work on a implementing a system similar to GNOME and Ubuntu's.

Although "Trac uses a minimalistic approach" a solution should be possible because of Trac's extensible architecture.


Integrated Caching Solutions

Mentor: Brian Layman, Mark Jaquith

Provide a streamlined and unified approach to HTML output caching in WordPress, respecting the built-in minimum requirements of WordPress 2.5 (PHP & MySQL versions etc.).

The caching solution must not *require* special server configuration, and should be built on top of WordPress's object cache structure (updated, if necessary) with configurable support for Memcached and other forms of caching.

The project should be developed as a core enhancement, but be able to be turned into a plugin if not accepted for core inclusion.

Timeline: UI choices defined, initial code framework complete, project decisions (cache scope?) by Midterm


Other

  • XHTML validation framework, which helps ensure that all output of WP (including templates) produces valid HTML
  • Extending the search system to support more advanced search syntax, relevance, and external APIs like Google or Yahoo's.
  • Batch editing of post and attachment attributes such as categories, tags, author.

See Also

GSoC2007, GSoC2008, GSoC2009, GSoC2010, GSoC2011, GSoC2012