This is a plugin for opensync (www.opensync.org) to sync with handhelds
using GPE (http://gpe.handhelds.org).

General information
-------------------
You need to install the gpesyncd on the gpe side. This will read out the
sqlite databases and convert the data into vcards, vevents and vtodos.

Syncing can be done by using tcp/ip or over ssh. Both have their advantages
and disadvantages. But anyway I would recommend anyone to do syncing over
ssh.

Syncing over ssh
----------------
By using ssh, you need to additionally install the sshd on the gpe side. If
you want to use it, just set in the configuration xml file "use_ssh" to 1
(which is default). 

To have it as comfortable as with the syncing over tcp/ip, you should use
key authentication. To do so, you need to generate a new ssh-key pair with

$ ssh-keygen -t dsa

I recommend you to choose a passphrase although you don't need one. After it
you have two keys: id_dsa and id_dsa.pub. The id_dsa is you private
key, never loose it, never give it away.
Now you need to append the contents of id_dsa.pub to ~/.ssh/authorized_keys
on the gpe device. If the file does not exist, create one.
Now on your desktop run

$ ssh-add ~/.ssh/id_dsa

And enter the passphrase for you private key. This will add your key to the
ssh-agent, which manages all the authentication of the ssh-connections.
Now you won't anymore need to re-enter you passphrase while your X-session
is running and you can connect to the gpe device without typing in any
passwords.

If this didn't work or you want more information, go to
http://sial.org/howto/openssh/publickey-auth/

Syncing over tcp/ip
-------------------
For this you need to run the gpesyncd on the gpe device as the user with
whom you want to sync. You also need to run it with the -D parameter so
that it will be in the "daemon mode". Optionaly you can specify a port after
the -D parameter. If you provide none, the default port 6446 will be used.

Additionally you need to list the ip(s) from the computer(s) you want to
allow to sync the file $HOME/.gpe/gpesyncd.allow . If you don't have
this file, or it is empty, the gpesyncd will block all incoming connections.
Whenever a connection is blocked and you try to sync, you should get an
error like "Your're not allowed to connect!" from opensync.

In the configuration xml file you need to set "use_ssh" to 0.

Syncing locally
---------------
If you are running Opensync and GPE on the same system, you can just fork gpesyncd
locally.  In order to do that, set "use_local" to 1 in the configuration file.

Troubleshooting
---------------
Should there be any problems with the conversion, the problems are probably
adressed to gpesyncd. Please look at its BUGS file before reporting a
conversion problem.

Otherwise, see BUGS for known problems.

Have fun.
Martin (martin@silef.de)
Graham (g+opensync@cobb.uk.net)

Some personal notes:

A BIG THANKS to google, for making the "Summer of Code"
(http://code.google.com/summerofcode.html).
and a BIG THANK AS LEAST AS BIG AS TO GOOGLE, to handhelds.org for doing all
this great stuff and letting me code this while the summer of code for you.
I REALLY enjoyed it (and hopefully still enjoy it).
