How to improve Nodebb - few suggestions from the top of my head

Feature Requests
  • How to improve Nodebb - a few ideas

    I've been using Nodebb now for a couple of days and here are some things from the top of my head that have poked me my eye that need improvement:

    Thread tools: Merge thread

    We are already able to split thread. The admin should also be able to
    merge threads into other threads.

    Thread tools: Move post improvements

    The admin should be able to move single posts into other threads with graphical interface. Popup menu where you choose category and the post you wish to move the message into.

    Thread tools: Edit poster/adopt post

    The admin should be able to switch the owner of the post. (right now I have orphan posts left over from import and the only way to change their owner is to use the redis-cli). Probably not a very popular/useful feature in general, but should be simple enough to implement because why not?

    Example scenario to show there is actual need for this:
    Let's say for example that user X leave the forums and has been running a long time thread where he has been updating the first post for relevant information and user Y wants to take over for him. He asks the admin "could you make me the owner of this thread?" And the admin is like "ok, dude, I'll just click here: EDIT OWNER" And the user is like, "Thanks, admin, you're the best! You can do ANYTHING!"

    Threads/Themes: There is a need for "new posts in thread" icon

    The "new posts" section is not enough. You should be able to see at a glance the threads that have new posts also from the sections.

    Visual Example:

    Widgets: show logged in people

    Show all people who are logged in right now.

    Visual Example:

    New Config option: sounds

    Enable/disable notification sounds for new users by default

    Thread list/Themes:

    Show original poster of the thread also by name.

    Visual Example:

    Delete users: Admin should have option to delete users without deleting their concent.

    Users name would stay in the posts but there would be indication that the user has been deleted. Users profile image could be replaced - or not - with image that indicates that the user has been deleted. Or the image could be grayed.

    Revamp the default composer

    Default composer should be able to edit in WYSIWYG mode as well as in source mode.

    See this here (last post):
    https://community.nodebb.org/topic/1942/any-reason-why-the-dual-composer-view-was-chosen-over-wysiwyg/22

    And here a working example for visual reference of what I mean:
    ckeditor.com/demo#bbcode

    (Can be made to support markdown)

    More message selection options

    It would be nice to be able to select/deselect all posts and to do "invert selection".

    User maintenance: add filters

    Admin control panel > manage > users should have filters. For example: show only users who's email hasn't been verified, show users with verified email, show users who have been inactive for over a <time period>. Also it would be nice if you could see with a glance the status of the user, perhaps from the edit menu -> flags, banned, locked out, admin.

  • Nice suggestions. I haven't contributed anything in a while, might try to tackle some of these.

    @Pilvinen said:

    Threads/Themes: There is a need for "new posts in thread" icon

    I could swear this was part of the default theme at some point, not sure what happened to it since persona.

  • @Pilvinen said in How to improve Nodebb - few suggestions from the top of my head:

    Thread tools: Edit poster/adopt post
    The admin should be able to switch the owner of the post. (right now I have orphan posts left over from import and the only way to change their owner is to use the redis-cli). Probably not a very popular/useful feature in general, but should be simple enough to implement because why not?

    Is this possible yet?

    Thanks

    Ted


Suggested Topics


  • 0 Votes
    11 Posts
    672 Views

    @pitaj said in NodeBB Installation as Module(s):

    I am not entirely convinced about the whole overwriting story

    npm deletes the old version of the module before installing the new module version. So any changes you make inside a module directory that is managed by npm will be deleted.

    Ok but why not let npm do the management and add the entries in such a place that it is managed correctly?

    even if that was the case, what would prevent simply reinstalling the plugins as well?

    The package.json defining installed plugins would be deleted.

    Ok I see your point but this is precisely the case because NodeBB insists to run in its source code directory. Indeed, NodeBB should look for package.json in the parent directory and further up the directory tree and add the plugin entries there prior to running npm install.

    plugins to require('nodebb/src/...') instead of require.main.require('./src/...') which in turn would open way to proper unit testing for plugins

    Unit tests shouldn't need to connect to NodeBB, as units are small pieces of code that can be isolated from the rest, including NodeBB. You can set up your unit tests however you want for your plugins.

    That is true, I just mean that plugins notoriously use NodeBB internals by means of require.main.require('./src/database') etc. it would be cleaner if NodeBB actually came as a set of modules and one could simply require('nodebb-database');

    As for higher level tests:

    Again, NodeBB requires a connection to a database, even while testing. Your plugin test harness would still need to initialize the database as they do now.

    Well ok that is true, I guess the main points are the ones before.

    run multiple instances without copying the entire source code directory

    That would be a nice result of rearchitecting, except then every NodeBB instance must be at the exact same version.

    True but it is usually fine to just run the most recent version.

    be more in line with how Node apps are installed generally

    Again, I'm unaware of any node applications like NodeBB, that must connect to a database to function, that work the way you describe. Please provide an example.

    I don't think that connecting to a database somehow "excuses" applications writing inside of their own source code directories. It just feels very much not right.

    Among bigger applications I guess ESlint still nicely provides a binary. But it would be great if NodeBB was a pioneer and the first one to do it "right" among the Web apps 🙂

  • Logo on top

    Feature Requests
    0 Votes
    4 Posts
    946 Views

    @pummelchen A possible way -with movable instead of fixed header- would be a fork with Persona theme as upstream, editing the file templates/header.tpl, removing the navbar-fixed-top class from the navbar, and adding a div with the logo as header (probably with hidden-xs class if we want to avoid using it on mobile to save space). Among adjustments to work well with this layout, I would move the breadcrumb from top to bottom of the file templates/partials/account/header.tpl, for profiles. The editor would also need adjustments.

  • 0 Votes
    3 Posts
    1k Views

    I guess I better dig out the DeLorean....

  • 5 Votes
    3 Posts
    2k Views

    I'd also love to see this as an option for larger communities that require it.

  • SMF to NodeBB

    Feature Requests
    0 Votes
    40 Posts
    17k Views

    Can anyone describe how to do conversion from smf -> nodeBB as a noob in nodejs. I have working installation of NodeBB. I mean if i have mysql dump of smf then what to do next