= Google's Summer of Code 2009 = Django is once again applying to be a sponsoring organization for the [http://code.google.com/soc/ 2009 Google Summer of Code]. (Read Google's page for more information on how the program works.) Django's SoC program is being run by Jannis Leidel (jannis /at/ leidel /dot/ info). == Mentors == If you're interesting in mentoring -- supervising a student in work on Django-related activities -- add your name and email here: * Russell Keith-Magee (russell@keith-magee.com) == Students == Student applications open March 23 and end on April 3. If you'd like to get started on your proposal early, we'll be looking for a few things. You'll need to have a concrete task in mind (some ideas are below) along with a solid idea of what will constitute "success" (you tell us). We'll want to know a bit about you -- links to previous work are great, if any. You'll also need to provide us with a rough schedule of milestones so your mentor can know if and when to nag you :) Note that none of the ideas below are good enough to be submissions in their own right (so don't copy and paste)! We'll want to know not just ''what'' you want to do but ''how'' you plan to pull it off. And don't feel limited to the ideas below -- if you've got a cool project you want to work on, we'll probably be able to find you a mentor. We plan on approving as many projects as we possibly can. '''Note: we're looking for projects that add value to Django itself - ''not'' application/CMS projects that use Django.''' == Communication == The [http://groups.google.com/group/django-gsoc django-gsoc] Google Group has been setup to facilitate communication between students and mentors in the GSoC efforts. == Ideas == Here are some suggestions for projects students may want to propose (lazyweb: please add to this list!). This isn't by any means the be-all and end-all of ideas; please feel free to submit proposals for things not on this list. Try to scope ideas/proposals to the 4-month timeline -- simply proposing to fix a ticket or two will probably result in your proposal being rejected in favor of a more ambitious one. The SOC '''does not cover activities other than coding''', so certain ideas ("Write a more detailed tutorial" or "Create demonstration screencasts" or "[wiki:AddAPony Add a pony]") are not suitable for inclusion here. On the other side, though, be sure to be concrete in your proposal. We'll want to know what your goals are, and how you plan to accomplish them. In no particular order: * A serialization refactor. Hopefully allow serializers to be declared like ModelAdmins. Make serializers more useful for API type things (field to json dict key mapping, output of a function, etc.) For some ideas: http://code.google.com/p/wadofstuff/wiki/DjangoFullSerializers * A schema-less DB backend (e.g., CouchDB, Google App Engine) and move/refactor all hard-coded SQL (see #10109 for instance) to backends * A [http://groups.google.com/group/django-developers/browse_thread/thread/09f0353fe0682b73 Public-facing multiple database API]. * [http://groups.google.com/group/django-developers/browse_thread/thread/9a672d5bbbe67562 Denormalized model fields] (#8946) * Add dynamic lookup capability to the serializers (#7052) * Improve Query Expressions (F() syntax): Extend F() to handle other data types, especially strings and dates (#10154), and integrate F() with annotate(), allowing expressions to be annotated onto a model (#10302). * I18N improvements: there are a couple of places where i18n support is not complete, see for instance [http://vaig.be/2008/07/django-i18n-status.html this summary of Marc Garcia] on this topic + related bugs. * [http://code.djangoproject.com/ticket/3011 Allow for extendable auth_user module] (add an abstract base class for User too) * Your idea here