SyncEvolution

Installation

The package is not ready yet, but I'm working on it. After that you just have to download from http://rpereira.googlepages.com/syncevolution after REVU it will be on multiverse repository.

Creating the Configuration Files

I'm trying to automate this part through the package.

Create the directories for configuration files using these commands:

mkdir -p ~/.sync4j/evolution/whatever/spds/sources/addressbook
mkdir ~/.sync4j/evolution/whatever/spds/sources/calendar
mkdir ~/.sync4j/evolution/whatever/spds/sources/todo
mkdir ~/.sync4j/evolution/whatever/spds/syncml

Create the configuration file for the AddressBook (use your preferred text editor - I'm using gedit):

gedit ~/.sync4j/evolution/whatever/spds/sources/addressbook/config.txt

enter the data:

# name of the source, must match the <source> in
# spds/sources/<source>/config.txt
name = addressbook

# requests a certain synchronization mode:
#   two-way             = only send/receive changes since last sync
#   slow                = exchange all items
#   refresh-from-client = discard all local items and replace with
#                         the items on the server
#   refresh-from-server = discard all remote items and replace with
#                         the items on the client
#   none                = synchronization disabled
sync = two-way

# overrides the supported synchronization modes
syncModes = two-way,slow,refresh-from-client,refresh-from-server

# specifies the format of the data
#
# text/calendar    = Evolution calender data (in iCalendar 2.0 format)
# text/x-todo      = Evolution task data (iCalendar 2.0)
# text/x-vcard     = Evolution contact data in vCard 2.1 format
#                    (works with most servers)
# test/vcard       = Evolution contact data in vCard 3.0 (RFC 2425) format
#                    (internal format of Evolution, preferred with servers
#                    that support it and thus recommended for ScheduleWorld
#                    together with the "card3" uri)
#
# Sending and receiving items in the same format as used by the server for
# the uri selected below is essential. Errors while parsing and/or storing
# items one either client or server can be caused by a mismatch between
# type and uri.
type = text/vcard


# picks one of Evolution's data sources:
# enter either the name or the full URL
#
# To get a full list of available data sources,
# run syncevolution without parameters. The name
# is printed in front of the colon, followed by
# the URL. Usually the name is unique and can be
# used to reference the data source.
evolutionsource = Personal

# this is appended to the server's URL to identify the
# server's database
uri = card3

# authentication for Evolution source
evolutionuser = 
evolutionpassword = 

# used by the SyncML library internally; do not modify
last = 0

Create the configuration file for the Calendar (use your preferred text editor - I'm using gedit):

gedit ~/.sync4j/evolution/whatever/spds/sources/calendar/config.txt

enter the data:

# name of the source, must match the <source> in
# spds/sources/<source>/config.txt
name = calendar

# requests a certain synchronization mode:
#   two-way             = only send/receive changes since last sync
#   slow                = exchange all items
#   refresh-from-client = discard all local items and replace with
#                         the items on the server
#   refresh-from-server = discard all remote items and replace with
#                         the items on the client
#   none                = synchronization disabled
sync = two-way

# overrides the supported synchronization modes
syncModes = slow,two-way,refresh-from-client,refresh-from-server

# specifies the format of the data
#
# text/calendar    = Evolution calender data (in iCalendar 2.0 format)
# text/x-todo      = Evolution task data (iCalendar 2.0)
# text/x-vcard     = Evolution contact data in vCard 2.1 format
#                    (works with most servers)
# test/vcard       = Evolution contact data in vCard 3.0 (RFC 2425) format
#                    (internal format of Evolution, preferred with servers
#                    that support it and thus recommended for ScheduleWorld
#                    together with the "card3" uri)
#
# Sending and receiving items in the same format as used by the server for
# the uri selected below is essential. Errors while parsing and/or storing
# items one either client or server can be caused by a mismatch between
# type and uri.
type = text/calendar


# picks one of Evolution's data sources:
# enter either the name or the full URL
#
# To get a full list of available data sources,
# run syncevolution without parameters. The name
# is printed in front of the colon, followed by
# the URL. Usually the name is unique and can be
# used to reference the data source.
evolutionsource = Personal

# this is appended to the server's URL to identify the
# server's database
uri = cal2

# authentication for Evolution source
evolutionuser = 
evolutionpassword = 

# used by the SyncML library internally; do not modify
last = 0

Create the configuration file for the ToDo (use your preferred text editor - I'm using gedit):

gedit ~/.sync4j/evolution/whatever/spds/sources/todo/config.txt

enter the data:

# name of the source, must match the <source> in
# spds/sources/<source>/config.txt
name = todo

# requests a certain synchronization mode:
#   two-way             = only send/receive changes since last sync
#   slow                = exchange all items
#   refresh-from-client = discard all local items and replace with
#                         the items on the server
#   refresh-from-server = discard all remote items and replace with
#                         the items on the client
#   none                = synchronization disabled
sync = two-way

# overrides the supported synchronization modes
syncModes = slow,two-way,refresh-from-client,refresh-from-server

# specifies the format of the data
#
# text/calendar    = Evolution calender data (in iCalendar 2.0 format)
# text/x-todo      = Evolution task data (iCalendar 2.0)
# text/x-vcard     = Evolution contact data in vCard 2.1 format
#                    (works with most servers)
# test/vcard       = Evolution contact data in vCard 3.0 (RFC 2425) format
#                    (internal format of Evolution, preferred with servers
#                    that support it and thus recommended for ScheduleWorld
#                    together with the "card3" uri)
#
# Sending and receiving items in the same format as used by the server for
# the uri selected below is essential. Errors while parsing and/or storing
# items one either client or server can be caused by a mismatch between
# type and uri.
type = text/x-todo


# picks one of Evolution's data sources:
# enter either the name or the full URL
#
# To get a full list of available data sources,
# run syncevolution without parameters. The name
# is printed in front of the colon, followed by
# the URL. Usually the name is unique and can be
# used to reference the data source.
evolutionsource = Personal

# this is appended to the server's URL to identify the
# server's database
uri = task2

# authentication for Evolution source
evolutionuser = 
evolutionpassword = 

# used by the SyncML library internally; do not modify
last = 0

If you uses a different data source on Evolution (the default is Personal), change the field evolutionsource in the files edited before. If you use a authentication password on Evolution, change the fields evolutionuser and evolutionpassword in the files edited before.

Using ScheduleWorld.com

For the syncronization with SyncML server, you can use ScheduleWorld an funambol-like server on Internet or install your Funambol server on your lan. The configuration file above is am example using the ScheduleWorld. Fulfill the file:

gedit ~/.sync4j/evolution/whatever/spds/syncml/config.txt

with (remember to put your username and password):

# the base URL of the SyncML server:
# - Sync4j 2.3
#syncURL = http://hartys.org:1972/egroupware/rpc.php
# - Funambol >= 3.0
#syncURL = http://localhost:8080/funambol/ds
# - sync.scheduleworld.com
syncURL = http://sync.scheduleworld.com/funambol/ds

# the SyncML server gets this string and will use it to keep track of
# changes that still need to be synchronized with this particular
# client; it must be set to something unique if SyncEvolution is used
# to synchronize data between different computers
deviceId = sc-api-nat-hartysdesktop

# authorization for the SyncML server
username = 
password = 

# set to T to enable an HTTP proxy
useProxy = 0
# proxy URL (http://<host>:<port>)
proxyHost = 
# user agent string used for HTTP
userAgent = SyncEvolution

# full path to directory where automatic backups and logs
# are stored for all synchronizations; if empty, the temporary
# directory "$TMPDIR/SyncEvolution-<username>-<server>" will
# be used to keep the data of just the latest synchronization run
logdir =

# Unless this option is set, SyncEvolution will never delete
# anything in the "logdir". If set, the oldest directories and
# all their content will be removed after a successful sync
# to prevent the number of log directories from growing beyond
# the given limit.
maxlogdirs =

# This value is the number of changes which are sent to the
# server at once. It is set to a very large number to work around
# problems in either client library or server when items are
# actually sent in multiple chunks during a slow sync - do not edit!
maxModPerMsg = 100000

# used by the SyncML library internally; do not modify
begin =0
end =0
firstTimeSyncMode = 0

serverID = 
serverPWD = 
serverNonce = 
clientNonce = 
clientAuthType = 
serverAuthType = 
isServerAuthRequired = 0
proxyPort = 0
proxyUsername = 
proxyPassword = 
checkConn = 0
responseTimeout = 0
readBufferSize = 0
maxMsgSize = 0
encryption = 0

Just Sync

Execute:

syncevolution whatever

Sync Evolution and Google Calendar

After New Year's Holiday, I'll finish.

SyncEvolution (last edited 2011-09-19 23:21:21 by localhost)