Notices


Reply
Thread Tools
Posts: 40 | Thanked: 43 times | Joined on Oct 2008
#1
Hello all,

There is lots of information on getting syncevolution working, but I can't find one with a unified guide of how to get it running with N900. As a disclaimer, this is not for the faint of heart. I hope somebody soon comes along who makes the process friendly, but it requires a modest amount of knowledge at this point.

1. Download syncevolution for N900 by adding the following repo:

Code:
deb http://people.debian.org/~ovek/maemo/ ./
2. Install syncevolution

Code:
apt-get install syncevolution
3. create the config structure (as user, not root)

Code:
su user
cd ~
mkdir .config/syncevolution
mkdir .config/syncevolution/sync1 #or whatever you'll call it
mkdir .config/syncevolution/sync1/sources
mkdir .config/syncevolution/sync1/sources/addressbook
mkdir .config/syncevolution/sync1/sources/calendar
mkdir .config/syncevolution/sync1/sources/todo
4. Fill the configuration files as below. For a more thorough discussion of the configuration file options and addresses, see SyncEvolution in Fremantle. Note that due to length problems, only the first file has the comments left in:

.config/syncevolution/sync1/config.ini
Code:
# the base URL of the SyncML server which is to be used for SyncML;
# some examples:
# - http://my.funambol.com/sync
# - http://sync.scheduleworld.com/funambol/ds
# - http://www.synthesis.ch/sync
syncURL = http://sync.scheduleworld.com/funambol/ds

# user name used for authorization with the SyncML server
username = [yourusername]

# password used for authorization with the SyncML server;
# in addition to specifying it directly as plain text, it can
# also be read from the standard input or from an environment
# variable of your choice:
#   plain text: password = <insert your password here>
#          ask: password = -
# env variable: password = ${<name of environment variable>}
password = [yourpassword]

# 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;
# if "none", then no backups of the databases are made and any
# output is printed directly to the screen
# logdir = 

# level of detail for log messages:
# - 0 (or unset) = INFO messages without log file, DEBUG with log file
# - 1 = only ERROR messages
# - 2 = also INFO messages
# - 3 = also DEBUG messages
# loglevel = 0

# 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 = 0

# set to T to enable an HTTP proxy
useProxy = 0

# proxy URL (http://<host>:<port>)
# proxyHost = 

# authentication for proxy: username
# proxyUsername = 

# proxy password, can be specified in different ways,
# see SyncML server password for details
# proxyPassword = 

# - empty or "md5" for secure method (recommended)
# - "basic" for insecure method
# clientAuthType = syncml:auth-md5

# 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 (like the pseudo-random
# string created automatically for new configurations) among all clients
# accessing the same server.
# myFUNAMBOL also requires that the string starts with sc-pim-
deviceId = sc-n900

# Support for large objects and limiting the message size was added in
# SyncEvolution 0.5, but still disabled in the example configurations
# of that version. Some servers had problems with that configuration,
# so now both features are enabled by default and it is recommended
# to update existing configurations.
# 
# The maximum size of each message can be set (maxMsgSize) and the
# server can be told to never sent items larger than a certain
# threshold (maxObjSize). Presumably the server has to truncate or
# skip larger items. Finally the client and server may be given the
# permission to transmit large items in multiple messages (loSupport =
# large object support).
maxMsgSize = 0
# maxObjSize = 500000
# loSupport = 1

# enable compression of network traffic (not currently supported)
# enableCompression = 0

# A string specifying the location of the certificates
# used to authenticate the server. When empty, the
# system's default location will be searched.
# SSLServerCertificates = 

# The client refuses to establish the connection unless
# the server presents a valid certificate. Disabling this
# option considerably reduces the security of SSL
# (man-in-the-middle attacks become possible) and is not
# recommended.
# SSLVerifyServer = 1

# The client refuses to establish the connection unless the
# server's certificate matches its host name. In cases where
# the certificate still seems to be valid it might make sense
# to disable this option and allow such connections.
# SSLVerifyHost = 1

.config/syncevolution/sync1/sources/addressbook/config.ini
Code:
# requests a certain synchronization mode:
#   two-way             = only send/receive changes since last sync
#   slow                = exchange all items
#   refresh-from-client = discard all remote items and replace with
#                         the items on the client
#   refresh-from-server = discard all local items and replace with
#                         the items on the server
#   one-way-from-client = transmit changes from client
#   one-way-from-server = transmit changes from server
#   none (or disabled)  = synchronization disabled
sync = two-way

