2007 Google Summer of Code Wrap Up

This summer, the Gallery project participated in the third Google Summer of Code. The Summer of Code is a program, funded by Google, to essentially give students a paid internship with Open Source projects. At the end of August, the third Summer of Code completed successfuly, not only for Gallery, but each of the 130 other mentoring organizations. For twelve days, students from across the globe submitted proposals from our suggested projects and ideas of their own. Gallery received 62 applications after Google filtered out the ones that wouldn't be acceptable anyway. Our Summer of Code mentors and administrators carefully reviewed the applications during the two week triage process. We considered many factors, including the timeframe, necessity, usability, and feasibility, which eventually led us to our top selections.

Based on experience from previous Summers of Code, we recruited four mentors and set a limit of one student per mentor to avoid overwhelming our mentors like we did our first year. We requested and were allocated four students for this year's Summer of Code. Our four students did a terrific job.

Below are the students and their respective projects with further information (by project, alphabetically):

  1. Project: Full Text Indexes for Gallery2 Search
    Student: Adam Pflug
    Mentor: Felix Rabinovich
    Description: The current implementation of Gallery2's search functionality suffers from poor performance, a problem particularly pronounced for large datasets because indexes cannot be used to improve efficiency. The solution to this performance and scalability problem is to use DBMS agnostic full text indexing for searches. Furthermore, the current search implementation does not support complex queries (such as queries containing boolean operators) or effectively support even basic relevance-based ranking algorithms. The use of a full text index and an enhanced query parser could offer improvements in both these areas.
  2. Project: Gallery 2 SQLite backend
    Student: Brian Kirchoff
    Mentor: Tim Almdal
    Description: Add a SQLite backend for Gallery 2. SQLite is a new flatfile database system that is fast, simple and easy to use and is now included by default in new PHP installations. By adding support for SQLite to Gallery 2 as a storage backend it increases the number of people who will be able to easily install and use Gallery.
  3. Project: Media Metadata Extraction and Manipulation
    Student: Camilo José Díaz Repka
    Mentor: Russell (Zimzat)
    Description: Improve the Current Exif Extraction G2 Plugin, adding database storage support(and searching) along with property editing for a subset of suitable items.
  4. Project: Web Based Image Manipulation
    Student: Udayakiran Ghattamaneni
    Mentor: Jack Bates
    Description:Develop a Web based Image Manipulation module for Gallery. Expand set of image operations built into Gallery so that even users without any image editing software on their computers can manipulate their images before they make prints.

This year, the Summer of Code was expanded to over five months and an introductory period was added before the start of coding. During the five months for Summer of Code, we used various techniques to help ensure the students were on a path to success. Before the actual coding started, we tried to integrate our students into our development community in a variety of ways. We had the students participate in our IRC channel and development mailing list. We also had each student prepare a bug fix for Gallery to introduce them to the Gallery code base and our development procedures. Along with weekly meetings, students were required to complete assigned tasks and provide weekly status updates. Our meetings were used to have open discussions between the mentors and their students to make sure we all had a good vision of where the SoC projects were headed. Students were also required to meet deadlines at which time their code was reviewed. All code was required to meet our standards for formatting, unit test completion, and to accomplish the assigned task in a reasonable and efficient manner.

We are excited to announce that each of our students has successfully participated in this year's Summer of Code.

The Gallery team has learned a lot from the Summer of Code experience and enjoyed working with Google and the students on these excellent projects. We look forward to future Summers of Code and can only imagine the types of exciting projects students will accomplish next time.

This is great news - especially for the "Media Metadata Extraction and Manipulation" project.

It is excellent that EXIF / IPTC data will be stored in the database, therefor opening Gallery to much richer categorization and search.

When will we see this functionality? Is it possible to see an experimental version of the implementation?

Or at least a database schema / overview?


Wow, I hadn't been following, and was very pleased to drop in and see this. SQLite support is huge news! Thanks!

I am still looking forward to the work on the fulltext/Boolean search. ;)

Gallery Continues to impress and support photographers and amateurs the world over. Well done to the Students who took part and well done to the Gallery team for a continued success story.

I just wish Gallery was easier to administer. I have had some problems getting it deployed.

Okinawa Japan Pictures!

> Are foreign students can also be candidates ?

yes, absolutely.

> How can a student like me become a nominee for next year Google Summer summit (2008) ?


around the same time next year (sometime in spring 2008), google and gallery will announce the next summer of code. from that point, students have a few weeks to submit an application to google. it's all explained on the google website.

Documentation: Support / Troubleshooting | Installation, Upgrade, Configuration and Usage