Requirements and pre-analysis for a cross desktop configuration infrastructure

Philip Van Hoof spamfrommailing at
Thu Mar 17 21:50:21 EET 2005

On Thu, 2005-03-17 at 18:49 +0000, Martijn Dekkers wrote:

> This "geek" uses a source control system to store text-based
> configuration files that control a large array of applications and
> services to manage well in excess of 46000 (not a typo) linux desktops
> (KDE, if you ask), and a bit over 2700 servers for several different
> customers. If you think of breaking text based config files and
> replacing it with something horrid and that does not at the very least
> have change control, I will have to hunt you down and destroy your
> keyboard.

Using a source control system for managing configurations is imho the
wrong thing to do. So you brought this upon yourself.

I will not say the (in case it ever gets build) configuration-system
wont scale to your numbers. I do say that it's nearly impossible to
allow an external application to manage and write to the data-files that
are used by the backend for storing the actual configuration data.

It's just plain insane to do that on a software like a configuration
system/management that needs key/value-changed notifications. Such a
system would have to listen for events on the filesystem. And oh, yes ..
a modern desktop needs key/value-changed notifications. That isn't even
arguable. It's a fact.

So it will not be possible to do something like this:

cd $HOME/.dconf/
cvs update -d

And expect the configuration daemon of that desktop to suddenly reload
it's configuration data and "know" about all the changes that happened
and "notify" all the desktop applications about all those changes. 

But it will be possible to push a new configuration to all your clients.
To a group of your clients. To let the clients read certain
configuration from a 'default' source and other configuration from their
own source. And it will be possible to make some of the configuration
keys unwritable. So this basically means that it will always use that
default 'source'. And that default source can be your server. Or a group
of servers. And you can then choose to distribute configuration to a
certain server. To certain clients. Etcetera.

Philip Van Hoof, Software Developer @ Cronos
home: me at freax dot org
gnome: pvanhoof at gnome dot org
work: philip dot vanhoof at cronos dot be
junk: philip dot vanhoof at gmail dot com,

More information about the xdg mailing list