maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   HOWTO: Syncevolution with N900 (https://talk.maemo.org/showthread.php?t=40278)

tarek 2010-01-13 02:27

HOWTO: Syncevolution with N900
 
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 : )

paai 2010-01-13 06:41

Re: HOWTO: Syncevolution with N900
 
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

hstende 2010-01-13 07:24

Re: HOWTO: Syncevolution with N900
 
When I try to install with apt-get install syncevolution I get an error:
Depends: libpcre3 (<=4.5)

p.ohly 2010-01-13 10:39

Re: HOWTO: Syncevolution with N900
 
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

tarek 2010-01-13 11:38

Re: HOWTO: Syncevolution with N900
 
Quote:

Originally Posted by paai (Post 467751)
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 : )

benny1967 2010-01-13 11:48

Re: HOWTO: Syncevolution with N900
 
Quote:

Originally Posted by paai (Post 467751)
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'.

liedekef 2010-01-13 12:22

Re: HOWTO: Syncevolution with N900
 
Quote:

Originally Posted by paai (Post 467751)
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

bolle 2010-01-13 13:31

Re: HOWTO: Syncevolution with N900
 
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

bolle 2010-01-13 18:07

Re: HOWTO: Syncevolution with N900
 
ha, i used the 0.9.2 beta O_o 0.9.1 works fine, but only the n900 calendar gets synced.
philipp

hstende 2010-01-13 20:10

Re: HOWTO: Syncevolution with N900
 
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.


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

vBulletin® Version 3.8.8