Comment
Comment Plugin lets users quickly post comments to a page without an edit/preview/save cycle.
Tags:
Features
Inserts an edit box into the page that allows users to type in and save comments. Comments can be made
- in different formats (as defined by a template),
- in both forward and reverse chronological order,
- signed or unsigned, dated or undated (as defined by a template),
- in other topics, or other positions within the current topic.
Syntax Rules
Write the command
%COMMENT{ attributes }% anywhere in a TWiki topic.
%COMMENT% is also legal.
The following attributes are recognized (see also
additional attributes):
| Name |
Description |
type |
This is the name of the template to use for this comment. If this attribute is not defined, the type is whatever is defined by COMMENTPLUGIN_DEFAULT_TYPE, either in this topic or in your WebPreferences. By default this is 'below'. |
default |
Default text to put into the textarea of the prompt. |
target |
Name of the topic to add the comment to. Defaults to the current topic. |
location |
Regular expression specifying the comment location in the target topic. Read carefully below! |
mode |
For compatability with older versions only, synonymous with type |
nonotify |
Set to "on" to disable change notification for target topics |
noform |
Set to "on" to disable the automatic form that encloses your comment block - remember to insert <form> tags yourself! See CommentPluginExamples#noform for an example. |
nopost |
Set to "on" to disable insertion of the posted text into the topic. |
remove |
Set to "on" to remove the comment prompt after the first time it is clicked. |
button |
Button label text; by default Add comment. |
Positioning the comment
%COMMENT supports several ways to specify
where a comment should be inserted in the target topic. This is referred to as the
location of the comment.
Location relative to %COMMENT tag
The default
location is the
%COMMENT tag itself. For example:
%COMMENT{type="below"}%
will add comments in the current topic, directly below the
%COMMENT tag.
Location relative to a TWiki anchor
The
target attribute may specify a web, and may also specify an anchor within the target topic; for example,
%COMMENT{type="above" target="%MAINWEB%.PersonalRemarks#InsertHere"}%
This uses a standard TWiki in-topic anchor as the insertion location. See
TextFormattingRules for more about TWiki anchors.
Location relative to an arbitrary text string
Getting more sophisticated, you can also specify a regular expression for the target location using the
location parameter. The target topic is searched for the regular expression, and the comment inserted relative to the string that the search matched. For example,
%COMMENT{type="above" location="Flights of Fancy"}%
will place comments above the first occurrence of the string
Flights of Fancy in the current topic.
Warning of course, if a user's comment contains the string "Flights of Fancy" they may and up
changing the location for the next comment! Also, if you use a tag in the location, then you've just inserted another tag in the page that contains the
%COMMENT! So be very careful how you specify the RE for
location. Note that the RE is matched using perl "multiple line" mode, so ^ and $ match the start of a line and the end of a line respectively.
I look forward to someone leveraging this feature to create - for example - threaded conversations using
%COMMENT.
If you specify an anchor
and a
location, the anchor will be ignored.
Default templates
Templates are used to define the "comment style" i.e. how comments appear in the page. The default is to add comments in "Blog like" style using bulleted lists, with the most recent comment at the top, but many other styles are available such as tables or Wiki thread mode comments. It is easy to define your own customer styles as well.
A set of default comment templates are shipped with the plugin. These are:
| Template type |
Description |
top |
Comments, signed and dated (server time), added at top of the topic (the anchor is ignored) |
bottom |
Comments, signed and dated (server time), added at end of the target topic (the anchor is ignored) |
above |
Comments, signed and dated (server time), added immediately before the target anchor, or the %COMMENT if no anchor is specified |
below |
Comments, signed and dated (server time), added immediately below the target anchor, or the %COMMENT if no anchor is specified |
threadmode |
Wiki thread mode comment, signed and dated (server time) |
tableprepend |
Comments, signed and dated (server time), formatted as an HTML table row, added below the anchor (which must be in an HTML <table>) |
tableappend |
Comments, signed and dated (server time), formatted as an HTML table row, added above the anchor (which must be in an HTML <table>) |
Providing attribute values
If an attribute is given to the
%COMMENT tag that is not one of the
standard attributes, then that attribute is taken as the name of a parameter to be expanded in the
PROMPT template. Expressions in the template of the form
%param|default% (e.g.
%rows|3%,
%button|Push me%) are expanded to the values given in the
%COMMENT. For example, if the
PROMPT template 'example' contains:
<textarea rows=%rows|3% cols="%cols|50%" value="%tval|Rubbish%">
and the %COMMENT tag is:
%COMMENT{type="example" cols="75"}%
then the template will be expanded as
<textarea rows="3" cols="75" value="Rubbish">
Special variables
As well as support for all the usual TWiki variables in templates, the following special variables are supported in the
PROMPT definition:
| Variable |
Description |
%DISABLED% |
Set to 'disabled' when you cannot comment (e.g. in preview mode). |
%MESSAGE% |
The text specified by default. This may be overridden by a helpful message when the prompt is DISABLED. |
This Topic Is Referenced By These Topics:
Related Links: HelpIndex
Was This Topic Useful to You?
Others rated this topic as shown. Please include your rating.
--
JimCrum - 20 Feb 2008