Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

User

...

Sunbird User Profile and NodeBB user profile

User account is created when logged in to NodeBB or when access is given to a category

Categories

Use cases

Types of categories

  • Closed - visible only for a group of people - course batch, group, etc.

    • different levels of write access

  • Open - visible for all logged in users - textbook, content, etc

    • all posts should go through post queue?

    • write access based on reputation or other criteria

  • Restricted - visible for all logged in users… write access to limited users - future use cases

Trackable Objects

  • category name - <course_name>_<batch_name> under “Courses” (category name)

  • a group is created in NodeBB for the batch. Group name will be “Batch-<batch_id>”

  • users enrolled into the batch are added to the group.

  • group is given read/write access to the category

  • course mentors are added as moderators to the category

  • when batch ends:

    • write access is removed for the group. only read access is retained.

  • association between batch & category is maintained in a mapping table

Non-Trackable Objects

...

category name - <content_name> under “Textbooks” (category name)

...

All “Registered Users” will have read access & create posts access

...

“Registered Users” will be able to create topics after a certain reputation

...

Content creator & collaborators are given moderator access

...

Profile

Following Sunbird user information will be stored in NodeBB:

  • oauthId - Sunbird User Identifier (UUID)

  • username - Sunbird username (alphanumeric)

    • this will be used for display and mentions.

  • email - Instead of Sunbird user’s email, a dummy email is generated using username and the domain name (e.g: username123@dev.sunbirded.org)

    • Email notifications will be disabled in NodeBB and email field will be marked as hidden

Creation

User account will be created in NodeBB:

  • when user logs into the NodeBB for the first time

  • or when user is given access to a NodeBB category

Sunbird Discussions UseCases Mapping

Trackable Objects

Users need to enrol into a batch for consuming trackable objects in Sunbird. Trackable objects can be a Content, Collection or a QuestionSet object. All trackable objects in Sunbird have following attributes:

  • TenantId - identifier of the tenant who owns (i.e. created/published) the object in Sunbird

  • Category name, e.g.: Course, TV Show, Quiz, etc

  • BatchId - identifier of the batch into which the users enrol

...

Workflow

  • Batch Creation:

    • NodeBB category is created with name as <object_name>-<batch_name> (e.g.: Classroom Management - Batch 01).

    • NodeBB Category is created under the hierarchy <tenant_name>/<category_name> (e.g. NCERT/Course). Both the <tenant_name> category and <category_name> category are marked as sections, i.e. no topics/posts are allowed in those categories.

    • A mapping is created for between the batch id and category id in a new table.

      • The table will have Object Type, Object Id, Category Id, Category Status fields.

    • Batch creator and mentor are given moderator privileges to the NodeBB category.

    • A NodeBB group with identifier as “Batch-<batch_id>“ (e.g.: Batch-342324393293222) is created and is given read/write/vote privileges to the NodeBB category.

  • User enrols into batch:

    • If user already exists in NodeBB, add user as member to the NodeBB group with identifier as “Batch-<batch_id>“

    • If user does not exist in NodeBB, create the user in NodeBB first and then add user as member to the NodeBB group

  • Batch has ended:

    • Write and Vote privileges for the NodeBB Group with group id as “Batch-<batch_id>“ will be removed. Only read access will be retained

Non-Trackable Objects

Non trackable objects in Sunbird can be consumed by users without enrolment and without login also. These objects do not have a batch created for them but have a category name and tenant.

...

Workflow

  • Object Publish:

    • If object has a metadata attribute “enableDiscussions“ set as true, create a NodeBB category with name as “<object_name>” (e.g.: Science Textbook for Class VII) when the object is published.

    • NodeBB Category is created under the hierarchy <tenant_name>/<category_name> (e.g. NCERT/Textbook). Both the <tenant_name> category and <category_name> category are marked as sections, i.e. no topics/posts are allowed in those categories.

    • Content creator, collaborators and reviewers are given moderator access to this category.

    • Registered-Users group in NodeBB is given privileges to write posts (i.e. reply) and vote in the NodeBB category.

      • To start with, only moderators can create topics in the NodeBB category.

    • A new NodeBB group with identifier as “<category_name>-<object_id>” (Textbook-do_1234349) is created and is given read/write/vote access to the NodeBB category.

      • Users from Registered-Users group who have either previously replied/voted in this category and achieved a reputation level (above a configured level) are added to this NodeBB group.

  • When object is retired in Sunbird:

    • The corresponding NodeBB category will be disabled.

Tenant Announcements

  • category name - “<Tenant_Name> - Announcements”

  • a group is created in NodeBB for the tenant. Group name will be “Tenant-<tenant_id>”

  • validated users of the org are added to the group

  • group is given read, upvote/downvote access to the category

  • Org Admins will have write access to the category

...

Vidyadaan Projects

Content Collaboration

Types of categories

  • Closed - visible only for a group of people - course batch, group, etc.

    • different levels of write access

  • Open - visible for all logged in users - textbook, content, etc

    • all posts should go through post queue?

    • write access based on reputation or other criteria

  • Restricted - visible for all logged in users… write access to limited users - future use cases

Tags

Responses

Moderation