Enhanced discussion support for Plone
Project description
Introduction
plone.app.discussion aims to be the new commenting system for Plone. It was initially developed as part of the Google Summer of Code 2009 by Timo Stollenwerk (student) and Martin Aspeli (mentor).
plone.app.discussion is an add-on product for Plone 3.3.x and 4.0.x and will be shipped as part of Plone 4.1.
Please report bugs to the Plone bug tracker.
For the roadmap of the project see our Pivotal Tracker.
Requirements
Plone 3.3 or later.
Plone 3.x Buildout Installation
To install plone.app.discussion, add the following code to your buildout.cfg:
[buildout] ... extends = ... http://good-py.appspot.com/release/plone.app.discussion/1.0 ... [versions] plone.app.discussion = 1.1.3 ... [instance] ... eggs = ... plone.app.discussion ...
Plone 4.x Buildout Installation
To install plone.app.discussion, add the following code to your buildout.cfg:
[buildout] ... versions = versions [versions] plone.app.discussion = 1.1.3 zope.schema = 3.6.4 ... [instance] ... eggs = ... plone.app.discussion ...
Add-on Products
collective.autoresizetextarea (for auto-resizing the comment textarea while typing)
plone.formwidget.captcha (for Captcha spam protection)
plone.formwidget.recaptcha (for ReCaptcha spam protection)
collective.akismet (for Akismet spam protection)
collective.z3cform.norobots (provides a “human” captcha widget based on a list of questions/answers)
Documentation
For developer documentation see http://packages.python.org/plone.app.discussion.
For integrator/end-user documentation see http://plone.org/products/plone.app.discussion/documentation.
Credits
Timo Stollenwerk
Martin Aspeli
Many thanks to:
Jon Stahl (for acting as “the customer” during GSoC)
David Glick (for technical expertise and advice during GSoC)
Lennart Regebro (for writing the portal_discussion tool and initial unit tests)
Carsten Senger (for fixing the comment z3c.form form and pizza)
Hanno Schlichting (for making p.a.d work with Zope 2.12)
Alan Hoey (for providing fixes)
Maik Roeder (for providing and setting up a buildbot)
Changelog
1.1.3 (2011-06-16)
Do not render/update the comment form in CommentViewlets if commenting is disabled, since this slows down the page rendering. This fixes http://dev.plone.org/plone/ticket/11930 [fafhrd]
1.1.2 (2011-05-29)
Revert handleComment method clean up (r50082), since this broke the comment form. [timo]
Fix missing handleComment method. This fixes http://dev.plone.org/plone/ticket/11861. [timo]
1.1.1 (2011-05-28)
Refactor/clean up the handleComment method. [timo]
Make handleComment method store comment attributes from form extenders. This allows us to extend the comment form with external add-ons. See http://packages.python.org/plone.app.discussion/howtos/howto_extend_the_comment_form.html for details. [timo]
1.1 (2011-05-03)
Fix missing translations for comment formatting. This fixes http://dev.plone.org/plone/ticket/11671. [timo]
Translations updated. [timo]
Add a moderator_email setting to control where moderator notifications are sent. [davisagli]
Added Afrikaans translations [jcbrand]
Fixed test failure for the default user portrait, which changed from defaultUser.gif to defaultUser.png in Products.PlonePAS 4.0.5. [maurits]
1.0 (2011-02-07)
Do not check for a comment review workflow when sending out a moderator email notification. This fixes http://dev.plone.org/plone/ticket/11444. [timo]
Check if the current user has configured an e-mail address for the email notification option. This fixes http://dev.plone.org/plone/ticket/11428. [timo]
1.0RC2 (2011-01-24)
Remove moderation_enabled setting from registry to avoid migration problems to 1.0RC1. This fixes http://dev.plone.org/plone/ticket/11419. [timo]
1.0RC1 (2011-01-22)
Always show existing comments, even if commenting is disabled. [timo]
Fix CSS for commenter images with a width of more than 2.5em. This fixes http://dev.plone.org/plone/ticket/11391. [timo]
Show a ‘Comments are moderated.’ message next to the comment form if comments are moderated. [timo]
Make sure plone.app.registry’s ZCML is loaded, so that its import step will run when plone.app.discussion is installed. [davisagli]
Avoid sending multiple notification emails to the same person when he has commented multiple times. [maurits]
Move discussion action item from actionicons.xml to actions.xml to avoid deprecation warning. [timo]
Fix cancel button on edit view when using Dexterity types. This fixes http://dev.plone.org/plone/ticket/11338. [EpeliJYU]
Assigning the ‘Reply to item’ permission to the ‘Authenticated’ role. The old commenting system allowed ‘Authenticated’ users to post comments. Also, OpenID users do not possess the ‘Authenticated’ role. [timo]
Make sure the handleComment method checks for the ‘Reply to item’ permission when adding a comment. [timo]
Make the mail-setting warning message show up in the discussion control panel. [timo]
Link directly to the “Discussion Item” types control panel in the moderation view. [timo]
Show “moderate comments” link in the admin panel only if a moderation workflow is enabled for comments. [timo]
Do not allow to change the mail settings in the discussion control panel, if there is no valid mail setup. [timo]
Disable all commenting options in the discussion control panel if comments are disabled globally.
Check for the ‘review comments’ permission instead of ‘manage’ to decide if the user should see a ‘this comment is pending’ message. [timo]
Move “moderate comments” site action above the logout action. [timo]
Moderator notification description updated. [timo]
Redirect back to the discussion control panel when the discussion control panel form is submitted. [timo]
Fix document_byline bottom margin if commenter images are disabled. [timo]
Dynamically show the comment formatting message dependent on the text transform setting. [timo]
Description for text transform added to the discussion control panel. [timo]
Move the discussion control panel to the core Plone configuration. [timo]
Always set the effective date of a comment to the same value as the creation date. [timo]
Fix SMTP exception when an email is send to the moderator. [timo]
Make sure comment UIDs in the catalog are always unique. This fixes http://dev.plone.org/plone/ticket/10652. [timo]
Fix ‘check all’ on batch moderation page. [davisagli]
Use safe_unicode to decode the title of the content. encode(“utf-9”) caused Dexterity based content types to raise a unicode decode error. This fixes http://dev.plone.org/plone/ticket/11292 [dukebody]
Spanish translation updated. [dukebody]
Catalan translation added. [sneridagh]
Convert anonymous-supplied name to unicode as done for authenticated members. [ggozad]
Catch SMTP exceptions when sending email notifications. [timo]
Updated italian translation. [keul]
1.0b12 (2010-11-04)
Remove AJAX comment deletion binding. This function relies on the nextUntil() selector introduced by jQuery 1.4 and therefore breaks in Plone 3 (that currently uses jQuery 1.3.2). [timo]
1.0b11 (2010-11-03)
Fix Dutch and Czech language code and name. [timo]
Re-add the CommentsViewlet can_manage method. This method has been removed in version 1.0b9 and added again in 1.0b11 because we don’t want to change the API in beta releases. [timo]
Declare z3c.form and zope.schema as minimum version dependencies in setup.py in case people use a different KGS. [timo]
Add and update es and eu l10ns. [dukebody, on behalf of erral]
Ajaxify comment deletion and approval. [thomasdesvenain]
New feature: As a logged-in user, I can enable/disable email notification of additional comments on this content object. [timo]
Disable the plone.app.registry check on schema elements, so no error is raised on upgrades. This fixes https://dev.plone.org/plone/ticket/11195. [timo]
Remove the too generic id attribute of the comment form. [timo]
Fixed handling of non-ascii member data, like fullname and email. [hannosch]
1.0b10 (2010-10-15)
Fixed “global name ‘WrongCaptchaCode’ is not defined” if norobots captcha, but no other validation package is installed. [naro]
Check if there is a ‘pending’ review state in the current workflow for comments instead of just checking for the ‘comment_review_workflow’. This allows integrators to use a custom review workflow. This fixes http://dev.plone.org/plone/ticket/11184. [timo]
fixed plone-it.po (improper language code (‘en’ instead of ‘it’)) [ajung]
1.0b9 (2010-10-07)
Replace the can_manage method with a can_review method that checks the ‘Review comments’ permission. This fixes http://dev.plone.org/plone/ticket/11145. [timo]
Fix moderation actions (publish, delete) in the moderation view with virtual hosts. This is a replacement for http://dev.plone.org/plone/changeset/35608. [timo]
Do not show two “login to add comments” buttons when there are no comments yet. This fixes http://plone.org/products/plone.app.discussion/issues/12. [timo]
1.0b8 (2010-10-04)
Apply the comment viewlet template and styles to the new title-less comments. This might require integrators to apply their custom templates and styles. [timo]
Remove title field from the comment form and replace it with an auto-generated title (“John Doe on Welcome to Plone”). [timo]
Fix http://dev.plone.org/plone/ticket/11098: “Comment byline shows login name, not full name” [kiorky]
Make sure the __parent__ pointer (the conversation) of a comment is not acquisition wrapped in conversation.addComment. This fixes http://dev.plone.org/plone/ticket/11157. [timo]
Revert r35608 since this was breaking the comment moderation bulk actions. The BulkActionsView expects the absolute path of the comments without the portal url (e.g. ‘/plone/doc1/++conversation++default/1285346769126020’). This fixes http://dev.plone.org/plone/ticket/11156. [timo]
Use “(function($) { /* some code that uses $ */ })(jQuery)” instead of “$(document).ready(function(){ /* some code that uses $ */ });” to invoke jQuery code. [timo]
Finnish translation added. [saffe]
Italian translation updated. [keul]
1.0b7 (2010-09-15)
Captcha plugin support for collective.z3cform.norobots (version >= 1.1) added. [saffe]
Store dates in utc and not in local time. Display local time [do3cc]
Fetch context for the comment view with “context = aq_inner(self.context)”. [timo]
Raise an unauthorized error when authenticated users try to post a comment on a content object that has discussion disabled. Thanks to vincentfrentin for reporting this. [timo]
Czech translation added. [naro]
Clean up code with PyLint. [timo]
Make Javascripts pass JSLint validation. [timo]
Put email notification subscribers into their own zcml file so it is easier for integrators to override them. [timo]
Plain text and intelligent text options for comment text added to preserve basic text structure and to make links clickable. [timo]
Rewrote all tal:condition in comments.pt. The authenticated user has the reply button and the comment form if he has the “Reply to item” permission And the discussion is currently allowed. [vincentfretin]
1.0b6 (2010-08-24)
Fixed the case where a folder has allow_discussion=False and conversation.enabled() on a document in this folder returned False instead of True because of allow_discussion acquisition. [vincentfretin]
Redirect to the comment form action instead of the absolute URL when a comment is posted. This fixes the accidentally triggered file upload when a comment is posted on a file content object. [timo]
We need five:registerPackage to register the i18n folder. [vincentfretin]
Added Traditional Chinese (zh_TW) translation. [TsungWei Hu]
Added French translation. [vincentfretin]
Renamed legend_add_comment to label_add_comment to have the translation from plone domain. [vincentfretin]
label_comment_by and label_commented_at are not in Plone 4 translation anymore, so these two messages moved to plone.app.discussions i18n domain. [vincentfretin]
Translate “Warning” shown in @@moderate-comments in the plone domain. [vincentfretin]
Fixed i18n markup of message_moderation_disabled. [vincentfretin]
Catch Type errors in indexers if object can not be adapted to IDiscussion [do3cc]
Call the CaptchaValidator even when no captcha data was submitted. This is necessary to ensure that the collective.akismet validator is called when installed. [timo]
Spanish translation added. Thanks to Judith Sanleandro. [timo]
1.0b5 (2010-07-16)
Use self.form instead of CommentForm for the CommentsViewlet update method so integrators don’t have to override the viewlet’s update method. [matous]
Make sure the form fields in the reply form are always placed under the field labels. [timo]
Fix CSS overflow bug that occurs with the new Plone 4.0b5 comment styles. [timo]
Unnecessary imports and variables removed. [timo]
Added norwegian translation. [ggozad]
Protect against missing canonical in conversationCanonicalAdapterFactory. [hannosch]
Documentation for Captcha plugin architecture and email notification added. See http://packages.python.org/plone.app.discussion. [timo]
Use sphinx.plonetheme for plone.app.discussion documentation. [timo]
Avoid deprecation warning for the Globals package. [hannosch]
Remove the hard coded check for title and text when the comment form is submitted. This allows integrators to write schema extenders that remove the title from the comment form. [timo]
Move captcha registration to its own captcha.zcml file. [timo]
Akismet (http://akismet.com/) spam protection plugin (collective.akismet) support added. [timo]
Simplify the CaptchaValidator class by dynamically adapting a view with the name of the captcha plugin (e.g. recaptcha, captcha, akismet) for the validator. [timo]
Dutch translation added. [kcleong]
Enable caching and merging for comments.js to save some requests. [pelle]
Design notes for the Captcha plugin architecture added. [timo]
Make IDiscussionLayer inherit from Interface again. Remove IDefaultPloneLayer, since Plone 4.0b1 and plone.theme 2.0b1 are out now. [timo]
Clean up Javascript code. [timo]
Fix encoding error in migration procedure, otherwise migration procedure breaks on joining output list in case we have there any non-ascii characters. [piv]
plone.z3cform 0.6.0 compatibility (fix maximum recursion depth error which appears with plone.z3cform higher than 0.5.10). [piv]
Removed moderation.js from js registry and include it only in moderation.pt as that is the only place where it is used. [ggozad]
1.0b4 (2010-04-04)
New feature: As a moderator, I am notified when new comments require my attention. [timo]
Sphinx-based developer documentation added. See http://packages.python.org/plone.app.discussion. [timo]
Rename “Single State Workflow” to “Comment Single State Workflow”. [timo]
Rename ‘publish comment’ to ‘approve comment’. This fixes #1608470. [timo]
Show a warning in the moderation view if the moderation workflow is disabled. [timo]
Move ‘Moderate comments’ link from site actions to user actions. [timo]
Fix #662654: As an administrator, I can configure a Collection to show recent comments. Comment.Type() now correctly returns the FTI title (‘Comment’) [chaoflow]
German translation updated. [juh]
Fix #2419342: Fix untranslated published/deleted status messages. [timo]
Remove fixed width of the actions column of the moderation view. The translated button titles can differ in size from the English titles. [timo]
Fix #2494228: Remove comments as well when a content object is deleted. [timo]
Fix unicode error when non-ASCII characters are typed into the name field of a comment by anonymous users. [regebro]
Make p.a.d. work with the recent version of plone.z3cform (0.5.10) [timo]
Make p.a.d. styles less generic. This fixes #10253. [timo]
Added greek translation. [ggozad]
A bug in the moderator panel meant you couldn’t delete items in a virtual host, if your portal was named “plone”. [regebro]
1.0b3 (2010-01-28)
Added an i18n directory for messages in the plone domain and updated scripts to rebuild and sync it. [hannosch]
Added an optional conversationCanonicalAdapterFactory showing how to share comments across all translations with LinguaPlone, by storing and retrieving the conversation from the canonical object. [hannosch]
Play by the Plone 3.3+ rules and use the INavigationRoot as a base for the moderation view. [hannosch]
Added a commentTitle CSS class to the comment titles. [hannosch]
Update message ids to match their real text. [hannosch]
Set CSS classes for the comment form in the updateActions method. [timo]
Respect the allow_comments field on an object and avoid calculations if no comments should be shown. [hannosch]
Automatically load the ZCML files of the captcha widgets if they are installed. [hannosch]
Fixed i18n domain in GenericSetup profiles to be plone. Other values aren’t supported for GS profiles. [hannosch]
Provide our own copy of the default one state workflow. Not all Plone sites have this workflow installed. [hannosch]
Register the event subscribers for the correct interfaces in Plone 3. [hannosch]
Factored out subscriber declarations into its own ZCML file. [hannosch]
Bugfix for #2281226: Moderation View: Comments disappear when hitting the ‘Apply’ button without choosing a bulk action. [timo]
Allow to show the full text of a comment in the moderation view. [timo]
German translation added. [timo]
Italian translation added. [keul]
1.0b2 (2010-01-22)
Bugfix for #2010181: The name of a commenter who commented while not logged in should not appear as a link. [timo]
Bugfix for #2010078: Comments that await moderation are visually distinguished from published comments. [timo]
Bugfix for #2010085: Use object_provides instead of portal_type to query the catalog for comment. [timo]
Bugfix for #2010071: p.a.d. works with plone.z3cform 0.5.7 and plone.app.z3cform 0.4.9 now. [timo]
Bugfix for #1513398: Show “anonymous” when name field is empty in comment form. [timo]
Migration view: Dry run option added, abort transaction when something goes wrong during migration, be more verbose about errors. [timo]
1.0b1 (2009-12-08)
Fix redirect after a adding a comment [timo]
Replace yes/no widgets with check boxes in the discussion control panel [timo]
Make comments viewlet show up in Plone 4 [timo]
Apply Plone 4 styles to comment form [timo]
Simplify moderation view by removing the filters [timo]
1.0a2 (2009-10-18)
Plone 4 / Zope 2.12 support [timo]
Comment migration script added [timo]
Pluggable plone.z3cform comment forms [timo]
Captcha and ReCaptcha support added [timo]
1.0a1 (2009-06-07)
Basic commenting functionality and batch moderation. [timo]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.