plone.app.discussion/plone/app/discussion/configure.zcml

111 lines
3.9 KiB
Plaintext
Raw Normal View History

<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:monkey="http://namespaces.plone.org/monkey"
i18n_domain="plone.app.discussion">
<include package="plone.indexer" />
<include file="permissions.zcml" />
<include package=".browser" />
<!-- Register the installation GenericSetup extension profile -->
<genericsetup:registerProfile
name="default"
title="Plone Discussions"
description="Commenting infrastructure for Plone"
directory="profiles/default"
provides="Products.GenericSetup.interfaces.EXTENSION"
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
/>
<!-- Monkey Patches -->
<include package="collective.monkeypatcher" />
<monkey:patch
description="This allows Catalog Tool to find comments
during clear-and-rebuild catalog"
class="Products.CMFPlone.CatalogTool.CatalogTool"
original="clearFindAndRebuild"
replacement=".patches.patchedClearFindAndRebuild"
/>
<!-- Comments -->
<class class=".comment.Comment">
<require interface=".interfaces.IComment" permission="zope2.View" />
<require attributes="Title Creator getId getText" permission="zope2.View" />
</class>
<utility
component=".comment.CommentFactory"
name="plone.Comment"
/>
<!-- Conversations -->
<class class=".conversation.Conversation">
<require interface=".interfaces.IConversation" permission="zope2.View" />
</class>
<adapter factory=".conversation.conversationAdapterFactory" />
<adapter factory=".conversation.ConversationReplies" />
<adapter factory=".conversation.CommentReplies" />
<!-- Event subscribers -->
<subscriber
for="plone.app.discussion.interfaces.IComment
zope.lifecycleevent.interfaces.IObjectAddedEvent"
handler=".comment.notify_workflow"
/>
<subscriber
for="plone.app.discussion.interfaces.IComment
zope.lifecycleevent.interfaces.IObjectAddedEvent"
handler=".comment.notify_content_object"
/>
<subscriber
for="plone.app.discussion.interfaces.IComment
zope.lifecycleevent.interfaces.IObjectRemovedEvent"
handler=".comment.notify_content_object"
/>
<subscriber
for="plone.app.discussion.interfaces.IComment
zope.lifecycleevent.interfaces.IObjectAddedEvent"
handler=".tool.index_object"
/>
<subscriber
for="plone.app.discussion.interfaces.IComment
zope.lifecycleevent.interfaces.IObjectRemovedEvent"
handler=".tool.unindex_object"
/>
<!-- Captcha Vocabulary -->
<utility component=".vocabularies.captcha_vocabulary"
name="plone.app.discussion.vocabularies.CaptchaVocabulary" />
<!-- Conversation indexes -->
<adapter name="total_comments" factory=".catalog.total_comments" />
<adapter name="last_comment_date" factory=".catalog.last_comment_date" />
<adapter name="commentators" factory=".catalog.commentators" />
<adapter name="in_response_to" factory=".catalog.in_response_to" />
<!-- Comment indexes -->
<adapter name="Title" factory=".catalog.title" />
<adapter name="Creator" factory=".catalog.creator" />
<adapter name="Description" factory=".catalog.description" />
<adapter name="SearchableText" factory=".catalog.searchable_text" />
<adapter name="effective" factory=".catalog.effective" />
<adapter name="created" factory=".catalog.created" />
<adapter name="modified" factory=".catalog.modified" />
<adapter name="total_comments" factory=".catalog.comments_total_comments" />
<adapter name="last_comment_date" factory=".catalog.comments_last_comment_date" />
<adapter name="commentators" factory=".catalog.comments_commentators" />
</configure>