loops/configure.zcml
helmutm 9aea3c500f fix configure.zcml: restrict type adapter to not adapt Node objects
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1693 fd906abe-77d9-0310-91a1-e0d9ade77398
2007-04-17 05:40:12 +00:00

471 lines
13 KiB
XML

<!-- $Id$ -->
<configure
xmlns="http://namespaces.zope.org/zope"
i18n_domain="zope"
>
<!-- security definitions -->
<permission
id="loops.xmlrpc.ManageConcepts"
title="[loops-xmlrpc-manage-concepts-permission] loops: Manage Concepts (XML-RPC)"
/>
<role
id="loops.xmlrpc.ConceptManager"
title="[xmlrpc-manage-concepts-role] loops: Concept Manager (XML-RPC)" />
<grant
permission="loops.xmlrpc.ManageConcepts"
role="loops.xmlrpc.ConceptManager" />
<permission
id="loops.ManageSite"
title="[loops-manage-site-permission] loops: Manage Site"
/>
<role
id="loops.SiteManager"
title="[loops-manage-site-role] loops: Site Manager" />
<grant
permission="loops.ManageSite"
role="loops.SiteManager" />
<grant
permission="loops.xmlrpc.ManageConcepts"
role="loops.SiteManager" />
<!-- event subscribers -->
<subscriber
for=".interfaces.ITargetRelation
cybertools.relation.interfaces.IRelationInvalidatedEvent"
handler=".util.removeTargetRelation"
/>
<!-- loops top-level container -->
<interface interface=".interfaces.ILoops"
type="zope.app.content.interfaces.IContentType" />
<class class="loops.Loops">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
<factory id="loops.Loops"
description="loops top-level container" />
<allow
attributes="getSiteManager" />
<require
permission="zope.ManageServices"
attributes="setSiteManager" />
<require
permission="zope.View"
interface="zope.app.container.interfaces.IReadContainer" />
<require
permission="zope.ManageContent"
interface="zope.app.container.interfaces.IWriteContainer" />
<!--<require
permission="zope.View"
interface="loops.interfaces.ILoops" />-->
<require
permission="zope.View"
attributes="getLoopsRoot getLoopsUri loopsTraverse getConceptManager
getResourceManager getViewManager skinName options" />
<require
permission="zope.ManageContent"
set_schema=".interfaces.ILoops" />
</class>
<!-- concept manager and concept -->
<interface interface=".interfaces.IConceptManager"
type="zope.app.content.interfaces.IContentType" />
<class class=".concept.ConceptManager">
<factory id="loops.ConceptManager"
description="Concept manager" />
<require
permission="zope.View"
interface="zope.app.container.interfaces.IReadContainer" />
<require
permission="zope.ManageContent"
interface="zope.app.container.interfaces.IWriteContainer" />
<require
permission="zope.View"
attributes="getTypePredicate getDefaultPredicate getTypeConcept
getPredicateType" />
</class>
<interface
interface=".interfaces.IConcept"
type="zope.app.content.interfaces.IContentType" />
<class class=".concept.Concept">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
<factory
id="loops.Concept"
description="Concept object" />
<require
permission="zope.View"
interface=".interfaces.IConcept" />
<require
permission="zope.ManageContent"
set_schema=".interfaces.IConcept" />
</class>
<!-- resource manager and resource -->
<interface interface=".interfaces.IResourceManager"
type="zope.app.content.interfaces.IContentType" />
<class class=".resource.ResourceManager">
<factory id="loops.ResourceManager"
description="Resource manager" />
<require
permission="zope.View"
interface="zope.app.container.interfaces.IReadContainer" />
<require
permission="zope.ManageContent"
interface="zope.app.container.interfaces.IWriteContainer" />
</class>
<interface
interface=".interfaces.IResource"
type="zope.app.content.interfaces.IContentType" />
<class class=".resource.Resource">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
<factory
id="loops.Resource"
description="Document" />
<require
permission="zope.View"
interface=".interfaces.IBaseResource
zope.app.size.interfaces.ISized" />
<require
permission="zope.ManageContent"
set_schema=".interfaces.IBaseResource" />
</class>
<interface
interface=".interfaces.IDocument"
type="zope.app.content.interfaces.IContentType" />
<class class=".resource.Document">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
<factory
id="loops.Document"
description="Document" />
<require
permission="zope.View"
interface=".interfaces.IDocument
zope.app.size.interfaces.ISized" />
<require
permission="zope.ManageContent"
set_schema=".interfaces.IDocument" />
</class>
<interface
interface=".interfaces.IMediaAsset"
type="zope.app.content.interfaces.IContentType" />
<class class=".resource.MediaAsset">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
<factory
id="loops.MediaAsset"
description="Media Asset" />
<require
permission="zope.View"
interface=".interfaces.IBaseResource
zope.app.size.interfaces.ISized" />
<require
permission="zope.ManageContent"
set_schema=".interfaces.IBaseResource" />
</class>
<!--<adapter
factory="zope.app.file.image.ImageSized"
provides="zope.app.size.interfaces.ISized"
for=".interfaces.IMediaAsset"
/>-->
<!-- view manager and view -->
<interface interface=".interfaces.IViewManager"
type="zope.app.content.interfaces.IContentType" />
<class class=".view.ViewManager">
<factory id="loops.ViewManager"
description="View manager" />
<require
permission="zope.View"
interface="zope.app.container.interfaces.IReadContainer" />
<require
permission="zope.ManageContent"
interface="zope.app.container.interfaces.IWriteContainer"
attributes="updateOrder" />
</class>
<interface
interface=".interfaces.INode"
type="zope.app.content.interfaces.IContentType" />
<class class=".view.Node">
<!--<implements
interface="loops.interfaces.ILoopsObject" />-->
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
<factory
id="loops.Node"
description="Node" />
<require
permission="zope.View"
interface=".interfaces.INode" />
<require
permission="zope.ManageContent"
set_schema=".interfaces.INode" />
<!--<require
permission="zope.View"
interface="zope.app.container.interfaces.IReadContainer" />-->
</class>
<!-- adapters -->
<adapter factory="loops.common.LoopsDCAdapter"
for="loops.interfaces.INode"
provides="zope.app.dublincore.interfaces.IZopeDublinCore"
trusted="True" />
<adapter factory="loops.common.LoopsDCAdapter"
for="loops.interfaces.IConcept"
provides="zope.app.dublincore.interfaces.IZopeDublinCore"
trusted="True" />
<adapter factory="loops.common.LoopsDCAdapter"
for="loops.interfaces.IResource"
provides="zope.app.dublincore.interfaces.IZopeDublinCore"
trusted="True" />
<class class="loops.common.LoopsDCAdapter">
<require like_class="zope.app.dublincore.annotatableadapter.ZDCAnnotatableAdapter" />
</class>
<adapter factory="loops.concept.IndexAttributes" trusted="True" />
<class class="loops.concept.IndexAttributes">
<allow interface="loops.interfaces.IIndexAttributes" />
</class>
<adapter factory="loops.resource.IndexAttributes" trusted="True" />
<class class="loops.resource.IndexAttributes">
<allow interface="loops.interfaces.IIndexAttributes" />
</class>
<adapter factory="loops.resource.DocumentReadFileAdapter" />
<adapter factory="loops.resource.DocumentWriteFileAdapter" />
<adapter factory="loops.common.NameChooser" />
<adapter factory="loops.type.LoopsType"
for="loops.interfaces.IResource" />
<adapter factory="loops.type.ConceptType" />
<adapter factory="loops.type.ResourceType"
for="loops.interfaces.IDocument" />
<adapter factory="loops.type.LoopsTypeManager" />
<adapter factory="loops.type.TypeConcept" trusted="True" />
<class class="loops.type.TypeConcept">
<require permission="zope.View"
interface="loops.interfaces.ITypeConcept" />
<require permission="zope.ManageContent"
set_schema="loops.interfaces.ITypeConcept" />
</class>
<adapter factory="loops.query.QueryConcept" trusted="True" />
<class class="loops.query.QueryConcept">
<require permission="zope.View"
interface="loops.query.IQueryConcept" />
<require permission="zope.ManageContent"
set_schema="loops.query.IQueryConcept" />
</class>
<adapter factory="loops.resource.FileAdapter"
provides="loops.interfaces.IFile"
trusted="True" />
<class class="loops.resource.FileAdapter">
<require permission="zope.View"
interface="loops.interfaces.IFile" />
<require permission="zope.ManageContent"
set_schema="loops.interfaces.IFile" />
</class>
<adapter factory="loops.resource.ExternalFileAdapter" trusted="True"
provides="loops.interfaces.IExternalFile" />
<class class="loops.resource.ExternalFileAdapter">
<require permission="zope.View"
interface="loops.interfaces.IFile" />
<require permission="zope.ManageContent"
set_schema="loops.interfaces.IFile" />
</class>
<adapter factory="loops.resource.TextDocumentAdapter" trusted="True"
provides="loops.interfaces.ITextDocument" />
<class class="loops.resource.TextDocumentAdapter">
<require permission="zope.View"
interface="loops.interfaces.ITextDocument" />
<require permission="zope.ManageContent"
set_schema="loops.interfaces.ITextDocument" />
</class>
<adapter factory="loops.resource.NoteAdapter"
provides="loops.interfaces.INote"
trusted="True" />
<class class="loops.resource.NoteAdapter">
<require permission="zope.View"
interface="loops.interfaces.INote" />
<require permission="zope.ManageContent"
set_schema="loops.interfaces.INote" />
</class>
<adapter factory="loops.setup.SetupManager" />
<adapter factory="loops.external.NodesLoader" />
<adapter factory="loops.external.NodesExporter" />
<adapter factory="loops.external.NodesImporter" />
<adapter factory="loops.target.DocumentProxy"
permission="zope.ManageContent" />
<adapter factory="loops.target.MediaAssetProxy"
permission="zope.ManageContent" />
<adapter factory="loops.target.ConceptProxy"
permission="zope.ManageContent" />
<!-- text conversions, e.g. for full-text indexing -->
<adapter for="loops.interfaces.IFile"
provides="cybertools.text.interfaces.ITextTransform"
name="application/pdf"
factory="cybertools.text.pdf.PdfTransform" />
<adapter for="loops.interfaces.IFile"
provides="cybertools.text.interfaces.ITextTransform"
name="application/msword"
factory="cybertools.text.doc.DocTransform" />
<adapter for="loops.interfaces.IFile"
provides="cybertools.text.interfaces.ITextTransform"
name="text/rtf"
factory="cybertools.text.rtf.RtfTransform" />
<adapter for="loops.interfaces.IFile"
provides="cybertools.text.interfaces.ITextTransform"
name="application/vnd.ms-powerpoint"
factory="cybertools.text.ppt.PptTransform" />
<adapter for="loops.interfaces.IFile"
provides="cybertools.text.interfaces.ITextTransform"
name="application/vnd.ms-excel"
factory="cybertools.text.xls.XlsTransform" />
<!-- utilities -->
<utility
factory="cybertools.storage.filesystem.instanceVarSubdirectoryStorage"
name="varsubdir" />
<utility
factory="cybertools.storage.filesystem.fullPathStorage"
name="fullpath" />
<vocabulary
factory="loops.concept.ConceptTypeSourceList"
name="loops.conceptTypeSource"
/>
<vocabulary
factory="loops.resource.ResourceTypeSourceList"
name="loops.resourceTypeSource"
/>
<vocabulary
factory="loops.type.TypeInterfaceSourceList"
name="loops.TypeInterfaceSource"
/>
<!--<vocabulary
factory="loops.concept.PredicateSourceList"
name="loops.PredicateSource"
/>-->
<utility component="loops.concept.PredicateSourceList"
provides="zope.schema.interfaces.IVocabularyFactory"
name="loops.PredicateSource" />
<include package=".knowledge" />
<include package=".organize" />
<include package=".integrator" />
<include package=".process" />
<include package=".versioning" />
<include package=".search" />
<include package=".browser" />
<include package=".xmlrpc" />
<include package=".rest" />
</configure>