Martijn Faassen wrote:
A newer interpretation of ZCML is:

ZCML is a configuration language that configures a number of basic directives for configuring the component architecture and security: adapters, utilities, security requirements, and little else. Everything else should be done in Python code, as configuration in Python code is more flexible and packages can form a more self-contained whole. ZCML should reflect the underlying universality of the component architecture.

If two directives work with, say, adapters underneath, they should really be one directive. ZCML should be simple and minimal so it is easy to grasp.

ZCML is not readable standalone. ZCML is simply used to turn on various adapters and such, hooking them into the system, but we do not get a clue what the adapters are doing by just looking at the ZCML - Python code needs to be consulted.

IOW, "most of the directives we need have already been invented. [1] We don't want to build high level directives; ZCML will follow the BASIC school of language design." :-)


While I was initially on board with the idea of reducing the number of directives, I've changed my mind. I think we want high level directives and we want people to feel free to write new directive types. We want tools that let us inspect and search the resulting low level directives. If we have to use ZCML, then ZCML should be expressive.

Zope3-dev mailing list

Reply via email to