Around 14 o'clock on Feb 19, [EMAIL PROTECTED] wrote:

> I know that XML is the computer religion du jure, but as David and
> others have mentioned, the bulk of the problems are from situations
> where users are required to adjust the configuration files to deal with
> problems in the X server.

The trouble is that many of us instinctively recoil from any wildly popular
new mechanism assuming that it's being misapplied again and again.  Most of
the time, this is true.  I've been considering this issue for several 
years and have had many separate people suggest that perhaps XML is a good 
fit for this job; please bear with me as we try to rid ourselves of our 
common predjudices against anything we see in the popular press.

We need persistant X server configuration, not just to accomodate problems 
in the X server and the hardware, but also to adjust user preferences such 
as mouse button arrangements, font paths, display resolutions and refresh 
rates.  Reasonable defaults will never eliminate the need for many users 
to adjust the way the X server starts and runs.  Certainly the prime goal 
should be to miminize the size of the configuration file and have the 
defaults work most of the time.

Because the bulk of the users of XFree86 have no interest or time to learn 
yet another configuration language, I submit that they'd be much happier 
if there were a variety of tools designed to adjust their X server 
configuration; we don't have that today, even though we do have code that 
can read and write the existing configuration file.  That code is not
widely understood, and is buried inside the XFree86 distribution, and is 
only reasonably accessible from C or C++ programs.

Using a standard file format, such as XML, means that XFree86 needn't 
provide interfaces to edit the configuration file -- many existing 
libraries are available for applications to choose from.  Some of these 
libraries are very powerful, more so than anything we're likely to 
develop and make developing the configuration interface significantly 
easier.  

Adopting an existing standard leverages the knowledge of the developers 
and users about that standard.  Promoting a separate language means that 
developers and users start from ground zero with our system.  The mystic 
quoting rules, and the strange separators might feel natural to people 
used to editing the configuration file, but I doubt such people form a 
significant fraction of the overall XFree86 user population.

Another advantage of XML is that when using these standard libaries, the
comments and formatting of unedited portions of configuration file remain
intact -- precisely what people often complain about machine edited
configurations.  That means you can use a configuration tool to adjust 
portions of the configuration you don't feel comfortable messing with 
manually while still retaining important comments and formatting for other 
areas of the configuration file.

> Then we should design our schema before releasing anything.  I have
> dealt with various schema and have designed some XML schema.

Absolutely.  Using XML starts with a reasonable DTD with documentation 
about how the various elements are tied together; any ad-hoc development 
is doomed to failure.  This is how I approached font configuration and 
several good suggestions came out of the DTD development discussion.

Extending the DTD for driver-specific functionality is one of the more
powerful features of XML; right now, we've got the 'option' escape hatch
that most of the configuration falls into; that's a lot like networking on
NT where every operation is an IOCTL (even reads and writes); you lose a
lot of semantic content by restricting your syntax so severely.  An 
extensible format means that drivers can build reasonable descriptive 
structures instead of a mass of incomprehensible options.  There's an
obvious tradeoff here; we need to be rigorous in making things consistent 
while still permitting enough flexibility to capture new driver features.

The existing XFree86 configuration mechanism is viewed by our users as a 
trial-by-fire -- getting your X server working is a rite of passage for 
the new user; a hazing I'd like to see eliminated for most people, and 
minimized for even those interested in fine-tuning their environment.

Keith Packard        XFree86 Core Team        Compaq Cambridge Research Lab


_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to