NodeBB for Discussions in Sunbird
Groups
Global Admins - can do everything…
Global Moderators - moderators for all categories
Org Admins
group for all admins of tenants in Sunbird
view groups and create groups
Org Level Groups
<org>_members - e.g.: “MH Group”
share the group link via whatsapp with MH teachers
MH teachers will request to join
MH Group admin will accept it
<org>_moderators - e.g: “MH Moderators“
for moderating the MH forum
Categories
One category (forum) per org
<org>_moderators have moderation rights
<org>_members have access to create topics & posts
One general category per instance
all registered users have access to create topics & posts
global admins & global moderators have moderation rights
Sub-Categories
For subjects within a tenant or for courses within a tenant..
possible to have the same group moderating all sub-categories
Use Cases
One Forum for each tenant - with a set of moderators and users
Multiple sub-forums for each tenant
e.g.: “Physics” subject forum under NCERT
e.g.: “Course - 1” forum a specific course being run by Maharashtra
Independent Forums (not for MVP):
e.g. for Sunbird Groups: equivalent group and category in NodeBB..
Telemetry
Hooks
Dashboards
Show it in Sunbird portal
API
All above scenarios should be possible via API
Horizontal Scalability
Docker deployment in Kubernetes
Database: Supports both redis and mongo clusters
Working Notes
From Pramod’s email:
Functional
Tenant level isolation of forums and control
"forums-->sub-forums" capabilities within tenant isolation
Moderators being same/separate for each forum/sub-forum
Access control for "membership" for each forum/sub-forum
Configuring "what's enabled" (voting enabled, reply enabled, like/rating button enabled, attachments allowed, etc) at forum level
Ability to limit/enable "attachments" and "type of attachments" in replies/threads
Ability to "retire", "close", and "archive" forums/sub-forums
Ability for us to use this platform for discussions within "group/course/content-review/VDN"
use the same for "announcements" as well (where no replies/comments happen, but, anyone logged in to DIKSHA can see them as a "visitor")
Non-functional
APIs for all UI driven actions (ability to create forums via API, configure and assign moderators/access via API, and build custom UX through APIs)
Ability to generate telemetry (we can generate via standard event hooks as long as they have some hooks)
Horizontal scalability design