<schema extends="package:zope.app.appsetup:schema/productconfig.xml">
  <description>
    Zope 3 Application Server configuration schema.

    This schema describes the configuration options available to a
    site administrator via the zope.conf configuration file for the Zope
    application server.
  </description>

  <!-- database and storage types -->
  <import package="ZODB" />

  <!-- logging configuration -->
  <import package="ZConfig.components.logger" />

  <multisection type="ZODB.database" name="*" required="yes"
           attribute="databases">
    <description>

      Application database.

      At least one database must be specified.  The first will be used
      as the main database.  At most one of the databases can be unnamed.

      All of the databases specified will be part of a multi-database.
      See the ZODB documentation of multi-databases for details of how
      this is useful.

    </description>
  </multisection>

  <section type="eventlog" attribute="eventlog" name="*" required="yes">
    <description>
      Configuration for the eventlog.
    </description>
  </section>
  
  <multisection type="logger" attribute="loggers" name="*" required="no">
    <description>
      Additional loggers for specific subsystems
    </description>
  </multisection>

  <key name="site-definition" default="site.zcml">
    <description>
      The name of the top-level ZCML file that defines the component
      configuration used for this site.
    </description>
  </key>

  <multikey name="path" datatype="string">
    <description>
      This specifies additional paths directories which are inserted into
      the beginning of Python's module search path.  The set of directories
      specified is inserted into the beginning of the module search path in
      the order which they are specified here.  Note that the processing of
      this directive may happen too late under some circumstances; it is
      recommended that you use the PYTHONPATH environment variable if
      using this directive doesn't work for you.
    </description>
    <metadefault>$softwarehome/src</metadefault>
  </multikey>

  <key name="devmode" datatype="boolean" default="off">
    <description>
      Switches the Developer Mode on and off.

      In developer mode, the web UI will provide useful utilities for
      developers to work on Zope 3 applications.
    </description>
    <example>
      devmode on
    </example>
    <metadefault>off</metadefault>
  </key>
</schema>
