<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Redesign of SyncEvolution Config Handling</title>
	<atom:link href="http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/</link>
	<description>About SyncEvolution, writing software and more.</description>
	<lastBuildDate>Sun, 04 Jul 2010 13:39:24 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1-beta1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: SyncEvolution - The Missing Link : SyncEvolution 0.8 alpha 1</title>
		<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/comment-page-1/#comment-6334</link>
		<dc:creator>SyncEvolution - The Missing Link : SyncEvolution 0.8 alpha 1</dc:creator>
		<pubDate>Sun, 20 Apr 2008 12:21:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/#comment-6334</guid>
		<description>[...] New configuration file layout: following the freedesktop.org recommendation, new configurations are stored in $XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if XDG_CONFIG_HOME is not set. The old layout under $HOME/.sync4j/evolution is still supported. [...]</description>
		<content:encoded><![CDATA[<p>[...] New configuration file layout: following the freedesktop.org recommendation, new configurations are stored in $XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if XDG_CONFIG_HOME is not set. The old layout under $HOME/.sync4j/evolution is still supported. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SyncEvolution - The Missing Link : New Configuration Handling Ready for Testing</title>
		<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/comment-page-1/#comment-4684</link>
		<dc:creator>SyncEvolution - The Missing Link : New Configuration Handling Ready for Testing</dc:creator>
		<pubDate>Sun, 30 Mar 2008 22:23:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/#comment-4684</guid>
		<description>[...] redesign of the SyncEvolution config handling is now ready to be tried out by brave users. This is still in a very early stage, but I have spent [...]</description>
		<content:encoded><![CDATA[<p>[...] redesign of the SyncEvolution config handling is now ready to be tried out by brave users. This is still in a very early stage, but I have spent [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gazza</title>
		<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/comment-page-1/#comment-1059</link>
		<dc:creator>gazza</dc:creator>
		<pubDate>Thu, 03 Jan 2008 17:17:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/#comment-1059</guid>
		<description>Just some clarifications on the DM tree implementation for posix:
    *  .sync4j is a leftover and must be changed, also for the funambol DM for posix. The easiest change is to make it .funambol, but i would like to have it configurable by the client. We&#039;re going to change it on the HEAD, since this is not a problem for SyncEvolution anymore.
    * .txt, for what I know, is the extension you choose. No problem to change it for the DM too.
    * just for info, spds stands for Sync Protocol Data Synchronization, which means you can have in the DM tree also a spdm subtree (guess what it means.. ;) ) and other subtree specific for the client.</description>
		<content:encoded><![CDATA[<p>Just some clarifications on the DM tree implementation for posix:<br />
    *  .sync4j is a leftover and must be changed, also for the funambol DM for posix. The easiest change is to make it .funambol, but i would like to have it configurable by the client. We&#8217;re going to change it on the HEAD, since this is not a problem for SyncEvolution anymore.<br />
    * .txt, for what I know, is the extension you choose. No problem to change it for the DM too.<br />
    * just for info, spds stands for Sync Protocol Data Synchronization, which means you can have in the DM tree also a spdm subtree (guess what it means.. <img src='http://www.estamos.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) and other subtree specific for the client.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Ohly</title>
		<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/comment-page-1/#comment-997</link>
		<dc:creator>Patrick Ohly</dc:creator>
		<pubDate>Wed, 02 Jan 2008 17:49:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/#comment-997</guid>
		<description>@Frederik: I&#039;m not sure whether proxy settings really are important. I believe that libcurl will use the http_proxy environment variable which at least I have in my environment anyway at work. It probably doesn&#039;t hurt to add an option.

Localization is indeed a point. I had never bothered to check whether the default data source name is localized. Hmm, in that case I guess I will add another automatism: when creating a new config, the first data source of each type should be used unless overridden, e.g. with &quot;syncevolution --setup server addressbook=Persönlich”.

@John: thanks for the pointer, I wasn&#039;t aware of this standard. I&#039;m not exactly sure about the use cases, but as we are about to break with the past we might as well do it right. So $XDG_CONFIG_HOME/syncevolution = $HOME/.config/syncevolution it is... I still intend to put the writable properties there, though, and not use $XDG_DATA_HOME for those.</description>
		<content:encoded><![CDATA[<p>@Frederik: I&#8217;m not sure whether proxy settings really are important. I believe that libcurl will use the http_proxy environment variable which at least I have in my environment anyway at work. It probably doesn&#8217;t hurt to add an option.</p>
<p>Localization is indeed a point. I had never bothered to check whether the default data source name is localized. Hmm, in that case I guess I will add another automatism: when creating a new config, the first data source of each type should be used unless overridden, e.g. with &#8220;syncevolution &#8211;setup server addressbook=Persönlich”.</p>
<p>@John: thanks for the pointer, I wasn&#8217;t aware of this standard. I&#8217;m not exactly sure about the use cases, but as we are about to break with the past we might as well do it right. So $XDG_CONFIG_HOME/syncevolution = $HOME/.config/syncevolution it is&#8230; I still intend to put the writable properties there, though, and not use $XDG_DATA_HOME for those.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/comment-page-1/#comment-981</link>
		<dc:creator>John</dc:creator>
		<pubDate>Wed, 02 Jan 2008 13:00:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/#comment-981</guid>
		<description>You may want to have a look at the freedesktop.org groups basedir spec:
http://www.freedesktop.org/wiki/Specifications/basedir-spec

This would mean that you could put your config in $XDG_CONFIG/syncevolution or .config/syncevolution

Just a thought.

Cheers for a great solution by the way. It working great here for sync from phone and Evo next up is my n800.</description>
		<content:encoded><![CDATA[<p>You may want to have a look at the freedesktop.org groups basedir spec:<br />
<a href="http://www.freedesktop.org/wiki/Specifications/basedir-spec" rel="nofollow">http://www.freedesktop.org/wiki/Specifications/basedir-spec</a></p>
<p>This would mean that you could put your config in $XDG_CONFIG/syncevolution or .config/syncevolution</p>
<p>Just a thought.</p>
<p>Cheers for a great solution by the way. It working great here for sync from phone and Evo next up is my n800.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frederik</title>
		<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/comment-page-1/#comment-856</link>
		<dc:creator>Frederik</dc:creator>
		<pubDate>Mon, 31 Dec 2007 12:21:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/#comment-856</guid>
		<description>In addition, proxy settings might be essential for some users. And regarding the non-standard evolution database names: How does l10n affect this? The templates contain evolution sources called &quot;Personal&quot; as default. On a German system, the default sources are called &quot;Persönlich&quot;. Now I simply don&#039;t know if EDS/syncevolution do handle this, so that a default of &quot;Personal&quot; would also work with sources called &quot;Persönlich&quot; because of some internal default settings.

Another way would be to leave this entirely out of syncevolution and leave this to frontends. Genesis does this for GNOME environments (asking for a server name, a template or a custom server URL (using the funambol template for the other settings), username, password, proxy settings. When selecting the sources to sync, it provides the existing database names for selection. A separate commandline tool could do the same for non-graphical (or non-GNOME) environments.

But if you decide to build this into syncevolution, frontends could use syncevolution directly for the basic setup and still provide further options (like source database selection).

Regarding the file names: Some editors do show the full path to the file, so identical file names would be less a problem. And I like the directory structure better than only organizing them by file name in a common directory.</description>
		<content:encoded><![CDATA[<p>In addition, proxy settings might be essential for some users. And regarding the non-standard evolution database names: How does l10n affect this? The templates contain evolution sources called &#8220;Personal&#8221; as default. On a German system, the default sources are called &#8220;Persönlich&#8221;. Now I simply don&#8217;t know if EDS/syncevolution do handle this, so that a default of &#8220;Personal&#8221; would also work with sources called &#8220;Persönlich&#8221; because of some internal default settings.</p>
<p>Another way would be to leave this entirely out of syncevolution and leave this to frontends. Genesis does this for GNOME environments (asking for a server name, a template or a custom server URL (using the funambol template for the other settings), username, password, proxy settings. When selecting the sources to sync, it provides the existing database names for selection. A separate commandline tool could do the same for non-graphical (or non-GNOME) environments.</p>
<p>But if you decide to build this into syncevolution, frontends could use syncevolution directly for the basic setup and still provide further options (like source database selection).</p>
<p>Regarding the file names: Some editors do show the full path to the file, so identical file names would be less a problem. And I like the directory structure better than only organizing them by file name in a common directory.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Ohly</title>
		<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/comment-page-1/#comment-766</link>
		<dc:creator>Patrick Ohly</dc:creator>
		<pubDate>Sun, 30 Dec 2007 13:30:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/#comment-766</guid>
		<description>&quot;How would you ask the user for the necessary input? With a text interface?&quot; -- That&#039;s the sticky point. An interactive, text-based interface would create new dependencies on libcurses et.al. (when using text masks) or libreadline (for question/answer style interaction). I&#039;d like to avoid that to preserve the portability of the code.

The other open question is: how many options should be controlled by the user and how many should be taken from the config templates? Okay, let&#039;s think about this a bit: required are account name and password and the template which is to be used. Optionally perhaps a specification of which sources are to be synchronized and the logdir.

Anything going beyond that (servers for which no template exists, non-standard Evolution database names) would have to be configured via an editor. Hmm, this seems doable.

So here&#039;s an updated proposal:

syncevolution --setup [--username name] [--password passwd] server [source1 source2 ...]

This will create (if it does not yet exist) or update (if it exists) a new-style config for server. The default settings for all properties come from an old-style config (if one with the same server name is found), one of the example configs (again, only if one exists) or from built-in defaults. Configs for all sources will be created, but only the ones enabled in the config template will be active or (if sources were listed on the command line) those selected explicitly.

One more comment about the &quot;bad&quot; aspects of the both the old and new config files: the files are always called &quot;config.txt&quot;. If you have multiple of them open in a text editor, then it is not easy to tell them apart. Instead of sources/bar/config.ini and sources/bar/.internal.ini, would it be better to use sources/bar.ini and sources/.internal.bar.ini? Hmm, no, I don&#039;t think so: renaming a source would involve renaming two files, one of them not even visible to the user.</description>
		<content:encoded><![CDATA[<p>&#8220;How would you ask the user for the necessary input? With a text interface?&#8221; &#8212; That&#8217;s the sticky point. An interactive, text-based interface would create new dependencies on libcurses et.al. (when using text masks) or libreadline (for question/answer style interaction). I&#8217;d like to avoid that to preserve the portability of the code.</p>
<p>The other open question is: how many options should be controlled by the user and how many should be taken from the config templates? Okay, let&#8217;s think about this a bit: required are account name and password and the template which is to be used. Optionally perhaps a specification of which sources are to be synchronized and the logdir.</p>
<p>Anything going beyond that (servers for which no template exists, non-standard Evolution database names) would have to be configured via an editor. Hmm, this seems doable.</p>
<p>So here&#8217;s an updated proposal:</p>
<p>syncevolution &#8211;setup [--username name] [--password passwd] server [source1 source2 ...]</p>
<p>This will create (if it does not yet exist) or update (if it exists) a new-style config for server. The default settings for all properties come from an old-style config (if one with the same server name is found), one of the example configs (again, only if one exists) or from built-in defaults. Configs for all sources will be created, but only the ones enabled in the config template will be active or (if sources were listed on the command line) those selected explicitly.</p>
<p>One more comment about the &#8220;bad&#8221; aspects of the both the old and new config files: the files are always called &#8220;config.txt&#8221;. If you have multiple of them open in a text editor, then it is not easy to tell them apart. Instead of sources/bar/config.ini and sources/bar/.internal.ini, would it be better to use sources/bar.ini and sources/.internal.bar.ini? Hmm, no, I don&#8217;t think so: renaming a source would involve renaming two files, one of them not even visible to the user.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frederik</title>
		<link>http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/comment-page-1/#comment-760</link>
		<dc:creator>Frederik</dc:creator>
		<pubDate>Sun, 30 Dec 2007 12:48:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.estamos.de/blog/2007/12/29/redesign-of-syncevolution-config-handling/#comment-760</guid>
		<description>Hi!

I like your ideas about a new config layout. I especially like the separation of  user configuration and syncevolution&#039;s internals.

Regarding Genesis, I would probably simply drop support for the old config style once the new one is supported by a release of syncevolution. If you provide a --migrate option, it would be easy to notify the user and ask for migration, so he or she can continue using Genesis. But this will only become relevant once Genesis has a configuration editor that allows the editing of existing configurations.

You mentioned simplifying the setup. How would you ask the user for the necessary input? With a text interface? Currently, this is what Genesis&#039; setup assistant does: Ask for the needed information and create the config files in the right place. But of course a text-based interface in syncevolution is more generic and would work on more systems. It&#039;s only a matter of if you want to add this kind of interface to syncevolution itself, or if external frontends should handle this.

If this should take place in syncevolution itself, I might adopt Genesis to access syncevolutions capabilities instead of implementing it by myself. Or I could easily create a python interface for this separate of Genesis, so one could write a text interface using the same mechanisms Genesis currently uses.

Cheers,
Frederik</description>
		<content:encoded><![CDATA[<p>Hi!</p>
<p>I like your ideas about a new config layout. I especially like the separation of  user configuration and syncevolution&#8217;s internals.</p>
<p>Regarding Genesis, I would probably simply drop support for the old config style once the new one is supported by a release of syncevolution. If you provide a &#8211;migrate option, it would be easy to notify the user and ask for migration, so he or she can continue using Genesis. But this will only become relevant once Genesis has a configuration editor that allows the editing of existing configurations.</p>
<p>You mentioned simplifying the setup. How would you ask the user for the necessary input? With a text interface? Currently, this is what Genesis&#8217; setup assistant does: Ask for the needed information and create the config files in the right place. But of course a text-based interface in syncevolution is more generic and would work on more systems. It&#8217;s only a matter of if you want to add this kind of interface to syncevolution itself, or if external frontends should handle this.</p>
<p>If this should take place in syncevolution itself, I might adopt Genesis to access syncevolutions capabilities instead of implementing it by myself. Or I could easily create a python interface for this separate of Genesis, so one could write a text interface using the same mechanisms Genesis currently uses.</p>
<p>Cheers,<br />
Frederik</p>
]]></content:encoded>
	</item>
</channel>
</rss>

