We're excited to be participating in the Google Summer of Code 2008. Like last year, we are participating as a member of the XSF. The project ideas are detailed below and summaries can be found on the XSF Summer of Code 2008 wiki page. Several mentors are available and will be matched to students based on the project selected.
If you are interested in a project, send an email to gaston at jivesoftware.com and include details about yourself and experience, which project you are interested in, and why the project interests you. Of course, you're more than welcome to make a proposal for a project not included in this list.
File Repository and Sharing (including WebDAV)
There is a new specification for sharing files between 2 users or several users in a group chat room. Moreover, this new extension will let you keep files in a server to be later retrieved by other users or may be the same user. This project includes:
Implement XEP-0214: File Repository and Sharing on the server for groupchat rooms
Implement XEP-0129: WebDAV File Transfers so that clients can easily upload and download files
Implement an HTTP service that will let clients that do not understand WebDAV to upload and download files
File transfers for gateways
Gateways for connecting from XMPP servers to the closed IM networks like AIM, MSN and Yahoo are extremely valuable to many people. Currently, though, there is no good way to transfer a file through these gateways. This project will implement file transfer between the Openfire Gateways plugin and either AIM, MSN or Yahoo. There are two goals for the project:
Create a core library or interface that can be used for basic file transfer functionality with any gateway.
Use the core library/interface to implement file transfer for one of the IM networks listed above.
Group Chat for More Gateways
Group chat for Gateways has been implemented with the IM Gateway plugin, but only for IRC. The general framework exists, but the implementation for services like AIM, MSN, and Yahoo have not been added. It would be handy for a number of users to be able to join AIM/etc chatrooms, via the IM Gateway plugin, from their XMPP client.
The goals for this project are to:
Implement group chat (MUC) interface for other gateways (MSN, AIM, or Yahoo) provided in Openfire
Possibly implement support in the underlying libraries that provide support for these protocols if it does not already exist
Update and improve BOSH support
Connecting to XMPP servers over HTTP is becoming a very frequent request. Openfire already includes support for XEP-124 BOSH but we do not support the very latest version. Moreover, improving the BOSH scalability is also part of the project. Having said that, goals for this project are:
Update BOSH implementation from v1.5 to v1.6
BOSH should rely on MINA (using HTTP) rather than Jetty
Complete XMPP RFC implementation in XIFF and work on web client
XIFF is a XMPP client library implemented in Flash. It currently implements most of the XMPP RFC spec but not all of it. We would like to complete the RFC implementation and take it to the next step. Some goals for this project are:
Add TLS and SASL support
Add PEP support (optionally Pubsub)
Work on a web client