On Thu, 2012-02-16 at 21:27 +0100, Patrick Ohly wrote: > On Fri, 2012-02-17 at 09:11 +1300, Jane Atkinson wrote: > > On 17/02/12 08:51, Patrick Ohly wrote: > > > On Fri, 2012-02-17 at 07:24 +1300, Jane Atkinson wrote: > > >> Good question. There are two things that have held me back here. > > >> One is figuring out the config necessary (laziness on my part?). > > >> The other is that I've been using bluetooth, and it sounds as > > >> though direct CalDAV sync involves setting up other servers as > > >> well. > > > > > > No, just a CalDAV server, SyncEvolution (not running as server) and > > > a SyncML capable phone should be enough. But there's still a bit > > > code missing (reading credentials for CalDAV without the usual > > > target-config config), so you cannot try it at the moment. > > > > > > > Just to make sure that I've got it right, this is via bluetooth? > > Whatever you currently use SyncEvolution for. The goal is to make the > SyncEvolution CalDAV backend usable instead of the SyncEvolution EDS > backend which calls the EDS CalDAV backend, for both syncing via > Bluetooth and SyncML over HTTP.
This hasn't been forgotten (https://bugs.meego.com/show_bug.cgi?id=23764), it just didn't have high priority. I've now added the necessary changes. Nightly testing includes setups where CalDAV/CardDAV are used in a SyncML server and in a SyncML client. Jane, are you still interested? I can make binaries available, if necessary. Otherwise just compile the "master" branches of libsynthesis and SyncEvolution. Further instructions are in the updated README.rst (aka man page) - see database/databaseUser/databasePassword: CalDAV and CardDAV ================== This section explains how to use local syncing for CalDAV and CardDAV. Both protocols are based on WebDAV and are provided by the same backend. They share ``username/password/syncURL`` properties defined in their target config. The credentials must be provided if the server is password protected. The ``syncURL`` is optional if the ``username`` is an email address and the server supports auto-discovery of its CalDAV and/or CardDAV services (using DNS SRV entries, ``.well-known`` URIs, properties of the current principal, ...). Alternatively, credentials can also be set in the ``databaseUser`` and ``databasePassword`` properties of the source. The downside is that these values have to be set for each source and cannot be shared. The advantage is that, in combination with setting ``database``, such sources can be used as part of a normal SyncML server or client sync config. SyncEvolution then reads and writes data directly from the server and exchanges it via SyncML with the peer that is defined in the sync config. The ``database`` property of each source can be set to the URL of a specific *collection* (= database in WebDAV terminology). If not set, then the WebDAV backend first locates the server based on ``username`` or ``syncURL`` and then scans it for the default event resp. contact collection. This is done once in the initial synchronization. At the end of a successful synchroniation, the automatic choice is made permanent by setting the ``database`` property. **Warning:** the protocols do not uniquely identify this default collection. The backend tries to make an educated guess, but it might pick the wrong one if the server provides more than one address book or calendar. It is safer to scan for collections manually with ``--print-databases`` and then use the URL of the desired collection as value of ``database``. To scan for collections, use:: syncevolution --print-databases \ backend=<caldav or carddav> \ username=<email address or user name> \ "password=!@#ABcd1234" \ syncURL=<base URL of server, if auto-discovery is not supported> Configuration templates for Google Calendar, Yahoo Calendar and a generic CalDAV/CardDAV server are included in SyncEvolution. The Yahoo template also contains an entry for contact synchronization, but using it is not recommended due to known server-side issues. The following commands set up synchronization with a generic WebDAV server that supports CalDAV, CardDAV and auto-discovery. For Google and Yahoo, replace ``webdav`` with ``google-calendar`` resp. ``yahoo`` and remove the ``addressbook`` source when setting up the sync config. :: # configure target config syncevolution --configure \ --template webdav \ [email protected] \ "password=!@#ABcd1234" \ target-config@webdav # configure sync config syncevolution --configure \ --template SyncEvolution_Client \ syncURL=local://@webdav \ username= \ password= \ webdav \ calendar addressbook # initial slow sync syncevolution --sync slow webdav # incremental sync syncevolution webdav Here are some alternative ways of configuring the target config:: # A) Server has one URL as starting point instead of DNS auto-discovery. syncevolution --configure \ --template webdav \ username=123456 \ "password=!@#ABcd1234" \ syncURL=http://example.com \ target-config@webdav # B) Explicitly specify collections (from server documentation or --print-databases). # The 'calendar' and 'addressbook' names are the ones expected by the sync config # above, additional sources can also be configured and/or the names can be changed. syncevolution --configure \ username=123456 \ "password=!@#ABcd1234" \ addressbook/backend=carddav \ addressbook/database=http://example.com/addressbooks/123456/ \ calendar/backend=caldav \ calendar/database=http://example.com/calendar/123456/ \ target-config@webdav \ calendar addressbook Finally, here is how the ``@webdav`` context needs to be configured so that SyncML clients or servers can be added to it:: # configure sources syncevolution --configure \ databaseUser=123456 \ "databasePassword=!@#ABcd1234" \ addressbook/backend=carddav \ addressbook/database=http://example.com/addressbooks/123456/ \ calendar/backend=caldav \ calendar/database=http://example.com/calendar/123456/ \ @webdav \ calendar addressbook # configure one peer (Memotoo in this example): syncevolution --configure \ username=654321 \ password=^749@2524 \ memotoo@webdav # sync syncevolution --sync slow memotoo@webdav -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. _______________________________________________ SyncEvolution mailing list [email protected] http://lists.syncevolution.org/listinfo/syncevolution
