On Thu, 2011-10-20 at 20:39 +0200, Patrick Ohly wrote:
That is indeed the case. Use the same sync URL as for the
SyncEvolution client and the "addressbook", "calendar",
"todo", "memo"
names as URIs.
$ syncevolution --configure --template SyncEvolution_Client \
--sync-property remoteDeviceId=9123456789ABC-123456789ABCDEF \
--sync-property username=david \
--sync-property password="123" \
--sync-property uri=addressbook \
galaxys2
ERROR: '--sync-property uri=addressbook': no such property
I tried again without the uri property and the command was accepted.
I can now successfully sync my phone contacts, calendar and todos. I
had to change the default server paths in Synthesis to match the the
URIs you listed, but it all works now.
Thank you very much for the help.
Should there be a third HOWTO covering the "phone <->
SyncEvolution
HTTP SyncML server with Evolution" case or can you think of some
changes to the existing HOWTOs which avoids the need for such a third
one?
The steps are very similar, but I've tried the wording a couple of
different ways and it keeps getting awkward. Mostly because you have
actual command line examples for the two syncevolution case, and I can
only come up with a broad waving of hands on how to configure the phone
client. (Unless I tailor it specifically for the Synthesis android
client and then readers can extrapolate to their own devices.) Perhaps
one page with two sets of steps on it? I've attached some text below.
David
Synchronizing Directly to Evolution via HTTP HOWTO
SyncEvolution makes it easy to keep two instances of Evolution in sync,
or to keep an android phone in sync with Evolution. This lets you share
the data between a desktop and a laptop or phone without requiring any
internet intermediary. Setting up SyncEvolution as such an intermediary
on an Internet server is explained in another HOWTO.
Requirements
* Two instances of Evolution (or one instance and an android
device) on machines which can reach one another over the
network.
One host will act as the server (call this box "sauce") and the
other will be the client (call this box "cheese"). The names, of
course, do not matter.
* syncevo-http-server installed on the server
Steps for two computers
* Start syncevo-http-server on the server:
syncevo-http-server
http://localhost:9000/syncevolution
NB: this listens on all interfaces, NOT localhost as it appears.
* Configure a peer on the client to point to the server (you'll
need to fill in the right IP or hostname):
syncevolution --configure --template SyncEvolution \
syncURL=http://sauce:9000/syncevolution sauce
* Run the sync on the client. This will fail, but will output the
client device ID, which we need:
syncevolution sauce
On the server side, you should see something like:
[ERROR] sync: no configuration found for deviceID (some long
string of chars)
Save that string, you need it for the next step.
* On the server, configure a peer for the client:
syncevolution --configure --template SyncEvolution_Client \
--sync-property remoteDeviceId=<paste in the string> \
--sync-property username= \
--sync-property password= \
--sync-property uri= \
cheese
* On the client, kick off the sync process:
syncevolution sauce
Steps for a computer and a phone
* Start syncevo-http-server on the server:
syncevo-http-server
http://localhost:9000/syncevolution
NB: this listens on all interfaces, NOT localhost as it appears.
* Configure the phone to point to the server (you'll need to fill
in the right IP or hostname) For example on the Synthesis
server settings page, set the Server URL to:
http://sauce:9000/syncevolution
* Run the sync on the client. This will fail, but will output the
client device ID, which we need. On the server side, you should
see something like:
[ERROR] sync: no configuration found for deviceID (some long
string of chars)
Save that string, you need it for the next step.
* On the server, configure a peer for the client:
syncevolution --configure --template SyncEvolution_Client \
--sync-property remoteDeviceId=<paste in the string> \
--sync-property username= \
--sync-property password= \
cheese
* On the client, configure the server path for each item you would
like to synchronize. The paths used by evolution are
addressbook", "calendar", "todo", "memo".
* On the client, kick off the sync process.
This will give you a setup that syncs the addressbook, calendar, memo,
and todo sources. calendar+todo defaults to disabled; leave it, you
don't need it for this kind of setup.