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 -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list