Status of gconf -> dconf

Simo Sorce ssorce at redhat.com
Tue Feb 24 14:08:53 UTC 2009


On Tue, 2009-02-24 at 14:58 +0100, Ralf Ertzinger wrote:
> Hi.
> 
> On Tue, 24 Feb 2009 08:42:57 -0500, Simo Sorce wrote:
> 
> > Quite static applications are ok with text file (to a degree, some ).
> > But dynamic applications like those running on a desktop have a much
> > harder life trying to use text files.
> 
> Why, exactly? After all, your XML data has to live somewhere, and I'd
> guess it will be a file at the end of the day. So how is setting a value
> in an XML structure fundamentally different from writing that value to a file?

If you have to ask this question it means you never tried changing
configuration files from an application (or did a sloppy hack that
*mostly* works).

> And we have a structured file system, we have change notification on files,
> we have fine grained ACLs for file systems.

Except that:
- filesystems are not meant to hold huge numbers of small configuration
files, most FSs have limits on the number of inodes, have inodes of 4KiB
in size, so storing a a couple hundreds byts in a file is a total waste
- notification does not come for free, there are limits for inotify and
abusing them is not a good idea
- ACLs are available only for users known to the underlying unix system
*when* available, and they are not standard: posix ACLs, NFSv4 ACLs, AFS
ACLs, NTFS ACLs ....
- Unix filesystem ACLs usually have no concept of things like roles an
app may have, can't be set as it would be useful from a user app (only
root can easily change ownerships and permissions at will), and are
quite restrained in what they allow: read, write, execute, which is
often not enough even for files. 

> I'm sure there are a lot of things that can be done in XML that would
> require hackery to map to a file system, but I am not yet convinced that
> these features are absolutely necessary for the problem at hand.

FWIW I do not advocate necessarily XML for config files, I am ok with
databases like sqlite or mini-directories like implemented in ldb if the
configuration is complex enough to warrant them (and yes there are apps
that have very complex configurations).

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York




More information about the fedora-devel-list mailing list