# Specifies the SyncEvolution backend and thus the
# data which is synchronized by this source. Some
# backends can exchange data in multiple formats.
# Some of them have a default format that is used
# automatically unless specified differently.
# Sometimes the format must be specified.
# 
# In all cases the format of this configuration is
#   <backend>[:format]
# 
# Here are some valid examples:
#   contacts - synchronize address book with default vCard 2.1 format
#   contacts:text/vcard - address book with vCard 3.0 format
#   calendar - synchronize events in iCalendar 2.0 format
# 
# 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 on either client or server can be caused by a mismatch between
# type and uri.
# 
# Here's the full list of potentially supported backends,
# valid <backend> values for each of them, and possible
# formats. Note that SyncEvolution installations usually
# support only a subset of the backends; that's why e.g.
# "addressbook" is unambiguous although there are multiple
# address book backends.
# Currently active:
# Evolution Address Book = Evolution Contacts = addressbook = contacts = evolution-contacts
#    vCard 2.1 (default) = text/x-vcard
#    vCard 3.0 = text/vcard
#    The later is the internal format of Evolution and preferred with
#    servers that support it. One such server is ScheduleWorld
#    together with the "card3" uri.
# Evolution Calendar = calendar = events = evolution-events
#    always uses iCalendar 2.0
# Evolution Task List = Evolution Tasks = todo = tasks = evolution-tasks
#    always uses iCalendar 2.0
# Evolution Memos = memo = memos = evolution-memos
#    plain text in UTF-8 (default) = text/plain
#    iCalendar 2.0 = text/calendar
#    The later format is not tested because none of the
#    supported SyncML servers accepts it.
# Files in one directory = file
#    Stores items in one directory as one file per item.
#    The directory is selected via [file://]<path>; it
#    will only be created if the prefix is given, otherwise
#    it must exist already. Only items of the same type can
#    be synchronized and this type must be specified explicitly
#    with both mime type and version.
#    Examples:
#       file:text/plain:1.0
#       file:text/x-vcard:2.1
#       file:text/vcard:3.0
#       file:text/x-calendar:1.0
#       file:text/calendar:2.0
# 
# Currently inactive:
# SQLite Address Book = addressbook = contacts = sqlite-contacts
#    vCard 2.1 (default) = text/x-vcard
# Mac OS X or iPhone Address Book = addressbook = contacts = apple-contacts
#    vCard 2.1 (default) = text/x-vcard
#    vCard 3.0 = text/vcard
type = evolution-contacts

# Picks one of backend data sources:
# enter either the name or the full URL.
# Most backends have a default data source,
# like for example the system address book.
# Not setting this property selects that default
# data source.
# 
# 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. The default
# data source is marked with <default> after the
# URL, if there is a default.
evolutionsource = file:///home/user/.osso-abook/db 

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

# authentication for backend data source; password can be specified
# in multiple ways, see SyncML server password for details
# 
# Warning: setting evolutionuser/password in cases where it is not
# needed, as for example with local Evolution calendars and addressbooks,
# can cause the Evolution backend to hang.
# evolutionuser = 
# evolutionpassword = 

# "b64" enables base64 encoding of outgoing items (not recommended)
# encoding =

.config/syncevolution/sync1/sources/calendar/config.ini
Code:
sync = two-way 
type = maemo-events
evolutionsource = id:1
uri = cal2

.config/syncevolution/sync1/sources/todo/config.ini
Code:
sync = two-way 
type = maemo-tasks 
evolutionsource = id:1 
uri = task2
That should be it!

You should be able to initiate the command now with:

Code:
syncevolution sync1
tarek : )

Last edited by chemist; 2010-05-10 at 14:48.
 

The Following 24 Users Say Thank You to tarek For This Useful Post:
Posts: 162 | Thanked: 25 times | Joined on Dec 2009
#2
For some reason or another I always get confused when I read about syncevolution, syncml and similar. What I /want/ is a solution for syncing the N900 with my local Linux PC running Evolution or Kontakt (the KDE counterpart). But what I find is syncing with some remote cloud service like Google, Funambol or so.

Can you, or somebody else confirm that this will work with a local Linux PC without a detour in the cloud, before I go to the trouble of installing that stuff?

Paai
 

The Following 2 Users Say Thank You to paai For This Useful Post:
Posts: 150 | Thanked: 91 times | Joined on Dec 2009 @ Norway
#3
When I try to install with apt-get install syncevolution I get an error:
Depends: libpcre3 (<=4.5)
 

The Following User Says Thank You to hstende For This Useful Post:
Posts: 3 | Thanked: 11 times | Joined on Aug 2007
#4
For those who find editing of configuration files too complex, please consider using the (IMHO) much simpler command line invocations. See http://syncevolution.org/documentation/getting-started

It's as easy as
syncevolution --configure --sync-property "username=123456" --sync-property "password=!@#ABcd1234" scheduleworld
 

