• < under construction >


This specification describes the implementation of plugins that will enable synchronization of Novell's Evolution calendar with the Google calendar and the BlackBerry.


These days the world is a small place and we are constantly travelling around, changing locations, meeting people etc but work never stops. We have found ways to carry our information around in the form of devices such as mobile phones, PDAs and laptops. But along with this comes the need to synchronize data and information across different applications and devices.

A popular organizer used today is the Google calendar. Apart from being user-friendly, it is an online calendar and hence not desktop-bound. Another popular form of scheduling events, especially in the corporate world and for people constantly "on-the-go" is using the calendar application on BlackBerry. This product will consist of plugins that will enable Evolution calendar to be synchronized with both the above mentioned applications.

Use cases

Joe uses Evolution calendar to organize his appointments in office. He travels a lot and uses his Blackberry to do the same while travelling. At the end of the day, wants all his appointments integrated into one calendar. His evolution calender works great when he is on his desk, but on the go at other locations, he does not have access to his Evolution environment. In this case he connects to the internet to view and modify his appointments on Google Calender. At the end of the day, Joe knows that in all three applications, his calender is synced and ready to go.


This specification enables the application to be synchronized with Google calendar and Blackberry.

Design & Implementation

  • Evolution contains a framework of helper utilities called EPlugin, which was introduced in Evolution 2.2 in order to provide modular extensions to it. It is a language independent system that helps to add modular extensions to Evolution. EPlugin provides an abstract base class whose instances can be used to load and manage hooks.
  • The TaskEditor and EventEditor classes of Evolution, both of which inherit from CompEditor will be used to edit tasks and events, respectively.

  • Interaction between Evolution and Google's calendar will be done using the Google Data API and Google API client library.
  • The plug-in for BlackBerry will utilize Multisync and Opensync to provide connectivity.

    • MultiSync is outdated, all the new stuff uses OpenSync - and its already everything working, even the Google Calendar! All we need is a usable, stable, bugfree, easy-to-use synchronsation tool


Data preservation and migration

Outstanding issues

BoF agenda and discussion


EsyncPlugins (last edited 2008-08-06 16:14:33 by localhost)