Versions Compared

Key

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

This document describes about Discussion Forum architecture

...

  1. How to create an independent widget that will be having end-to-end functionality

  2. How to use existing user service/DB instead of creating new users account in NodeBB

  3. Proxy layer: List of API’s explosed & widget will communicate with these API’s

Solution:

NodeBB default UI options:

...

Default NodeBB UI with customization:
We built a plugin that will help to customize the UI functionality of page & new route exposed for custom logic. Similarly, any customization can be achieved with a custom plugin(Route & UI screen)

...

We have to handle the below privileges when we do custom UI:

...

Custom UI (for NodeBB)

Default UI (NodeBB)

...

We can have independent widgets that can be added in any page as per the requirement

We have to load the entire UI in an Iframe & handle the redirect based on URL parameters

Any new feature update by NodeBB should be implemented from fresh.

If it is impacting on any existing functionality we should do again

Any feature will be available by default. All the configurations will be handled by the default UI itself

Role/Privileges management to show/hide the options has to be implemented from scratch.

can post, upvote, downvote, flag, group management, adding user, topic creation etc.

Role/Privileges management is already exist.

Igot Requirement

Sunbird Requriement

Any logged in user can add post/topic in any discussion thread

Only enrolled users of the course should able to post/topic in the specific thered attached to the course

There is not nodebb groups concept. Hence any user can acees any discussion thread.

We should have groups concept to access discussion thread specific to groups.
The members can only view their discussion thread.
context level discussion

There is not privilege control UI. The same options will be available for Admin, Moderator, Members & Guest

Priviledge control UI required to manage Moderator & Memers.

Moderator should able to do below actions

  1. View flagged threads/posts.

  2. Block/unblock users.

  3. Delete the flagged threads/posts

nodebb-Plugins:

NodeBB Censor Curse Words: https://github.com/ninenine/nodebb-plugin-beep
NodeBB Custom Route: https://github.com/vinukumar-vs/nodebb-plugin-vsv-homepage
Nodebb Plugin Quick Start: https://github.com/NodeBB/nodebb-plugin-quickstart

How to create an independent widget that will be having end-to-end functionality

...

  1. Categories list

    1. Category list with details

    2. Category list with only name(as a list)


  2. Topics list

    1. Filter options & search query should be the config for the widget (optional for now)
      Note: Think this can be independent widget itself can be used at any place


  3. Topic thread(with new post, list of posts & reply to post)


  4. Create a Topic

  5. Create Category


  6. Post/Reply

    1. Post card

    2. Replay to post

    3. After posting the reply(expanded view)

...