Searching the ideal commenting product for Plone

We plan to add commenting infrastructure to a portal currently running on plone 3.3.x so I did some research and came up with a (probably uncomplete) list of candidates that will be described below in more detail.

  • iqpp.plone.commenting (aka EasyCommenting)
  • collective.disqus
  • quintagroup.plonecomments (aka qPloneComments)
  • collective.discussionplus
  • plone.app.discussion

Hope this will kick off a discussion with the product authors / people using them and will help others to decide which package (not) to use.

Summary

I did not look really deep into all of these packages (installed and tested plonecomments and plone.app.discussion) so please feel free to comment and put me into the right direction.

collective.disqus looks promising and has great advantages in the area of social web.
on the other side comments are not as well integrated into plone (eg search) and it’s hard or even impossible? to implement custom notifications or other additional features within your application.

quintagroup.plonecomments is a very mature product with lots of configuration options and notification features.
Editing of comments is possible (maybe there should be a way to turn this evil? feature off).
Comments are compatible with standard plone comments (right?) so they might be migrateable to the new commenting system for plone 4.x (plone.app.discussion).

collective.discussionplus peps up plone’s standard discussion items with workflow while keeping them migrateable to plone.app.discussion later. it’s more leight-weight than plonecomments with the downside of no notifications and less configuration options.

plone.app.discussion is currently in alpha state but offers basic configuration options and a moderation view for batch managing comments. Its much more leightweight than standard plone comment types (plonecomments and collective.dicsussionplus are using). I don’t know how many people are contrubuting currently and i hope timo is still motivated after his plip did not make it into plone 4.0.

I’m not sure if it’s a good idea to use plone.app.discussion in alpha1 state on production servers (comment of the authors welcome). But it seems by using collective.discussionplus or quintagroup.plonecomments (not sure about that) one can migrate all comments with the migration script of plone.app.discussion as soon as there is a more stable release or it even is shipped with plone 4.x

This is just a quick overview, more details for each package follow below. There is a project on coactivate about commenting in plone, too. Founded in 2007 it currently seems to be not very active or completely up to date (eg products like disqus missing) but there are reviews of some other commenting products and a collection of commenting related usecases.

iqpp.plone.commenting

Seems unmaintained (has not been updated on pypi since october 2007), so i did not look into that further.

Martin mentioned in his blogpost on commenting that its comparable to PloneComments and he used it for a big deployment.

collective.disqus

homepage: http://plone.org/products/collective.disqus
demo: http://lichota.pl/blog/

Uses the webservice disqus.com/ so your comments are stored “somewhere in the cloud”.
There is an export for comments though, so you’re able to migrate back to plone comments with some coding.

Seems that you can only set one language in the account settings, so it might won’t work for multilingual sites.

Users can comment using their twitter, facebook, openid,… accounts and choose whether or not to get email notifications on new comments / replies. Comments can be posted on Social Networks with might generate more interest and therefore visits to your site.

Comments are centrally managed using disqus.com.

Since comments are not stored in your plonesite they are not searchable by default.

quintagroup.plonecomments

actively developed (latest release 4.1.1 nov, 2009) and already there for many years.

has it’s own api but pretends to internally use plone’s standard commenting types so migrating to plone.app.discussion might work.

captcha support via quintagroup.plonecaptchas (did not test that)

Configlet for configuring settings (eg activate moderation, or enable anonymous comments) and managing pending comments .

Users with role DiscussionManager can publish comments via publish button below the comments, and can access the configlet and review list (/prefs_recent_comments_form) too.

Notifications for new pending comments are only sent to one single address configured in the control panel.
After Managers have approved the comment users get a notification that their content has been commented and commenter that his comment got published. Commenters get notifications for replies to their comment too (these notifications can be turned on/off in configlet)

Logged in or respectively anonymous users can report spam comments. A configuration option enables an “abuse” button that opens a form users can submit with an optional comment why they consider this comment spam. An email is sent to the notification address.

collective.discussionplus

Martin’s interim solution to enable moderation of standard plone comments.

Uses DCWorkflow, adds indexes to catalog to search for comments of a certain author or the number of comments for a content item. Events are fired for comment creation and removal, so on can hook up email notifications on workflow transitions and/or these events.

In his blogpost on commenting in plone Martin outlined the reasons for not using EasyComment or PloneComments and writing discussionplus.

According to the readme it’s likely not to work with plone4.
However comments should be migrateable to plone.app.discussion since they’re standard plone comments.

plone.app.discussion

Google summer of code project outlined and mentored by martin and mainly developed by timo.

Aimed to be the new default commenting solution for plone 4.0 but the plip9288 has been rejected in october since the framework team considered it not finished enought.

project page: http://plone.org/products/plone.app.discussion/
tracker: http://www.pivotaltracker.com/projects/15135
online demo: http://gsoc.timostollenwerk.net/

For my research I used version 1.0a2 (rev31840) in the development buildout

Configlet to configure if anon comments are allowed, which captcha to use, whether or not to show the commenter’s image and a toggle to switch commenting off globally.

Moderation is configured in the types control panel by setting the workflow of the Comment type.

Captcha support via plone.formwidget.(re)captcha

Migration script for importing existing plone comments is in place (did not test it)

Moderating comments is done using a site action (@@moderate-comments)

Email notifications are not yet available, but planned for 2010 (according to the tracker)