20/04/2011 by Gilles Lenfant
ZCML is a great feature in Zope 2 since the first Five years. Exploring a well designed Python package starts with its ZCML files and its main “interfaces.py” module.
But newbies as I have been and others have pain to remember the various ZCML directives available, as well as the detailed attributes of them.
Of course there are some documentations in printed books or in various blogs or docs about most directives. But there’s no central point (unless I didn’t search correctly) where you can read the documentation for all ZCML directives available in your Zope 2 instance with third party components that could add new ZCML vocabulary.
Of course, you may grep all “meta.zcml” files in your instance, search for the appropriate namespace, then the appropriate directive. And finally open the Python file that defines the schema of the mysterious ZCML, just as I explained in another ZCML related blog post.
Grepping the “zope.configuration”, I hopefully found a magic function that provides a structured tree of all the registered ZCML directives well suited to provide a live documentation.
After some hours of work and exploration, I’m proud to give to the Zope 2 community “aws.zope2zcmldoc” that provides a live documentation on all ZCML namespaces, directives and subdirectives installed in your Zope 2 instance.
You can notice that the description text are translated in your favorite language when the translation is available.
aws.zope2zcmldoc is the new companion of Products.DocFinderTab, plone.reload, Products.Clouseau and zope2.zodbbrowser (and perhaps others I forgot, sorry) to your development instances.
Any feedback, is welcome. Enjoy !
Ah yes, and many thanks to my actual employer Alter Way for sponsoring this piece of software.