Skip to content
  • 9 Votes
    1 Posts
    632 Views
    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 😉

  • 0 Votes
    1 Posts
    461 Views
    julianJ
    What is this?

    Version 2 of NodeBB using the Persona theme (and many child themes based off of Persona) used Bootstrap 3 as its front-end CSS framework.

    As part of the upgrade to version 3, we are upgrading to Bootstrap 5, whose migration comes with a number of updates and changes, many of which are incompatible with previous versions of Bootstrap. […]

    Click here to see the full blog post

  • 4 Votes
    1 Posts
    286 Views
    julianJ

    You might already be aware that we’re in the midst of the design phase of a new base theme for NodeBB. What you might not know is that we already have some interim design previews for you to look at! Check out Vlad’s work on our theme here We’ve been working closely with Vlad for […]

    Click here to see the full blog post

  • Migration Guide for v2

    NodeBB Blog
    1
    2 Votes
    1 Posts
    416 Views
    julianJ

    In advance of the release of v2, we are releasing this migration guide in order to give third-party developers a chance to bring their plugins and themes up-to-date. In the successive sections below, we will outline the breaking change or new best-practice, and the steps to migrate, along with a live example.

    Click here to see the full blog post

  • 4 Votes
    1 Posts
    274 Views
    Jay MoonahJ

    Truth be told our latest release was published late last week in advance of “snowmageddon” burying much of the U.S. northeast and Canadian southeast. But everyone is well and we’ve mostly managed to dig our way out of our various home offices across the Greater Toronto Area. Hope you are keeping safe and warm, wherever […]

    Click here to see the full blog post

  • 3 Votes
    1 Posts
    343 Views
    Jay MoonahJ

    Click here to see the full blog post

  • 6 Votes
    1 Posts
    388 Views
    Jay MoonahJ

    It's not news to say 2020 has been... challenging. In Toronto, the home of NodeBB HQ, we've gone from a spring lockdown to a cautious summer reopening, to lockdown again — sigh. But the team has never stopped working, and have managed to squeeze out one last release before we thankfully turn over the calendar.

    Click here to see the full blog post

  • The API continues to evolve...

    NodeBB Blog
    1
    2 Votes
    1 Posts
    257 Views
    julianJ

    A couple months back as part of our Roadmap to v2, I made the claim that one of the large features in that release would be the merging of the Write API plugin into core. The majority of the exploratory work had been completed in a development branch reserved for v2-only changes, but the need for a consistent RESTful API became more and more important, and we simply could not wait for v2 (which hadn't and still hasn't, a release date) to drop.

    So two months ago, I started pulling out this work to a separate branch based off of master, and set about to finishing the integration. I'm proud to say that the preliminary release of this API has been merged into core, and is available starting v1.15.0.

    Click here to see the full blog post

  • 2 Votes
    1 Posts
    362 Views
    julianJ

    The ongoing coronavirus pandemic has changed the way we view eLearning. With students preparing to go back to school, parents, teachers, and students alike are wondering how this year will shape up.

    I had the opportunity to talk to Don Pezet, CEO of ITProTV, about how they are handling the coronavirus pandemic, and asked him to share his thoughts on eLearning at large.

    Click here to see the full blog post

  • 10 Votes
    1 Posts
    1k Views
    P

    A bug in our validation logic made it possible to change the password of any user on a running NodeBB forum by sending a specially crafted socket.io call to the server.

    We have resolved this in the latest version of NodeBB, and the fix has already been rolled out as a patch on all of our hosted customers.

    For more information on the vulnerability as well as instructions on how to resolve this issue, please have a look here: https://github.com/NodeBB/NodeBB/security/advisories/GHSA-hr66-c8pg-5mg7

    Click here to see the full blog post

  • 5 Votes
    1 Posts
    396 Views
    Jay MoonahJ

    It's been several months since our Toronto team has convened in our downtown office, and we've blogged previously about how we are spending our free time during social distancing. But of course that DOES NOT mean the team hasn't been working hard. Version 1.14.0 includes expanded documentation and improved features, as well as streamlining and security fixes. Here are some highlights...

    Click here to see the full blog post

  • 3 Votes
    1 Posts
    172 Views
    julianJ

    It seems almost every day that a new library is created, a new javascript framework, or bundle of utility methods that promises to make developing software faster, easier, more enjoyable, etc.

    Heck, there's even a joke website about how often new frameworks pop up!

    What invariably happens is:

    We get stuck in to a new framework or library We quickly lose interest when we run into the first set of problems that require even a modicum of effort, and then We then move on to the next greatest framework/library that promises the world.

    How can we break this cycle?

    Click here to see the full blog post

  • 3 Votes
    1 Posts
    218 Views
    julianJ

    Happy Good Friday! The NodeBB offices are closed today, but I thought it'd be nice to show us that we all have lives outside of our work, even though we can't really go out and do anything right now. Shall we make this a regular thing? We'll see.

    Stay safe, everybody, and keep practicing social distancing!

    As of this blog post's writing (10th April 2020), many municipalities and regions in Ontario (and Ontario itself) have declared a state of emergency. While the country itself has not taken that final step towards declaring a national emergency, there are many recommendations to stay home, to only head out for essential trips such as grocery shopping (and even then, only once a week), and to practice appropriate social distancing, by remaining 2 meters (or 6 feet) away from others at all times.

    While we normally all go into the office a couple times a week, and have one weekly in-office day for all employees, this has been suspended for the time being, in order to keep our staff healthy and to minimize exposure through use of public transit, etc.

    So what are we up to while we're essentially isolating ourselves from the public?

    Click here to see the full blog post

  • What's up, Doc(-umentation)?

    NodeBB Blog
    1
    5 Votes
    1 Posts
    1k Views
    julianJ

    I was on my way into the office one morning when I saw a link to the results of the 2017 Open Source Survey, released by GitHub. I'm almost certain I filled it out myself at some point, but seeing the summarized results was just as important for me, as our project is completely open-source and as such, any recommendations would be highly relevant to us.

    ... [the survey results] highlight some of the most actionable and important insights about the community.

    Click here to see the full blog post

  • 5 Votes
    1 Posts
    2k Views
    julianJ

    The first commit to NodeBB was nearly four years ago, and in that time, many changes have been made to the core code itself, from feature additions and bug fixes, to bundling of must-have plugins for all installations.

    As with any code that matures, schema changes needed to be made over time to ensure that stored data was kept in an ideal manner, so as to reduce the use of anti-patterns such as god tables and XYZ. The second reason schema changes are made are due to revisions in the original implementation. Perhaps a design decision from before could have been done in a more efficient way, and that may need a migration of active data from one data type to another (e.g. a list to a sorted set).

    Click here to see the full blog post

  • 3 Votes
    1 Posts
    1k Views
    julianJ

    Today's article will be a short how-to guide regarding a common problem with horizontally scaled NodeBB installations:

    In a deployment environment with more than one NodeBB server, locally uploaded files (post images, avatars, etc) are split between the application servers, and n-1/n images will always be missing, where n is the number of servers

    Click here to see the full blog post

  • Do you really need jQuery?

    NodeBB Blog
    1
    0 Votes
    1 Posts
    1k Views
    P

    According to a new site making the rounds (and a repo that's currently trending!), no, you might not need jQuery. More on that shortly.

    At NodeBB, we have afairly divergent team when it comes to our tech stack. Sure, we all use Node.js and Redis, but those were decisions that we agreed upon after a bit of wrangling:

    Do we use MySQL (MariaDB), MongoDB, or Redis? (We decided on Redis) Should we use so many new technologies all at once? (We decided: Yes) Should we completely open-source the NodeBB code? (We decided: Yes)

    Click here to read the rest of the blog post

  • Plugins Galore

    NodeBB Blog
    1
    0 Votes
    1 Posts
    1k Views
    P

    We've officially hit 50 plugins, so congrats goes out to our crazy team of developers who have been working so hard on extending NodeBB core with some awesome features.

    Click here to read the rest of the blog post