===============================================================================
How to make plone.app.discussion work with a dexterity content type
===============================================================================

This document explains how to make plone.app.discussion work with a custom
dexterity content type.

XXX: TODO

configure.zcml::

    <browser:page
        name="conversation_view"
        for=".mydexteritycontenttype.MyDexterityContentType"
        layer="plone.app.discussion.interfaces.IDiscussionLayer"
        class=".classified.ConversationView"
        permission="zope2.View"
        />

Define an interface IMyDexterityContentType groked schema, I added::

        allowDiscussion  = schema.Bool(
            title=_(u"Allow Users to Comment"),
            description=_(u"Allow users to commemt on you.  Comments
are shown at the end of each page"),
            required=True,
            default=True,
        )

and added this class::

from plone.app.discussion.browser.comments import CommentsViewlet
class ConversationView(object):
    """ Ability to either allow / disallow comments based on schema
option
    """
    def enabled(self):
        return getattr(self.context, 'allowDiscussion', False)

