Skip to content

NodeBB Development

Stay tuned here to hear more about new releases and features of NodeBB!

3.5k Topics 22.2k Posts

Subcategories


  • Posts from the NodeBB Development Blog
    96 Topics
    778 Posts
    julianJ

    Occasionally, we will get asked whether there are any differences between our hosted service and the open source project.

    It is as though we are holding back some great features and only allowing our paying customers access them! Conversely, it could be assumed that because we are hosting the software for others, that we would somehow out of self-interest or for economic reasons, deliver an inferior version with limitations.

    I'd like to say upfront that this is not the case for NodeBB.

    When you use our hosted service, you receive the same great NodeBB software that you can get for free off of our GitHub repository.

    What we're selling is support, maintenance, upgrades, and peace of mind delivered by our world-class† support team.

    You definitely can host NodeBB on your own! We've strived for years to deliver a piece of software that runs lean and fast on minimal hardware, great docs (some contributed by other admins!) that help you get up to speed quickly, and a fantastic community that will help you if you get stuck.

    The reason I take this principled stand is simple — I think it's unfair when artificial limitations are placed on software just for the purpose of getting customers to pay more.

    We've seen all this time and time again:

    You can't install any plugin you want, just a select few from a small list You can only have X units (tickets, posts, etc) of whatever you're using You can only have X admins/owners You can't see any messages older than X days

    These limitations are all artificial, and serve to restrict the use of something to the bare minimum. Anything extra is — of course — available for the right price.

    We don't do that. We tell everybody that NodeBB is powerful enough to run huge communities, and we stand by it. We tell everybody that NodeBB is flexible enough to look and function however you want, and we stand by it.

    These are the real limitations we impose on our hosting service:

    Hard drive space for uploads are imposed by our upstream provider and are set, though we are happy to add additional drive volumes for a fee) We have soft "pageview" limits that any user on our hosting can exceed (in fact, many do). We set them purely as a benchmark for the point at which your NodeBB may slow down depending on the type of load that you get, and encourage dialogue to make sure that you're on the right plan (server resources, etc.) We do not allow shell access for security reasons (and if you needed it, you probably could self-host)

    So please do rest assured when I and others tell you that what you see is what you get. No more, no less. I'd rather everybody get to use the best of NodeBB, instead of serving a special feature-reduced version for others.

    † I'm going to go out on limb here and say that we're probably the most qualified people to maintain NodeBB. Feel free to disagree 😉

  • You have a cool idea about NodeBB? Post it here.

    805 Topics
    5k Posts
    赵帅更

    Is anyone using WeChat to scan and log in? The plugin seems to be malfunctioning. Does anyone have a solution? Thx.
    Plugin: https://github.com/NodeBB-China/nodebb-plugin-sso-wechat-web

  • Found a bug? Why not make a bug report here?
    1k Topics
    7k Posts
    barisB

    Created an issue https://github.com/NodeBB/NodeBB/issues/12474

  • Focused discussion related to ActivityPub integration in NodeBB

    43 Topics
    498 Posts
    scott@authorship.studioS
    @julian
    For example, let's say I link out to Evan's profile here. If NodeBB knew that this link had an alternative AP endpoint, then we could redirect the user instead to the local representation of his profile

    Wouldn't Evan's AP endpoint be the same as his HTML endpoint?

    Most platforms are going to send you to the authoritative profile, which is the one at the user's server.

    And if you wanted to redirect a link to a local profile instead of his official profile, you don't need an endpoint to do that. You could simply parse the post and swap out the URL, since you should have data about the user in your database anyway from when you first detected the user.

    Maybe I am misunderstanding the use case here, but I am not sure why a platform would send you to a different platform to view the profile or channel.
  • Help Translate NodeBB
  • 0 Votes
    2 Posts
    2k Views
    julianJ

    How are you getting the concurrent user metric? Typical stats from php are aggregate counts over a period of time, and are not truly concurrent.

    NodeBB can handle 500+ concurrent connections easily, but a cluster setup is advised to do so.

  • Getting current URL in templates.

    13
    0 Votes
    13 Posts
    3k Views
    P

    👍 sounds gud

  • CSRF

    6
    1 Votes
    6 Posts
    3k Views
    julianJ

    Re: gh#2424

  • static:app.load change

    8
    3 Votes
    8 Posts
    4k Views
    PitaJP

    Sample adaption code:

    if( app && app.router ){ callback = middleware; middleware = app.middleware; controllers = app.controllers; app = app.app; }
  • 4 Votes
    23 Posts
    15k Views
    P

    If you aren't planning on using the nodevember ticket, try and post it on their forums and see if its possible to trade away: http://nodevember.nodebb.com

  • Guest bloggers wanted!

    Moved
    16
    5 Votes
    16 Posts
    10k Views
    ravikumar mR

    @ravikumar m

    TEST
    TERST
    TERS

  • 2 Votes
    17 Posts
    7k Views
    julianJ

    I correctly assumed (and this has been validated through actual plugin upgrades) that the latest hash in npm points to the most recently published version, and not the highest version.

    That is, given your plugin nodebb-plugin-example

    If v1.0.0 is compatible with v0.5.4 If v1.1.0 is compatible only with v0.6.0 The latter is published first A user typing npm install nodebb-plugin-example will receive v1.0.0 of the plugin, irrespective of what NodeBB version he/she is running, even though v1.1.0 is technically newer

    Now, special note: The NodeBB Package Manager doesn't do this. When the ACP calls nbbpm to request a suggested package, we query npm for the plugin data, and sort the versions before checking compatibility, so this issue is moot.

  • 2 Votes
    40 Posts
    26k Views
    A

    I think we all would have had more votes if we'd asked people on our own forums to sign up and vote solely for our own plugins, and not for the best one. But nevermind. 👍

  • Permission system change

    4
    1 Votes
    4 Posts
    2k Views
    barisB

    Well I think those settings don't have any effect because of the other admin checks we have in here :

    Link Preview Image NodeBB/src/privileges/categories.js at master · NodeBB/NodeBB

    Node.js based forum software built for the modern web - NodeBB/src/privileges/categories.js at master · NodeBB/NodeBB

    favicon

    GitHub (github.com)

    If the user is an admin or mod for that category then the group permissions don't matter for them.

  • Twitter Emoji

    2
    0 Votes
    2 Posts
    1k Views
    julianJ

    I imagine @frissdiegurke could integrate both this and emojione into his plugin 😉

  • 0 Votes
    15 Posts
    11k Views
    O

    Out of curiosity, why don't you use Redis? the new redis cluster feature let you shard data to multiple servers.

  • 1 Votes
    2 Posts
    2k Views
    ShardS

    @ arasbm:

    There's some work being done to dockerize the install. If that doesn't do the trick for you, I expect some of the same automation will.

    Link Preview Image NodeBB CentOS Dockerfile

    Typical scaling of NodeBB is multiple processes managed as a cluster by loader.js. Node.js manages its own internal thread pool, so we don't touch threads. H...

    favicon

    NodeBB Community (community.nodebb.org)

  • Adding MySQL to NodeBB

    5
    0 Votes
    5 Posts
    4k Views
    B

    technically, it does break if someone tries to use it

  • 0 Votes
    3 Posts
    3k Views
    andreaperniciA

    I understand the potential risk.

    Maybe for an old forum migrating to NodeBB can be useful to merge some account from the admin panel in the case one want to login using social where they use a different email.

  • AngularJS App integration?

    3
    0 Votes
    3 Posts
    2k Views
    X

    @julian might be wrong, but im guessing he is referring to user and theme integration. He said he has an existing site and he wants to integrate it more seamlessly, just a guess that is what he is referring to.

    @jvandellen these might be what your looking for:
    https://docs.nodebb.org/en/latest/themes/create.html
    https://docs.nodebb.org/en/latest/plugins/create.html

  • NodeBB CentOS Dockerfile

    8
    0 Votes
    8 Posts
    5k Views
    A

    @xaoseric said:

    For stable:
    nodebb/docker:centos
    nodebb/docker:ubuntu

    And for Dev:
    nodebb/docker:centos-dev
    nodebb/docker:ubuntu-dev

    Bravo good sir.

  • 0 Votes
    1 Posts
    2k Views
    barisB

    If you have any plugins that use action:topic.save, action:topic.restore or action:topic.edit please read below on the changes coming in 0.6.0. If you have any questions about how to update to the new hooks please feel free to ask.

    The parameter passed to all three hooks has been changed from a topic id to a topicData object.

    plugins.fireHook('action:topic.save', topicData);
    plugins.fireHook('action:topic.restore', topicData);
    plugins.fireHook('action:topic.edit', topicData);

    topicData object contains at least the following data.

    { tid: 3, title: 'test topic', mainPid: 5 }
  • Moderator Power

    1
    0 Votes
    1 Posts
    1k Views
    andreaperniciA

    Is there a way to enable a Moderator with superpower of editing all the sections, ban users, find user for ip address, see user ip, change user's signature, change user's avatar.

    A sort of Sub-Admin user (or if you prefer a Super-Mod:)

  • 0 Votes
    3 Posts
    2k Views
    agarcia17A

    @baris thanks a bunch..! 🙂

  • [Solved] .editorconfig pls

    2
    0 Votes
    2 Posts
    1k Views
    B

    /facepalm added 1 year ago
    https://github.com/NodeBB/NodeBB/commit/ba89285c748e0573b0bfeb5ce4c49b29dcd15b17