===================================
ZCML Directives supported by Zope 2
===================================

Zope 2 tries to use the directives from zope.* packages where possible,
though does sometimes subset the possible attributes. It also introduces a
few directives of its own under the ``five`` namespace.

Directives are listed per namespace, in alphabetic order.

zope ``http://namespaces.zope.org/zope``
========================================

adapter
-------

Hook an adapter factory to an interface.

class
-----

Declare interface and permissions on classes. Declares Zope 2 permissions.

permission
----------

Way to make Zope 2 permissions available, ``title`` is permission name.

redefinePermission
------------------

Redefine a permission in included ZCML as another one.

utility
-------

Declare a global utility.

interface
---------

Register an interface in ZCML.

hook
----

Install a hook on a hookable object.

browser ``http://namespaces.zope.org/browser``
==============================================

page
----

Declare a page view for an interface. Permission is a Zope 2 permission.

pages
-----

Declare multiple page views for an interface. Permissions are Zope 2
permissions.

defaultView
-----------

Declare the name of the view that should be used for the default when viewing
the object; i.e. when the object is traversed to without a view.

menu
----

Declare a menu

menuItem, menuItems
-------------------

Declare menuItems

five ``http://namespaces.zope.org/five``
========================================

loadProducts
------------

Loads ZCML in all Zope 2 products. First processes all ``meta.zcml``
files, then processes all ``configure.zcml`` files.

loadProductsOverrides
---------------------

Loads overriding ZCML in all products (``overrides.zcml``).

sizable
-------

Retrieve size information for a Zope 2 content class via a zope.size
style ``ISized`` adapter.

deprecatedManageAddDelete
-------------------------

Specify a class that needs its old deprecated methods like
``manage_afterAdd``, ``manage_beforeDelete`` and ``manage_afterClone``
to be called. Modern classes should use event subscribers instead.

pagesFromDirectory
------------------

Loads all files with .pt extension in a directory as pages.

registerClass
-------------

Registers Zope 2 content classes with Zope 2.
