On Fri, 2014-03-21 at 15:26 +0100, Emiliano Heyns wrote:
On Fri, Mar 21, 2014 at 2:59 PM, Patrick Ohly
<patrick.ohly(a)intel.com>
wrote:
On Fri, 2014-03-21 at 14:32 +0100, Emiliano Heyns wrote:
> I'm looking to setup server-to-server sync between Exchange
and a
> Caldav/Carddav server (Google probably, but memotoo for
now).
You really do like to try new things, don't you? ;-)
Guilty as charged. But I have a real use-case for this: my employer
uses Exchange, so I have all my work appointments there. I want my
family to be able to see both my personal and my work calendar. I
can't give them access to my Exchange account, but a sync between
exchange and google would allow them to see when I'm busy. One-way and
two way sync would both work. I could of course do this with an
outlook plugin, but that requires me to have outlook open almost
always.
As Graham said, it may be better to sync via a local storage. The
problem with direct syncing between Exchange and CalDAV/CardDAV is that
one side has to act as server (the one where the sync is started), and
that implies more frequent access to the data. It should work, it just
might be a bit slow.
Regarding CalDAV/CardDAV: I have not tested that with Memotoo. Memotoo
is regularly tested with SyncML.
Does Memotoo still convert all events into local time? That was the main
reason why I couldn't fully recommend Memotoo for calendar
synchronization. It's a lossy transformation that is particularly
painful in companies where recurring meetings get scheduled in different
time zones.
My current setup, I kid you not, is a VBox instance on my headless
server running Win7 running ICal4OL doing the syncing. But this setup
fails regularly for reasons entirely mystical, and even though I get
some mild amusement from proving Marc Andreessen right, it's not a
setup I want to keep.
Tip: while setting up syncing with SyncEvolution, permanently configure
loglevel=4 and increase maxlogdirs. That way you have full information
about previous syncs available and can analyze an issue even if you only
notice it later.
OK, so if I get this correctly, I would have (in server to server
sync) two targets, one named (for example) target-config@exchange, and
another target-config@memotoo, and no local sync config (as I don't
have KDE running).
No. "Local sync" got its name from syncing locally, on your own machine,
between two sources. Traditional SyncML syncing has most of the logic on
the server side, which is often remote and out of the control of the
user.
It does not matter whether the sources store data locally or remotely
because the SyncEvolution core doesn't even know that at all. There's no
flag saying "backend=caldav is a remote server".
The same applies to the terms "local" and "remote" in
"sync=refresh-from-local/remote": "local" is always the config which
is
used to trigger the sync, regardless of the actual backends.
In your case, you have a "sync config" (which is the one with
PeerIsClient=1 and syncURL=local://...) and a "target config" (the one
which is really called "target-config" in some context).
I see that the last parameter of the config command
("contacts" in the
howto) is supposed to be a 'source', but I can't tell between the
howto and the manpage what source it is supposed to refer to. The
howto implies it's connected to whether or not you use a template...
but I haven't used a template (so far).
"Sources" are the settings that define how to access data (backend,
database, potentially databaseUser/Password). This concept has many
names: folders in ActiveSync, collection in WebDAV, resources in
Akonadi, datastore, etc. - pick your poison.
Sources on the sync side are connected to sources on the remote side via
the "uri" parameter, which is the name of the remote source. All
SyncEvolution templates use well-known names (addressbook, calendar,
memo, todo) and match that to the corresponding data in specific peers.
If you don't use templates, you are free to choose whatever source name
you want.
If I set up memotoo, I'll have to use the webdav template, but
https://syncevolution.org/documentation/syncevolution-usage#caldav-and-ca... omits the
source parameter.
The Memotoo template uses SyncML.
Also, when I set up two targets and no local source, how will
syncevolution --sync slow webdav
know that it's peer is exchange?
Have a look at the "Synchronization beyond SyncML" section of the man
page (same as the README or the usage page [1]). That explains how the
two configs get connected.
[1]
https://syncevolution.org/documentation/syncevolution-usage
--
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.