Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

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:

  1. Admin: Administrator of a discussion forum.

  2. Moderator: Lesser privileges than admin, and can moderate behaviour in a forum.

  3. Member: Lesser privilege than moderator, usually restricted to creating/editing posts.

  4. Visitor: Lesser privilege than a member, usually restricted to seeing conversations within a forum but not adding to it.

  5. Forum: An area dedicated to interaction between people.

  6. Sub-forum: A section within a forum, for organized communication amongst people (E.g. General, Tech, Fun etc.)

  7. Discussion: An activity that can be initiated inside a sub-forum or a forum (if there are zero sub-forums).

  8. Post: An element for starting a discussion or replying to it.

  9. Comment: A time-series trail of responses to any post.

User flow (only for MVP)

  1. Go to a specific URL (e.g. https://www.sunbird.org/discussions/abc123 ). Each URL is a separate forum space, therefore membership to one URL is not sufficient to see all other forums from other URLs.

  2. Based on user profile:

    1. If not logged in, user is prompted to sign-in.

    2. If logged in, and user is not authenticated to see this forum, a wall saying “Please request authorities for access to this forum”. There should also be a button that user can tap to ‘request access’.

    3. If logged in and access is enabled for this profile, user can see the discussion forum. Otherwise, user should not be able to see the discussion forum.

  3. Admin capabilities:

    1. Assign/remove moderator

    2. Delete a discussion, post or comment

    3. + All abilities of moderator + member

  4. Moderator capabilities:

    1. Invite/remove user

    2. See a list of users who are awaiting approval to join forum

      1. There should be an option to accept all or reject all.

      2. There should be the list of individual users, with the options to accept or reject. Each user should be accompanied with whether this is a verified state user, which state and block they belong to (and which school they belong to).

    3. Archive a discussion, post or comment (equivalent to acting on a flag/report)

    4. See list of reported posts:

      1. Options should be available to ‘hide <discussion/post/comment>' or ‘allow’.

    5. Block / ban users [akin to not allowing membership, posts, comments or votes]

    6. + all abilities of member

  5. Member capabilities (based on permissions above):

    1. Initiate a discussion

    2. Initiate a discussion anonymously (if so, the role and district of the user should be visible, e.g. Teacher, Guntur district).

    3. Reply as a post to a discussion

    4. Delete own discussion or post

    5. Upvote/downvote a discussion, post or comment

    6. Sort posts in a discussion by newest / top-voted(default)

    7. Sort discussions by newest / recently updated / top-voted.

  6. User interface:

    1. Allow sorting (globally across categories) based on popular (default) / new. On opening a particular category, the user can see sort options here also - popular (default) / new.

    2. Each category should be opened up for limited viewing (Upto 5 posts), with a view more button below.

    3. Order of categories should be customizable by the admin.

NFRs

  1. Mobile-responsive view

  2. Has to load within 5 seconds.

Potential other capabilities to be handled in later phase

User flow (later phases)

  1. Admin > Set permissions for user activity (for moderators and users separately, no outsiders for now):

    1. Create discussion

    2. Delete own post

    3. Comment on post

    4. Upvote/downvote post

    5. Report a post

    6. Mark post as favourite/starred

    7. Archive others' post

    8. Delete others' post

    9. Invite user

    10. Remove user

    11. Create subforum/channel

  2. Admin > Set permissions for user activity:

    1. React to post (Like, celebrate, sad, angry etc.)

    2. Mark post to follow/watch it (or unfollow/unwatch it

    3. Silence user (no new posts/comments until further notice)

    4. Silence moderator (no moderator activity until further notice)

  3. Moderator > Capabilities:

    1. Flag/report a discussion/post with accompanying reason

    2. Close a discussion (no further discussion or comments within that)

    3. Bulk upload a list of users to be added into the group.

  4. User > Capabilities:

    1. If originator of discussion, mark a particular post as pinned (Best answer/takeaway).

    2. Flag/report a discussion/post with accompanying reason.

    3. If originator of discussion, mark it as closed (no further posts or comments).

    4. Edit post (no history needed, just an ‘edited’ text near it)

    5. Keep an eye on discussions they were interacting with / following / starred.

  5. Users should be able to follow other users’ activity.

  6. Users should be able to search for some text across the forum.

  • No labels