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)

December 3rd, 2009 at 12:01 pm
Hi,
I’m still actively developing p.a.discussion and it has been used in production by teamrubber since its pre-alpha1 state. I think Jarn is also using it for a project. I hope to release a first beta version soon. Feel free to contact me if you have any questions.
Timo
December 3rd, 2009 at 12:47 pm
If you are able to help contribute to its development (e.g. bugfixes, testing), then I think p.a.discussion is the way to go. It’s got better architecture, and has a committed maintainer in Timo. It didn’t quite make Plone 4.0, but may make 4.x and I’d expect it in 5.
If you want something close to vanilla and low risk, then collective.discussionplus is probably the safest bet, in that it doesn’t do much. I think it’ll work with Plone 4 (the comment in the readme should really refer to Plone 5, which we called 4 at the time).
Quintagroup’s product has also been around a long time and so is probably also a safe bet.
Martin
December 3rd, 2009 at 5:50 pm
We at Quintagroup use in production q.plonecomments a lot in both Plone 2.5.x and 3.x. As soon as we will be able to introduce Plone 4 in our projects we expect to provide a way to switch to p.a.discussion. Also I hope we will find time to contribute to p.a.discussion as we will have few running instances of it.
December 3rd, 2009 at 9:29 pm
Hi,
I’m in the same need for a (very) high volume plone site. I’ll probably go the disqus route — in the end I want to have all user-generated content handled and stored outside of plone (thus also eliminating the need to have ppl log into plone). I also have forums and guestbooks to migrate which I hope to do using the same service.
Maybe team up on the snow sprint? I don’t mind working on p.a.discussion, too :^)
Cheers,
Stefan.
December 11th, 2009 at 12:27 pm
thanks for your valuable feedback guys.
i’ll discuss the pros and cons with the customer (who already signaled a slight preference for disqus due to the twitter and facebook integration) and post the result here (expected jan 2010).
@stefan: sure, however i’m not sure i’ll make it to snowsprint this year