Requirements and pre-analysis for a cross desktop configuration infrastructure

Jeffrey Vaughan vaughan2 at seas.upenn.edu
Fri Mar 18 20:13:10 EET 2005


Philip Van Hoof wrote:
>>Requirements
>>============
> 
> 
> [CUT]
> 
> 
>>Some "geeks" use a source control system for managing changes  in  their
>>home directory. I don't see this  as a  required  something  to support.
>>Perhaps the  ability  to  freeze  writing  to the backend so that backup
>>applications  can  instruct the configuration daemon not to write for a 
>>certain amount of time or until the unfreeze command is given.
> 
> 
> However, It should be possible  to  scale  the  configuration management
> over multiple computers.  My  first thought on  this  is  that we should
> investigate whether ACAP is a suitable protocol for this. We  could  let
> daemons "communicate" with each other. Which of course implies that some
> sort of authentication  and  SSL  between those two daemons is necessary
> (we need to investigate how ACAP works, how to implement this, etcetera)
> 
> [CUT]
> 

There are two reasons why "geeks" want to be able to store configuration 
settings in source control.  The first one is to have a uniform  set of 
settings across all the different computers they work on.  It seems to 
me that D-Conf will probably have support for this is some form 
regardless (lots of folks seem to want it, and there are lots of good 
proposals about stacking remote configurations, etc., on this list.)

The other reason is for revision control.  I want a way to screw with my 
desktop settings, and partially revert changes.  Just providing a way to 
dump a d-conf configuration to plain text (foo="bar", not xml!!), and 
load a human editable format, should be sufficient for the geeks.

What i'm picturing is something like:

<change my menu color>
$ dconf --dump conf.txt  <or a gui button>
$ svn commit
<change lots of interesting settings>
$ dconf --dump conf.txt
$ svn commit
<uh-oh! My i really screwed the pooch when i changed the menu color>
$ svn diff -r 4:5 conf.txt
- MenuColor="Periwinkle"
+ MenuColor="Puce"
$ echo "MenuColor=\"Periwinkle\"" > nicecolor
$ dconf --merge-in nicecolor

Obviously this is really command line focused, but I don't think that's 
essential.  The point I want to make is that it can be really useful to 
grab a setting change that happened a long time ago and reverse that one 
change without messing up intermediate settings.

--Jeff



More information about the xdg mailing list