plone.app.discussion/docs/source/workflow.txt

65 lines
2.1 KiB
Plaintext

=================
Comment Workflows
=================
This document describes the plone.app.discussion comment permissions and
workflows.
Introduction
============
plone.app.discussion tries to use the default Plone permission and workflow
engine as much as possible. plone.app.discussion ships with a simple one-state
workflow and a review workflow for comments:
1) **Comment Single State Workflow**:
Essentially a workflow with no transitions, but it has a published state,
so portlets and applications that expect that state will continue to work.
2) **Comment Review Workflow**: A simple review workflow for comments
A simple review workflow that comes with two states (pending and published)
and a single transition (publish).
The 'pending' state is the initial state. 'published' is the state where the
comment is visible to everyone and non-editable.
The 'publish' transition is protected by the 'Review comments' permission.
::
* --> [pending] -- {publish} --> [published]--> *
.. note:: For a general introduction to workflows in Plone see:
http://plone.org/documentation/kb/creating-workflows-in-plone/
Custom comment workflow
=======================
You can create and enable any custom workflow on the "comment" content type.
Though, there are some special hooks in plone.app.discussion that check if the
workflow that is enabled for the "comment" content type has a 'pending' state in
order to do the following things:
1) A portal message will be shown to the user after posting a comment, if
the comment just entered the 'pending' state.
2) A message is shown to the user if he/she accesses the bulk moderation view
and workflow is enabled for comments that does not implement a 'pending'
state.
3) A moderator will only be emailed when comment moderation is enabled in the
discussion control panel and the comment workflow contains a 'pending'
state.
Permissions
===========
"Review comments" permission, by default "Manager" and "Reviewer"
"Reply to item" permission, by default "Manager" and "Member"