<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SyncEvolution - The Missing Link</title>
	<atom:link href="http://www.estamos.de/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.estamos.de/blog</link>
	<description>About SyncEvolution, writing software and more.</description>
	<lastBuildDate>Tue, 31 Aug 2010 15:06:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1-beta1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>manipulate Evolution, KCalExtended/mkcal, QtContacts PIM items via uniform command line</title>
		<link>http://syncevolution.org/blogs/pohly/2010/manipulate-evolution-kcalextendedmkcal-qtcontacts-pim-items-uniform-command-line</link>
		<comments>http://syncevolution.org/blogs/pohly/2010/manipulate-evolution-kcalextendedmkcal-qtcontacts-pim-items-uniform-command-line#comments</comments>
		<pubDate>Tue, 31 Aug 2010 15:06:35 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[Announcement]]></category>

		<guid isPermaLink="false">79 at http://syncevolution.org</guid>
		<description><![CDATA[<p>The current development version of SyncEvolution, the one which will become 1.1, has some new features which may be useful for command line aficionados like myself: query and manipulate items in the databases that can be accessed with SyncEvolution backends.</p>

<p>This is particularly useful for the new PIM storages in MeeGo, QtContacts and mkcal (formerly known as KCalExtended). Both are part of MeeGo Core, but come without any kind of frontend in Core. SyncEvolution provides a uniform way of testing these new storages using the command line or scripts.</p>

<h1>Installation</h1>

<p>In MeeGo, make sure that at least 1.0.99.5 rpms (required for mkcal) or better, 1.0.99.6 (for QtContacts) get installed. The core "syncevolution" rpm is needed plus "syncevolution-kcalextended" resp. "syncevolution-qtcontacts".</p>

<p>When compiling from source, check out the master branch of <a href="http://meego.gitorious.org/meego-middleware/syncevolution">"syncevolution"</a> and <a href="http://meego.gitorious.org/meego-middleware/libsynthesis">"libsynthesis"</a> and follow the instructions in the "HACKING" document. Add --enable-kcalextended resp. --enable-qtcontacts as needed...</p>

<h1>HOWTO</h1>

<p>These examples illustrate how to use the new options in combination with mkcal. In 1.0.99.6, "mkcal" can be used as type instead of "kcalextended", as in the examples below. Only events are supported at the moment, todos and journal entries in the calendar are ignored.</p>

<p>Wipe out calendar data the hard way:
<div class="codeblock"><code>rm -f ~/.calendardb*</code></div></p>

<p>Import an event:</p>

<p><div class="codeblock"><code>$ cat &#62;/tmp/example.ics &#60;&#60;EOF<br />BEGIN:VCALENDAR<br />PRODID:-//Ximian//NONSGML Evolution Calendar//EN<br />VERSION:2.0<br />METHOD:PUBLISH<br />BEGIN:VEVENT<br />DTSTART:20100823T170000<br />DTEND:20100823T173000<br />SUMMARY:first event<br />CLASS:PUBLIC<br />END:VEVENT<br />END:VCALENDAR<br />EOF</code></div></p>

<p><div class="codeblock"><code>$ syncevolution --import /tmp/example.ics --source-property type=kcalextended @foo bar<br />#0: 3f630f1d-8009-4465-907b-3ec28248b90b-rid<br />[ERROR] stderr: kdedate/ksystemtimezone.cpp: 313 - cannot get wall_clock_info (localzone) - QDBusError(&#34;org.freedesktop.DBus.Error.ServiceUnknown&#34;, &#34;The name com.nokia.time was not provided by any .service files&#34;)</code></div></p>

<p>Because many of these system libraries don't expect to be used by command line users, they spew out a lot of debugging information. The SyncEvolution command line filters this output and suppresses most of it. Developers who <em>want</em> to see it, can set the SYNCEVOLUTION_DEBUG environment variable to 1. They should also add <em>--daemon=no</em> to run the operation inside the "syncevolution" process instead of the "syncevo-dbus-server".</p>

<p>The error in this case is <a href="http://bugs.meego.com/show_bug.cgi?id=6174" title="timed not started">MeeGo bug</a>, which I'll strip from the output of the following examples.</p>

<p>The command line above works without any "@foo" configuration and "bar" data source, because the source type is specified explicitly. Configuring this value permanently makes the command line shorter:</p>

<p><div class="codeblock"><code>$ syncevolution --configure --source-property type=kcalextended @default calendar</code></div></p>

<p>List all events:</p>

<p><div class="codeblock"><code>$ syncevolution --daemon=no --print-items @default calendar<br />3f630f1d-8009-4465-907b-3ec28248b90b-rid: first event</code></div></p>

<p>Export events to stdout:</p>

<p><div class="codeblock"><code>$ syncevolution --export - @default calendar <br />BEGIN:VCALENDAR<br />PRODID:-//K Desktop Environment//NONSGML libkcal 4.3//EN<br />VERSION:2.0<br />BEGIN:VEVENT<br />CREATED:20100901T131100Z<br />DTSTAMP:20100901T130859Z<br />UID:a62893e3-3df1-4a92-b57b-d05c805d4078<br />LAST-MODIFIED:20100901T131009Z<br />SUMMARY:first event<br />DTSTART:20100823T170000<br />DTEND:20100823T173000<br />TRANSP:OPAQUE<br />END:VEVENT<br />END:VCALENDAR</code></div></p>

<p>Export one specific event into a file (like everything else, this also works for multiple events, writing into a single file or a directory):</p>

<p><div class="codeblock"><code>$ syncevolution --export /tmp/exported.ics @default calendar 3f630f1d-8009-4465-907b-3ec28248b90b-rid</code></div></p>

<p>Update that event, showing of reading from stdin here:</p>

<p><div class="codeblock"><code>$ perl -p -e &#39;s/first event/first event modified/&#39; /tmp/example.ics &#124; syncevolution --daemon=no --update - @default calendar 3f630f1d-8009-4465-907b-3ec28248b90b-rid<br />#0: 3f630f1d-8009-4465-907b-3ec28248b90b-rid<br /><br />$ syncevolution --daemon=no --export - @default calendar &#124; grep SUMMARY<br />SUMMARY:first event</code></div></p>

<p>Hmm, that didn't work as intended. Need to investigate... ah, I haven't reimplemented that part with the new mkcal API yet. Will be fixed in 1.0.99.6.</p>

<p>Delete the event:</p>

<p><div class="codeblock"><code>$ syncevolution --delete-items @default calendar 3f630f1d-8009-4465-907b-3ec28248b90b-rid<br />[INFO] calendar: deleting &#34;first event&#34;</code></div></p>

<h1>REFERENCE</h1>

<p><div class="codeblock"><code>$ syncevolution --help<br />...<br />List items:<br />&#160; syncevolution --print-items &#60;config&#62; &#60;source&#62;<br />Export item(s):<br />&#160; syncevolution [--delimiter &#60;string&#62;] --export &#60;dir&#62;&#124;&#60;file&#62;&#124;- &#60;config&#62; &#60;source&#62; [&#60;luid&#62; ...]<br />Add item(s):<br />&#160; syncevolution [--delimiter &#60;string&#62;&#124;none] --import &#60;dir&#62;&#124;&#60;file&#62;&#124;- &#60;config&#62; &#60;source&#62;<br />Update item(s)<br />&#160; syncevolution --update &#60;dir&#62; &#60;config&#62; &#60;source&#62;<br />&#160; syncevolution [--delimiter &#60;string&#62;&#124;none] --update &#60;file&#62;&#124;- &#60;config&#62; &#60;source&#62; &#60;luid&#62; ...<br />Remove item(s):<br />&#160; syncevolution --delete-items &#60;config&#62; &#60;source&#62; &#60;luid&#62; ...<br />...<br />--print-items<br />&#160; Shows all existing items using one line per item using<br />&#160; the format &#34;&#60;luid&#62;[: &#60;short description&#62;]&#34;. Whether the description<br />&#160; is available depends on the backend and the kind of data that it<br />&#160; stores.<br /><br />--export<br />&#160; Writes all items in the source or all items whose &#60;luid&#62; is<br />&#160; given into a directory if the --export parameter exists and is a<br />&#160; directory. The &#60;luid&#62; of each item is used as file name. Otherwise it<br />&#160; creates a new file under that name and writes the selected items<br />&#160; separated by the chosen delimiter string. stdout can be selected with<br />&#160; a dash.<br /><br />&#160; The default delimiter are two newline characters for a blank line. This<br />&#160; works for vCard 3.0 and iCalendar 2.0, which never contain blank lines.<br />&#160; Because items may or may not end in a newline, as a special case the<br />&#160; initial newline of a delimiter is skipped if the item ends in a newline.<br /><br />--import<br />&#160; Adds all items found in the directory or input file to the<br />&#160; source.&#160; When reading from a directory, each file is treated as one<br />&#160; item. Otherwise the input is split at the chosen delimiter. &#34;none&#34; as<br />&#160; delimiter disables splitting of the input.<br /><br />--update<br />&#160; Overwrites the content of existing items. When updating from a<br />&#160; directory, the name of each file is taken as its luid. When updating<br />&#160; from file or stdin, the number of luids given on the command line<br />&#160; must match with the number of items in the input.<br /><br />--delete-items<br />&#160; Removes the specified items from the source. Most backends print<br />&#160; some progress information about this, but besides that, no further<br />&#160; output is produced. Trying to remove an item which does not exist<br />&#160; typically leads to an ERROR message, but is not reflected in a<br />&#160; non-zero result of the command line invocation itself because the<br />&#160; situation is not reported as an error by backends (removal of<br />&#160; non-existent items is not an error in SyncML).</code></div></p>
]]></description>
			<content:encoded><![CDATA[<p>The current development version of SyncEvolution, the one which will become 1.1, has some new features which may be useful for command line aficionados like myself: query and manipulate items in the databases that can be accessed with SyncEvolution backends.</p>

<p>This is particularly useful for the new PIM storages in MeeGo, QtContacts and mkcal (formerly known as KCalExtended). Both are part of MeeGo Core, but come without any kind of frontend in Core. SyncEvolution provides a uniform way of testing these new storages using the command line or scripts.</p>

<h1>Installation</h1>

<p>In MeeGo, make sure that at least 1.0.99.5 rpms (required for mkcal) or better, 1.0.99.6 (for QtContacts) get installed. The core "syncevolution" rpm is needed plus "syncevolution-kcalextended" resp. "syncevolution-qtcontacts".</p>

<p>When compiling from source, check out the master branch of <a href="http://meego.gitorious.org/meego-middleware/syncevolution">"syncevolution"</a> and <a href="http://meego.gitorious.org/meego-middleware/libsynthesis">"libsynthesis"</a> and follow the instructions in the "HACKING" document. Add --enable-kcalextended resp. --enable-qtcontacts as needed...</p>

<h1>HOWTO</h1>

<p>These examples illustrate how to use the new options in combination with mkcal. In 1.0.99.6, "mkcal" can be used as type instead of "kcalextended", as in the examples below. Only events are supported at the moment, todos and journal entries in the calendar are ignored.</p>

<p>Wipe out calendar data the hard way:
<div class="codeblock"><code>rm -f ~/.calendardb*</code></div></p>

<p>Import an event:</p>

<p><div class="codeblock"><code>$ cat &gt;/tmp/example.ics &lt;&lt;EOF<br />BEGIN:VCALENDAR<br />PRODID:-//Ximian//NONSGML Evolution Calendar//EN<br />VERSION:2.0<br />METHOD:PUBLISH<br />BEGIN:VEVENT<br />DTSTART:20100823T170000<br />DTEND:20100823T173000<br />SUMMARY:first event<br />CLASS:PUBLIC<br />END:VEVENT<br />END:VCALENDAR<br />EOF</code></div></p>

<p><div class="codeblock"><code>$ syncevolution --import /tmp/example.ics --source-property type=kcalextended @foo bar<br />#0: 3f630f1d-8009-4465-907b-3ec28248b90b-rid<br />[ERROR] stderr: kdedate/ksystemtimezone.cpp: 313 - cannot get wall_clock_info (localzone) - QDBusError(&quot;org.freedesktop.DBus.Error.ServiceUnknown&quot;, &quot;The name com.nokia.time was not provided by any .service files&quot;)</code></div></p>

<p>Because many of these system libraries don't expect to be used by command line users, they spew out a lot of debugging information. The SyncEvolution command line filters this output and suppresses most of it. Developers who <em>want</em> to see it, can set the SYNCEVOLUTION_DEBUG environment variable to 1. They should also add <em>--daemon=no</em> to run the operation inside the "syncevolution" process instead of the "syncevo-dbus-server".</p>

<p>The error in this case is <a href="http://bugs.meego.com/show_bug.cgi?id=6174" title="timed not started">MeeGo bug</a>, which I'll strip from the output of the following examples.</p>

<p>The command line above works without any "@foo" configuration and "bar" data source, because the source type is specified explicitly. Configuring this value permanently makes the command line shorter:</p>

<p><div class="codeblock"><code>$ syncevolution --configure --source-property type=kcalextended @default calendar</code></div></p>

<p>List all events:</p>

<p><div class="codeblock"><code>$ syncevolution --daemon=no --print-items @default calendar<br />3f630f1d-8009-4465-907b-3ec28248b90b-rid: first event</code></div></p>

<p>Export events to stdout:</p>

<p><div class="codeblock"><code>$ syncevolution --export - @default calendar <br />BEGIN:VCALENDAR<br />PRODID:-//K Desktop Environment//NONSGML libkcal 4.3//EN<br />VERSION:2.0<br />BEGIN:VEVENT<br />CREATED:20100901T131100Z<br />DTSTAMP:20100901T130859Z<br />UID:a62893e3-3df1-4a92-b57b-d05c805d4078<br />LAST-MODIFIED:20100901T131009Z<br />SUMMARY:first event<br />DTSTART:20100823T170000<br />DTEND:20100823T173000<br />TRANSP:OPAQUE<br />END:VEVENT<br />END:VCALENDAR</code></div></p>

<p>Export one specific event into a file (like everything else, this also works for multiple events, writing into a single file or a directory):</p>

<p><div class="codeblock"><code>$ syncevolution --export /tmp/exported.ics @default calendar 3f630f1d-8009-4465-907b-3ec28248b90b-rid</code></div></p>

<p>Update that event, showing of reading from stdin here:</p>

<p><div class="codeblock"><code>$ perl -p -e &#039;s/first event/first event modified/&#039; /tmp/example.ics | syncevolution --daemon=no --update - @default calendar 3f630f1d-8009-4465-907b-3ec28248b90b-rid<br />#0: 3f630f1d-8009-4465-907b-3ec28248b90b-rid<br /><br />$ syncevolution --daemon=no --export - @default calendar | grep SUMMARY<br />SUMMARY:first event</code></div></p>

<p>Hmm, that didn't work as intended. Need to investigate... ah, I haven't reimplemented that part with the new mkcal API yet. Will be fixed in 1.0.99.6.</p>

<p>Delete the event:</p>

<p><div class="codeblock"><code>$ syncevolution --delete-items @default calendar 3f630f1d-8009-4465-907b-3ec28248b90b-rid<br />[INFO] calendar: deleting &quot;first event&quot;</code></div></p>

<h1>REFERENCE</h1>

<p><div class="codeblock"><code>$ syncevolution --help<br />...<br />List items:<br />&nbsp; syncevolution --print-items &lt;config&gt; &lt;source&gt;<br />Export item(s):<br />&nbsp; syncevolution [--delimiter &lt;string&gt;] --export &lt;dir&gt;|&lt;file&gt;|- &lt;config&gt; &lt;source&gt; [&lt;luid&gt; ...]<br />Add item(s):<br />&nbsp; syncevolution [--delimiter &lt;string&gt;|none] --import &lt;dir&gt;|&lt;file&gt;|- &lt;config&gt; &lt;source&gt;<br />Update item(s)<br />&nbsp; syncevolution --update &lt;dir&gt; &lt;config&gt; &lt;source&gt;<br />&nbsp; syncevolution [--delimiter &lt;string&gt;|none] --update &lt;file&gt;|- &lt;config&gt; &lt;source&gt; &lt;luid&gt; ...<br />Remove item(s):<br />&nbsp; syncevolution --delete-items &lt;config&gt; &lt;source&gt; &lt;luid&gt; ...<br />...<br />--print-items<br />&nbsp; Shows all existing items using one line per item using<br />&nbsp; the format &quot;&lt;luid&gt;[: &lt;short description&gt;]&quot;. Whether the description<br />&nbsp; is available depends on the backend and the kind of data that it<br />&nbsp; stores.<br /><br />--export<br />&nbsp; Writes all items in the source or all items whose &lt;luid&gt; is<br />&nbsp; given into a directory if the --export parameter exists and is a<br />&nbsp; directory. The &lt;luid&gt; of each item is used as file name. Otherwise it<br />&nbsp; creates a new file under that name and writes the selected items<br />&nbsp; separated by the chosen delimiter string. stdout can be selected with<br />&nbsp; a dash.<br /><br />&nbsp; The default delimiter are two newline characters for a blank line. This<br />&nbsp; works for vCard 3.0 and iCalendar 2.0, which never contain blank lines.<br />&nbsp; Because items may or may not end in a newline, as a special case the<br />&nbsp; initial newline of a delimiter is skipped if the item ends in a newline.<br /><br />--import<br />&nbsp; Adds all items found in the directory or input file to the<br />&nbsp; source.&nbsp; When reading from a directory, each file is treated as one<br />&nbsp; item. Otherwise the input is split at the chosen delimiter. &quot;none&quot; as<br />&nbsp; delimiter disables splitting of the input.<br /><br />--update<br />&nbsp; Overwrites the content of existing items. When updating from a<br />&nbsp; directory, the name of each file is taken as its luid. When updating<br />&nbsp; from file or stdin, the number of luids given on the command line<br />&nbsp; must match with the number of items in the input.<br /><br />--delete-items<br />&nbsp; Removes the specified items from the source. Most backends print<br />&nbsp; some progress information about this, but besides that, no further<br />&nbsp; output is produced. Trying to remove an item which does not exist<br />&nbsp; typically leads to an ERROR message, but is not reflected in a<br />&nbsp; non-zero result of the command line invocation itself because the<br />&nbsp; situation is not reported as an error by backends (removal of<br />&nbsp; non-existent items is not an error in SyncML).</code></div></p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/blogs/pohly/2010/manipulate-evolution-kcalextendedmkcal-qtcontacts-pim-items-uniform-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SyncEvolution 1.0.1 released</title>
		<link>http://syncevolution.org/blogs/pohly/2010/syncevolution-101-released</link>
		<comments>http://syncevolution.org/blogs/pohly/2010/syncevolution-101-released#comments</comments>
		<pubDate>Sat, 17 Jul 2010 07:08:23 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">77 at http://syncevolution.org</guid>
		<description><![CDATA[<h1>SyncEvolution 1.0.1</h1>

<p>A bug fix release. The main reason for releasing it is that
SyncEvolution 1.0 no longer worked on recent distros (Fedora Core 13,
Debian testing) because of a name clash between the Bluez D-Bus
utility code and recent glib.</p>

<p>Details:</p>

<ul>
<li><p>compile fix for FC 13 (and possibly others): use private copy of gdbus (<a href="http://bugs.meego.com/show_bug.cgi?id=3556">BMC #3556</a>)</p></li>
<li><p>sync-ui: prevent overwriting device configs by accident (<a href="http://bugs.meego.com/show_bug.cgi?id=3566">BMC #3566</a>,<a href="http://bugs.meego.com/show_bug.cgi?id=1194">BMC #1194</a>)
Setting up a phone used the template name as config name and overwrote
an existing configuration of another phone that was created using that
same template. Now the code uses the Bluetooth device name as set on the
device and checks for (less likely) collisions. It also sanitizes the
name to avoid complicated config names (only relevant when also using
the command line).</p></li>
<li><p>syncevo-dbus-server: accept 'application/vnd.syncml+xml; charset=UTF-8' for starting an HTTP session (<a href="http://bugs.meego.com/show_bug.cgi?id=3554">BMC #3554</a>) 
The redundant charset specification was set by the Funambol
Thunderbird client. Because of a literal comparison against
'application/vnd.syncml+xml' the messages were rejected.</p></li>
<li><p>config fix: operations on non-peer configs failed (<a href="http://bugs.meego.com/show_bug.cgi?id=3157">BMC #3157</a>)
When running operations on a non-peer configuration (like --restore @default
addressbook), the operation fails with
[ERROR] : type 'select backend' not supported</p></li>
<li><p>ZYB.com: service goes away end of June 2010, template removed (<a href="http://bugs.meego.com/show_bug.cgi?id=3310">BMC #3310</a>)</p></li>
<li>some build (<a href="http://bugs.meego.com/show_bug.cgi?id=2586">BMC #2586</a>, <a href="http://bugs.meego.com/show_bug.cgi?id=3557">BMC #3557</a>) and language updates</li>
</ul>

<h1>Source, Installation, Further information</h1>

<p>Source snapshots are in
  <a href="http://downloads.syncevolution.org/syncevolution/sources" title="http://downloads.syncevolution.org/syncevolution/sources">http://downloads.syncevolution.org/syncevolution/sources</a></p>

<p>i386, amd64 and lpia binaries of 1.0 for Debian-based distributions are available via the "stable" syncevolution.org repository. Add the following entry to your /apt/source.list, then install "syncevolution-evolution":
<div class="codeblock"><code>&#160; deb <a href="http://downloads.syncevolution.org/apt" title="http://downloads.syncevolution.org/apt">http://downloads.syncevolution.org/apt</a> stable main</code></div></p>

<p>These binaries include the "sync-ui" GTK GUI and were compiled for Ubuntu 8.04 LTS (Hardy). Older distributions like Debian 4.0 (Etch) can no longer be supported with precompiled binaries because of missing libraries, but the source still compiles when not enabling the GUI (the default).</p>

<p>The same binaries are also available as .tar.gz and .rpm archives in <a href="http://downloads.syncevolution.org/syncevolution/evolution" title="http://downloads.syncevolution.org/syncevolution/evolution">http://downloads.syncevolution.org/syncevolution/evolution</a>. In contrast to 0.8.x archives, the 1.0 .tar.gz archives have to be unpacked and the content must be moved to /usr, because several files would not be found otherwise.</p>

<p>After installation, follow the <a href="/documentation/getting-started">getting started</a> steps.</p>
]]></description>
			<content:encoded><![CDATA[<h1>SyncEvolution 1.0.1</h1>

<p>A bug fix release. The main reason for releasing it is that
SyncEvolution 1.0 no longer worked on recent distros (Fedora Core 13,
Debian testing) because of a name clash between the Bluez D-Bus
utility code and recent glib.</p>

<p>Details:</p>

<ul>
<li><p>compile fix for FC 13 (and possibly others): use private copy of gdbus (<a href="http://bugs.meego.com/show_bug.cgi?id=3556">BMC #3556</a>)</p></li>
<li><p>sync-ui: prevent overwriting device configs by accident (<a href="http://bugs.meego.com/show_bug.cgi?id=3566">BMC #3566</a>,<a href="http://bugs.meego.com/show_bug.cgi?id=1194">BMC #1194</a>)
Setting up a phone used the template name as config name and overwrote
an existing configuration of another phone that was created using that
same template. Now the code uses the Bluetooth device name as set on the
device and checks for (less likely) collisions. It also sanitizes the
name to avoid complicated config names (only relevant when also using
the command line).</p></li>
<li><p>syncevo-dbus-server: accept 'application/vnd.syncml+xml; charset=UTF-8' for starting an HTTP session (<a href="http://bugs.meego.com/show_bug.cgi?id=3554">BMC #3554</a>) 
The redundant charset specification was set by the Funambol
Thunderbird client. Because of a literal comparison against
'application/vnd.syncml+xml' the messages were rejected.</p></li>
<li><p>config fix: operations on non-peer configs failed (<a href="http://bugs.meego.com/show_bug.cgi?id=3157">BMC #3157</a>)
When running operations on a non-peer configuration (like --restore @default
addressbook), the operation fails with
[ERROR] : type 'select backend' not supported</p></li>
<li><p>ZYB.com: service goes away end of June 2010, template removed (<a href="http://bugs.meego.com/show_bug.cgi?id=3310">BMC #3310</a>)</p></li>
<li>some build (<a href="http://bugs.meego.com/show_bug.cgi?id=2586">BMC #2586</a>, <a href="http://bugs.meego.com/show_bug.cgi?id=3557">BMC #3557</a>) and language updates</li>
</ul>

<h1>Source, Installation, Further information</h1>

<p>Source snapshots are in
  <a href="http://downloads.syncevolution.org/syncevolution/sources" title="http://downloads.syncevolution.org/syncevolution/sources">http://downloads.syncevolution.org/syncevolution/sources</a></p>

<p>i386, amd64 and lpia binaries of 1.0 for Debian-based distributions are available via the "stable" syncevolution.org repository. Add the following entry to your /apt/source.list, then install "syncevolution-evolution":
<div class="codeblock"><code>&nbsp; deb <a href="http://downloads.syncevolution.org/apt" title="http://downloads.syncevolution.org/apt">http://downloads.syncevolution.org/apt</a> stable main</code></div></p>

<p>These binaries include the "sync-ui" GTK GUI and were compiled for Ubuntu 8.04 LTS (Hardy). Older distributions like Debian 4.0 (Etch) can no longer be supported with precompiled binaries because of missing libraries, but the source still compiles when not enabling the GUI (the default).</p>

<p>The same binaries are also available as .tar.gz and .rpm archives in <a href="http://downloads.syncevolution.org/syncevolution/evolution" title="http://downloads.syncevolution.org/syncevolution/evolution">http://downloads.syncevolution.org/syncevolution/evolution</a>. In contrast to 0.8.x archives, the 1.0 .tar.gz archives have to be unpacked and the content must be moved to /usr, because several files would not be found otherwise.</p>

<p>After installation, follow the <a href="http://syncevolution.org/documentation/getting-started">getting started</a> steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/blogs/pohly/2010/syncevolution-101-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SyncEvolution 1.0 released</title>
		<link>http://syncevolution.org/blogs/pohly/2010/syncevolution-10-released</link>
		<comments>http://syncevolution.org/blogs/pohly/2010/syncevolution-10-released#comments</comments>
		<pubDate>Wed, 16 Jun 2010 15:23:19 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">71 at http://syncevolution.org</guid>
		<description><![CDATA[<p>After several betas and lot of testing, it's finally time to announce the end of the 1.0 development cycle: SyncEvolution 1.0 is released and replaces 0.9.2 as the stable version.</p>

<p>0.1 was released over four years ago. It has always bee part of the long-term vision to bring "personal SyncML" to desktops. Thanks to the Synthesis engine and Intel's support for the project, this goal has been reached and this release really deserves the magic 1.0 label.</p>

<p>For those not familiar with the project, SyncEvolution synchronizes personal information management (PIM) data like contacts, calenders, tasks, and memos using the SyncML information synchronization standard. Up to and including 0.9.2, a third-party SyncML server was required. In 1.0, SyncEvolution itself is able to act as a SyncML server, both via HTTP and Bluetooth (direct sync with phones).
<!--break--></p>

<h1>SyncEvolution 1.0</h1>

<p>Major new features compared to previous stable release:</p>

<ul>
<li>synchronize directly with a phone over Bluetooth/OBEX</li>
<li>accept Bluetooth/OBEX connections in cooperation with obexd &#62;= 0.19</li>
<li>run SyncEvolution as a rudimentary HTTP SyncML server</li>
</ul>

<p>The GTK sync-UI can be used to select a paired phone and create a configuration for it based on the bundled configuration templates. Configuration templates are included for Nokia phones; for other phones see the <a href="http://syncevolution.org/development/sync-phone">HOWTO</a> and check out the Wiki there. Some users have already reported success for Sony Ericsson phones and added setup instructions. New templates from the Wiki can be dropped into ~/.config/syncevolution-templates under an arbitrary file name.</p>

<p>Unexpected slow syncs can be detected when running as client (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=2416">MB #2416</a>) and unless turned off (see "preventSlowSync"), SyncEvolution aborts the session so that the situation can be analyzed. A refresh from client or server might be more suitable. The command line tool provides instructions at the end of its output. The GTK sync-UI points towards its recovery dialog.</p>

<p>Automatic synchronization is supported by the syncevo-dbus-server (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=6378">MB #6378</a>). When that is installed, it will be started as part of a user session and keep running to trigger syncs in the background. Notifications are emitted when syncs start, end or fail (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=10000">MB #10000</a>).</p>

<p>Automatic synchronization can be enabled separately for each peer ("autoSync=0/1", off by default), will be done at regular intervals ("autoSyncInterval=30" minutes) when online long enough ("autoSyncDelay=5" minutes). That last option ensures that a) an automatic sync does not attempt to use a network connection unless it was already active and b) hopefully is also around long enough to complete the sync.</p>

<p>The Synthesis XML configuration was split up into different parts which are assembled from /usr/share/syncevolution/xml. Files in ~/.config/syncevolution-xml override and extend the default files, which my be useful when adding support for a new phone.</p>

<p>SyncML servers:</p>

<ul>
<li>ZYB.com now works thanks to a workaround for anchor handling (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=2424">MB #2424</a>);   only contacts tested because everything else is considered legacy by ZYB.com</li>
<li>Horde: avoid confusing the server with a deviceId that starts like the   ones used in old Funambol clients, helps with calendar sync (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=9347">MB #9347</a>)</li>
<li>Mobical.net (and other, similar services): fix vCalendar 1.0 alarm   properties before importing them (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=10458">MB #10458</a>)</li>
<li>desknow.com works when switching to SyncMLVersion = 1.1</li>
<li>Funambol, Memotoo (and probably others): preserve meeting series when   receiving update for detached recurrence (<a href="http://bugs.meego.com/show_bug.cgi?id=1916">MBC #1916</a>)</li>
</ul>

<p>Evolution:</p>

<ul>
<li>calendar backend: minor fix for change tracking when deleting   a single instance of a recurring event</li>
<li>workaround for Evolution 2.30: "timezone cannot be retrieved because it   doesn't exist" is triggered incorrectly when importing non-standard   timezone definitions because libecal changed an error code (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=9820">MB #9820</a>)</li>
</ul>

<p>Performance and reliability improvements (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=7708">MB #7708</a>):</p>

<ul>
<li>synccompare much faster</li>
<li>database dumps consume less disk space</li>
<li>more intelligent about expiring obsolete session directories   and backups</li>
<li>database accesses are reduced in several backends</li>
<li>shorter logs (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=8092">MB #8092</a>)</li>
<li>message resending helps under unreliable network connectivity ("RetryInterval")</li>
<li>full support for suspend&#38;resume in SyncEvolution client to SyncEvolution or   Synthesis server syncs</li>
<li>better handling of certain third-party time zone definitions (<a href="http://bugs.meego.com/show_bug.cgi?id=1332">MBC #1332</a>)</li>
</ul>

<p>Improved GTK sync-UI:</p>

<ul>
<li>revised config screen: all in one list where entries can be expanded,   integrated setup of sync with other devices</li>
<li>recovery support: restore from backup, unexpected slow sync handling</li>
<li>spinner while network is in use (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=2229">MB #2229</a>)</li>
<li>interactive password requests (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=6376">MB #6376</a>)</li>
<li>uses new D-Bus API</li>
</ul>

<p>Command line:</p>

<ul>
<li>fixed printing of rejected items (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=7755">MB #7755</a>)</li>
<li>consistent logging of added/updated/deleted items with short   description</li>
<li>improved error reporting (textual descriptions instead of plain   error codes <a href="http://bugzilla.moblin.org/show_bug.cgi?id=2069">MB #2069</a>, partial success <a href="http://bugzilla.moblin.org/show_bug.cgi?id=7755">MB #7755</a>, record and show   first ERROR encountered <a href="http://bugzilla.moblin.org/show_bug.cgi?id=7708">MB #7708</a>)</li>
<li>can create new sources (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=8424">MB #8424</a>)</li>
<li>runs operations inside daemon and thus avoids conflicts with   operations done by other clients; for testing purposes (like   running a client which talks to a local server in the daemon) it is   still possible to ignore the daemon (--daemon=no, <a href="http://bugzilla.moblin.org/show_bug.cgi?id=5043">MB #5043</a>)</li>
<li>revised README, now also available as man page (<a href="http://bugs.meego.com/show_bug.cgi?id=690">MBC #690</a>)</li>
</ul>

<p><a href="http://syncevolution.org/development/direct-synchronization-aka-syncml-server">Redesigned</a> and reimplemented D-Bus API, used by sync-UI and command line:</p>

<ul>
<li>central syncevo-dbus-server controls configurations and sync sessions</li>
<li>accepts incoming SyncML connection requests and messages received by   independent transport stubs (obexd, HTTP server, ...)</li>
<li>can be used by multiple user interfaces at once</li>
<li>fully documented, see src/dbus/interfaces and <a href="http://api.syncevolution.org" title="http://api.syncevolution.org">http://api.syncevolution.org</a></li>
<li>no longer depends on dbus-glib with hand-written glue code for C++,   instead uses gdbus plus automatic C++ binding generated via C++ templates</li>
</ul>

<p>Revised <a href="http://syncevolution.org/development/configuration-handling" title="design document for configuration handling">configuration layout</a> (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=8048">MB #8048</a>):</p>

<ul>
<li>several peer-independent sync and source properties are shared   between multiple peers</li>
<li>they can be accessed without selecting a specific peer, by using an   empty config name or with the new "@" syntax</li>
<li>user interface of command line unchanged</li>
<li>old configurations can be read and written, without causing   unwanted slow syncs when moving between stable and unstable   SyncEvolution versions</li>
<li>old configurations can be migrated with the "--migrate" command   line switch; however, then older SyncEvolution can no longer   access them and migrating more than one old configuration causes   the second or later configuration to loose its "deviceId" property   (which is shared now), causing a slow sync once</li>
<li>config names may contain characters that are not allowed in the   file names used for the underlying files; will be replaced with   underscores automatically (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=8350">MB #8350</a>)</li>
</ul>

<p>Upgrading from 0.9.x:</p>

<ul>
<li>Upgrading and downgrading should work seamlessly when using existing   configurations.</li>
<li>The new configuration layout is only used when creating new   configurations or explicitly invoking "syncevolution --migrate" (see   above). Such configs cannot be used by older SyncEvolution releases.</li>
<li>The new "RetryInterval" property causes messages to be resent   after 2 minutes (increased from 1 minute in previous 1.0 betas).   At least the Funambol server is known to not handle this correctly   in all <a href="http://funzilla.funambol.com/show_bug.cgi?id=7910">cases</a>.   So in the Funambol config template the interval is set to zero,   disabling the feature. Disabling the feature must be done manually   in existing Funambol configurations.</li>
</ul>

<h1>SyncEvolution 1.0 beta 3 -&#62; 1.0 final</h1>

<p>Bug fixes and new features:</p>

<ul>
<li>Configuration templates are stored in a single file (<a href="http://bugs.meego.com/show_bug.cgi?id=1208">MBC #1208</a>).   New templates (like something downloaded from <a href="http://syncevolution.org/wiki">the Wiki</a>   can be dropped into $HOME/.config/syncevolution-templates using an arbitrary   file name.</li>
<li>Progress and per-source status are now also reported and recorded when   running in server mode (<a href="http://bugs.meego.com/show_bug.cgi?id=1359">MBC #1359</a>). There are still several limitations   (sync mode not reported, no information about sent/received/processed items   while the sync runs, see <a href="http://bugs.meego.com/show_bug.cgi?id=2786">MBC #2786</a>).</li>
<li>Better handling of certain third-party time zone definitions (<a href="http://bugs.meego.com/show_bug.cgi?id=1332">MBC #1332</a>).   Better logging to track down such problems.</li>
<li>D-Bus server + command line: return error code when failed (<a href="http://bugs.meego.com/show_bug.cgi?id=2193">MBC #2193</a>)</li>
<li>syncevo-phone-config: simplified command line options, several bug fixes   (syntax error, incorrect handling of calendar+todo, <a href="http://bugs.meego.com/show_bug.cgi?id=1197">MBC #1197</a>)</li>
<li>Revised README, now also available as man page (<a href="http://bugs.meego.com/show_bug.cgi?id=690">MBC #690</a>). Conversion of D-Bus API   documentation into .html page (<a href="http://bugs.meego.com/show_bug.cgi?id=1745">MBC #1745</a>).</li>
<li>Funambol, Memotoo (and probably others): preserve meeting series when   receiving update for detached recurrence (<a href="http://bugs.meego.com/show_bug.cgi?id=1916">MBC #1916</a>)</li>
<li>Fix for potential out-of-bounds memory access (<a href="http://bugs.meego.com/show_bug.cgi?id=1007">MBC #1007</a>).</li>
<li>HTTP server: fix for potential crash when second session was requested while an   older one was still running, initial sync was done without libical time zone   information and thus may have mismatched times (<a href="http://bugs.meego.com/show_bug.cgi?id=2435">MBC #2435</a>)</li>
<li>Nokia E55: convert alarm times (<a href="http://bugs.meego.com/show_bug.cgi?id=1657">MBC #1657</a>). This is done via a new remote rule   in /usr/share/syncevolution/xml/remoterules/server/46_E55.xml   If another phone needs the same treatment, then copy that file to   ~/.config/syncevolution-xml/remoterules/server and edit the  element.</li>
<li>GTK GUI: styling fix (<a href="http://bugs.meego.com/show_bug.cgi?id=1372">MBC #1372</a>), updated toolbar for MeeGo 1.0 (<a href="http://bugs.meego.com/show_bug.cgi?id=1970">MBC #1970</a>),   avoid duplicating configs when selecting a config created by syncevo-phone-config    or the command line (<a href="http://bugs.meego.com/show_bug.cgi?id=1266">MBC #1266</a>), scroll bars for emergency window (<a href="http://bugs.meego.com/show_bug.cgi?id=1296">MBC #1296</a>),   avoid compile problem on Fedora Core 13 due to name collision with system sync()   call, updated translations.</li>
</ul>

<h1>Known Issues</h1>

<p>Compatibility with phones has not been tested as well as compatibility with the officially supported SyncML servers. Some issues have been reported which still need to be investigated:</p>

<ul>
<li>Nokia N85: ignores refresh-from-server? (<a href="http://bugs.meego.com/show_bug.cgi?id=2722">MBC #2722</a>)</li>
<li>Sony Ericsson W595: All-day-events created in evolution are synchronized as all-day-events + 1 additional day in the mobile (<a href="http://bugs.meego.com/show_bug.cgi?id=2093">MBC #2093</a>)</li>
<li>Nokia N81: Evolution contacts loose "Other" email-addresses when synced two-way (<a href="http://bugs.meego.com/show_bug.cgi?id=2566">MBC #2566</a>)</li>
<li>Nokia phones: absolute alarm time? (<a href="http://bugs.meego.com/show_bug.cgi?id=1657">MBC #1657</a>)</li>
</ul>

<p><strong>Call for action</strong>: <a href="http://syncevolution.org/development/sync-phone" title="Phone Sync HOWTO">test with your phone</a> and <a href="http://syncevolution.org/wiki/phone-compatibility-template" title="Phone Compatibility Wiki page">report</a> which config works and how well synchronization works.</p>

<p>Other known issues:</p>

<ul>
<li>server progress events: no information about sync mode (<a href="http://bugs.meego.com/show_bug.cgi?id=2786">MBC #2786</a>)</li>
<li>Calendar event alarm synchronization between N900 and Goosync (<a href="http://bugs.meego.com/show_bug.cgi?id=2764">MBC #2764</a>)</li>
</ul>

<h1>Source, Installation, Further information</h1>

<p>Source snapshots are in
  <a href="http://downloads.syncevolution.org/syncevolution/sources" title="http://downloads.syncevolution.org/syncevolution/sources">http://downloads.syncevolution.org/syncevolution/sources</a></p>

<p>i386, amd64 and lpia binaries of 1.0 for Debian-based distributions are available via the "stable" syncevolution.org repository. Add the following entry to your /apt/source.list, then install "syncevolution-evolution":
<div class="codeblock"><code>&#160; deb <a href="http://downloads.syncevolution.org/apt" title="http://downloads.syncevolution.org/apt">http://downloads.syncevolution.org/apt</a> stable main</code></div></p>

<p>These binaries include the "sync-ui" GTK GUI and were compiled for Ubuntu 8.04 LTS (Hardy). Older distributions like Debian 4.0 (Etch) can no longer be supported with precompiled binaries because of missing libraries, but the source still compiles when not enabling the GUI (the default).</p>

<p>The same binaries are also available as .tar.gz and .rpm archives in <a href="http://downloads.syncevolution.org/syncevolution/evolution" title="http://downloads.syncevolution.org/syncevolution/evolution">http://downloads.syncevolution.org/syncevolution/evolution</a>. In contrast to 0.8.x archives, the 1.0 .tar.gz archives have to be unpacked and the content must be moved to /usr, because several files would not be found otherwise.</p>

<p>After installation, follow the <a href="/documentation/getting-started">getting started</a> steps.</p>
]]></description>
			<content:encoded><![CDATA[<p>After several betas and lot of testing, it's finally time to announce the end of the 1.0 development cycle: SyncEvolution 1.0 is released and replaces 0.9.2 as the stable version.</p>

<p>0.1 was released over four years ago. It has always bee part of the long-term vision to bring "personal SyncML" to desktops. Thanks to the Synthesis engine and Intel's support for the project, this goal has been reached and this release really deserves the magic 1.0 label.</p>

<p>For those not familiar with the project, SyncEvolution synchronizes personal information management (PIM) data like contacts, calenders, tasks, and memos using the SyncML information synchronization standard. Up to and including 0.9.2, a third-party SyncML server was required. In 1.0, SyncEvolution itself is able to act as a SyncML server, both via HTTP and Bluetooth (direct sync with phones).
<!--break--></p>

<h1>SyncEvolution 1.0</h1>

<p>Major new features compared to previous stable release:</p>

<ul>
<li>synchronize directly with a phone over Bluetooth/OBEX</li>
<li>accept Bluetooth/OBEX connections in cooperation with obexd &gt;= 0.19</li>
<li>run SyncEvolution as a rudimentary HTTP SyncML server</li>
</ul>

<p>The GTK sync-UI can be used to select a paired phone and create a configuration for it based on the bundled configuration templates. Configuration templates are included for Nokia phones; for other phones see the <a href="http://syncevolution.org/development/sync-phone">HOWTO</a> and check out the Wiki there. Some users have already reported success for Sony Ericsson phones and added setup instructions. New templates from the Wiki can be dropped into ~/.config/syncevolution-templates under an arbitrary file name.</p>

<p>Unexpected slow syncs can be detected when running as client (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=2416">MB #2416</a>) and unless turned off (see "preventSlowSync"), SyncEvolution aborts the session so that the situation can be analyzed. A refresh from client or server might be more suitable. The command line tool provides instructions at the end of its output. The GTK sync-UI points towards its recovery dialog.</p>

<p>Automatic synchronization is supported by the syncevo-dbus-server (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=6378">MB #6378</a>). When that is installed, it will be started as part of a user session and keep running to trigger syncs in the background. Notifications are emitted when syncs start, end or fail (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=10000">MB #10000</a>).</p>

<p>Automatic synchronization can be enabled separately for each peer ("autoSync=0/1", off by default), will be done at regular intervals ("autoSyncInterval=30" minutes) when online long enough ("autoSyncDelay=5" minutes). That last option ensures that a) an automatic sync does not attempt to use a network connection unless it was already active and b) hopefully is also around long enough to complete the sync.</p>

<p>The Synthesis XML configuration was split up into different parts which are assembled from /usr/share/syncevolution/xml. Files in ~/.config/syncevolution-xml override and extend the default files, which my be useful when adding support for a new phone.</p>

<p>SyncML servers:</p>

<ul>
<li>ZYB.com now works thanks to a workaround for anchor handling (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=2424">MB #2424</a>);   only contacts tested because everything else is considered legacy by ZYB.com</li>
<li>Horde: avoid confusing the server with a deviceId that starts like the   ones used in old Funambol clients, helps with calendar sync (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=9347">MB #9347</a>)</li>
<li>Mobical.net (and other, similar services): fix vCalendar 1.0 alarm   properties before importing them (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=10458">MB #10458</a>)</li>
<li>desknow.com works when switching to SyncMLVersion = 1.1</li>
<li>Funambol, Memotoo (and probably others): preserve meeting series when   receiving update for detached recurrence (<a href="http://bugs.meego.com/show_bug.cgi?id=1916">MBC #1916</a>)</li>
</ul>

<p>Evolution:</p>

<ul>
<li>calendar backend: minor fix for change tracking when deleting   a single instance of a recurring event</li>
<li>workaround for Evolution 2.30: "timezone cannot be retrieved because it   doesn't exist" is triggered incorrectly when importing non-standard   timezone definitions because libecal changed an error code (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=9820">MB #9820</a>)</li>
</ul>

<p>Performance and reliability improvements (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=7708">MB #7708</a>):</p>

<ul>
<li>synccompare much faster</li>
<li>database dumps consume less disk space</li>
<li>more intelligent about expiring obsolete session directories   and backups</li>
<li>database accesses are reduced in several backends</li>
<li>shorter logs (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=8092">MB #8092</a>)</li>
<li>message resending helps under unreliable network connectivity ("RetryInterval")</li>
<li>full support for suspend&amp;resume in SyncEvolution client to SyncEvolution or   Synthesis server syncs</li>
<li>better handling of certain third-party time zone definitions (<a href="http://bugs.meego.com/show_bug.cgi?id=1332">MBC #1332</a>)</li>
</ul>

<p>Improved GTK sync-UI:</p>

<ul>
<li>revised config screen: all in one list where entries can be expanded,   integrated setup of sync with other devices</li>
<li>recovery support: restore from backup, unexpected slow sync handling</li>
<li>spinner while network is in use (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=2229">MB #2229</a>)</li>
<li>interactive password requests (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=6376">MB #6376</a>)</li>
<li>uses new D-Bus API</li>
</ul>

<p>Command line:</p>

<ul>
<li>fixed printing of rejected items (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=7755">MB #7755</a>)</li>
<li>consistent logging of added/updated/deleted items with short   description</li>
<li>improved error reporting (textual descriptions instead of plain   error codes <a href="http://bugzilla.moblin.org/show_bug.cgi?id=2069">MB #2069</a>, partial success <a href="http://bugzilla.moblin.org/show_bug.cgi?id=7755">MB #7755</a>, record and show   first ERROR encountered <a href="http://bugzilla.moblin.org/show_bug.cgi?id=7708">MB #7708</a>)</li>
<li>can create new sources (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=8424">MB #8424</a>)</li>
<li>runs operations inside daemon and thus avoids conflicts with   operations done by other clients; for testing purposes (like   running a client which talks to a local server in the daemon) it is   still possible to ignore the daemon (--daemon=no, <a href="http://bugzilla.moblin.org/show_bug.cgi?id=5043">MB #5043</a>)</li>
<li>revised README, now also available as man page (<a href="http://bugs.meego.com/show_bug.cgi?id=690">MBC #690</a>)</li>
</ul>

<p><a href="http://syncevolution.org/development/direct-synchronization-aka-syncml-server">Redesigned</a> and reimplemented D-Bus API, used by sync-UI and command line:</p>

<ul>
<li>central syncevo-dbus-server controls configurations and sync sessions</li>
<li>accepts incoming SyncML connection requests and messages received by   independent transport stubs (obexd, HTTP server, ...)</li>
<li>can be used by multiple user interfaces at once</li>
<li>fully documented, see src/dbus/interfaces and <a href="http://api.syncevolution.org" title="http://api.syncevolution.org">http://api.syncevolution.org</a></li>
<li>no longer depends on dbus-glib with hand-written glue code for C++,   instead uses gdbus plus automatic C++ binding generated via C++ templates</li>
</ul>

<p>Revised <a href="http://syncevolution.org/development/configuration-handling" title="design document for configuration handling">configuration layout</a> (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=8048">MB #8048</a>):</p>

<ul>
<li>several peer-independent sync and source properties are shared   between multiple peers</li>
<li>they can be accessed without selecting a specific peer, by using an   empty config name or with the new "@" syntax</li>
<li>user interface of command line unchanged</li>
<li>old configurations can be read and written, without causing   unwanted slow syncs when moving between stable and unstable   SyncEvolution versions</li>
<li>old configurations can be migrated with the "--migrate" command   line switch; however, then older SyncEvolution can no longer   access them and migrating more than one old configuration causes   the second or later configuration to loose its "deviceId" property   (which is shared now), causing a slow sync once</li>
<li>config names may contain characters that are not allowed in the   file names used for the underlying files; will be replaced with   underscores automatically (<a href="http://bugzilla.moblin.org/show_bug.cgi?id=8350">MB #8350</a>)</li>
</ul>

<p>Upgrading from 0.9.x:</p>

<ul>
<li>Upgrading and downgrading should work seamlessly when using existing   configurations.</li>
<li>The new configuration layout is only used when creating new   configurations or explicitly invoking "syncevolution --migrate" (see   above). Such configs cannot be used by older SyncEvolution releases.</li>
<li>The new "RetryInterval" property causes messages to be resent   after 2 minutes (increased from 1 minute in previous 1.0 betas).   At least the Funambol server is known to not handle this correctly   in all <a href="http://funzilla.funambol.com/show_bug.cgi?id=7910">cases</a>.   So in the Funambol config template the interval is set to zero,   disabling the feature. Disabling the feature must be done manually   in existing Funambol configurations.</li>
</ul>

<h1>SyncEvolution 1.0 beta 3 -&gt; 1.0 final</h1>

<p>Bug fixes and new features:</p>

<ul>
<li>Configuration templates are stored in a single file (<a href="http://bugs.meego.com/show_bug.cgi?id=1208">MBC #1208</a>).   New templates (like something downloaded from <a href="http://syncevolution.org/wiki">the Wiki</a>   can be dropped into $HOME/.config/syncevolution-templates using an arbitrary   file name.</li>
<li>Progress and per-source status are now also reported and recorded when   running in server mode (<a href="http://bugs.meego.com/show_bug.cgi?id=1359">MBC #1359</a>). There are still several limitations   (sync mode not reported, no information about sent/received/processed items   while the sync runs, see <a href="http://bugs.meego.com/show_bug.cgi?id=2786">MBC #2786</a>).</li>
<li>Better handling of certain third-party time zone definitions (<a href="http://bugs.meego.com/show_bug.cgi?id=1332">MBC #1332</a>).   Better logging to track down such problems.</li>
<li>D-Bus server + command line: return error code when failed (<a href="http://bugs.meego.com/show_bug.cgi?id=2193">MBC #2193</a>)</li>
<li>syncevo-phone-config: simplified command line options, several bug fixes   (syntax error, incorrect handling of calendar+todo, <a href="http://bugs.meego.com/show_bug.cgi?id=1197">MBC #1197</a>)</li>
<li>Revised README, now also available as man page (<a href="http://bugs.meego.com/show_bug.cgi?id=690">MBC #690</a>). Conversion of D-Bus API   documentation into .html page (<a href="http://bugs.meego.com/show_bug.cgi?id=1745">MBC #1745</a>).</li>
<li>Funambol, Memotoo (and probably others): preserve meeting series when   receiving update for detached recurrence (<a href="http://bugs.meego.com/show_bug.cgi?id=1916">MBC #1916</a>)</li>
<li>Fix for potential out-of-bounds memory access (<a href="http://bugs.meego.com/show_bug.cgi?id=1007">MBC #1007</a>).</li>
<li>HTTP server: fix for potential crash when second session was requested while an   older one was still running, initial sync was done without libical time zone   information and thus may have mismatched times (<a href="http://bugs.meego.com/show_bug.cgi?id=2435">MBC #2435</a>)</li>
<li>Nokia E55: convert alarm times (<a href="http://bugs.meego.com/show_bug.cgi?id=1657">MBC #1657</a>). This is done via a new remote rule   in /usr/share/syncevolution/xml/remoterules/server/46_E55.xml   If another phone needs the same treatment, then copy that file to   ~/.config/syncevolution-xml/remoterules/server and edit the  element.</li>
<li>GTK GUI: styling fix (<a href="http://bugs.meego.com/show_bug.cgi?id=1372">MBC #1372</a>), updated toolbar for MeeGo 1.0 (<a href="http://bugs.meego.com/show_bug.cgi?id=1970">MBC #1970</a>),   avoid duplicating configs when selecting a config created by syncevo-phone-config    or the command line (<a href="http://bugs.meego.com/show_bug.cgi?id=1266">MBC #1266</a>), scroll bars for emergency window (<a href="http://bugs.meego.com/show_bug.cgi?id=1296">MBC #1296</a>),   avoid compile problem on Fedora Core 13 due to name collision with system sync()   call, updated translations.</li>
</ul>

<h1>Known Issues</h1>

<p>Compatibility with phones has not been tested as well as compatibility with the officially supported SyncML servers. Some issues have been reported which still need to be investigated:</p>

<ul>
<li>Nokia N85: ignores refresh-from-server? (<a href="http://bugs.meego.com/show_bug.cgi?id=2722">MBC #2722</a>)</li>
<li>Sony Ericsson W595: All-day-events created in evolution are synchronized as all-day-events + 1 additional day in the mobile (<a href="http://bugs.meego.com/show_bug.cgi?id=2093">MBC #2093</a>)</li>
<li>Nokia N81: Evolution contacts loose "Other" email-addresses when synced two-way (<a href="http://bugs.meego.com/show_bug.cgi?id=2566">MBC #2566</a>)</li>
<li>Nokia phones: absolute alarm time? (<a href="http://bugs.meego.com/show_bug.cgi?id=1657">MBC #1657</a>)</li>
</ul>

<p><strong>Call for action</strong>: <a href="http://syncevolution.org/development/sync-phone" title="Phone Sync HOWTO">test with your phone</a> and <a href="http://syncevolution.org/wiki/phone-compatibility-template" title="Phone Compatibility Wiki page">report</a> which config works and how well synchronization works.</p>

<p>Other known issues:</p>

<ul>
<li>server progress events: no information about sync mode (<a href="http://bugs.meego.com/show_bug.cgi?id=2786">MBC #2786</a>)</li>
<li>Calendar event alarm synchronization between N900 and Goosync (<a href="http://bugs.meego.com/show_bug.cgi?id=2764">MBC #2764</a>)</li>
</ul>

<h1>Source, Installation, Further information</h1>

<p>Source snapshots are in
  <a href="http://downloads.syncevolution.org/syncevolution/sources" title="http://downloads.syncevolution.org/syncevolution/sources">http://downloads.syncevolution.org/syncevolution/sources</a></p>

<p>i386, amd64 and lpia binaries of 1.0 for Debian-based distributions are available via the "stable" syncevolution.org repository. Add the following entry to your /apt/source.list, then install "syncevolution-evolution":
<div class="codeblock"><code>&nbsp; deb <a href="http://downloads.syncevolution.org/apt" title="http://downloads.syncevolution.org/apt">http://downloads.syncevolution.org/apt</a> stable main</code></div></p>

<p>These binaries include the "sync-ui" GTK GUI and were compiled for Ubuntu 8.04 LTS (Hardy). Older distributions like Debian 4.0 (Etch) can no longer be supported with precompiled binaries because of missing libraries, but the source still compiles when not enabling the GUI (the default).</p>

<p>The same binaries are also available as .tar.gz and .rpm archives in <a href="http://downloads.syncevolution.org/syncevolution/evolution" title="http://downloads.syncevolution.org/syncevolution/evolution">http://downloads.syncevolution.org/syncevolution/evolution</a>. In contrast to 0.8.x archives, the 1.0 .tar.gz archives have to be unpacked and the content must be moved to /usr, because several files would not be found otherwise.</p>

<p>After installation, follow the <a href="http://syncevolution.org/documentation/getting-started">getting started</a> steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/blogs/pohly/2010/syncevolution-10-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memotoo</title>
		<link>http://syncevolution.org/wiki/memotoo</link>
		<comments>http://syncevolution.org/wiki/memotoo#comments</comments>
		<pubDate>Sun, 25 Apr 2010 08:09:45 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">56 at http://syncevolution.org</guid>
		<description><![CDATA[<p>Server with very good support for SyncEvolution, see <a href="http://www.memotoo.com/index.php?rub=infoSyncML" title="http://www.memotoo.com/index.php?rub=infoSyncML">http://www.memotoo.com/index.php?rub=infoSyncML</a>. It is part of SyncEvolution's nightly testing and included in the list of configuration templates that come with SyncEvolution.</p>
]]></description>
			<content:encoded><![CDATA[<p>Server with very good support for SyncEvolution, see <a href="http://www.memotoo.com/index.php?rub=infoSyncML" title="http://www.memotoo.com/index.php?rub=infoSyncML">http://www.memotoo.com/index.php?rub=infoSyncML</a>. It is part of SyncEvolution's nightly testing and included in the list of configuration templates that come with SyncEvolution.</p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/wiki/memotoo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SonyEricsson P1i</title>
		<link>http://syncevolution.org/wiki/sonyericsson-p1i</link>
		<comments>http://syncevolution.org/wiki/sonyericsson-p1i#comments</comments>
		<pubDate>Fri, 23 Apr 2010 20:30:02 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[test compatibility phone]]></category>

		<guid isPermaLink="false">55 at http://syncevolution.org</guid>
		<description><![CDATA[<p>&#124; Key &#124; Value &#124;<br />
&#124;------&#124;-----&#124;<br />
&#124; Phone manufacturer &#124; SonyEricsson&#124;<br />
&#124; Phone model &#124; P1i&#124;<br />
&#124; Phone firmware version &#124;CXC162108 R6G04 &#124;<br />
&#124; Data that can be synchronized &#124; <em>none</em> &#124;<br />
&#124; Data that has problems &#124; <em>contacts,events,tasks,memos</em> &#124;<br />
&#124; SyncEvolution version &#124; <em>1.0 beta 3</em> &#124;<br />
&#124; SyncEvolution platform &#124; <em>Gentoo linux</em> &#124;<br />
&#124; SyncEvolution backend &#124; <em>Evolution/as plain files/</em> &#124;<br />
&#124; Configuration template included in SyncEvolution: &#124; <em>no, syncevo-phone-config.py could not create one neither</em> &#124;<br />
&#124; Tested by &#124; <em>George Schreiber</em> &#124;</p>
<p><strong>Comments:</strong></p>
<p>Failed to get this phone syncing with the 1.0 beta 2 as well, it seemed like the phone bluetooth got broken (needed bluetooth restart on the phone) when tried to sync according to the wiki description, there was one similar bluetooth problem during running syncevo-phone-config, around the 1100th test (was not watching carefully as this process was running for several hours).</p>
<p>If trying to sync using the config that was created according to the 1.0 beta 2 wiki, it fails with these messages:<br />
<div class="codeblock"><code>[ERROR] ObexTransport: Transport Exception in sdp_source_cb<br />[ERROR] ObexTransport: Transport Exception in sdp_source_cb<br />[ERROR] ObexTransprotAgent: Underlying transport error<br /><br />Changes applied during synchronization:<br />+---------------&#124;-----------------------&#124;-----------------------&#124;-CON-+<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; LOCAL&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160; REMOTE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124; FLI &#124;<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Source &#124; NEW &#124; MOD &#124; DEL &#124; ERR &#124; NEW &#124; MOD &#124; DEL &#124; ERR &#124; CTS &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160; addressbook &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160;&#160;&#160;&#160; calendar &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; memo &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; todo &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; start Fri Apr 23 22:17:19 2010, duration 0:10min&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; external transport failure (local, status 20043)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />First ERROR encountered: ObexTransport: Transport Exception in sdp_source_cb</code></div></p>
<p>the logfile (for details) ends like this (apparently where things go wrong):<br />
<div class="codeblock"><code>&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.241] 0: integer ITEMLIMIT<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.241] 1: integer NEEDFILTER<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.241] 2: integer PASSES<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.241] Resolving - processitemscript,<br />&#160;&#160; ctx=0xCA8FCD8, VarDefs:<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.241] 0: integer ITEMLIMIT<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.241] 1: integer NEEDFILTER<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.241] 2: integer PASSES<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.241] 3: integer n<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.242] SyncML server account:<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.242] client: SyncEvolution 1.0beta3 for<br />&#160;&#160; workstation<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:19.242] device ID:<br />&#160;&#160; syncevolution-44d23b69-c550-444f-b60f-2d453269e597<br /><br />[2010-04-23 22:17:24.398] ObexTransport: Transport Exception in<br />&#160;&#160; sdp_source_cb<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:24.398] Server Alerted Sync init with SANFormat 12<br />&#160;&#160; failed, trying with legacy format<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:29.537] ObexTransport: Transport Exception in<br />&#160;&#160; sdp_source_cb<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:29.538] TransportException thrown at<br />&#160;&#160; ObexTransportAgent.cpp:376<br /><br />&#160;&#160;&#160;&#160; [2010-04-23 22:17:29.538] ObexTransprotAgent: Underlying transport<br />&#160;&#160; error</code></div></p>
<p><strong>Configuration template:</strong></p>
<p><div class="codeblock"><code>=== srejbi_p1i/config.ini ===<br />syncURL = obex-bt://00:1E:45:E2:71:E0<br />username =<br />password =<br />loglevel = 6<br />clientAuthType = md5<br />#remoteIdentifier = Sony Ericsson PC Suite for Smartphones<br />remoteIdentifier = mRouter SockComm<br />PeerIsClient = 1<br />enableWBXML = 0<br />WebURL = <a href="http://www.scheduleworld.com" title="http://www.scheduleworld.com">http://www.scheduleworld.com</a><br />ConsumerReady = 0<br /><br />=== srejbi_p1i/.internal.ini ===<br />HashCode = 3690260817<br />ConfigDate = 20100423T131201Z<br />sync = two-way<br />type = addressbook:text/x-vcard<br />uri = addressbook<br />=== srejbi_p1i/sources/addressbook/.internal.ini ===<br />sync = two-way<br />type = calendar:text/x-vcalendar<br />uri = calendar<br />=== srejbi_p1i/sources/calendar/.internal.ini ===<br />sync = two-way<br />type = memo<br />uri = memo<br />=== srejbi_p1i/sources/memo/.internal.ini ===<br />sync = two-way<br />type = calendar:text/x-vcalendar<br />uri = todo<br />=== srejbi_p1i/sources/todo/.internal.ini ===<br /># used by the Synthesis library internally; do not modify<br /># adminData = <br /><br /># unique integer ID, necessary for libsynthesis<br /># synthesisID = 0</code></div></p>
<p><em>will try to generate another config with 1.0 beta 3 and update the wiki when there are some more results...</em></p>
<p>UPDATE:</p>
<p>regenerated the config files using the beta 2 howto. my best guess is that the phone syncml client is buggy, the same thing happens as before:</p>
<p>check that phone is ok for sync:<br />
<div class="codeblock"><code>sdptool search --bdaddr 00:1E:45:E2:71:E0 SYNCML<br />Searching for SYNCML on 00:1E:45:E2:71:E0 ...<br />Service Name: SyncMLClient<br />Service Description: SyncML BT client<br />Service RecHandle: 0x10045<br />Service Class ID List:<br />&#160; UUID 128: 00000002-0000-1000-8000-0002ee000002<br />Protocol Descriptor List:<br />&#160; &#34;L2CAP&#34; (0x0100)<br />&#160; &#34;RFCOMM&#34; (0x0003)<br />&#160;&#160;&#160; Channel: 3<br />&#160; &#34;OBEX&#34; (0x0008)</code></div><br />
run sync:<br />
<div class="codeblock"><code>syncevolution srejbi_p1i<br />[INFO] calendar: inactive<br />[INFO] memo: inactive<br />[INFO] todo: inactive<br />[INFO] Server sending SAN<br />[ERROR] OBEX Request 3 got a failed response Forbidden<br />[ERROR] ObexTransprotAgent: Underlying transport error<br /><br />Synchronization failed, see /home/george/.cache/syncevolution/srejbi__p1i-2010-04-24-10-53/syncevolution-log.html for details.<br /><br />Changes applied during synchronization:<br />+---------------&#124;-----------------------&#124;-----------------------&#124;-CON-+<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; LOCAL&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160; REMOTE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124; FLI &#124;<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Source &#124; NEW &#124; MOD &#124; DEL &#124; ERR &#124; NEW &#124; MOD &#124; DEL &#124; ERR &#124; CTS &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160; addressbook &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; start Sat Apr 24 10:53:19 2010, duration 0:03min&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; external transport failure (local, status 20043)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />First ERROR encountered: OBEX Request 3 got a failed response Forbidden</code></div><br />
log file:</p>
<p><div class="codeblock"><code>Start of log - Synthesis SyncML Engine 3.4.0.6<br /><br />&#160;&#160;&#160;&#160; [-- collapse all --][++ expand all ++]<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.458] CreateContext SyncEvolution// =&#62; 0<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.458] Module_Capabilities:<br />&#160;&#160; PLATFORM:Linux<br />&#160;&#160; DLL:true<br />&#160;&#160; MINVERSION:V1.0.6.0<br />&#160;&#160; MANUFACTURER:SyncEvolution<br />&#160;&#160; DESCRIPTION:SyncEvolution Synthesis DB Plugin<br />&#160;&#160; plugin_datastore_str:no<br />&#160;&#160; plugin_datastore_key:yes<br />&#160;&#160; ITEM_AS_KEY:yes<br />&#160;&#160; plugin_datablob:no<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.460] Module_PluginParams<br />&#160;&#160; Engine=01070000<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.462] SyncML server account:<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.462] client: SyncEvolution 1.0beta3 for<br />&#160;&#160; workstation<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.462] device ID:<br />&#160;&#160; syncevolution-44d23b69-c550-444f-b60f-2d453269e597<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.465] calendar: inactive<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.467] memo: inactive<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.469] todo: inactive<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.478] D-Bus client :1.17332 has disconnected<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:19.478] D-Bus client :1.17332 is destructing<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:21.197] Connecting Bluetooth device with address<br />&#160;&#160; 00:1E:45:E2:71:E0 and channel 3<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:21.760] OBEX progress<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:21.819] OBEX Transport: get header who from connect<br />&#160;&#160; response with value SYNCML-SYNC<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:21.819] Server sending SAN<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:21.819] ObexTransport send is called<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:21.819] OBEX progress<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:21.938] OBEX progress<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:22.642] OBEX Request 3 got a failed response<br />&#160;&#160; Forbidden<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:22.643] TransportException thrown at<br />&#160;&#160; ObexTransportAgent.cpp:408<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:53:22.643] ObexTransprotAgent: Underlying transport<br />&#160;&#160; error</code></div></p>
<p>and some "fun" (phone needs a bluetooth restart to get back to normal):<br />
<div class="codeblock"><code>sdptool search --bdaddr 00:1E:45:E2:71:E0 SYNCML<br />Searching for SYNCML on 00:1E:45:E2:71:E0 ...</code></div></p>
<p>until a BT restart is done on the phone, further sync attempts end up like this:<br />
<div class="codeblock"><code>[INFO] calendar: inactive<br />[INFO] memo: inactive<br />[INFO] todo: inactive<br />[ERROR] ObexTransport: Transport Exception in sdp_callback_impl<br />[ERROR] ObexTransportAgent: Bluetooth service search failed<br />[ERROR] ObexTransprotAgent: Underlying transport error<br /><br />Synchronization failed, see /home/george/.cache/syncevolution/srejbi__p1i-2010-04-24-10-56/syncevolution-log.html for details.<br /><br />Changes applied during synchronization:<br />+---------------&#124;-----------------------&#124;-----------------------&#124;-CON-+<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; LOCAL&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160; REMOTE&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124; FLI &#124;<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Source &#124; NEW &#124; MOD &#124; DEL &#124; ERR &#124; NEW &#124; MOD &#124; DEL &#124; ERR &#124; CTS &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160; addressbook &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;&#160; 0&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; start Sat Apr 24 10:56:24 2010, duration 0:02min&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;<br />&#124;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; external transport failure (local, status 20043)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />First ERROR encountered: ObexTransport: Transport Exception in sdp_callback_impl</code></div><br />
log:</p>
<p><div class="codeblock"><code>Start of log - Synthesis SyncML Engine 3.4.0.6<br /><br />&#160;&#160;&#160;&#160; [-- collapse all --][++ expand all ++]<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.184] CreateContext SyncEvolution// =&#62; 0<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.184] Module_Capabilities:<br />&#160;&#160; PLATFORM:Linux<br />&#160;&#160; DLL:true<br />&#160;&#160; MINVERSION:V1.0.6.0<br />&#160;&#160; MANUFACTURER:SyncEvolution<br />&#160;&#160; DESCRIPTION:SyncEvolution Synthesis DB Plugin<br />&#160;&#160; plugin_datastore_str:no<br />&#160;&#160; plugin_datastore_key:yes<br />&#160;&#160; ITEM_AS_KEY:yes<br />&#160;&#160; plugin_datablob:no<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.185] Module_PluginParams<br />&#160;&#160; Engine=01070000<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.187] SyncML server account:<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.187] client: SyncEvolution 1.0beta3 for<br />&#160;&#160; workstation<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.187] device ID:<br />&#160;&#160; syncevolution-44d23b69-c550-444f-b60f-2d453269e597<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.191] calendar: inactive<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.193] memo: inactive<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.193] todo: inactive<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.203] D-Bus client :1.18023 has disconnected<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:24.203] D-Bus client :1.18023 is destructing<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:26.394] ObexTransport: Transport Exception in<br />&#160;&#160; sdp_callback_impl<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:26.394] ObexTransportAgent: Bluetooth service<br />&#160;&#160; search failed<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:26.395] TransportException thrown at<br />&#160;&#160; ObexTransportAgent.cpp:376<br /><br />&#160;&#160;&#160;&#160; [2010-04-24 10:56:26.396] ObexTransprotAgent: Underlying transport<br />&#160;&#160; error</code></div><br />
(that looks fair enough as apparently the BT-syncml component must be crashed on the phone)</p>
<p>config (simplified, addressbook only, same results if playing with WBXML or remoteIdentifier):<br />
<div class="codeblock"><code>===config.ini===<br />syncURL = obex-bt://00:1E:45:E2:71:E0<br />remoteIdentifier = PC Suite<br />PeerIsClient = 1<br />SyncMLVersion = 1.2<br />enableWBXML = 1<br />WebURL = <a href="http://www.scheduleworld.com" title="http://www.scheduleworld.com">http://www.scheduleworld.com</a><br />ConsumerReady = 1<br />===sources/addressbook/config.ini===<br />sync = two-way<br />type = addressbook:text/x-vcard<br />uri = Contact<br />===</code></div></p>
]]></description>
			<content:encoded><![CDATA[<p>| Key | Value |<br />
|------|-----|<br />
| Phone manufacturer | SonyEricsson|<br />
| Phone model | P1i|<br />
| Phone firmware version |CXC162108 R6G04 |<br />
| Data that can be synchronized | <em>none</em> |<br />
| Data that has problems | <em>contacts,events,tasks,memos</em> |<br />
| SyncEvolution version | <em>1.0 beta 3</em> |<br />
| SyncEvolution platform | <em>Gentoo linux</em> |<br />
| SyncEvolution backend | <em>Evolution/as plain files/</em> |<br />
| Configuration template included in SyncEvolution: | <em>no, syncevo-phone-config.py could not create one neither</em> |<br />
| Tested by | <em>George Schreiber</em> |</p>
<p><strong>Comments:</strong></p>
<p>Failed to get this phone syncing with the 1.0 beta 2 as well, it seemed like the phone bluetooth got broken (needed bluetooth restart on the phone) when tried to sync according to the wiki description, there was one similar bluetooth problem during running syncevo-phone-config, around the 1100th test (was not watching carefully as this process was running for several hours).</p>
<p>If trying to sync using the config that was created according to the 1.0 beta 2 wiki, it fails with these messages:<br />
<div class="codeblock"><code>[ERROR] ObexTransport: Transport Exception in sdp_source_cb<br />[ERROR] ObexTransport: Transport Exception in sdp_source_cb<br />[ERROR] ObexTransprotAgent: Underlying transport error<br /><br />Changes applied during synchronization:<br />+---------------|-----------------------|-----------------------|-CON-+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOCAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REMOTE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | FLI |<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp; addressbook |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; calendar |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memo |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; todo |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start Fri Apr 23 22:17:19 2010, duration 0:10min&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; external transport failure (local, status 20043)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />First ERROR encountered: ObexTransport: Transport Exception in sdp_source_cb</code></div></p>
<p>the logfile (for details) ends like this (apparently where things go wrong):<br />
<div class="codeblock"><code>&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.241] 0: integer ITEMLIMIT<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.241] 1: integer NEEDFILTER<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.241] 2: integer PASSES<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.241] Resolving - processitemscript,<br />&nbsp;&nbsp; ctx=0xCA8FCD8, VarDefs:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.241] 0: integer ITEMLIMIT<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.241] 1: integer NEEDFILTER<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.241] 2: integer PASSES<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.241] 3: integer n<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.242] SyncML server account:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.242] client: SyncEvolution 1.0beta3 for<br />&nbsp;&nbsp; workstation<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:19.242] device ID:<br />&nbsp;&nbsp; syncevolution-44d23b69-c550-444f-b60f-2d453269e597<br /><br />[2010-04-23 22:17:24.398] ObexTransport: Transport Exception in<br />&nbsp;&nbsp; sdp_source_cb<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:24.398] Server Alerted Sync init with SANFormat 12<br />&nbsp;&nbsp; failed, trying with legacy format<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:29.537] ObexTransport: Transport Exception in<br />&nbsp;&nbsp; sdp_source_cb<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:29.538] TransportException thrown at<br />&nbsp;&nbsp; ObexTransportAgent.cpp:376<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-23 22:17:29.538] ObexTransprotAgent: Underlying transport<br />&nbsp;&nbsp; error</code></div></p>
<p><strong>Configuration template:</strong></p>
<p><div class="codeblock"><code>=== srejbi_p1i/config.ini ===<br />syncURL = obex-bt://00:1E:45:E2:71:E0<br />username =<br />password =<br />loglevel = 6<br />clientAuthType = md5<br />#remoteIdentifier = Sony Ericsson PC Suite for Smartphones<br />remoteIdentifier = mRouter SockComm<br />PeerIsClient = 1<br />enableWBXML = 0<br />WebURL = <a href="http://www.scheduleworld.com" title="http://www.scheduleworld.com">http://www.scheduleworld.com</a><br />ConsumerReady = 0<br /><br />=== srejbi_p1i/.internal.ini ===<br />HashCode = 3690260817<br />ConfigDate = 20100423T131201Z<br />sync = two-way<br />type = addressbook:text/x-vcard<br />uri = addressbook<br />=== srejbi_p1i/sources/addressbook/.internal.ini ===<br />sync = two-way<br />type = calendar:text/x-vcalendar<br />uri = calendar<br />=== srejbi_p1i/sources/calendar/.internal.ini ===<br />sync = two-way<br />type = memo<br />uri = memo<br />=== srejbi_p1i/sources/memo/.internal.ini ===<br />sync = two-way<br />type = calendar:text/x-vcalendar<br />uri = todo<br />=== srejbi_p1i/sources/todo/.internal.ini ===<br /># used by the Synthesis library internally; do not modify<br /># adminData = <br /><br /># unique integer ID, necessary for libsynthesis<br /># synthesisID = 0</code></div></p>
<p><em>will try to generate another config with 1.0 beta 3 and update the wiki when there are some more results...</em></p>
<p>UPDATE:</p>
<p>regenerated the config files using the beta 2 howto. my best guess is that the phone syncml client is buggy, the same thing happens as before:</p>
<p>check that phone is ok for sync:<br />
<div class="codeblock"><code>sdptool search --bdaddr 00:1E:45:E2:71:E0 SYNCML<br />Searching for SYNCML on 00:1E:45:E2:71:E0 ...<br />Service Name: SyncMLClient<br />Service Description: SyncML BT client<br />Service RecHandle: 0x10045<br />Service Class ID List:<br />&nbsp; UUID 128: 00000002-0000-1000-8000-0002ee000002<br />Protocol Descriptor List:<br />&nbsp; &quot;L2CAP&quot; (0x0100)<br />&nbsp; &quot;RFCOMM&quot; (0x0003)<br />&nbsp;&nbsp;&nbsp; Channel: 3<br />&nbsp; &quot;OBEX&quot; (0x0008)</code></div><br />
run sync:<br />
<div class="codeblock"><code>syncevolution srejbi_p1i<br />[INFO] calendar: inactive<br />[INFO] memo: inactive<br />[INFO] todo: inactive<br />[INFO] Server sending SAN<br />[ERROR] OBEX Request 3 got a failed response Forbidden<br />[ERROR] ObexTransprotAgent: Underlying transport error<br /><br />Synchronization failed, see /home/george/.cache/syncevolution/srejbi__p1i-2010-04-24-10-53/syncevolution-log.html for details.<br /><br />Changes applied during synchronization:<br />+---------------|-----------------------|-----------------------|-CON-+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOCAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REMOTE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | FLI |<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp; addressbook |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start Sat Apr 24 10:53:19 2010, duration 0:03min&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; external transport failure (local, status 20043)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />First ERROR encountered: OBEX Request 3 got a failed response Forbidden</code></div><br />
log file:</p>
<p><div class="codeblock"><code>Start of log - Synthesis SyncML Engine 3.4.0.6<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [-- collapse all --][++ expand all ++]<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.458] CreateContext SyncEvolution// =&gt; 0<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.458] Module_Capabilities:<br />&nbsp;&nbsp; PLATFORM:Linux<br />&nbsp;&nbsp; DLL:true<br />&nbsp;&nbsp; MINVERSION:V1.0.6.0<br />&nbsp;&nbsp; MANUFACTURER:SyncEvolution<br />&nbsp;&nbsp; DESCRIPTION:SyncEvolution Synthesis DB Plugin<br />&nbsp;&nbsp; plugin_datastore_str:no<br />&nbsp;&nbsp; plugin_datastore_key:yes<br />&nbsp;&nbsp; ITEM_AS_KEY:yes<br />&nbsp;&nbsp; plugin_datablob:no<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.460] Module_PluginParams<br />&nbsp;&nbsp; Engine=01070000<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.462] SyncML server account:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.462] client: SyncEvolution 1.0beta3 for<br />&nbsp;&nbsp; workstation<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.462] device ID:<br />&nbsp;&nbsp; syncevolution-44d23b69-c550-444f-b60f-2d453269e597<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.465] calendar: inactive<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.467] memo: inactive<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.469] todo: inactive<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.478] D-Bus client :1.17332 has disconnected<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:19.478] D-Bus client :1.17332 is destructing<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:21.197] Connecting Bluetooth device with address<br />&nbsp;&nbsp; 00:1E:45:E2:71:E0 and channel 3<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:21.760] OBEX progress<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:21.819] OBEX Transport: get header who from connect<br />&nbsp;&nbsp; response with value SYNCML-SYNC<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:21.819] Server sending SAN<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:21.819] ObexTransport send is called<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:21.819] OBEX progress<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:21.938] OBEX progress<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:22.642] OBEX Request 3 got a failed response<br />&nbsp;&nbsp; Forbidden<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:22.643] TransportException thrown at<br />&nbsp;&nbsp; ObexTransportAgent.cpp:408<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:53:22.643] ObexTransprotAgent: Underlying transport<br />&nbsp;&nbsp; error</code></div></p>
<p>and some "fun" (phone needs a bluetooth restart to get back to normal):<br />
<div class="codeblock"><code>sdptool search --bdaddr 00:1E:45:E2:71:E0 SYNCML<br />Searching for SYNCML on 00:1E:45:E2:71:E0 ...</code></div></p>
<p>until a BT restart is done on the phone, further sync attempts end up like this:<br />
<div class="codeblock"><code>[INFO] calendar: inactive<br />[INFO] memo: inactive<br />[INFO] todo: inactive<br />[ERROR] ObexTransport: Transport Exception in sdp_callback_impl<br />[ERROR] ObexTransportAgent: Bluetooth service search failed<br />[ERROR] ObexTransprotAgent: Underlying transport error<br /><br />Synchronization failed, see /home/george/.cache/syncevolution/srejbi__p1i-2010-04-24-10-56/syncevolution-log.html for details.<br /><br />Changes applied during synchronization:<br />+---------------|-----------------------|-----------------------|-CON-+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOCAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REMOTE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | FLI |<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp; addressbook |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |&nbsp; 0&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start Sat Apr 24 10:56:24 2010, duration 0:02min&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; external transport failure (local, status 20043)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+<br />First ERROR encountered: ObexTransport: Transport Exception in sdp_callback_impl</code></div><br />
log:</p>
<p><div class="codeblock"><code>Start of log - Synthesis SyncML Engine 3.4.0.6<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [-- collapse all --][++ expand all ++]<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.184] CreateContext SyncEvolution// =&gt; 0<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.184] Module_Capabilities:<br />&nbsp;&nbsp; PLATFORM:Linux<br />&nbsp;&nbsp; DLL:true<br />&nbsp;&nbsp; MINVERSION:V1.0.6.0<br />&nbsp;&nbsp; MANUFACTURER:SyncEvolution<br />&nbsp;&nbsp; DESCRIPTION:SyncEvolution Synthesis DB Plugin<br />&nbsp;&nbsp; plugin_datastore_str:no<br />&nbsp;&nbsp; plugin_datastore_key:yes<br />&nbsp;&nbsp; ITEM_AS_KEY:yes<br />&nbsp;&nbsp; plugin_datablob:no<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.185] Module_PluginParams<br />&nbsp;&nbsp; Engine=01070000<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.187] SyncML server account:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.187] client: SyncEvolution 1.0beta3 for<br />&nbsp;&nbsp; workstation<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.187] device ID:<br />&nbsp;&nbsp; syncevolution-44d23b69-c550-444f-b60f-2d453269e597<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.191] calendar: inactive<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.193] memo: inactive<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.193] todo: inactive<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.203] D-Bus client :1.18023 has disconnected<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:24.203] D-Bus client :1.18023 is destructing<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:26.394] ObexTransport: Transport Exception in<br />&nbsp;&nbsp; sdp_callback_impl<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:26.394] ObexTransportAgent: Bluetooth service<br />&nbsp;&nbsp; search failed<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:26.395] TransportException thrown at<br />&nbsp;&nbsp; ObexTransportAgent.cpp:376<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; [2010-04-24 10:56:26.396] ObexTransprotAgent: Underlying transport<br />&nbsp;&nbsp; error</code></div><br />
(that looks fair enough as apparently the BT-syncml component must be crashed on the phone)</p>
<p>config (simplified, addressbook only, same results if playing with WBXML or remoteIdentifier):<br />
<div class="codeblock"><code>===config.ini===<br />syncURL = obex-bt://00:1E:45:E2:71:E0<br />remoteIdentifier = PC Suite<br />PeerIsClient = 1<br />SyncMLVersion = 1.2<br />enableWBXML = 1<br />WebURL = <a href="http://www.scheduleworld.com" title="http://www.scheduleworld.com">http://www.scheduleworld.com</a><br />ConsumerReady = 1<br />===sources/addressbook/config.ini===<br />sync = two-way<br />type = addressbook:text/x-vcard<br />uri = Contact<br />===</code></div></p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/wiki/sonyericsson-p1i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sony Ericcson K750i</title>
		<link>http://syncevolution.org/wiki/sony-ericcson-k750i</link>
		<comments>http://syncevolution.org/wiki/sony-ericcson-k750i#comments</comments>
		<pubDate>Fri, 23 Apr 2010 19:20:40 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[phone]]></category>

		<guid isPermaLink="false">54 at http://syncevolution.org</guid>
		<description><![CDATA[<table>
<thead>
<tr>
<th>Key</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Phone manufacturer</td>
<td>Sony Ericsson</td>
</tr>
<tr>
<td>Phone model</td>
<td>K750i</td>
</tr>
<tr>
<td>Phone firmware version</td>
<td>?</td>
</tr>
<tr>
<td>Data that can be synchronized</td>
<td>contacts, events, tasks, memos</td>
</tr>
<tr>
<td>Data that has problems</td>
<td></td>
</tr>
<tr>
<td>SyncEvolution version</td>
<td>1.0 beta 3</td>
</tr>
<tr>
<td>SyncEvolution platform</td>
<td>Linux desktop</td>
</tr>
<tr>
<td>SyncEvolution backend</td>
<td>plain files in syncevo-phone-config</td>
</tr>
<tr>
<td>Configuration template included in SyncEvolution:</td>
<td>no</td>
</tr>
<tr>
<td>Tested by</td>
<td>Patrick Ohly</td>
</tr>
</tbody>
</table>
<p>Comments:</p>
<p>Only tested with "syncevo-phone-config --advanced". In other words, at least simple items could be copied to and from the phone.</p>
<p>Configuration template:</p>
<p><div class="codeblock"><code>=== template.ini ===<br />fingerprint = &#60;Model&#62; &#60;Manufacturer&#62;<br />=== config.ini ===<br />SyncMLVersion = 1.1<br />peerIsClient = 1<br />remoteIdentifier = PC Suite<br />=== sources/addressbook/config.ini ===<br />type = addressbook:text/vcard<br />sync = two-way<br />uri = Contact<br />=== sources/calendar/config.ini ===<br />type = calendar:text/x-vcalendar<br />sync = two-way<br />uri = Calendar<br />=== sources/todo/config.ini ===<br />type = todo:text/x-vcalendar<br />sync = two-way<br />uri = Task<br />=== sources/memo/config.ini ===<br />type = memo:text/plain<br />sync = two-way<br />uri = Memo</code></div></p>
]]></description>
			<content:encoded><![CDATA[<table>
<thead>
<tr>
<th>Key</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Phone manufacturer</td>
<td>Sony Ericsson</td>
</tr>
<tr>
<td>Phone model</td>
<td>K750i</td>
</tr>
<tr>
<td>Phone firmware version</td>
<td>?</td>
</tr>
<tr>
<td>Data that can be synchronized</td>
<td>contacts, events, tasks, memos</td>
</tr>
<tr>
<td>Data that has problems</td>
<td></td>
</tr>
<tr>
<td>SyncEvolution version</td>
<td>1.0 beta 3</td>
</tr>
<tr>
<td>SyncEvolution platform</td>
<td>Linux desktop</td>
</tr>
<tr>
<td>SyncEvolution backend</td>
<td>plain files in syncevo-phone-config</td>
</tr>
<tr>
<td>Configuration template included in SyncEvolution:</td>
<td>no</td>
</tr>
<tr>
<td>Tested by</td>
<td>Patrick Ohly</td>
</tr>
</tbody>
</table>
<p>Comments:</p>
<p>Only tested with "syncevo-phone-config --advanced". In other words, at least simple items could be copied to and from the phone.</p>
<p>Configuration template:</p>
<p><div class="codeblock"><code>=== template.ini ===<br />fingerprint = &lt;Model&gt; &lt;Manufacturer&gt;<br />=== config.ini ===<br />SyncMLVersion = 1.1<br />peerIsClient = 1<br />remoteIdentifier = PC Suite<br />=== sources/addressbook/config.ini ===<br />type = addressbook:text/vcard<br />sync = two-way<br />uri = Contact<br />=== sources/calendar/config.ini ===<br />type = calendar:text/x-vcalendar<br />sync = two-way<br />uri = Calendar<br />=== sources/todo/config.ini ===<br />type = todo:text/x-vcalendar<br />sync = two-way<br />uri = Task<br />=== sources/memo/config.ini ===<br />type = memo:text/plain<br />sync = two-way<br />uri = Memo</code></div></p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/wiki/sony-ericcson-k750i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eGroupware</title>
		<link>http://syncevolution.org/wiki/egroupware</link>
		<comments>http://syncevolution.org/wiki/egroupware#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:56:47 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">53 at http://syncevolution.org</guid>
		<description><![CDATA[<p>Contributed on 10.09.2006 by Mathias Weyland, who also graciously provided access to a server for testing for a while. Not currently tested.</p>
<p>SyncEvolution can handle synchronization with <a href="http://www.egroupware.org/">eGroupware (eGW)</a>, starting with 0.4-pre2 plus one patch, which was included in 0.4.</p>
<p>Make sure eGW fits the needs for correct operation with syncML, in particular php5 and Pear::Log. See <a href="http://www.egroupware.org/index.php?page_name=sync&#38;wikipage=SyncMLInstallHowto">here</a> for information about requirements and settings.</p>
<p>The SyncEvolution setup is rather straightforward. Although the SyncML code of eGW is based on horde (see above), there's no need to restrict authentication to auth-basic.</p>
<p>Set syncURL to <a href="http://&#60;host&#62;/&#60;egw-base&#62;/rpc.php" title="http://&#60;host&#62;/&#60;egw-base&#62;/rpc.php">http://&#60;host&#62;/&#60;egw-base&#62;/rpc.php</a>. Set "type = text/calendar" and "uri = ./calendar" for the calendar and "type = text/x-vcard" and "uri = ./contacts", respectively for the address book.</p>
<p><strong>Warning:</strong> "uri = ./calendar" apparently is the official uri, but several users reported that with that setting events created in eGW were not copied into Evolution while "uri = calendar" worked alright. Until this is clarified, the recommendation is to use "uri = calendar".</p>
<p>All in all, synchronization is working well, but I'd like to mention some things I noticed not to work:</p>
<ul>
<li>Recurring events don't stop at a final date in eGW, even when this final date has been set in evolution.
<p><em>"A <a href="/documentation/known-issues">known issue</a> of old Evolution versions." -- Patrick</em></p></li>
<li>Recurrence exceptions are not respected.
<p><em>"eGW seems to rely on storing the remaining instances of an event, but does not include this information in the data it sends to SyncEvolution. On the other hand, SyncEvolution also does not yet support this either. Exceptions defined in Evolution's dialog are stored as simple properties and are sent to the server, but eGW does not seem to use that information."</em></p></li>
<li>New appointments in eGW are not sync'ed to evolutions. But updates are.
<p><em>"Could not reproduce. If it still occurs, please submit a bug report."</em></p></li>
<li>With SyncEvolution 0.6, Ioannis Ioannou had a problem with <a href="http://sourceforge.net/tracker/index.php?func=detail&#38;aid=1796086&#38;group_id=146288&#38;atid=764733">lost or messed up telephones</a>. Part of the problem was in SyncEvolution (it did not correctly detect types as sent by eGW, fixed in 0.7), part of the problem was in eGW (it does not handle the vCards sent by SyncEvolution correctly). Ioannis found out that eGW has hard-coded mappings for incoming data, which might have to be adapted on a case-by-case basis for clients. He <a href="http://www.nabble.com/Syncevolution,-Evolution,-and-EGW-t4603937s3741.html"> submitted a patch</a> (thanks!) which adds a SyncEvolution mapping to eGW. Hopefully this problem will be fixed. The <a href="http://server.hellespont.com/egroupware.patch">original version of his patch</a> changes <span class="codefrag">class.vcaladdressbook.inc.php</span> in <span class="codefrag">egroupware/addressbook/inc</span> and was tested on 1.4.001, 1.4.002, and the trunk of 2007-09-25th.</li>
<li>If communication with eGW stops with a <span class="codefrag">Server Failure: server returned error code -1</span> error, then the reason is most likely a parser problem in eGW. Some information about this can also be found in the <a href="http://www.nabble.com/Syncevolution,-Evolution,-and-EGW-t4603937s3741.html">same discussion thread</a>.</li>
</ul>
]]></description>
			<content:encoded><![CDATA[<p>Contributed on 10.09.2006 by Mathias Weyland, who also graciously provided access to a server for testing for a while. Not currently tested.</p>
<p>SyncEvolution can handle synchronization with <a href="http://www.egroupware.org/">eGroupware (eGW)</a>, starting with 0.4-pre2 plus one patch, which was included in 0.4.</p>
<p>Make sure eGW fits the needs for correct operation with syncML, in particular php5 and Pear::Log. See <a href="http://www.egroupware.org/index.php?page_name=sync&amp;wikipage=SyncMLInstallHowto">here</a> for information about requirements and settings.</p>
<p>The SyncEvolution setup is rather straightforward. Although the SyncML code of eGW is based on horde (see above), there's no need to restrict authentication to auth-basic.</p>
<p>Set syncURL to <a href="http://&lt;host&gt;/&lt;egw-base&gt;/rpc.php" title="http://&lt;host&gt;/&lt;egw-base&gt;/rpc.php">http://&lt;host&gt;/&lt;egw-base&gt;/rpc.php</a>. Set "type = text/calendar" and "uri = ./calendar" for the calendar and "type = text/x-vcard" and "uri = ./contacts", respectively for the address book.</p>
<p><strong>Warning:</strong> "uri = ./calendar" apparently is the official uri, but several users reported that with that setting events created in eGW were not copied into Evolution while "uri = calendar" worked alright. Until this is clarified, the recommendation is to use "uri = calendar".</p>
<p>All in all, synchronization is working well, but I'd like to mention some things I noticed not to work:</p>
<ul>
<li>Recurring events don't stop at a final date in eGW, even when this final date has been set in evolution.
<p><em>"A <a href="http://syncevolution.org/documentation/known-issues">known issue</a> of old Evolution versions." -- Patrick</em></p></li>
<li>Recurrence exceptions are not respected.
<p><em>"eGW seems to rely on storing the remaining instances of an event, but does not include this information in the data it sends to SyncEvolution. On the other hand, SyncEvolution also does not yet support this either. Exceptions defined in Evolution's dialog are stored as simple properties and are sent to the server, but eGW does not seem to use that information."</em></p></li>
<li>New appointments in eGW are not sync'ed to evolutions. But updates are.
<p><em>"Could not reproduce. If it still occurs, please submit a bug report."</em></p></li>
<li>With SyncEvolution 0.6, Ioannis Ioannou had a problem with <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1796086&amp;group_id=146288&amp;atid=764733">lost or messed up telephones</a>. Part of the problem was in SyncEvolution (it did not correctly detect types as sent by eGW, fixed in 0.7), part of the problem was in eGW (it does not handle the vCards sent by SyncEvolution correctly). Ioannis found out that eGW has hard-coded mappings for incoming data, which might have to be adapted on a case-by-case basis for clients. He <a href="http://www.nabble.com/Syncevolution,-Evolution,-and-EGW-t4603937s3741.html"> submitted a patch</a> (thanks!) which adds a SyncEvolution mapping to eGW. Hopefully this problem will be fixed. The <a href="http://server.hellespont.com/egroupware.patch">original version of his patch</a> changes <span class="codefrag">class.vcaladdressbook.inc.php</span> in <span class="codefrag">egroupware/addressbook/inc</span> and was tested on 1.4.001, 1.4.002, and the trunk of 2007-09-25th.</li>
<li>If communication with eGW stops with a <span class="codefrag">Server Failure: server returned error code -1</span> error, then the reason is most likely a parser problem in eGW. Some information about this can also be found in the <a href="http://www.nabble.com/Syncevolution,-Evolution,-and-EGW-t4603937s3741.html">same discussion thread</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/wiki/egroupware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Horde</title>
		<link>http://syncevolution.org/wiki/horde</link>
		<comments>http://syncevolution.org/wiki/horde#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:54:54 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">52 at http://syncevolution.org</guid>
		<description><![CDATA[<p>Contributed on 08.05.2006 by <a href="mailto:tppytel@sophrosune.org">Todd Pytel</a> based on an early 0.4 CVS snapshot.</p>
<p>The <a href="http://www.horde.org/">Horde framework</a> includes a SyncML component compatible with SyncEvolution and other SyncML clients. This component is built in to the core framework and does not need to be separately installed. For synchronization to work, you need to do a few things....</p>
<ol>
<li>Use fresh Horde sources: Many SyncML changes are applied only to Horde's CVS HEAD branch. The stable branch does include some SyncML support, but it's not as complete as what's found in CVS HEAD. If you really don't want to use CVS HEAD sources entirely, you might be able to get away with updating just the files /horde/rpc.php and /horde/turba/lib/api.php. Try the versions from the stable CVS branch first before trying HEAD, and don't complain if they don't work correctly on top of a release installation. Much better to just use CVS HEAD altogether.</li>
<li>Configure authentication: On the Horde server, the only thing that might require configuration is authentication. By default, SyncEvolution will use md5 authentication, which is nice when you're using HTTP rather than HTTPS. Support for md5 was very recently added to Horde, and will almost certainly have changed by the time you read this. At the moment, see the comments in SyncML/Backend.php around line 404 for details. Alternatively (and more easily), run SyncML over HTTPS and tell SyncEvolution to use basic, non-md5 authentication, by adding
<p><div class="codeblock"><code>clientAuthType = syncml:auth-basic serverAuthType = syncml:auth-basic</code></div></p>
<p>to the <span class="codefrag">~/.sync4j/evolution/horde/spds/syncml/config.txt</span> file (see below).
  </p></li>
<li>Configure SyncEvolution: Read the generic SyncEvolution docs, then come back here. Copy one of the prepackaged configuration directories (like etc/scheduleworld_1) to ~/.sync4j/evolution/horde as a starting point. It doesn't matter much which template directory you use. They're not very different, and there's not much to configure. You need to modify (or create) the following items. In ~/.sync4j/evolution/horde/spds/syncml/config.txt:
<p><div class="codeblock"><code>syncURL = https://your.horde.site.com/horde/rpc.php</code></div></p>
<p>Adjust http/https appropriately and make sure the address matches the webroot configuration on the server.</p>
<p><div class="codeblock"><code>deviceId = sc-api-nat-&#38;lt;identifier&#38;gt;</code></div></p>
<p>Each computer/username combo that syncs should have a different identifier, for example, using an identifier like "home-myusername" makes sense. The username and password lines should match your Horde username and password. Add the AuthType lines from #2, if you don't want md5 authentication. Next, decide which Evolution databases you want to synchronize. I use only the addressbook, but the others should be similar. In ~/.sync4j/evolution/horde/spds/sources/addressbook_1/config.txt set</p>
<p><div class="codeblock"><code>uri = contacts</code></div></p>
<p>That's it. The other components use "calendar" (Kronolith), "notes" (Mnemo), and "tasks" (Nag). If you don't want to synchronize a particular database, be sure to set "sync = none" in its config file.</p></li>
<li>Try it out:
<p><div class="codeblock"><code>syncevolution horde</code></div></p>
<p>If you get errors, check out <a href="http://wiki.horde.org/SyncHowTo">the Horde Sync wiki</a> for more information on debugging. The <a href="http://www.horde.org/mail/">sync@lists.horde.org mailing list</a> is also very useful. Check the archives there, to see if there's any info about your problem.</p></li>
</ol>
<p><strong>Enhancement</strong> (Note: This may be unnecessary when Turba 3 is released.)</p>
<p>The default configuration for Turba (Horde's address book component) is less than ideal for SyncML, because the turba_objects database table is somewhat oversimplified (for example, all components of an address are combined in a single field). This leads to vcards that are missing some fields when they're synced between Horde and Evolution. Fortunately, Turba is very clever, when it comes to reading its database, and can automagically adjust to many nondefault configurations. If you're creating a fresh Turba installation, you can improve its SyncML capabilities greatly by using <a href="http://www.estamos.de/projects/SyncML/sources.php.txt">this custom sources.php file</a>. If you do this, then you'll also need to make sure the appropriate fields are available in the turba_objects table in your database. Using <a href="http://www.estamos.de/projects/SyncML/turba_objects.pgsql.sql">this postgres script</a>, instead of the one included with Horde, will create an appropriate turba_objects from scratch. For MySQL, there is no such script available, so make the changes manually. Nothing else needs to be done with Turba, apart from using the custom sources.php and creating an appropriate turba_objects table. The Turba code will automatically recognize the new fields and use them correctly in SyncML transactions. Thanks to Karsten Fourmont for providing this solution.</p>
]]></description>
			<content:encoded><![CDATA[<p>Contributed on 08.05.2006 by <a href="mailto:tppytel@sophrosune.org">Todd Pytel</a> based on an early 0.4 CVS snapshot.</p>
<p>The <a href="http://www.horde.org/">Horde framework</a> includes a SyncML component compatible with SyncEvolution and other SyncML clients. This component is built in to the core framework and does not need to be separately installed. For synchronization to work, you need to do a few things....</p>
<ol>
<li>Use fresh Horde sources: Many SyncML changes are applied only to Horde's CVS HEAD branch. The stable branch does include some SyncML support, but it's not as complete as what's found in CVS HEAD. If you really don't want to use CVS HEAD sources entirely, you might be able to get away with updating just the files /horde/rpc.php and /horde/turba/lib/api.php. Try the versions from the stable CVS branch first before trying HEAD, and don't complain if they don't work correctly on top of a release installation. Much better to just use CVS HEAD altogether.</li>
<li>Configure authentication: On the Horde server, the only thing that might require configuration is authentication. By default, SyncEvolution will use md5 authentication, which is nice when you're using HTTP rather than HTTPS. Support for md5 was very recently added to Horde, and will almost certainly have changed by the time you read this. At the moment, see the comments in SyncML/Backend.php around line 404 for details. Alternatively (and more easily), run SyncML over HTTPS and tell SyncEvolution to use basic, non-md5 authentication, by adding
<p><div class="codeblock"><code>clientAuthType = syncml:auth-basic serverAuthType = syncml:auth-basic</code></div></p>
<p>to the <span class="codefrag">~/.sync4j/evolution/horde/spds/syncml/config.txt</span> file (see below).
  </p></li>
<li>Configure SyncEvolution: Read the generic SyncEvolution docs, then come back here. Copy one of the prepackaged configuration directories (like etc/scheduleworld_1) to ~/.sync4j/evolution/horde as a starting point. It doesn't matter much which template directory you use. They're not very different, and there's not much to configure. You need to modify (or create) the following items. In ~/.sync4j/evolution/horde/spds/syncml/config.txt:
<p><div class="codeblock"><code>syncURL = https://your.horde.site.com/horde/rpc.php</code></div></p>
<p>Adjust http/https appropriately and make sure the address matches the webroot configuration on the server.</p>
<p><div class="codeblock"><code>deviceId = sc-api-nat-&amp;lt;identifier&amp;gt;</code></div></p>
<p>Each computer/username combo that syncs should have a different identifier, for example, using an identifier like "home-myusername" makes sense. The username and password lines should match your Horde username and password. Add the AuthType lines from #2, if you don't want md5 authentication. Next, decide which Evolution databases you want to synchronize. I use only the addressbook, but the others should be similar. In ~/.sync4j/evolution/horde/spds/sources/addressbook_1/config.txt set</p>
<p><div class="codeblock"><code>uri = contacts</code></div></p>
<p>That's it. The other components use "calendar" (Kronolith), "notes" (Mnemo), and "tasks" (Nag). If you don't want to synchronize a particular database, be sure to set "sync = none" in its config file.</p></li>
<li>Try it out:
<p><div class="codeblock"><code>syncevolution horde</code></div></p>
<p>If you get errors, check out <a href="http://wiki.horde.org/SyncHowTo">the Horde Sync wiki</a> for more information on debugging. The <a href="http://www.horde.org/mail/">sync@lists.horde.org mailing list</a> is also very useful. Check the archives there, to see if there's any info about your problem.</p></li>
</ol>
<p><strong>Enhancement</strong> (Note: This may be unnecessary when Turba 3 is released.)</p>
<p>The default configuration for Turba (Horde's address book component) is less than ideal for SyncML, because the turba_objects database table is somewhat oversimplified (for example, all components of an address are combined in a single field). This leads to vcards that are missing some fields when they're synced between Horde and Evolution. Fortunately, Turba is very clever, when it comes to reading its database, and can automagically adjust to many nondefault configurations. If you're creating a fresh Turba installation, you can improve its SyncML capabilities greatly by using <a href="http://www.estamos.de/projects/SyncML/sources.php.txt">this custom sources.php file</a>. If you do this, then you'll also need to make sure the appropriate fields are available in the turba_objects table in your database. Using <a href="http://www.estamos.de/projects/SyncML/turba_objects.pgsql.sql">this postgres script</a>, instead of the one included with Horde, will create an appropriate turba_objects from scratch. For MySQL, there is no such script available, so make the changes manually. Nothing else needs to be done with Turba, apart from using the custom sources.php and creating an appropriate turba_objects table. The Turba code will automatically recognize the new fields and use them correctly in SyncML transactions. Thanks to Karsten Fourmont for providing this solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/wiki/horde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Synthesis</title>
		<link>http://syncevolution.org/wiki/synthesis</link>
		<comments>http://syncevolution.org/wiki/synthesis#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:54:02 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">51 at http://syncevolution.org</guid>
		<description><![CDATA[<p>The <a href="http://www.synthesis.ch">Synthesis server</a> is a very configurable server which stores its data in a database. Contact data can be exchanged in vCard 2.1 and 3.0 format when using the default configuration, but due to how it is stored, several attributes used by Evolution get lost or modified. It might be possible to protect against loss of those attributes, by tuning the Synthesis server setup. More work would also be required to exchange calendar entries and tasks, because in the default configuration they are not accepted in the iCalendar 2.0 format of Evolution.</p>
]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.synthesis.ch">Synthesis server</a> is a very configurable server which stores its data in a database. Contact data can be exchanged in vCard 2.1 and 3.0 format when using the default configuration, but due to how it is stored, several attributes used by Evolution get lost or modified. It might be possible to protect against loss of those attributes, by tuning the Synthesis server setup. More work would also be required to exchange calendar entries and tasks, because in the default configuration they are not accepted in the iCalendar 2.0 format of Evolution.</p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/wiki/synthesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ovi</title>
		<link>http://syncevolution.org/wiki/ovi</link>
		<comments>http://syncevolution.org/wiki/ovi#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:52:24 +0000</pubDate>
		<dc:creator>Patrick Ohly</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">50 at http://syncevolution.org</guid>
		<description><![CDATA[<p><a href="http://ovi.com">OVI.com</a> is Nokia's set of web services, including among them complete PIM data handling and synchronization with phones via SyncML. <a href="http://bugzilla.moblin.org/show_bug.cgi?id=3182" title="support ovi.com (Nokia sync service)">Formal interoperability testing</a> has not been done yet, but a user of SyncEvolution 0.9.1 reports that it works for him. Getting the necessary setting information for SyncEvolution is a bit tricky, so check out his nice report for a <a href="http://mobileyog.blogspot.com/2009/11/how-to-sync-contactscalendar-from.html">step-by-step guide</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://ovi.com">OVI.com</a> is Nokia's set of web services, including among them complete PIM data handling and synchronization with phones via SyncML. <a href="http://bugzilla.moblin.org/show_bug.cgi?id=3182" title="support ovi.com (Nokia sync service)">Formal interoperability testing</a> has not been done yet, but a user of SyncEvolution 0.9.1 reports that it works for him. Getting the necessary setting information for SyncEvolution is a bit tricky, so check out his nice report for a <a href="http://mobileyog.blogspot.com/2009/11/how-to-sync-contactscalendar-from.html">step-by-step guide</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://syncevolution.org/wiki/ovi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
