Skip to content

NodeBB Development

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

2.7k Topics 17.4k 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 😉

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

    Yes, this is a bug in the v4 code. Will fix soon.

  • Focused discussion related to ActivityPub integration in NodeBB

    57 Topics
    726 Posts
    silverpill@mitra.socialS

    @tallship @julian

    >Here you go bro: Socialhome post w/inline images.

    It is a Note. I think this is a good example of a post which is best viewed on the original site.

  • Help Translate NodeBB
  • 1 Votes
    3 Posts
    529 Views
    NoduleJSN

    @baris yeah it's true, but you can use transaction on a multicluster with only one node, also if with a lot of limitations.
    About your command example is a good idea also if it would work only with redis and postgre, with mongodb can be used like a normal batch.

    I took a look to postgreSQL module, seems it support transactions, mongodb emulate the same thing with non ACID batch. I prefer to avoid SQL databases but the way data is organized seem more suitable to a relational DB

  • How can i get thumbnails picture link in api?

    5
    0 Votes
    5 Posts
    557 Views
    Xokthilat OudomdyX

    try both but same result,i have no idea why i just installed today and everythings are running at lastest version

  • 0 Votes
    5 Posts
    800 Views
    NoduleJSN

    problem solved. i have to import external script with

    require([script], function(name) { })

    It seems that importing scripts in a classic way creates conflicts in nodebb

  • Notification on new topic

    3
    0 Votes
    3 Posts
    1k Views
    M

    @baris Done, https://github.com/NodeBB/NodeBB/issues/7931

  • Adding My Website's Navbar

    Moved
    2
    0 Votes
    2 Posts
    604 Views
    Y

    Yes, u can use javascript to inject

  • 0 Votes
    3 Posts
    846 Views
    NoduleJSN

    Thank you for the explanation. I will probably use a third-party database (firebase) for payments.
    Using firebase, different operations can be done on the client side, without disturbing the main server. I think this is very useful for a smoother user experience.

  • 0 Votes
    2 Posts
    395 Views
    barisB

    No built in way, but there is nothing preventing you from writing your plugin to use a config file instead of settings stored in the database.

    When your nodebb starts instead of loading your plugin settings from the database you would read it from the file.

  • Timeplan for 1.13.0?

    5
    0 Votes
    5 Posts
    477 Views
    magnusvhendinM

    Thank you @baris for the swift response. I have no need for backwards compatibility in my theme, so I think I will hold off on bigger changes.

  • Use normal post and get functions

    3
    0 Votes
    3 Posts
    351 Views
    NoduleJSN

    I think i will use websockets, thanks for the advice. At moment i'm using callbacks only because can't do different.
    Probably async/await will be available from the next version (I've read that too).

  • 1 Votes
    1 Posts
    300 Views
    Xokthilat OudomdyX

    just like a content copy protection on wordpress

  • Build a widget and plugin

    4
    0 Votes
    4 Posts
    655 Views
    T

    Thank you so much for the replies. I'll dig into that again and probably come back with other questions 🙂

  • How to make calls to web sockets?

    2
    0 Votes
    2 Posts
    329 Views
    barisB

    /api/categories doesn't load the data via sockets, you can check it on this forum, just check the network tab and you should see the loaded categories.

  • 5 Votes
    2 Posts
    1k Views
    julianJ

    @faizanzahid Honestly, we've never tried it. If you enable it, let us know what happens 😬

  • 0 Votes
    5 Posts
    854 Views
    magnusvhendinM

    Thank you @PitaJ for pointing me in the right direction. I adapted my code to the link you sent me.

    (function (factory) { if (typeof module === 'object' && module.exports) { factory(require.main.require('benchpressjs')); } else { require(['benchpress'], factory); } }(function (Benchpress) { const logger = (data) => { console.log('Logger helper', data); return ''; }; const customHelpers = { register, logger, }; function register() { Object.keys(customHelpers).forEach(function (helperName) { Benchpress.registerHelper(helperName, customHelpers[helperName]); }); } register(); if (typeof module === 'object' && module.exports) { module.exports = customHelpers; } }));

    Just by doing this made it work client side. But then it stopped working server side. That was easily fixed though by running helpers.register in my library file.

    const helpers = require('./lib/helpers'); helpers.register();

    Hope this helpes someone!

  • 0 Votes
    1 Posts
    307 Views
    likhith lanka 0L

    So I'm planning to make a quiz portal using nodebb. I have no clue on how to take the starting step. Could someone guide me in the right direction?

  • NodeBB (Node.js) Workflows

    1
    0 Votes
    1 Posts
    304 Views
    6676

    Link Preview Image Inspect Node.js With Grunt-SWATCH (!watch) And Fiveo

    I know, I know... the socket in the cover picture isn't really the type of socket we're talking about in this post, but I've been preoccupied lately with the idea of building a new workstation and the ThreadRipper is a monster! I mean it might actually be the solution to

    favicon

    I=['daddy']; I.concat(['gineer', 'trepreneur'].map(x => 'en'+x)) (blog.june07.com)

    I recently wrote a blog post which goes hand in hand with developing NodeBB plugins as of late

    nodebb-plugin-cloudstorage, GitHub, NPM nodebb-plugin-lightgallery, GitHub, NPM

    In the post, I talk about my workflow and wonder what other workflows people are using for there NodeBB development. NodeBB definitely presented it's own challenges, different from other Node.js projects I've worked on.

    Would ❤ to hear about what others are doing.

  • template development locally, viewing changes

    Moved
    2
    0 Votes
    2 Posts
    481 Views
    PitaJP

    Link the theme into node_modules with npm link and then use grunt to watch changes and rebuild automatically.

  • NodeBb Integration With WordPress

    Unsolved
    3
    1 Votes
    3 Posts
    2k Views
    Moisés BackM

    I would like that too. But specifically add the NodeBB forum inside a wordpress page via template.

    EDIT: a plugin similar to that would be a good start -> https://wordpress.org/plugins/wp-discourse/

  • NodeBB v1.12.2 released!

    Moved
    11
    9 Votes
    11 Posts
    3k Views
    Z

    @ALiveVam
    https://docs.nodebb.org/installing/os/
    choose your os

  • where is the api docs for nodebb?

    19
    3 Votes
    19 Posts
    2k Views
    barisB

    If you are getting uid===-1 on the /api/config route it means your request was classified as a spider. https://github.com/NodeBB/NodeBB/blob/master/src/routes/authentication.js#L38