Interactive Comments

    Contributors

    Views: 

     

    Introduction

    Commenting in MindTouch has not changed since 1.8.x. This spec aims to outline areas where comments can be improved to provide a better discussion forum for page content.

    Intended Audience

    Users who want to allow more advanced forms of discussion through the commenting engine. Large installations typically have corporate firewalls that block third-party solutions or do not want their information hosted by a third-party. Interactive comments would aim to provide a rich commenting experience without relying on third-party solutions.

    References

    (TODO)

    Status

    Active spec writing by Guerric and Damien.

    Questions & Concerns

    • @group
      • New notification implementation for interactive comments API to handle @replies
      • Activity streams need to allow @groups.
      • What if there is an ambiguity between @user and @group with the same name?
    • Adding hints for @ symbol usage instead of 'Attention:' user selection
      • simple individual tip to show example @ usage
      • 2nd iteration - facebook style dropdown hints
    • Outline reply use cases - specifically identifying what a user sees/inputs in order to reply to a comment
      • Specific User Experience

    Functional Specification

    Use Cases

    User wants to know the relevance of a comment
    • Along with the message is stored the revision number of the page that was commented on
    • Future viewers can get a quick link to the revision to see what has changed
    User wants to see recent comments (See Note.A)
    • Recent comments will be highlighted in a color to capture recent activity
    • (Optional) User can change the time window for results to highlight

    Commenting

    User wants to add a new comment
    • "Post new comment" button is visible above and below listed comments.
    • Clicking the button presents the user with a textarea above the comments display where they can compose a new comment.
    User wants to reply to a specific comment (See Note.B)
    • Next to the message there will be a place to click to reply
    • Reply textarea is displayed below and indented to the parent
    • Immediate parent is sent a notification regardless of @ references within the comment
    User wants to reference others in the comment
    • Text based UI hint instructs users on @ usage for groups and users.
    User wants to link to a resource
    • When text links are encountered in the comments, they are made active
    • External link is visible in the comment
    User wants information about another comment author (See Note.C)
    • Each author's name will link to their own user page
    • @usernames will get auto-linked to user pages
    • User gravatar images will be displayed

    User is anonymous or logged out

    Anonymous commenting is disabled (See Note.D)
    • "Post new comment" and reply links redirect the user to login with a message saying they must be logged in to comment
    • After login, user jumps to the comment they wanted to reply to or the top of comments if they were posting new (via #anchors)
    Anonymous commenting is enabled
    • Selecting "Post new comment" or reply displays a textarea along with a captcha required for posting.
    • (Optional) Username field is presented to allow the user to use an alternate display name.

    Implementation Notes

    A. User wants to see recent comments

    Recent comments are defined by the following criteria:

    • Last thread activity date (for the entire thread) OR Last page revision date - XDAYS
    • Results set size is limited via MAXCOMMENTS

    Configurable

    • XDAYS - number of days in the past to restrict the result set to. Setting to "0" will disable this filtering.
    • MAXCOMMENTS - maximum number of comments to display
    B. User wants to reply to a specific comment

    Immediate parent is only notified instead of the entire thread since users can subscribe to page notifications to discover when comments are added regardless of thread. By only notifying the immediate parent, notification spam is reduce. If others users are to be circled in on the conversation then @ replies can be used to expand the conversation.

    Configurable

    • MAXDEPTH - restricts the comment reply depth; has UI implications. Larger values than 5 will require special UI handling.
    C. User wants information about another comment author

    Configurable

    • USEGRAVATAR - enables/disabled gravatars
    D. Anonymous commenting is disabled

    Configurable

    • ALLOWANONYMOUS - enables/disables anonymous commenting
    • USECAPTCHA - when anonymous commenting is enabled, this option forces a captcha for commenting

    Future Considerations

    • Mass Moderation - delete & edit multiple comments
    • Recent Activity Highlighting - add a highlight visual to the top 10/20 comments.
    • Link the @username references
    • @username autocomplete menu when composing a comment (username/group search assist)
    • Add Link Button - Open up link dialog to allow linking to MindTouch pages/files
    • Clean Dates - Make dates/times more legible
    • Allow unregistered users to comment via captcha
    • Add comment flag, http://bugs.developer.mindtouch.com/view.php?id=4123

    Non-goals

    • Interactive comments will not attempt to duplicate all functionality from third-party solutions. It will aim to find a clean medium between functionality and features.

    Technical Specification

    UI requirements

    API requirements

     

    Tag page

    Files 6

    FileVersionSizeModified 
    Viewing 3 of 3 comments: view all
    I've done something similar here:
    http://developer.mindtouch.com/App_Catalog/Advanced_Comments edited 13:47, 30 Oct 2009
    Posted 06:05, 26 Oct 2009
    Flagging comment as spam and banning user. Comment liking. User reputation affected by comment participation. But mostly flagging spam.
    Posted 20:38, 6 Aug 2010
    Well done
    Posted 22:42, 2 Feb 2011
    Viewing 3 of 3 comments: view all
    You must login to post a comment.

    Copyright © 2011 MindTouch, Inc. Powered by