ZCML

« Back to Glossary

Zope Configuration Markup Language. Zope 3 separates policy from the actual code and moves it out to separate configuration files, typically a 'configure.zcml' file in a buildout. This file configures the Zope instance. 'Configuration' might be a bit misleading here and should be thought or more as wiring. ZCML, the XML-based configuration language that is used for this, is tailored to do component registration and security declarations, for the most part. By enabling or disabling certain components in ZCML, you can configure certain policies of the overall application. In Zope 2, enabling and disabling components means to drop in or remove a certain Zope 2 product. When it's there, it's automagically imported and loaded. This is not the case in Zope 3. If you don't enable it explicitly, it will not be found.