Forum configuration
Page under construction!
Background and rationale
These are notes on the configuration of commenting in MoinMoin. Our goal is to implement a distributed commenting system, allowing both online and offline users to write comments that will be organized in the form of a linear discussion. Although it is possible to organize discussions using the "supplementation" feature of MoinMoin (which resembles Wikipedia "talk" pages), this implementation is awkward since comments are both written and edited at the level of the entire thread, which can create confusion for users. The preferred solution here is to use a system of subpages, in which each intervention is a single page; these are organized and listed using the "include" macro. This setup presents the following advantages:
- The author is presented with a clean textarea to write in.
- Individual comments can be referenced by distinct URIs.
It is possible to protect comments using ACL so that only the original authors--or groups--can edit them.
- We already have the built-in facilities for this (new page and include macros).
- Unlike plugin systems, all content is directly integrated into the wiki storage system--making it accessible for search, synchronization, and other functions.
One issue to consider is what to do about signing posts. The built-in mechanism is for conributors to insert -- EricThrift <<DateTime(2012-01-10T15:53:41Z)>> at the end of the comment; this can be inserted through a template, but is still not user-friendly, as users may accidentally delete the signature or else insert their comment below it. The solution adopted here is to embed the username and timestamp in the title of the comment subpage itself, and to parse those elements within the macro called by the supplementation action.
MoinMoin - supplementation - presents a list of forum posts (comments) related to the current page, with a button allowing the user to submit a new comment. The idea is that to create a new discussion or thread, we will want to create a framing document first--which can have associated media attachments--and all comments will be stored as timestamp-labelled subpages. This is somewhat different from the standard "supplementation" feature, insofar as comments are stored and listed separately rather than on a single page. We have separated the commenting functions into two actions: (1) supplementation, which lists related comments, and (2) PostComment. There is also (3) a revised "include" macro that automatically includes authors' signatures.
Forum layout
My overall preference is to maintain commentary on specific topics, rather than in reference to specific resources (the wiki default). If someone wants to begin a discussion on a specific resource or set of resources, it might be better to create a special discussion page that is under the main hierarchy. This allows us to have discussions that are at a somewhat higher level of abstraction than responses to individual documents, although they can focus on specific documents if necessary (references to a given document will be locatable via backlinks).
For example, we can have:
MonArcForum : Top-level directory of forum topics (threads); includes a form to start discussion on a new topic.
MonArcForum/TopicName : a main page that outlines the terms of the discussion and summarizes current activity (i.e., a "sticky" page, or FAQ). This can include an e-mail subscription link.
MonArcForum/TopicName/Discussion : a view of all the contributions to the discussion (if this gets long it can be manually broken into an archive). Includes a "create comment" button.
MonArcForum/TopicName/Discussion/nnnnnnnnnnn : Individual comments.
MonArcForum/TopicName/Attachments : ??? Normally we will want to reference primary documents that are present elsewhere in the site.
Alternatively we could just keep everything under MonArcForum/TopicName rather than in a "Discussion" subpage; the basic info could be presented in the initial post and edited as required.
What we need to develop next is a main forum page that lists:
- all of the immediate subpages as topics
- the number of items in each topic discussion (i.e., sub-subpage count)
- the date of the most recent post
- the number of "unread" posts

![[?]](/web.cgi/moin_static193/mandal/img/moin-help.png)