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.

Work Done

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

OpenSync 0.19 is planned to be released soon, including the ipc-branch code.

The Future

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. :)
The Code

Below are the pointers to the code written during the program, for the final evaluation for the Summer of Code program.

Thanks

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

3 thoughts on “Summer of Code Summary

  1. Packaging it for Mandriva is planned (either by making the Mandriva package on openSUSE work, or by packaging it for cooker). However I probably won’t work on this on the next weeks, so any help on this is welcome. :)

  2. Congratulation!
    Your work looks very promising. I compiled everything when I read about your work in Cornelius’ blog.

    Syncing my k750i mobile with a kolab server (kontact client) works good, but not perfect: calender entries have a +1 hour timezone offest, todo list works, contact files seems to work fine, only notes do not work.
    I really like the integration of kdebluetooth, so the setup was very easy.

    So, that leads to one question:
    When goes this stuff into 3.5 branch and as I do not see new code modifications in svn is there still active development to fix the problems mentioned by yourself?

    Thanks

    Thorsten

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>