[Zope3-Users] Re: ZCML, practicality, purity (was "Excellent perspective...")

Jim Fulton jim at zope.com
Thu Dec 22 14:39:21 EST 2005

Jean-Marc Orliaguet wrote:
> Shane Hathaway wrote:


> The problem with ZCML is not the language (XML). Writing the same 
> description in python would not address such issues as:
> - when looking at a component, how can I know how it is wired inside the 
> application without doing a grep on 100 files?
> - when looking at the wires, how do I quickly get access to the 
> components that they connect together?

I agree.  This is an issue with any system with lots of indirection.
It's even a hassle with lots of inheritence, although at least base classes
provide an avenue of search.

> This is all I need in order to understand how an application is built. 
> If it was easier to navigate between the components by following the 
> wires, there wouldn't be such an issue with ZCML I think. Maybe a GUI, 
> or IDE would help a lot.

Have you looked at apidoc? If not you should. It's far from perfect, but
it's a great start.  It needs more people contributing ideas.

> It could also be that ZCML is cluttered with too much information that 
> really doesn't belong there.


> For instance ZCML should not be used for the application setup (for 
> creating menus, actions, workflows, etc.) because this has nothing to do 
> with connecting components. This could be done in python or be stored in 
> archives in XML (.tgz, .zip, ..).

Except that these all *are* components.

Shane Hathaway wrote:
 > Chris McDonough wrote:
 >> I assume this means you've given up on the idea of creating a GUI
 >> ZCML configuration tool, the?
 > No.  In fact, I've been creating the tool for the purpose of convincing
 > myself that ZCML is right, even though I still believe it's wrong. :-)
 > One thing I've learned from the GUI project, however, is that its
 > greatest value is being able to *query* the configuration.  It lets you
 > answer questions like "where are all the views named update.html?".
 > That's valuable independently of the format of ZCML.

This would be a good feature to add to apidoc.


Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org

More information about the Zope3-users mailing list