The Following 6 Users Say Thank You to p.ohly For This Useful Post:
Posts: 40 | Thanked: 43 times | Joined on Oct 2008
#5
Originally Posted by paai View Post
Can you, or somebody else confirm that this will work with a local Linux PC without a detour in the cloud, before I go to the trouble of installing that stuff?
Paai
I don't believe so.

tarek : )
 

The Following User Says Thank You to tarek For This Useful Post:
benny1967's Avatar
Posts: 3,790 | Thanked: 5,718 times | Joined on Mar 2006 @ Vienna, Austria
#6
Originally Posted by paai View Post
Can you, or somebody else confirm that this will work with a local Linux PC without a detour in the cloud, before I go to the trouble of installing that stuff?
the syncevolution project is aiming towards bluetooth support. what this means is explained on
http://syncevolution.org/development...sync-bluetooth

given that syncevolution for the N900 is in an experimental stage and official bluetooth support will only come in the next release of syncevolution, i guess the short answer really is 'no'.
 

The Following User Says Thank You to benny1967 For This Useful Post:
Posts: 42 | Thanked: 16 times | Joined on Jan 2010
#7
Originally Posted by paai View Post
For some reason or another I always get confused when I read about syncevolution, syncml and similar. What I /want/ is a solution for syncing the N900 with my local Linux PC running Evolution or Kontakt (the KDE counterpart). But what I find is syncing with some remote cloud service like Google, Funambol or so.

Can you, or somebody else confirm that this will work with a local Linux PC without a detour in the cloud, before I go to the trouble of installing that stuff?

Paai
Well, there is syncml for every linux pc of course, so you can sync through syncml to your Evolution/Kontact. Use syncevolution as a rudementary syncml server over http and away you go, see http://syncevolution.org/
Also take a look at opensync on linux (with eg. syncml plugin), I believe multisync is a frontend gui for it (at least on fedora).

Franky
 

The Following 2 Users Say Thank You to liedekef For This Useful Post:
Posts: 3 | Thanked: 3 times | Joined on Dec 2009
#8
Hi!

Syncevolution works well with google for me, but not with funambol.

Code:
$ syncevolution funambol
...
[INFO] CurlTransport Failure: couldn't connect to host
my config:
Code:
user ~ $ syncevolution -p --quiet funambol                                                                                               
syncURL = http://my.funambol.com/sync
username = bolle
password = -
# logdir = 
# loglevel = 0
# printChanges = 1
# maxlogdirs = 10
# useProxy = 0
# proxyHost = 
# proxyUsername = 
# proxyPassword = 
# clientAuthType = md5
# RetryDuration = 300
# RetryInterval = 60
deviceId = sc-pim-172db7c2-8edb-4ed2-b869-1b1f0a46072a
enableWBXML = 1
# maxMsgSize = 20000
# maxObjSize = 4000000
# enableCompression = 0
# SSLServerCertificates = 
# SSLVerifyServer = 1
# SSLVerifyHost = 1
WebURL = http://my.funambol.com
# IconURI = 
ConsumerReady = 1

[addressbook]
sync = disabled
type = addressbook
# evolutionsource = 
uri = card
# evolutionuser = 
# evolutionpassword = 

[calendar]
sync = two-way
type = calendar:text/calendar!
# evolutionsource = 
uri = event
# evolutionuser = 
# evolutionpassword = 

[memo]
sync = disabled
type = memo
# evolutionsource = 
uri = note
# evolutionuser = 
# evolutionpassword = 

[todo]
sync = disabled
type = todo:text/calendar!
# evolutionsource = 
uri = task
# evolutionuser = 
# evolutionpassword =
google uses ssl and funambol doesn't.
Did anyone sync with my.funambol? Is it possible to sync multiple calendars with syncevolution??

Thanks, Philipp

PS:
@paai: you can install funambol on your pc
@hstende: just install it with apt-get install

Last edited by bolle; 2010-01-13 at 13:35.
 

The Following 2 Users Say Thank You to bolle For This Useful Post:
Posts: 3 | Thanked: 3 times | Joined on Dec 2009
#9
ha, i used the 0.9.2 beta O_o 0.9.1 works fine, but only the n900 calendar gets synced.
philipp
 

The Following User Says Thank You to bolle For This Useful Post:
Posts: 150 | Thanked: 91 times | Joined on Dec 2009 @ Norway
#10
apt-get install of the missing library solved the problem
I got it working with my funambol server, but it was only my calendar events from N900 that got synced to my Domino server.
The events from my domino server didn't go into my N900 calendar.
 

The Following User Says Thank You to hstende For This Useful Post:
Reply

Tags
calendar sync, maemo 5


 
Forum Jump


All times are GMT. The time now is 07:50.