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