Description
A module that provides flexible discussion forum software for at least two of the projects.
Requirements
Must allow threads to be started by an email (see YourConstituencyMailingList) (I think this is best done as a special case for YCML, actually - CL)
Must conform to good practice on the visual design and intuitive features of successful forums.
Must allow email subscription for those who want it (i.e interaction with EvEl)
Must implement 'BBC style' reactive moderation.
Must allow for creation of volunteer moderators.
Must allow threads to be given multiple categories (CatCon)
Must contain anti-spam and anti-trolling measures.
Must be searchable
Questions/comments
Threaded (a la Slashdot, USENET etc.) or flat? Joel Spolsky has an interesting
rant on this subject; he argues that "threaded" conversations are natural for programmers but not for "normal people". TBH I think this is basically a question of how long the conversations are going to be. Obviously if we have the facility for threaded conversations, we can display them in "flat mode" in any case. Most of the technical challenges here will be on the moderation/anti-spam side; the actual implementation of chatrooms isn't difficult....
Do we want a spelling checker?
What sort of formatting should we allow? There's a usability/usefulness tradeoff, obviously. Possibilities:
DowningStreetSays allows nothing, but URLs are turned into links;
TheyWorkForYou allows <b> and <i>; typical "Movable Type" web logs allow a variety of HTML, as configured by the user, but aren't very good at enforcing validity;
there are some web log comments systems which use made-up markup (e.g. with square brackets) rather than HTML;
my web log comments script (code free but not released) lets you have any logical markup, and munges whatever the user enters into something which is valid, though it may ignore tags they've entered during this step;
LiveJournal seems to allow pretty much anything, but I'm not sure how it enforces valid HTML.
Should commenters be in a user database (LogIn)?
- CL
