Our Ruby on Rails debating web site needs a better comments system. The main features required are: Flag, Applaud (ie award karma), Reply, Quote, Fork and Create New Point. Some text formatting will be allowed and a spell-check feature would be nice.
## Deliverables
The project is to create a comments system which will bolt-on to our site at
[[login to view URL]][1]. The layout for this comments system can be found here: <[login to view URL]> and its specifications are detailed below.
a) Each debate has its own comments section and is created automatically whenever someone creates a new debate. The first point a user enters on the debate will be the first point that appears in the comment (see 1. on the layout). The description they place under the point appears as the first comment under the first point (see the site for examples of debate layout).
b) Any time a new point is added to the debate a new point is also automatically created in the comments section, the substantiation for the point on the main debate becomes the first comment (see 2. on the layout)
c) Next to each comment are six buttons ??"
Flag
Sends an email to <abuse@[login to view URL]> (after user has clicked a confirmation pop-over)
Applaud
When clicked the comment is awarded an additional point, totals are displayed on the comment itself ??" NB the totals are not shown on the layout
Reply
All comments appear in sequential order. However, if someone replies to a specific comment this fact is indicated in the bottom right corner of their comment, and a link is generated back to that comment (see comments #2, #3 and #4)
Quote
Allows a portion of that comment to be quoted in the respondent’s post, with a link back to that comment (no example of this is shown on the layout, please wrap in div tags for styling this end)
Fork
Allows a new discussion to be formed from this point. Forked points appear at the bottom of all existing points but are marked “Forked from:…?? with a link back to the original point. **DO NOT CREATE AT THIS POINT, but ensure the facility will be possible later**
New point
Allows an entirely new point to be formed. New points appear at the bottom of all existing points
d) Comment order
As detailed above, comments appear in sequential order. However, replies appear in the right or left column according to whether people agree or disagree. We determine whether people agree or disagree by asking them to tick a radio button on the comment form. This will be a required field.
e) Each comment has the time posted, username of poster, their karma score and number of applauds (not shown on layout)
f) Only registered users can comment, applaud or start new points. If they click on these and are not logged-in a pop-over invites them to log-in or register (already created)
Note:
* There is no problem modifying an existing Rails discussion gem, provided it can be customised to fit the above requirements