Re: [SyncEvolution] Sync-problem on Lucid with Nokia 6110 Navigator
by Patrick Ohly
[taking this to the list with mlucius' approval]
On Mi, 2011-01-19 at 18:04 +0000, mlucius(a)gmx.de wrote:
> Dear Patrick,
>
> I can't run syncevolution and kindly ask you for help.
>
> Phone manufacturer Nokia
> Phone model 6110 Navigator
> SyncEvolution version 1.1-2
> SyncEvolution platform Ubuntu (2.6.32275-4 / Gnome),
> CPU Intel Core i5
> SyncEvolution backend Evolution 2.28.3
> Packet Source http://downloads.syncevolution.org/apt stable
> main
> Sync Profile in phone: "PC suite" with standard settings (protected,
> cannot be changed)
>
> In evolution I am using 1 addressbook and 3 calendars. Syncronization is
> desired only for these items and only from evolution to the mobile phone.
So what you want is "one way synchronization". That's doable. But
synchronizing multiple calendars is not possible because the phone only
supports one calendar. By default, SyncEvolution will synchronize the
first calendar it finds, which typically is the "Personal" one.
There is a feature request to merge calendars on-the-fly, but it hasn't
been implemented.
> I
> am using bluetooth. Bluetooth is working well since I can see and access data
> on the mobile phone from the laptop (file transfer is possible). Syncing is
> not working:
>
> Problems:
> - starting only possible in terminal with "sync-ui" (not through the desktop
> menu)
> - terminal messages:
>
> (sync-ui:3542): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion
> `GTK_IS_WIDGET (widget)' failed
Not sure what that means. Doesn't seem to cause known problems.
> ** (sync-ui:3542): WARNING **: Unidentified sync report item:
> source-todo-virtualsource=calendar+todo
There is a known issue about statistics for "calendar+todo", which this
one is about.
> the GUI is coming up, bluetooth link is active, options can be set, syncing
> can be started.
>
> Syncing is failing:
> message in terminal window (repeatedly):
>
> ** (sync-ui:3542): WARNING **: Error in Server.StartSession: Method
> "StartSessionWithFlags" with signature "sas" on interface
> "org.syncevolution.Server" doesn't exist
>
> status message in on phone: "abgebrochen" (interrupted)
>
> No data have been exchanged. Similar message in the syncevolution-GUI.
Your sync-ui is talking to an old version of syncevo-dbus-server.
> ------------------------------------------------------------
> I tried out a lot of things before, all without success:
> - changing the source from stable to unstable
> - installing additionally the packet syncevolution instead of
> syncevolution-evolution
> - installling sync-ui
> -----------------------------------------------------------
>
> I assume that I have to specify in more detail the calendar in evolution that
> shall be used for syncing and I am not sure if the sync profile on the cell
> phone is correct.
You are installing from syncevolution.org, so you should install
"syncevolution-evolution", and nothing else. Please uninstall
"syncevolution", "sync-ui", "syncevolution-evolution", then reinstall
"syncevolution-evolution". You should get 1.1.1 now.
Before starting the sync-ui, make sure that syncevo-dbus-server is not
running. In shell, do "killall syncevo-dbus-server".
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
9 years, 12 months
Re: [SyncEvolution] [Opensync-devel] OpenSync: fragmentation is harmful
by Patrick Ohly
Hello!
Let me add the SyncEvolution list, because the technical information may
be relevant. For those who see this for the first time, it started with
an open letter that I sent to the OpenSync list asking whether it really
still makes sense to continue with two different projects instead of
focusing on one:
http://sourceforge.net/mailarchive/forum.php?thread_name=20110103221846.G...
I was suggesting that SyncEvolution has the better baseline to continue
from. Of course this requires further explanation, which this email is
about. It is in reply to Graham because he raised several interesting
technical questions.
On Mo, 2011-01-03 at 16:57 +0000, Graham Cobb wrote:
> On Monday 03 January 2011 13:32:52 Patrick Ohly wrote:
> > In this email I'd like to appeal to the OpenSync developers to
> > reconsider whether keeping OpenSync around really helps Linux and open
> > source syncing.
>
> Patrick,
>
> Thanks for your well considered thoughts.
[...]
> > Of course I am thinking of SyncEvolution here. It already works very
> > well for SyncML. I also have support for additional protocols, which I
> > will be able to publish soon. I think it would be worthwhile successor
> > of OpenSync, but obviously I'll need help to cover all the use cases
> > that you were shooting for with OpenSync.
>
> I do not have a good feel for what SyncEvolution can and cannot do: can you
> provide more information? One thing is the device access protocols, of
> course, but even if we all joined you and helped implement those, how would
> SyncEvolution compare with what OpenSync is intended to do?
SyncEvolution has grown organically over time (one could call it
evolutionary...), instead of shooting for a grand design covering
everything, like OpenSync did for 0.40. The main advantage is that there
have been regular stable releases since the very beginning four years
ago. On the other hand, features for which there was no real need yet
are still missing.
There have been different phases:
1. SyncML client for Evolution
2. SyncML client for additional storages (iPhone, Mac OS X, file)
3. backends contributed by external developers (Ove Kaaven: N900
calendar, Franz Knipp/m-otion.com: XMLRPC)
4. SyncML server (direct syncing with phones), both via Bluetooth
and HTTP, using the Synthesis engine
5. non-SyncML protocols
The last point is the goal for SyncEvolution 1.2, in development right
now. It still uses the Synthesis engine and everything that it provides
(data conversion, conflict handling). SyncML is also still in use, but
only as internal protocol between two peers. What a developer above the
engine sees is the storage plugin (aka data source) interface.
Conceptually such a plugin must provide:
1. change tracking (otherwise only slow syncs work)
2. data import/export, either in the internal Synthesis format
(field list) or in a backend specific text format that the
engine understands
Further references:
* introduction to the Synthesis engine and its data conversion:
http://syncevolution.org/development/pim-data-synchronization-why-it-so-hard
* convenience class for a data source which has id + revision
string for each item and exchanges data as text:
http://meego.gitorious.com/meego-middleware/syncevolution/blobs/master/sr...
* base class with maximum freedom:
http://meego.gitorious.com/meego-middleware/syncevolution/blobs/master/sr...
* fully functional example backend:
http://meego.gitorious.com/meego-middleware/syncevolution/trees/master/sr...
* configuration handling:
http://syncevolution.org/development/configuration-handling
* communication patterns and server mode:
http://syncevolution.org/development/direct-synchronization-aka-syncml-se...
* local sync:
http://www.mail-archive.com/syncevolution@syncevolution.org/msg01419.html
Ove and Franz were able to implement their backends with very little
assistance, so the documentation can't be that bad, although there's no
doubt that documentation could always be better.
> For example, does it only handle pair-wise sync? If so, what is the
> implication of that restriction (do you have to designate one of your devices
> as master and sync everything else to it)?
Yes, sync is always between two peers. One storage should be the
designated "master" copy of the data. Any data which cannot be stored by
that "master" will get lost. The master could be in a capable system
like EDS or Akonadi, or in the file backend, which can store anything
that the sync engine itself can handle.
A sync topology is created by defining several of these 1:1
relationships. The master itself might be the client of another server,
as long as there are no loops. There is currently no logic for keeping
several of these peers in sync, but that could be added at a meta level
(keep syncing until all changes have been distributed).
Unknown extensions are currently dropped. This could be changed, but
leads to additional questions that would need to be sorted out: should
such extensions be sent to all peers, or just the one who created them?
What if different peers have a different understanding of "X-FOOBAR"?
It is safer to limit syncing to the data that is fully understood and
modeled in the Synthesis configuration file. Currently this covers vCard
3.0 + extensions and iCalendar 2.0 (including UID + RECURRENCE-ID,
VTIMEZONE, VALARM, but not attachments).
> Does it handle devices that have bugs or limited implementations (issues like
> capabilities and merging)?
Yes. The Synthesis engine has dealt with that for 10 years and contains
a large collection of tools that can be used to deal with such problems,
ranging from different data profiles to a full scripting language that
can modify data on-the-fly. The Synthesis engine uses capability
descriptions to determine which properties are supported by an unknown
peer and has smart merging techniques for individual properties.
For example, consider the case where a VEVENT was modified like this:
1. event in sync on peer A and B
2. DESCRIPTION is extended on peer A
3. SUMMARY is modified on peer B
4. syncing recognizes the conflict and resolves it by using the
SUMMARY of peer B (because the item on B is more recent) and the
DESCRIPTION of A (because the description of B is a subset of
it)
These two properties are handled differently because the conflict
resolution policy is configured differently to reflect the difference
between single-line and multi-line text.
> What about missing unique IDs?
In such a case only slow syncs are possible. The Synthesis data modeling
defines which properties are compared to find pairs. The drawback of a
slow sync is that data removed on one side will be recreated.
I have thought a bit about that over Christmas, because I am now in that
situation: I can modify the address book on my FRITZ!Box 7390 router,
but it is an XML file with no unique identifier for each entry. My idea
is to do synchronization in multiple steps:
1. keep a local mirror of all contacts
2. do a slow sync against that mirror to find pairs; items in the
mirror which have no corresponding entry on the router can be
removed
3. two-way sync between the mirror and my master data
4. upload copy of the mirror to the router
The simpler alternative would be to pick some properties and use those
as key, perhaps with hashing to keep the key size small.
> Conflicts?
See above. Client-wins/server-wins/most-recent-wins are all
configurable. SyncEvolution itself uses most-recent-wins, with smart
merging of some properties.
> And the
> many other issues that OpenSync has been adding complexity while trying to
> solve?
We would need to list those, but I'm fairly sure that much of it has
been considered already.
> In summary, I would like to understand why you feel that redirecting our
> efforts to SyncEvolution has any greater chance of success in solving the hard
> problems of syncing.
My own summary, more at a meta level than the details above:
* don't reinvent the wheel, use a mature engine (Synthesis)
* add features in small steps (more manageable, immediately
useful)
--
Bye, Patrick Ohly
--
Patrick.Ohly(a)gmx.de
http://www.estamos.de/
9 years, 12 months
[SyncEvolution] Synchronization between two Linux-based computers
by Giuseppe Gerace
Hi at all,
I have a problem. I am trying to synchronize a pre-registered client with
the server. The version of SyncEvolution involved is the "1.0". I am using
Evolution backends. The client synchronizes itself with server by SyncUI.
After the synchronization, there are two problems:
1) The data changes were not displayed into Evolution
2) In syncevo-dbus-server output, there are some unrecognizable prints
My question is: what types of data are supported by SyncEvolution? In "
/home/peppe/.evolution/addressbook/local/system " there is only a ".db"
file.
http://nopaste.voric.com/paste.php?f=euu1ri
--
Giuseppe Gerace
9 years, 12 months
[SyncEvolution] Synchronization between two Linux Ubuntu based computer
by Giuseppe Gerace
Hi at all,
I have a problem. I am trying to synchronize a pre-registered client with
the server. The version of SyncEvolution involved is the "1.0". I am using
Evolution backends. The client synchronizes itself with server by SyncUI.
After the synchronization, there are two problems:
1) The data changes were not displayed into Evolution
2) In syncevo-dbus-server output, there are some unrecognizable prints
My question is: what types of data are supported by SyncEvolution? In "
/home/peppe/.evolution/addressbook/local/system " there is only a ".db"
file.
--
Giuseppe Gerace
9 years, 12 months
[SyncEvolution] MemoToo Tasks only partially syncs
by mdietze@life.illinois.edu
I'm a complete newbie to this software -- I just discovered it yesterday
and just set up a MemoToo account to sync to -- so apologies if this is a
dumb question.
When I sync everything seems to work great but on MemoToo my Tasks list
only contains *one* of the groups of Tasks I have in Evolution (my
"Personal" list but none of my task lists for work related projects). All
of my Tasks in Evolution are "On This Computer" and I can't find anything
in MemoToo that suggests it has the rest of the Tasks but just isn't
showing them. FYI I'm using syncevolution version 1.1.1-2 and Evolution
2.28.3 on Ubuntu 10.04 LTS and all I've done so far to configure was fill
in the username and password in the "Sync" GUI.
Other than this one small problem, thanks for a great piece of software!
-- Mike
9 years, 12 months
[SyncEvolution] Memotoo + vCard 3.0 + NICKNAME/X-EVOLUTION/...: incomplete CtCap -> value ignored
by Patrick Ohly
Hello Thomas!
I noticed that our nightly testing now fails in some cases with MemoToo.
I think you recently added support for sending CtCap information, right?
The information that you send for vCard 3.0 does not mention the
NICKNAME property. The Synthesis engine then ignores that property when
parsing the item sent by Memotoo.
Can you double-check that the CtCap information is really accurate? At
least the following supported properties are missing:
NICKNAME
X-AIM
X-ICQ
X-YAHOO
X-EVOLUTION-MANAGER
X-EVOLUTION-ASSISTANT
X-EVOLUTION-SPOUSE
X-EVOLUTION-ANNIVERSARY
I wonder what the rationale is for discarding the value if a property is
not listed. It is encoded when sending to the peer.
The generated vCard 3.0 is also not quite correct:
EMAIL;INTERNET;TYPE=HOME:john.doe@home.priv
TEL;PAGER:pager 6
TEL;CAR:car 7
The Synthesis engine correctly complains about the vCard 2.1 shorthand parameters:
Parameter without value: INTERNET - is wrong in MIME-DIR, but we tolerate it and parse as default param name
This doesn't have any negative consequences except for these additional
logfile entries, but might be worthwhile fixing nevertheless ;-}
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
9 years, 12 months
[SyncEvolution] SoupTransport Failure: http://../syncevolution via libsoup: D-Bus server done
by John Dykstra
I've started getting an error message I don't understand when trying to
sync between two peers:
jwd@maple ~ $ syncevolution --sync refresh-from-server redwood-server todo
[INFO] pat: inactive
[INFO] personal-projects: inactive
[INFO] work-calendar: inactive
[INFO] personal-blocked: inactive
[INFO] events: inactive
[INFO] memo: inactive
[INFO] work-blocked: inactive
[INFO] addressbook: inactive
[INFO] commute: inactive
[INFO] calendar: inactive
[INFO] work: inactive
[INFO] SoupTransport Failure: http://redwood:9000/syncevolution via libsoup: D-Bus server done
^X[INFO] SyncContext: resend previous request #1
[INFO] SoupTransport Failure: http://redwood:9000/syncevolution via libsoup: D-Bus server done
^[[1;5D^[[1;5D[INFO] SyncContext: resend previous request #1
[INFO] SoupTransport Failure: http://redwood:9000/syncevolution via libsoup: D-Bus server done
The SoupTransport error messages repeat until SE gives up. The same
thing happens no matter which source (or all) I try to sync. The same
thing also occurs if I try a --sync refresh-from-server.
This is an SE 1.1 client talking to an SE 1.1 server, which is using the
Evolution backends. The log on the server side shows _two_ _successful_
sessions for each "SoupTransport Failure" message on the client side.
These two peers were syncing with each other yesterday. The change I
mad this morning was to add a source to the configuration on both sides.
However, that source is not involved in the above attempt.
Can anyone suggest where to look to troubleshoot this problem?
-- John
9 years, 12 months
[SyncEvolution] Fwd: Thank you very much!!!!
by Patrick Ohly
Hello,
originally sent via the contact form, forwarding with Alex' permission.
It's encouraging to hear that we are on the right track, thanks Alex.
Bye, Patrick
-------- Forwarded Message --------
From: aklocksin(a)yahoo.com <xxx>
Subject: [Contact] Thank you very much!!!!
Date: Fri, 14 Jan 2011 01:23:53 +0000
Alex Klocksin sent a message using the contact form at
http://syncevolution.org/contact.
Just a quick thank you note to the developers and everyone else involved with
this project.
A few weeks ago I made the move from Windows to Ubuntu and had a few "open
items" where I had not found a native Linux solution. Among them syncing my
mobile to my laptop. Another attempt to find a solution yielded this link
today:
http://www.allaboutsymbian.com/features/item/A_survival_guide_to_Linux_an...
which links to a Wikipedia page describing your project.
I am now using the latest Syncevolution v.1.1.1. with the Genesis Sync 0.6.2.
GUI, syncing a Nokia E52 via Bluetooth to the Evolution mail client on a Dell
Latitude D630 laptop running Ubuntu 10.10. Finding this solution among the
many not working or hardly working ones took many, many hours. Installing
Syncevolution, Genesis Sync and finally syncing... took but 5 minutes... (if
that...) :-)
Thank you again everyone for your hard work!! It is much appreciated!!
With best regards, Alex
9 years, 12 months
[SyncEvolution] Problems Sync'ing Nokia E71
by Kip Warner
Hey list,
I'm still having problems synchronizing my Nokia E71. I am following
this tutorial:
http://syncevolution.org/wiki/nokia-e71-ubuntu-1004-lts
The error message listed at the very end when I run the following:
$ syncevolution nokia_e71
[INFO] todo: inactive
[INFO] memo: inactive
[INFO] calendar+todo: inactive
[INFO] calendar: inactive
[ERROR] OBEX Request 0 got a failed response Not found
[ERROR] ObexTransprotAgent: Underlying transport error
Synchronization failed,
see /home/kip/.cache/syncevolution/nokia__e71-2011-01-13-12-58/syncevolution-log.html for details.
Changes applied during synchronization:
+---------------|-----------------------|-----------------------|-CON-+
| | LOCAL | REMOTE | FLI |
| Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| addressbook | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| start Thu Jan 13 12:58:14 2011, duration 0:08min |
| external transport failure (local, status 20043) |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
First ERROR encountered: OBEX Request 0 got a failed response Not found
The log contains the following:
# [-- collapse all --][++ expand all ++]
# [2011-01-13 12:58:14.472] CreateContext SyncEvolution// => 0
# [2011-01-13 12:58:14.472] Module_Capabilities:
PLATFORM:Linux
DLL:true
MINVERSION:V1.0.6.0
MANUFACTURER:SyncEvolution
DESCRIPTION:SyncEvolution Synthesis DB Plugin
plugin_datastore_str:no
plugin_datastore_key:yes
ITEM_AS_KEY:yes
plugin_datablob:no
# [2011-01-13 12:58:14.473] Module_PluginParams
Engine=01070000
#
+
–
[2011-01-13 12:58:14.473] 'loadSystemZoneDefinitions' - Linux system
time zones [--][++] [->end]
–[2011-01-13 12:58:14.510] End of 'loadSystemZoneDefinitions' [->top]
# [2011-01-13 12:58:14.510] SyncML server account:
# [2011-01-13 12:58:14.510] client: SyncEvolution 1.0beta2a for
workstation
# [2011-01-13 12:58:14.511] device ID:
syncevolution-389e30d8-019c-4a52-8121-156c9dc0134a
# [2011-01-13 12:58:14.512] todo: inactive
# [2011-01-13 12:58:14.513] memo: inactive
# [2011-01-13 12:58:14.513] calendar+todo: inactive
# [2011-01-13 12:58:14.513] calendar: inactive
# [2011-01-13 12:58:14.515] Connecting Bluetooth device with address
00:21:FE:CB:6D:4D and channel 11
# [2011-01-13 12:58:22.918] OBEX progress
# [2011-01-13 12:58:22.947] OBEX Request 0 got a failed response Not
found
# [2011-01-13 12:58:22.948] TransportException thrown at
ObexTransportAgent.cpp:376
# [2011-01-13 12:58:22.948] ObexTransprotAgent: Underlying transport
error
The phone is definitely bluetooth paired with the desktop, since
running the above command prompts the GUI on the phone to allow access.
Any help is much appreciated.
--
Kip Warner -- Software Engineer
OpenPGP encrypted/signed mail preferred
http://www.thevertigo.com
9 years, 12 months
[SyncEvolution] A rather general question about synchronisation (as in syncevolution) compared with what rsync (for example) does
by Chris G
I have been using synchronisation tools for quite a while (started with
the Linux 'pilot' family with an early Palm) and also use rsync and
similar tools.
Is there possibly a case for simply synchronising the data on the
Phone/PDA with the PC/Cloud using something like rsync rather than
trying to translate between different representations of the data as
syncevolution does? I realise that syncevolution tries to put the data
conversion in the interfaces at the 'ends' as it were but I believe many
of the difficulties of getting syncevolution (and similar) to work in
the modern environment are down to the difficulty of getting from "data
format A on machine A" to "data format B on machine B".
If, instead, there was a common data format used by both systems a
simple synchronisation would be all that's needed.
OK, it's probably not going to happen for the mainstream but for someone
developing an application for the Linux (and related) desktop for
example it could be a viable approach because all you'd need to do is to
write something that would allow viewing and updating of data in the
format used by the particular phone/PDA (or family thereof).
In fact this is presumably what the jpilot (and the underlying
libraries) did for the Palm PDAs and it's why they work so reliably and
consistently. While they did their own data transfer they had no need
to transform the data at all, they simply kept it in the same/similar
format on the PC that it was kept on the Palm device.
These are just ramblings really, brought on by the recent more
'philosophical' threads about where syncevolution is going.
--
Chris Green
10 years