<!-- $Id$ -->

<configure
   xmlns:zope="http://namespaces.zope.org/zope"
   xmlns:browser="http://namespaces.zope.org/browser"
   i18n_domain="zope"
   >

  <!-- named templates -->

  <zope:adapter
      factory="loops.knowledge.util.knowledge_macros"
      for="loops.browser.common.BaseView"
      name="loops.knowledge_macros" />

  <!-- knowledge/learning management stuff -->

  <zope:adapter factory="loops.knowledge.knowledge.Person"
                provides="loops.knowledge.interfaces.IPerson"
                trusted="True" />

  <zope:class class="loops.knowledge.knowledge.Person">
    <require permission="zope.View"
             interface="loops.knowledge.interfaces.IPerson" />
    <require permission="zope.ManageContent"
             set_schema="loops.knowledge.interfaces.IPerson" />
  </zope:class>

  <zope:adapter factory="loops.knowledge.knowledge.Topic"
                provides="loops.knowledge.interfaces.ITopic"
                trusted="True" />

  <zope:class class="loops.knowledge.knowledge.Topic">
    <require permission="zope.View"
             interface="loops.knowledge.interfaces.ITopic"
             set_attributes="languageInfo"  />
    <require permission="zope.ManageContent"
             set_schema="loops.knowledge.interfaces.ITopic" />
  </zope:class>

  <zope:adapter factory="loops.knowledge.knowledge.Task"
                provides="loops.knowledge.interfaces.ITask"
                trusted="True" />

  <zope:class class="loops.knowledge.knowledge.Task">
    <require permission="zope.View"
             interface="loops.knowledge.interfaces.ITask" />
    <require permission="zope.ManageContent"
             set_schema="loops.knowledge.interfaces.ITask" />
  </zope:class>

  <zope:adapter factory="loops.knowledge.knowledge.ConceptKnowledgeProvider"
                provides="cybertools.knowledge.interfaces.IKnowledgeProvider"
                trusted="True" />

  <zope:class class="loops.knowledge.knowledge.ConceptKnowledgeProvider">
    <require permission="zope.View"
             interface="cybertools.knowledge.interfaces.IKnowledgeProvider" />
  </zope:class>

  <zope:adapter factory="loops.knowledge.knowledge.ResourceKnowledgeProvider"
                provides="cybertools.knowledge.interfaces.IKnowledgeProvider"
                trusted="True" />

  <zope:class class="loops.knowledge.knowledge.ResourceKnowledgeProvider">
    <require permission="zope.View"
             interface="cybertools.knowledge.interfaces.IKnowledgeProvider" />
  </zope:class>

  <!-- views -->

  <zope:adapter
        name="requirements"
        for="loops.interfaces.IConcept
             zope.publisher.interfaces.browser.IBrowserRequest"
        provides="zope.interface.Interface"
        factory="loops.knowledge.browser.MyKnowledge"
        permission="zope.View"
        />

  <!-- other adapters -->

  <zope:adapter factory="loops.knowledge.setup.SetupManager"
                name="knowledge" />

  <!-- sub-packages -->

  <include package=".glossary" />

</configure>
