Backends#
This page lists backend features available in SyncEvolution, focusing on the ones officially supported by the main developers in the binaries available on syncevolution.org and in MeeGo. Features that might be expected, but are not supported, are also listed. The table starts with a general feature name and describes how SyncEvolution implements it, linking or pointing to further information whenever possible. Features introduced with a specific release of SyncEvolution or only available as described since a specific release are marked with that release number, like this: **0.9**. For the sake of simplicity, only stable releases are considered. They might be mentioned already before the final release date.
Feature |
Implementation |
---|---|
Evolution Backend |
|
Data types |
contacts, events, tasks, memos |
API |
libebook for contacts, libecal/libical for events, tasks, memos. |
Storage |
In Evolution Data Server (EDS), depends on EDS backend. Local “file” backend (Berkley DB for contacts, iCalendar 2.0 .ics file for others) is tested, uses vCard 3.0 and iCalendar 2.0 VEVENT/VTODO/VJOURNAL. Exchange <= 2003 worked at some point via EDS Exchange Connector. MAPI backend for Exchange 2007 too unstable. CouchDB backend (contacts) used to fail due to lack of REV support, may work now. LDAP backend tested by users, with uncertain success. |
Change tracking |
Via REV property (contacts) and LAST-MODIFIED (events/tasks/memos). Currently requires reading all items at start of sync. |
File Backend |
|
Data types |
contacts, events, tasks, memos |
API |
POSIX |
Storage |
One file per item in a single directory per database. Native format can be any of those supported by the core engine. |
Change tracking |
Via file modification date. No need to read data at start of sync. |
1.2: CalDAV/CardDAV |
|
Data types |
contacts, events |
API |
HTTP via libneon |
Storage |
remote WebDAV collections |
Change tracking |
Via the eTag of each resource |
sqlite backend |
|
Data types |
contacts |
API |
libsqlite |
Storage |
Custom database schema, intentionally kept simple (one row per contact). Demonstrates how to map from field list to internal format without backend text representation. |
Change tracking |
Via modification time stamp. |
XMLRPC Backend |
|
Data types |
contacts, events, tasks, memos? |
API |
SOAP API that mimics the C++ TrackingSyncSource API, defined and implemented by M-otien. |
Storage |
on remote server |
Change tracking |
Via revision string. |
Maemo 5 Calendar Backend |
|
Data types |
events |
API |
|
Storage |
unknown, using iCalendar 2.0 format? |
Change tracking |
? |
Apple Mac OS Addressbook Backend |
|
Data types |
contacts |
API |
AddressBook/ABAddressBookC.h |
Storage |
? |
Change Tracking |
modification time, requires reading all contacts |