DragonFly BSD
DragonFly kernel List (threaded) for 2003-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: configuration files


From: Jeroen Ruigrok/asmodai <asmodai@xxxxxx>
Date: Fri, 12 Dec 2003 07:54:27 +0100

-On [20031211 21:02], Richard Coleman (Richard.Coleman@xxxxxxxxxx) wrote:
>Well, I wasn't necessarily arguing for using xml or any other specific 
>format.  But since I'm bored at work, I'll put on my bikeshed helmet and 
>throw in my thoughts.

Could you please refrain from already labeling a discussion a bikeshed?
It makes me want to stop participating in these discussions.  Because
then it is basically said: hey, I am wondering about X, but since I know
it is futile we'll just talk.  Personally I like to treat each
discussion/idea as something possibly worthwhile to invest a lot of time
in.

>I think any type of structured format would be better than the mish-mash 
>of formats that are in use today.  If the tools were good enough, most 
>people wouldn't care whether it was xml, name/value pairs, or whatever. 
> As you mention, most of the simpler tools wouldn't benefit much.  Most 
>of the benefit would come from more complex tools.  As someone has 
>mentioned, apache is moving towards an xml config file.

OK, but then the problem DragonFly only could have is making sure its
system provided services are all configured the same way, be it XML,
key/value pairs, and so on.  Third party software will always be
different and out of the reach of the OS developers.

For Apache I can definately understand it.

For DragonFly's rc.conf, to name a very specific example, I cannot for
about 95%-98% of the entries.  There are a few which would have been
attributes in the XML case, but that's, at least in my opinion, way too
low to warrant a move to XML.

>I'm not usually one to ride the xml bandwagon, but in this case I think 
>it would be a logical format to use.  Since it's text, you always have 
>the escape hatch of editing it manually.  But since it's structured, it 
>facilitates syntax checking and using tools to create them.

Yes, granted, I can definately see how XML Schemas could/would be used
to validate the syntax.
But then I also have to wonder, is that worth the hassle of converting
everything?  A typical host has about 20-30 lines in rc.conf at maximum
(based on all the boxes I have installed, your mileage may vary), with
98% of the entries being of the sort:

blah="YES"
bleh="NO"

Also, going XML in this case means you have to convert all the shell
scripts into either tools or using tools in the scripts to interpret the
XML files to get the values you need.  Using the key/value pairs as in
rc.conf at the moment we have the advantage of just sourcing them in and
treating them as variables.

>I've been on several projects where it was decided to use name/value 
>pairs rather than xml because it was "simpler".  At first this was true. 
> But then we needed entries to have multiple values, so we added a bit 
>of parsing for comma separated values.  Then we needed a way to group 
>multiple entries, so we created "meta-entries".  Before long, the format 
>was just as complicated as if we had used xml, and not nearly as well 
>defined.  I think this is a common occurrence as the tendency is for a 
>tool to grow more complex than initially intended.

Yes, but those projects most likely had configuration schemes way more
intricate than what rc.conf has.  At least that's how you make it sound.
Please correct me if wrong.

I would love to see some more concrete ideas about why XML would be
useful for DragonFly.  I want to hear/see some pure advantages I haven't
thought of. I don't care about other projects.  Sorry if that
sounds harsh.

-- 
Jeroen Ruigrok van der Werven <asmodai(at)wxs.nl> / asmodai / kita no mono
PGP fingerprint: 2D92 980E 45FE 2C28 9DB7  9D88 97E6 839B 2EAC 625B
http://www.tendra.org/   | http://diary.in-nomine.org/
Death is that state where one exists only in the memories of others...



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]