Joe Desbonnet wrote:
XML would be the obvious choice (it is both human and machine
readable), but I did see a recent post here that requested "anything
but XML". I can understand why someone would not like XML (not easy to
read, difficult to edit with vi without breaking the file). But one of
the things I hate about unix like OSes is that every application has a
different config file format, making writing admin tools very
difficult.
I second "everything but XML", for the most part.
Some people I work with developed a library that works with a
commercial CMS, that hooks up sites in the CMS with a campus-wide
authentication system. This has an XML configuration file -- when we
add a new site, we only need to change one parameter... which is
entered twice into a 50-line block of XML. We continuously have
problems when somebody edits the file, doesn't respect tag nesting,
and the system breaks.
Contrast this to Apache configuration files, where I can write a
script that (i) creates a new configuration file for a virtual host,
and (ii) adds something at the end of the main conf file to activate the
vhost, and (iii) kicks the server... You don't even need perl to do
this, I can do this in bash without looking at the man page.
I suppose that Boy Wonder and Data Dog can spend three days to write
a 3000 line program that does the same thing with libxml, or you could
bring in a consultant to do it with XSLT, but I'm left feeling that
this is a step back. If I'm going to do that, I might as well program
for Windows -- I hear Visual Basic has a better visual app builder than
anything that runs on Linux...
If not XML then what? Obviously the project owner gets to choose, but
in the absence of personal preferences I think it make sense for
Fedora Core project to make a recommendation so as to make the
development of admin tools easier.
It's not just a matter of XML -- XML answers a lot of tough
questions (foreign character coding, quoting, container relationships)
but it doesn't answer all of them. You'd have to create an XML dialect
(schema) for encoding configuration information, which is probably
going to be key-value pairs. You also need some system for describing
the ontology of your conf files.... It ends up sound a lot like the
Windows Registry or... gconf!
(Stated more positively, people who want a system where it's easy
to configure things graphically ought to bark up the gconf tree)
RH/Fedora could certainly change the conf files for things they are
responsible for (XML /etc/sysconfig, for instance,) but they can't do
much to change the behavior of other developers. Just try getting the
Apache team to change the organization, never mind the format, of the
default configuration files...
--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list