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
    serhatS

    11dad6df-40c2-48ce-8aa2-cf26919c7ab3-image.png

    I successfully installed NodeBB using docker-compose.

    Everything seems to be working as expected, but when the nodebb container starts up, NodeBB starts running. However, when I connect to bash and check its status using the CLI, it shows that NodeBB is not running, even though it actually is.

    When I try to stop it, I can't. And when I try to start it using the CLI, even though I initially installed it with MongoDB, it gives an error related to postgres.

    Note:
    Initially I've installed NodeBB with Postgres, then I removed the container and installed with Mongo.

    1c23091b-3ef0-46ac-96b5-6145ef19e65c-image.png

  • Focused discussion related to ActivityPub integration in NodeBB

    43 Topics
    504 Posts
    pfefferle@mastodon.socialP

    @oplik0 ah, maybe its that we use domain@domain as WebFinger ID?

  • Help Translate NodeBB
  • 0 Votes
    1 Posts
    2k Views
    O

    I run NodeBB on a CentOS server, which is a Hyper-V virtual machine. And I pass requests via a IIS server with ARR. I'm sure it works fine with websocket.

    It works OK when I have few members. But, when I put it online, I get something strange: members on my site sometimes logged in as others.

    Let me describe it more clearly : my username is oott123 as you can see, but after I visit some pages, or logged in after some while, I can see someone else 's avatar displayed on the top right corner. If I post a topic , the author will be he, not me. All of my operations seems operated by others.

    My code is here: https://gist.github.com/oott123/66a507a2cadbb26415aa

    I want to get the CIVITAS-Authentication cookie which has been setted by other applications without error; then send it to my API server to get email identified by CIVITAS-Authentication; then logged the user in.

    I think the problem is caused by the code around line 86 or 143. I even thinked about it's caused by async or node.js event loop, orz.

    There's some Chinese character in the comments, but you can ignore it.

    Thanks a lot for help me , and sorry for my poor English again.

    --

    @a_5mith So do you still remember me at Topic 2593 ? I just really love NodeBB, so I hope there's some way to help me troubleshot it . 🙂

  • Incorporating NodeBB into my web app

    3
    0 Votes
    3 Posts
    2k Views
    agarcia17A

    @julian thank you! I'll take a look into that plugin 🙂

  • Tag size

    6
    0 Votes
    6 Posts
    3k Views
    maniM

    @julian Thanks, the default min size of tag is 3, so that's the problem.

  • need some help with my first plugin

    8
    3 Votes
    8 Posts
    3k Views
    julianJ

    Yes, the action:ajaxify.end client-side hook will be fired every time a page changes (not sure about cold load, but I believe so...).

    data.url will contain the url of the page, so check that it matches the regex /^topic/[\d]+/ to ensure you're adding event handlers on the correct page.

  • Mo Plugins Mo Problems

    7
    0 Votes
    7 Posts
    3k Views
    julianJ

    Aw, David Tennant! I just finished watching The Fall of Pompeii

  • MongoDB index changes

    3
    0 Votes
    3 Posts
    2k Views
    barisB

    It's not a must, but doing it will save quite a bit of space when your forum gets large.

  • 0 Votes
    2 Posts
    1k Views
    esiaoE

    @a_5mith With an AJAX request to yourdomain.com/api/topic/tid the topic address will be avaible you just need to pass a new request to yourdomain/api/topic/{data} and you'll have all the information you need.

  • Blog Comments powered by NodeBB

    18
    6 Votes
    18 Posts
    6k Views
    P

    Awesome. Don't forget to let us know your site URL so we can post it on our "who is using NodeBB" thread

    Edit: don't forget @baris he is usually too busy making NodeBB awesome to have time to post on forums

  • Extension to the ignore feature.

    3
    0 Votes
    3 Posts
    906 Views
    barisB

    Topic move notification is fixed on master.

  • How can I use dump.rdb in other nodebb?

    4
    0 Votes
    4 Posts
    2k Views
    maniM

    @julian Thanks!

  • About that Move feature

    15
    0 Votes
    15 Posts
    3k Views
    A

    @nashsai If the moderator can see the forum then they can move topics to it. You could possibly hide it from the move list using css selectors or javascript. But I'm not 100% on that as I'm currently on a mobile. The reason it's like this is because if that wasn't the case. You wouldn't be able to move topics without an admin. So you may as well just hide the move topic functionality.

  • 1 Votes
    2 Posts
    2k Views
    julianJ

    Yes, we fully intend on utilising this with nodebb, assuming the overhead is minimal.

  • 0 Votes
    3 Posts
    4k Views
    sdnycoS

    I'll have to do some more testing. Thank you for your help. 🙂

  • 1 Votes
    1 Posts
    834 Views
    Peter Zhe ChenP

    Like discourse where all the posts can be displayed in one page and also can be filtered by their category? I feel that model makes category more like a tag and allows people to see everything at once.

    Is there technical issue why this cannot be achieved? Maybe it can be a theme idea?

    I really like nodebb as a fast and modern forum technical wise, but also enjoy the UI philosophy behind discourse..

  • 3 Votes
    7 Posts
    4k Views
    esiaoE

    Fun thing about Apple Safari on iOS the bars that are not removable takes like 100px of the total height resulting in a 400px height canvas for your website and add the keyboard over this to have some fun.

  • Emojione

    12
    1 Votes
    12 Posts
    4k Views
    A

    @julian Yeah, the images appear in a folder on their github, and I think they're referenced similar to how the nodebb emoji plugin works, but just has more cases to look out for.

  • mainPost content strip HTML

    3
    0 Votes
    3 Posts
    1k Views
    T

    I figured you could do this the same as this category.description = validator.escape(category.description);

    When I comment this out, it allows the parsing of HTML in category descriptions.

    I would like to do this because if you have plugins such as the YouTube Lite, or a bunch of images, it shows all of that when you have mainPost.content implemented in your template. Looks messy.

  • Gotchas for 0.6.0

    1
    0 Votes
    1 Posts
    1k Views
    julianJ

    I know I made a promise to have the 0.5.x branch last more than 2 releases, but we added more breaking changes again, and 0.5.0 hasn't even been released yet 😆

    In any case, for those plugin developers who are interested:

    Notification pushed action hook (action:notification.pushed) incoming data has changed: From: An object containing the notification data To: This object -- {notification: notification, uids: uids});

    As always, this list will be updated as new breaking changes are added. In the case of this list -- don't commit and publish your change to npm yet, as 0.6.0 has not launched. We recommend you maintain these changes in a separate branch until then.

  • Save chat information between users?

    14
    0 Votes
    14 Posts
    4k Views
    agarcia17A

    @Ted yeah, and also the way I'm using the chat is not necessarily for casual conversations; statistics/logs from chat are needed 🙂

  • Integrating NodeBB with a CMS

    2
    0 Votes
    2 Posts
    3k Views
    P

    You'd probably have to write an SSO plugin to share authentication. @julian has a ton of SSO plugins that you could use as a sample in writing your own one 🙂

    Link Preview Image julianlam - Repositories

    julianlam has 153 repositories available. Follow their code on GitHub.

    favicon

    GitHub (github.com)

    As far as user management... somebody was asking for a WP user management plugin. Kind of like if you upgrade a user's privileges in WP, it updates it in NodeBB as well. It's doable but the client didn't end up going for it so we never ended up building it