Hello Guillaume!
Somehow I didn't get your first email. I see it in the Gmane archive,
but not in my inbox or spam folder. Sorry!
On Tue, 2012-08-28 at 12:27 +0200, Guillaume Lanquepin-Chesnais wrote:
I'm still looking for tutorials about Caldav bridging in
syncevolution.
Did someone success to setup syncevolution as a HTTP server with caldav
bridging ?
This is mentioned in the HOWTO overview [1] as "Bridge between SyncML
and CalDAV/CardDAV", which points the SyncEvolution man page. It should
also say that SyncEvolution >= 1.2.99.1 is required for that (I'll add
that).
Have you had a look at the documentation of the latest 1.2.99.4 release?
It describes the procedure as follows:
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 back‐
end. 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 advan‐
tage is that, in combination with setting database, such sources can be
used as part of a normal SyncML server or client sync config. SyncEvo‐
lution then reads and writes data directly from the server and
exchanges it via SyncML with the peer that is defined in the sync con‐
fig.
The database property of each source can be set to the URL of a spe‐
cific collection (= database in WebDAV terminology). If not set, then
the WebDAV backend first locates the server based on username or syn‐
cURL and then scans it for the default event resp. contact collection.
This is done once in the initial synchronization. At the end of a suc‐
cessful synchroniation, the automatic choice is made permanent by set‐
ting the database property.
Warning: the protocols do not uniquely identify this default collec‐
tion. 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 \
username=123456(a)example.com \
"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.