Discussion Forum Needs
TODO: These should probably be re-expressed as user stories.
The ideal discussion forum needs the following features.
Whether Open edX Palm currently meets these requirements is denoted by a ✅ or ❌ for visibility.
To define areas of the discussion to post into, called Topics in Open edX (and we shouldn’t fundamentally change discussion terminology between versions) ✅
To allow users to post discussion threads (posts in Open edX) ✅
To allow users to respond to those posts, and to reply to each other (responses and comments in Open edX) ✅
Moderation features to allow staff to:
Restrict who can post into a topic ❌
Lock posts so that a conversation ends, or does not start unnecessarily ✅
Edit/Delete all elements (topics, posts, responses, comments) ✅
Set pins, to allow posts to be highlighted to users ✅
Move discussions from one topic to another ✅
Split discussion responses into their own threads when the conversation diverges ❌
Manage problematic content flagged by learners ✅
See posts in cohorts they are assigned to ❌
See posts in each/all cohorts ✅
Post to specific other cohorts ✅
Ban users from participating in discussions ❌
Highlighting of staff-endorsed content ✅
The ability to ask questions and select answers (a la Stack Overflow) ✅
Post following, to ensure new activity in interesting discussions is easy to find ❌
User following, to be notified and easily find content from users of note (such as staff) ❌
Email and/or in-app notifications for new activity in followed posts ✅
Summary emails of activity since the user’s last visit to promote engagement ❌✅
Search and filtering functionality to find posts ✅
Auto-moderation to define things like banned words, spam filters, and automated actions to take when a discussion is posted (such as automatically responding to let a learner know there’s a problem with their post) ❌
Auto-locking to prevent threads from being resurrected after a period of time has passed ✅
Protection from “flooding”, preventing an individual learner from posting to the same discussion thread repeatedly in a short time span ❌
“Liking” to allow learners to express their support for a comment ✅
“Disliking” to allow learners to disagree with a comment or signal that an answer may be incorrect without having to respond directly and potentially start an argument ❌
Mobile-friendly display and interface ✅
Mobile push notifications ❌
Social media integrations to make it easy to share posts publicly ❌
Analytics dashboards to break down and present dashboards and data on discussion usage ❌
Anonymous discussion and response posting ✅
Time-bound anonymity, hiding identities until the discussion has picked up, removing potential poster bias ❌
Anonymity bypass for staff to optionally be able to see who has posted anonymously ✅
“Competition mode”, where likes are hidden until a certain time passes, and responses are sorted randomly ❌
Emoji-based post reactions ❌
Contextualised inline discussion embedding to integrate discussion into learning ✅
Discussion instructions integrated with the discussion to direct posts towards a specific task or activity ❌
Grade awardable by staff for discussion participation ❌
Due dates for graded discussion participation ❌
Automated discussion participation grading based on posting, responding, commenting, liking, and being liked by others ❌
Permalinking - Providing an easily accessible link for each post and reply ❌
File attachments for learners to share files from a restricted list of types ❌
Word counts, for learners to see how many words they have written (for assignments such as “Share at least 150 words on your favourite cheese”) ❌
Lock dates, for when a discussion will no longer accept responses ❌
Blackout dates, for when discussions cannot be used, for things like exam periods ❌
Automated accessibility checking and issue flagging for learner submitted content (such as “You’ve shared an image which does not have alternative descriptive text”) ❌
Post read/unread status tracking for learners to see when there are new posts ✅
Manual control to mark posts read/unread for later ❌
Access to deleted replies for staff to review malicious activity or recover accidental loss ❌
Support for much smaller collaborative group discussions ✅
Support for feeding out discussion posts as an RSS feed ❌
“Post before viewing” - a setting to require learners to make a substantive post before they are allowed to see the responses of other learners ❌
Draft saving and copying for staff to pre-prepare learner messages ❌
Pre-scheduled messages included in future course runs to send the same announcements to discussions at the same point in the course ❌