Summer of Code Summary
Almost two weeks ago was the deadline for the projects of the Summer of Code program, but I haven’t wrote a single line on this blog about this. It is time to give a summary of what was done, and what may be done in the future.
My project for Summer of Code 2006 was KDEPIM Google Calendar synchronization using OpenSync. The scope of the project included both writing a Google Calendar plugin for OpenSync and improving the OpenSync and KDE integration.
The work accomplished during the program includes:
- OpenSync ipc-branch merge to trunk. The ipc-branch work was needed to allow the kdepim plugin for OpenSync work while inside a KDE application (such as Kitchensync).
- OpenSync ipc-branch fixes and improvements (before and after the ipc-branch merge to trunk).
- General bug report handling and bug fixing on OpenSync.
- Kitchensync testing with the kdepim plugin.
- Google Calendar plugin for OpenSync. The plugin allows synchronization of calendar data with other OpenSync plugins.
- A single bugfix commit to KDE 3.5, due to a bug in the kabc locking code
- Help on packaging of OpenSync and its plugins on the OpenSUSE Build Service (thanks to Daniel Gollub, Christopher Stender and Matthias Jahn, who were working on this, also).
OpenSync 0.19 is planned to be released soon, including the ipc-branch code.
There is much that can be done regarding OpenSync and KDE integration, yet. Things worth mentioning:
- Some plugins need additional code to work with ipc-branch code. Some plugins that use their own data formats need serialization and deserialization functions to be implemented. This is needed because the data need to be sent between the plugin processes and the sync engine process.
- Recurrence support in the Google Calendar plugin. Translation of recurrence rules from the Google Calendar XML data to the OpenSync internal format (and to vCalendar) isn’t implemented yet.
- Support for more fields from Google Calendar entries.
- Kontact integration. Support for running Kitchensync inside Kontact is not supported yet.
- Demonstration of Kitchensync and Google Calendar plugin. I need to write a text with some screenshots of Kitchensync and using the Google Calendar plugin. :)
Below are the pointers to the code written during the program, for the final evaluation for the Summer of Code program.
- Google Calendar plugin:
- OpenSync trunk (including ipc-branch merge and other fixes):
- Kitchesync opensync-integration branch:
- Small fix on kabc locking code:
- OpenSync package on openSUSE: http://build.opensuse.org/project/show?project=OpenSync
Many thanks to:
- Kátia, my wife, for her patience while I was working in the project
- Google, for running the Summer of Code program
- Chris DiBona and Leslie Hawthorn, from Google
- Cornelius Schumacher, Tobias Koenig, my mentors during the program, from the KDE project
- Armin Bauer, for bringing OpenSync to life
- Daniel Gollub, Christopher Stender and Matthias Jahn, for their work on OpenSync
- Many others that aren’t mentioned here, but contributed to this. The contributors to OpenSync and KDE projects