[asterisk-users] Using XML for configuration management, single-source-of-truth, etc.
Philip Prindeville
philipp_subx at redfish-solutions.com
Sat Dec 8 15:55:22 CST 2007
Tilghman Lesher wrote:
> On Saturday 08 December 2007 00:51:44 Philip Prindeville wrote:
>
>> Tilghman Lesher wrote:
>>
>>> On Friday 07 December 2007 20:12:12 Philip Prindeville wrote:
>>>
>>>> Darryl Dunkin wrote:
>>>>
>>>>> You can store most of the configurations in a database which may be
>>>>> more accessable to you.
>>>>>
>>>>> Perl can also parse these configurations quickly enough if you know how
>>>>> to use the input record seperator ($/) properly.
>>>>>
>>>>> The only thing Asterisk will not store which you would probably need is
>>>>> the actual MAC address of the phones themselves. This may be done
>>>>> easily enough as comments in the users sip.conf section.
>>>>>
>>>> That's sort of my point: that you have to reinvent it, and it's easy to
>>>> get wrong.
>>>>
>>> XML wouldn't make it any less wrong. There's a difference between
>>> parsing it syntactically (which XML fixes) and parsing it semantically
>>> (which XML does not).
>>>
>>> In fact, I find the configuration files, as they are now are much EASIER
>>> to parse than XML. With XML, you need to load up a whole state engine to
>>> ensure the config is properly formatted. At the simplest level, the
>>> config file as-is is simply a set of key/value pairs, which syntactically
>>> is very easy to parse.
>>>
>>> Part of the allure of the current format is also that it is human
>>> readable, which assists in manual editing. I'm not sure what part of the
>>> universe you have be from to make XML human readable (or more
>>> importantly, human-editable), but I am quite sure it is not from this
>>> planet.
>>>
>> Well, after hand-coding HTML and SGML for 15+ years, XML isn't all that
>> much of a stretch.
>>
>
> And so can I, but to most people, XML looks like gobbleygook. BTW, 15+ years
> for a markup language (HTML) that has only been around for 14 years?
>
See my postings on www-html and www-talk while it was in draft stage.
>> More to the point though, there are some excellent schema-driven
>> configuration managers for XML, so you wouldn't have to edit the files
>> by hand.
>>
>
> And that puts an additional requirement on developers, that each know how
> to manually (and correctly) edit the schema file to ensure that new options
> added are correctly specified. You haven't eliminated complexity at all,
> you've just shifted it to someone else.
>
By that logic, we'd have no new operating systems, no new programming
languages...
Yeah, all progress entails a learning curve.
> Also, you're adding another tool in the chain that people must learn in order
> to administer an Asterisk setup. Right now, people can use whatever editor
> they like, whether that's vim, emacs, nano, joe, or some other editor. They
> learn one editor tool and can use it generically for all purposes. By adding
> another requirement, you're increasing the barrier to entry, which is the
> opposite direction that we want to go.
>
> And finally, another person has already made the point that most XML editors
> are graphical in nature. A great many Asterisk installations are installed in
> locations where a graphical front end is not practical. Not only does that
> mean that your options for text editors are limited, but they are unlikely to
> be easy to use (or learn how to use), compared to full screen text editors,
> which have been around for over 20 years and are fully mature software.
>
>
Going back to my original posting, I was also suggesting that the parse
tree from Asterisk could be read in and then dumped out as XML, so that
other software could then ingest it... using it as a common format for
passing configuration from one package to another.
-Philip
More information about the asterisk-users
mailing list