#9288: Improved commenting infrastructure ----------------------------+----------------------------------------------- Reporter: timo | Owner: timo Type: PLIP | Status: new Priority: minor | Milestone: 4.0 Component: Infrastructure | Resolution: Keywords: | ----------------------------+----------------------------------------------- Description changed by timo:
Old description: > A proposal for an improved commenting infrastructure for Plone. > > == Contents == > > 1. Motivation > 2. Proposal > 3. Implementation > 4. Deliverables > 5. Risks > 6. Progress Log > 7. Participants > > == Motivation == > > The current Plone discussion framework is very basic and lacks > functionality that is common in many Content Management Systems and blogs > these days. Hence, third party developers feel the need to write their > own commenting framework (e.g. qPloneComments and iqpp.plone.commenting). > This leads to two major drawbacks. First, the comments are inconsistent > within a single Plone site and second, the same administrative works as > do be done twice. > > The motivation for this PLIP is to provide an easy to use and adjustable > comment system using the existing services of Plone. Additionally to > provide the possibility to re-use the commenting framework for third > party products (e.g., if a developers feels the need for independent > options for their product). > > In addition to the main goal, there are requirements for a state-of-the- > art comment system. The Wordpress system may be used as an example and > gives guidelines for a new system: > > * Moderation: It should be possible to enable moderation so that > every comment has to be reviewed before publishing. > * E-Mail notification: It should be possible to enable a confirmation > email to be sent to the commenter to confirm the comment. > * Captcha Support: Captchas or math questions should be supported and > should be an option, e.g. "1+1 = 2" > * Spam Protection: Akismet and other means of identifying spam should > be supported. > * Mass Editing Screens: Like in Wordpress, views for handling all > comments of a subtree are useful to moderate comments or check their spam > state. > * Configurable Commenting Forms: It should be possible to decide > which fields do actually show up in the form. > * Extensibility: It should be possible for components to extend the > comment form and the comment handling/workflow. An example is a plug-in > which allows commenters to subscribe to further comments via email. > > == Proposal == > > As part of the Google Summer of Code 2009, Timo Stollenwerk (with Martin > Aspeli as mentor) is developing a new commenting package. Martin set up > the basic commenting infrastructure and made the basic design decisions > for a zope3ish commenting framework (forms, views, adapters) which can be > used by any content type. > > == Implementation == > > The plone.app.discussion package already has been created with the > following > [http://svn.plone.org/svn/plone/plone.app.discussion/trunk/plone/app/discussion/PRINCIPLES.txt > architectural principles]: > > * Discussion items have a portal_type > * Discussion items are cataloged > * Discussion items are subject to workflow and permissions > * Discussion items are light weight objects > * Optimise for retrieval speed > * Settings are stored in plone.registry > * Forms are constructed using extensible z3c.form forms > * Discussion items are stored in a BTree container > * Discussion items are accessed using a dict-like interface > * Discussion items are retrieved in reverse creation date order > * Discussion items do not need readable ids > * Discussion items send events > > == Deliverables == > > The basic commenting infrastructure is already in place. On August 24th, > when Google Summer of Code ends, the plone.app.discussion package will be > in a state that it can replace the current Plone commenting system. This > doesn't necessarily mean that the system will be feature complete, but > that the package will provide the basic features for a state-of-the-art > commenting system This means, it is well tested and well documented, and > migration of existing comments is possible. > > == Risks == > > * Already existing comments have to be migrated without restrictions. > * There might arise conflicts with other, already installed > commenting packages. Thus we have to look at these and make them work. > > == Progress log == > > We set up a story-based project planning tool, to manage the project and > to track the progress: http://www.pivotaltracker.com/projects/15135 > > * GSoC started (2009-04-23) > * Basic commenting infrastructure is in place (2009-05-13) > > == Participants == > > * Timo Stollenwerk > * Martin Aspeli > * Jon Stahl ??? > * David Glick ??? > * Lennart Regebro ??? New description: A proposal for an improved commenting infrastructure for Plone. == Contents == 1. Motivation 2. Proposal 3. Implementation 4. Deliverables 5. Risks 6. Progress Log 7. Participants == Motivation == The current Plone discussion framework is very basic and lacks functionality that is common in many Content Management Systems and blogs these days. Hence, third party developers feel the need to write their own commenting framework (e.g. qPloneComments and iqpp.plone.commenting). This leads to two major drawbacks. First, the comments are inconsistent within a single Plone site and second, the same administrative works as do be done twice. The motivation for this PLIP is to provide an easy to use and adjustable comment system using the existing services of Plone. Additionally to provide the possibility to re-use the commenting framework for third party products (e.g., if a developers feels the need for independent options for their product). In addition to the main goal, there are requirements for a state-of-the- art comment system. The Wordpress system may be used as an example and gives guidelines for a new system: * Moderation: It should be possible to enable moderation so that every comment has to be reviewed before publishing. * E-Mail notification: It should be possible to enable a confirmation email to be sent to the commenter to confirm the comment. * Captcha Support: Captchas or math questions should be supported and should be an option, e.g. "1+1 = 2" * Spam Protection: Akismet and other means of identifying spam should be supported. * Mass Editing Screens: Like in Wordpress, views for handling all comments of a subtree are useful to moderate comments or check their spam state. * Configurable Commenting Forms: It should be possible to decide which fields do actually show up in the form. * Extensibility: It should be possible for components to extend the comment form and the comment handling/workflow. An example is a plug-in which allows commenters to subscribe to further comments via email. == Proposal == As part of the Google Summer of Code 2009, Timo Stollenwerk (with Martin Aspeli as mentor) is developing a new commenting package. Martin set up the basic commenting infrastructure and made the basic design decisions for a zope3ish commenting framework (forms, views, adapters) which can be used by any content type. == Implementation == The plone.app.discussion package already has been created with the following [http://svn.plone.org/svn/plone/plone.app.discussion/trunk/plone/app/discussion/PRINCIPLES.txt architectural principles]: * Discussion items have a portal_type * Discussion items are cataloged * Discussion items are subject to workflow and permissions * Discussion items are light weight objects * Optimise for retrieval speed * Settings are stored in plone.registry * Forms are constructed using extensible z3c.form forms * Discussion items are stored in a BTree container * Discussion items are accessed using a dict-like interface * Discussion items are retrieved in reverse creation date order * Discussion items do not need readable ids * Discussion items send events == Deliverables == The basic commenting infrastructure is already in place. On August 24th, when Google Summer of Code ends, the plone.app.discussion package will be in a state that it can replace the current Plone commenting system. This doesn't necessarily mean that the system will be feature complete, but that the package will provide the basic features for a state-of-the-art commenting system This means, it is well tested and well documented, and migration of existing comments is possible. == Risks == * Already existing comments have to be migrated without restrictions. * There might arise conflicts with other, already installed commenting packages. Thus we have to look at these and make them work. == Progress log == We set up a story-based project planning tool, to manage the project and to track the progress: http://www.pivotaltracker.com/projects/15135 * GSoC started (2009-04-23) * Basic commenting infrastructure is in place (2009-05-13) * First alpha release 1.0a1 (2009-06-07) == Participants == * Timo Stollenwerk * Martin Aspeli * Jon Stahl ??? * David Glick ??? * Lennart Regebro ??? -- -- Ticket URL: <http://dev.plone.org/plone/ticket/9288#comment:19> Plone <http://plone.org> Plone Content Management System
_______________________________________________ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories