[Zope3-dev] RFC: ZConfig and other formats for ZCML
Martijn Faassen
faassen at infrae.com
Mon Jan 23 12:27:38 EST 2006
Jim Fulton wrote:
>
> See:
>
> http://dev.zope.org/Zope3/ZConfigAndOtherFormatsForZCML
>
> Comments and volunteers welcome.
After thinking about it for a little bit, -1.
Firstly, I'm interested in experimenting with alternative syntaxes for
ZCML. I'm however not convinced that the proposal is a productive
approach to do this.
The proposal talks concretely about ZConfig as an alternative syntax and
strongly implies it's better than ZCML for the job. I'm not convinced
ZConfig is the ideal alternative syntax for ZCML. For one, ZConfig is a
syntax not very well known, even granting its similarity to the Apache
configuration language, while XML is very well known. I'd like to
explore some other formats first.
You can answer that the proposal adds genericity so that you can hook in
your own engine anyway, and thus is useful for my wish of
experimentation, and that you're not stuck with ZConfig. There are
various problems with such an answer:
* Lesson from Gnome: adding more options doesn't make a user interface
(including our APIs and configuration languages) easier to use; the
reverse happens. It shouldn't be used as a way to avoid debates about
what the right one way should be. Concretely, genericity won't bring us
much: ZConfig might be considered by the community as the 'new way', or
people will stick with ZCML -- people won't generally invent new
syntaxes when they write a new Zope 3 application.
* I don't think the few people that are interested in such syntax
experimentation need implementation support for this in Zope 3, at
present. Writing code that generates ZCML is easy enough -- XML
generation is well-understood.
I'm not convinced ZCML is intimidating primarily due to its syntax. I
think the XML syntax is only a minimal issue compared to the other
things that make it intimidating, namely that ZCML exposes the component
architecture.
I think there's lower-hanging fruit to invest energy in simplifying ZCML
*semantically* as it is now first, before we work on alternative
syntaxes or consolidating engines.
Finally, ZCML works. We've spent energy in educating the Zope community
(3 and 2) in its use. People have learned it. We have working code. Why
throw away that effort and introduce something new? Is ZCML really that
horrible? Do we really think people will come in droves to Zope 3 after
we change it to ZConfig? The *syntax* of ZCML is a very minimal issue
compared to everything else when learning Zope 3. I think we have much
more to gain in improving the semantics of ZCML first, then come back
and reconsider syntax.
Regards,
Martijn
More information about the Zope3-dev
mailing list