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

135 lines
5.0 KiB
XML

<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:i18n="http://namespaces.zope.org/i18n"
xmlns:monkey="http://namespaces.plone.org/monkey"
xmlns:zcml="http://namespaces.zope.org/zcml"
xmlns:five="http://namespaces.zope.org/five"
i18n_domain="plone">
<five:registerPackage package="." />
<include package="plone.indexer" />
<include package="plone.app.registry" />
<include package="plone.uuid" />
<include package="plone.app.uuid" />
<include file="contentrules.zcml" />
<include file="permissions.zcml" />
<include file="notifications.zcml" />
<include file="subscribers.zcml" />
<include file="upgrades.zcml" />
<!-- load captch before browser -->
<configure zcml:condition="installed plone.formwidget.captcha">
<include package="plone.formwidget.captcha" />
</configure>
<configure zcml:condition="installed plone.formwidget.recaptcha">
<include package="plone.formwidget.recaptcha" />
</configure>
<configure zcml:condition="installed collective.z3cform.norobots">
<include package="collective.z3cform.norobots" />
</configure>
<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"
/>
<genericsetup:upgradeStep
title="edit comments and delete own comments"
description="reload registry config to enable new fields edit_comment_enabled and delete_own_comment_enabled"
source="100"
destination="101"
handler=".upgrades.update_registry"
sortkey="1"
profile="plone.app.discussion:default"
/>
<genericsetup:upgradeStep
title="delete comments and delete own comments"
description="reload rolemap config to enable new permissions 'Delete comments' and 'Delete own comments'"
source="101"
destination="102"
handler=".upgrades.update_rolemap"
sortkey="1"
profile="plone.app.discussion:default"
/>
<!-- 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>
<class class=".comment.Comment">
<implements interface="plone.uuid.interfaces.IAttributeUUID" />
</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" />
<!-- Captcha Vocabulary -->
<utility component=".vocabularies.captcha_vocabulary"
name="plone.app.discussion.vocabularies.CaptchaVocabulary"
provides="zope.schema.interfaces.IVocabularyFactory" />
<!-- Text Transform Vocabulary -->
<utility component=".vocabularies.text_transform_vocabulary"
name="plone.app.discussion.vocabularies.TextTransformVocabulary"
provides="zope.schema.interfaces.IVocabularyFactory" />
<!-- 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="UID" factory=".catalog.UID" />
<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>