6.0.0-git
2024-04-18
Last Modified 2006-04-30 by Chuck Hagenbuch

Google Summer of Code 2006

Google is running their great Summer of Code (http://code.google.com/summerofcode.html) program again this year, and Horde is again a mentoring organization. This page is a guide to participating with Horde, and the place to collect ideas for projects. It is mainly for those with project ideas and those interested in participating as a student. If you'd like to help out by mentoring, send a note to Horde's mentor coordinator, Chuck Hagenbuch (chuck at horde dot org).

Guidelines for students

The ideas listed on this page are just that - ideas. They are deliberately somewhat vague, because you are meant to fill in the details. Last year there were too many proposals that simply cut-n-pasted the text from our ideas page. Don't do that! If you do, you will be tossed out very early in the application sorting process.

Do I have to use one of the ideas?

Definitely not! These are here to get you started, and because some folks think it'd be great to see them done. If you have your own idea, run with it. We'll judge applications on their strengths, not on who wants the project done or who thought of it.

I want to use an idea, but need more detail

Send a note to the Horde development mailing list (http://horde.org/mail/ for information and subscription instructions). We'll be happy to give you feedback and to help you develop your idea. Again, don't just cut-n-paste if you're not sure what else to say - spend the time to have a dialog with us to flesh it out. We promise you'll get as much out of any preparatory work as you put into it.

Project ideas

Finally, here are the ideas.

Horde SSL Certificate Authority

Develop a Horde application for managing SSL certificates. Possible functionality includes managing server certificates (for https, imaps, etc.) for administrators, and also allowing users to create end-user certificates for authentication and mail signing. For a bonus, integrate the user certificates with IMP to create a complete PKI management app.

Horde Bootable CD

Develop a bootable CD (perhaps based on http://www.knoppix.org/) that will load an entire Horde installation, complete with mail server, database, etc. Options include an install option as well as just booting, and integration with a Horde Installer.

Horde Installer

Make the main Horde applications installable and updatable by a PEAR or similar installation system. They should be delivered via a Horde channel server (if using PEAR), and the whole package should include post-install scripts to do all necessary configuration steps, including for the database. As a potential alternative or complement to a PEAR package, there's also PHP_Archive .phar files. See http://greg.chiaraquartet.net/archives/128-pharring-a-web-application-phpMyAdmin.html for some interesting possibilities.

Horde Form Ajax Continuation

Follow up on last year's Horde_Form project (currently available in the incubator - http://cvs.horde.org/incubator/Horde_Form/). Update the code to use Prototype and Scriptaculous for the scripting basis, sync with the current Horde_Form code, and go from there. The ability to have any form switch between active and inactive rendered mode - optionally on a field-by-field basis - using in-place-edit functionality would be very slick.

SyncML Server-to-Server syncing

Add support for server-to-server syncing to Horde's SyncML server.

Client-side encryption

Add support for various client-side encryption operations. For instance, doing S/MIME operations on the client instead of the server, using client-side SSL cert instead of uploading one to the Horde server. Other uses are undoubtedly possible (signing timesheets, signing invoices, etc.), as well as integration with the Horde CA project above.

Resources:

http://secclab.mozdev.org/

http://docs.sun.com/source/816-6152-10/sgntxt.htm

Horde LDAP Browser / Manager

Develop a Horde LDAP application capable of both browsing and managing an LDAP directory. Should also support importing and exporting LDIF files.

DataTree replacement

Develop backends for Shares, Permissions, etc. using RDO (http://cvs.horde.org/framework/RDO/) or another "next-generation" database solution that performs and scales better than the DataTree package. The core framework packages should definitely be handled and should be done by adding new drivers (Perms already has an alternate LDAP backend, for example). Further handling applications like Trean that store their data in the DataTree would be an additional bonus.

VFS Metadata

Extend VFS to optionally support metadata attributes (such as category, description, license, version etc.) Attributes should be stored through a driver interface to allow later driver development like access to Documentum etc. The project should include a small Horde application to basically browse, search, and edit attributes - basically a very small document management system. This application would also serve as an example for implementing metadata in other applications.

Autogenerate Horde_Form objects

Extend RDO and Horde_Form to autogenerate basic CRUD forms (create, read, update, delete) based on the metadata already available in RDO.

More "Conversations"-like Thread sort and view

Instead of the current thread sort, show each thread as a single entry in the mailbox, and link threads to the thread view page instead of the individual message view. This would also imply making the thread view page more complete, and not having "View Thread" as a seperate menu item. See http://bugs.horde.org/ticket/?id=240 and http://bugs.horde.org/ticket/?id=3278.