[[!template id=plugin name=comments author="[[Simon_McVittie|smcv]]"]]
[[!tag type/useful]]
This plugin adds "blog-style" comments. Unlike the wiki-style freeform
Discussion pages, these comments are posted by a simple form, cannot later
be edited, and rss/atom feeds are provided of each page's comments.
When using this plugin, you should also enable [[htmlscrubber]] and either
[[htmltidy]] or [[htmlbalance]]. Directives are filtered out by default, to
avoid commenters slowing down the wiki by causing time-consuming
processing. As long as the recommended plugins are enabled, comment
authorship should hopefully be unforgeable by CGI users.
The intention is that on a non-wiki site (like a blog) you can lock all
pages for admin-only access, then allow otherwise unprivileged (or perhaps
even anonymous) users to comment on posts. See the documentation of the
[[lockedit]] and [[anonok]] pages for details on locking down a wiki so
users can only post comments.
Individual comments are stored as internal-use pages named something like
page/comment_1 , page/comment_2 , etc. These pages internally use a
\[[!_comment]] [[ikiwiki/directive]].
There are some global options for the setup file:
comments_shown_pagespec : pages where comments will be displayed inline,
e.g. blog/* or !*/discussion .
comments_open_pagespec : pages where new comments can be posted, e.g.
blog/* and created_after(close_old_comments) or !*/discussion
comments_pagename : if this is e.g. comment_ (the default), then
comment pages will be named something like page/comment_12
comments_allowdirectives : if true (default false), comments may
contain IkiWiki [[directives|ikiwiki/directive]]
comments_commit : if true (default true), comments will be committed to
the version control system
comments_allowauthor : if true (default false), anonymous commenters may
specify a name for themselves, and the [[!meta author]] and
[[!meta authorurl]] directives will not be overridden by the comments
plugin
Known issues:
- Needs code review
- The access control via postcomment() is rather strange (see [[discussion]] for more details)
- There is some common code cargo-culted from other plugins (notably inline and editpage) which
should probably be shared
- Joey doesn't think it should necessarily use internal pages (see [[discussion]])
- Previews always say "unknown IP address"
- Add
COMMENTOPENID : the authenticated/verified user name, if and only if it was an OpenID
- The default template should have a (?) icon next to unauthenticated users (with the IP address
as title) and an OpenID icon next to OpenIDs
|