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)