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 : )
|