= Plone Comments =
[[PageOutline]]
quintagroup.plonecomments is a Plone product developed to improve the site managers and editors experience with standard commenting mechanism in Plone.
== Links ==
* Home page - http://quintagroup.com/services/plone-development/products/plone-comments
* Repository - http://svn.quintagroup.com/products/quintagroup.plonecomments
* Releases - http://plone.org/products/plone-comments/releases
* Screencasts:
* Watch [http://quintagroup.com/cms/screencasts/plone-comments Plone Comments Screencast] to learn how to install and set up Plone Comments on your buildout-based Plone instance for Plone 3.2 or above. You will also find one of the possible use cases of using Plone Comments Plone add-on included.
* Watch [http://quintagroup.com/cms/screencasts/plone-comments/use-cases Plone Comments Use Cases Screencast] to learn about integration of Plone Comments with Plone Captchas, see 2 examples of possible use cases: anonymous and registered users commenting.
== Features ==
Plone Comments allows to:
* Notify site administrator about comment posted
* Notify commentator about his comment approval
* Notify author of parent comment about new follow up added
* Moderate and approve comments
* Enable anonymous commenting
* Notify Article author about new comment after the approval by reviewer
* Have a list of recent comments for more comfortable moderation
* Have integration with Plone Captchas
Comments moderation is implemented with involvement of two stage workflow. Comments are created in "private" state and visible only to '''Discussion Manager''' group of users.
To differentiate between logged-in (registered) commentators and Anonymous commentators that pretend to be one person or other one, we use Boldness of name. The Comment author is in bold when posted by logged in member. The names provided when posting Anonymously are in plain text.
Notification subject control allows to enter custom prefix to distinct notifications coming from different sites.
== Installation ==
=== Plone 3, 4 buildout ===
If you are using buildout to manage your project, you can do this:
* Add quintagroup.plonecomments to the list of eggs to install in the buildout.cfg file:
{{{
[buildout]
...
eggs =
...
quintagroup.plonecomments
}}}
* Tell the plone.recipe.zope2instance recipe to install a ZCML slug for this product: add quintagroup.plonecomments and quintagroup.plonecomments-overrides to zcml area of a buildout.cfg file:
{{{
[instance]
recipe = plone.recipe.zope2instance
...
zcml =
quintagroup.plonecomments
quintagroup.plonecomments-overrides
}}}
* Re-run buildout with:
{{{
$ ./bin/buildout
}}}
* Restart the Zope server with the following command in the terminal:
{{{
$ ./bin/instance restart
}}}
* Install quintagroup.plonecomments via ZMI portal_setup -> import. Select '''quintagroup.plonecomments''' from the list of available profiles and press '''Import all steps''' at the bottom of a page .
[[Image(portal-setup.jpeg, nolink)]]
'''Atention: If you are using a Plone version before 3.1 you need to install [http://pypi.python.org/pypi/plone.browserlayer plone.browserlayer]: (which also requires a [http://pypi.python.org/pypi/Products.GenericSetup GenericSetup] version greater than 1.4) in your Plone site. It shows up as Local browser layer support in the Plone Add-on Products Control Panel.'''
=== Traditional Zope 2 Instance ===
To install quintagroup.plonecomments into the global Python environment (or a workingenv), using a traditional Zope 2 instance, you can do this:
* Copy '''quintagroup''' folder to your instance ''/lib/python'' directory.
* Create a file called '''quintagroup.plonecomments-configure.zcml''' in your instance ''/etc/package-includes'' directory. The file should only contain this:
{{{
}}}
* Create a file called '''quintagroup.plonecomments-overrides.zcml''' in your instance ''/etc/package-includes'' directory. The file should only contain this:
{{{
}}}
* Restart the Zope server, for example, with the following command in the terminal:
{{{
$ ./bin/zopectl restart
}}}
* Install quintagroup.plonecomments via ZMI portal_setup -> import. Select '''quintagroup.plonecomments''' from the list of available profiles and press '''Import all steps''' at the bottom of a page.
[[Image(portal-setup.jpeg, nolink)]]
== Uninstallation ==
* Uninstall quintagroup.plonecomments via ZMI portal_setup -> import. Select '''quintagroup.plonecomments uninstall''' profile from the list of available profiles and press '''Import all steps''' at the bottom of a page .
[[Image(portal-setup-uninstall.jpeg, nolink)]]
== Usage ==
After Plone Comments installation in Plone, a new item appears under ''Add-on Product Configuration'': '''qPloneComments''':
[[Image(site-setup.png, nolink)]]
Plone Comments configuration window consists of 2 Configlets:
'''1. Configure qPloneComments'''
Here you can set up all configuration options: turn on/off comments moderation, manager and editor notification, anonymous commenting, configure admin e-mail for notifications and notification subject.
[[Image(configure.png, nolink)]]
'''2. Recent comments moderation'''
Includes a list of recent comments for more comfortable moderation. It is possible to see all the recent comment activity and publish or delete comments all together.
[[Image(recent.png, nolink)]]
== Use Case ==
One of possible !UseCases: Moderation is enabled and authors notification is turned on.
* New comment posted in private state.
* Notification is sent to the emails entered in Plone Comments configlet.
* Moderator User with !DiscussionManager role see the comment.
* The comment can be deleted or published on modaration stage.
* When comment is published notification is sent to Article Editor.
== FAQ ==
=== 1. E-mail addresses handling in qPloneComments ===
'''Question'''
Where the e-mail addresses are stored when they are turned on as required? Can you clarify how this works with the e-mail addresses collected in the qPloneComments form. My use case is essentially that I occasionally need to enable site managers to respond via e-mail to the comment authors.
'''Answer'''
Plone still utilizes the !DiscussionItem from CMFDefault. qPloneComments extends it as a regular !PropertyManager. You can traverse to the comment in question and find all added attributes in properties sheet:
{{{
/Plone/[a_document]/talkback/[comment_id]/manage_propertiesForm
}}}
Inside your script you can use getProperty method to get the property from a !PropertyManager based object (you can check out the !PropertyManager interface in source or with !DocFinderTab).
=== Can't edit existing comment ===
'''Question'''
Why can't I edit existing comments?
'''Answer'''
Make sure you have correctly installed quintagroup.plonecomments. Especially make sure you've added ''quintagroup.plonecomments-overrides'' to ZCML area in the buildout.cfg file. If not - add this line and rerun buildout. Also, reinstall quintagroup.plonecomments via portal_quickinstaller (ZMI). As a result you will get '''Edit''' button near every comment on your site.
[[Image(plonecomments-plone4.png, nolink)]]