Brief
To build a basic functioning version of a discussion forum, so we can experience it and understand potential capabilities/limitations of the implementation.
Terms
For the sake of clarity, here are the terms we’ll use:
Admin: Administrator of a discussion forum.
Moderator: Lesser privileges than admin, and can moderate behaviour in a forum.
Member: Lesser privilege than moderator, usually restricted to creating/editing posts.
Visitor: Lesser privilege than a member, usually restricted to seeing conversations within a forum but not adding to it.
Forum: An area dedicated to interaction between people.
Sub-forum: A section within a forum, for organized communication amongst people (E.g. General, Tech, Fun etc.)
Discussion: An activity that can be initiated inside a sub-forum or a forum (if there are zero sub-forums).
Post: An element for starting a discussion or replying to it.
Comment: A time-series trail of responses to any post.
User flow (only for MVP)
Go to a specific URL (e.g. https://discussions.sunbird.org/abc123 )
Based on user profile:
If not logged in, user is prompted to sign-in.
If logged in, and user is not authenticated to see this forum, a wall saying “Please request authorities for access to this forum.”
If logged in and access is enabled for this profile, user can see the discussion forum.
Admin capabilities:
Assign moderator
Invite user
Remove user
Set permissions for user activity (for moderators and users separately, no outsiders for now):
Create discussion
Delete own post
Comment on post
Upvote/downvote post
Report a post
Mark post as favourite/starred
Archive others' post
Delete others' post
Invite user
Remove user
Create subforum/channel
Regular user capabilities (based on permissions above):
Initiate a discussion
Potential other capabilities to be handled in later phase
User flow (later phases)
Admin > Set permissions for user activity:
React to post (Like, celebrate, sad, angry etc.)
Mark post to follow/watch it (or unfollow/unwatch it
Silence user (no new posts/comments until further notice)
Silence moderator (no moderator activity until further notice)
Users should be able to follow other users’ activity.
Users should be able to search for some text across the forum.