SyncEvolution synchronizes personal information management (PIM) data via various protocols (SyncML, CalDAV/CardDAV, ActiveSync). It syncs contacts, appointments, tasks and memos. It syncs to web services or to SyncML-capable phones via Bluetooth. SyncEvolution is available for different platforms and with different frontends. This documentation mostly shows the command line tool because it works the same way on all platforms. However, there are graphical user interfaces.
SyncEvolution Command Line
Choosing a SyncML server
SyncEvolution can synchronize with SyncML-capable devices directly since version 1.0. In that case no additional server is needed. But a server can be useful when the goal is to have the data available via some web interface or to synchronize while traveling. There several different options:
- Using a web service like myFUNAMBOL, which store the data to be synchronized on a server and provide access to it through SyncML.
- Installing a SyncML server, like the free one from Funambol, on one's own server.
- Running SyncEvolution as HTTP SyncML server: for advanced users. This is the only known server which fully passes all stress tests, including advanced features like session suspend&resume and message resending.
The recommended solution is ScheduleWorld because it is easier than setting up a server and provides better support for vCard and iCalendar data than the stock Funambol server installation. The following actions will work, with a server that fully supports SyncML and vCard/iCalender:
- Copy a complete database to the server and restore it from the server later.
- Delete or modify an item locally, then make the same change on the server.
- Delete, modify, or add items on the server (by synchronizing with another client), then make the same change locally.
- Conflict resolution (where two clients modify the same item, then sync with the server) is handled by the server, but SyncEvolution has support which ensures that no data is lost by creating duplicates.
For conflict resolution and synchronization between clients which support different attributes of items, the server needs an understanding of the format of items.