Skip to content

NodeBB Development

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

3.5k Topics 21.8k 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.

    798 Topics
    5k Posts
    crazycellsC

    when the forum is used as PWA, there is no easy way to navigate between pages...

    Yesterday, I was reading a post on the forum that mentioned another topic, I have encountered an issue when attempting to return to the original post. So, after reading the linked topic, I had to go to categories page and retrace my steps to locate the topic I was reading initially...

    Although this can be achieved by page control arrows on destop and mobile browsers, there is no easy way to achieve this on PWA... so I propose adding some page control buttons that appear at the bottom of the page when scrolled up. (maybe it can be integrated to post navigation bar but I believe those buttons should appear in all pages, not only in topics)

    Here is just a suggestion to distinguish them from other arrows...

    IMG_0029 copy.jpeg

    alternatively the arrows or rewind icons that YouTube uses can be used:

    IMG_0030.jpg

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

    @solmak

    Thank you for spending time on this, that was fast!

    he is quite speedy :rofl: @baris is known to create a new plugin in 3 minutes of it being discussed in the forum... lol

    Link Preview Image How? · Issue #2 · NodeBB/nodebb-plugin-best-posts

    How did you make a plugin in 3 minutes?

    favicon

    GitHub (github.com)

  • Focused discussion related to ActivityPub integration in NodeBB

    27 Topics
    233 Posts

    @[email protected] @[email protected]

    Using zoom
    Disgusting. There's so many free and open source alternatives available to discuss platforms built on free and open source software, and you choose the absolute worst proprietary option imaginable.

  • Help Translate NodeBB
  • Coffee core

    13
    0 Votes
    13 Posts
    4k Views
    P

    it can be written in teawith2sugars for all the difference it makes

    I prefer my tea black to be honest

    @psychobunny you'll not be able to discourage me through such little issues

    hehe 😉

  • Hosted NodeBBs now backed up using Tarsnap

    Moved
    1
    0 Votes
    1 Posts
    2k Views
    julianJ

    Glad to report that as of today, April 25th, all instances of our Premium Hosted platform benefit from backups stored via the Tarsnap backup service.

    Our previous backup solution consisted of local file system backups of each instance's database contents, persisted to the local file system. This had two shortcomings:

    Backups were not hosted off-site (a big no-no! 😦) Uploaded files in /public/uploads were not backed up

    I'm glad to say that both of these shortcomings have now been addressed. Luckily, we have never had to restore a NodeBB instance from back up, thanks to our reliable hosting from DigitalOcean. Hopefully, we'll never have to 😄

    Interested in having us host a NodeBB for you? Check us out at http://nodebb.org!

  • websocket topic post cookies

    2
    0 Votes
    2 Posts
    1k Views
    P

    Not sure what you're trying to do - publish topics to NodeBB from another software?
    Wonder if this will help you: https://github.com/psychobunny/nodebb-plugin-blog-comments

    Lets you post a new topic (or reply to topics) from Ghost. I want to do WP in the future as well

  • Don't get new topic POST request by Chrome.

    5
    0 Votes
    5 Posts
    3k Views
    A

    1、Can I get data format?
    2、websocket use port 80?
    3、Can I write a test example to send topic by websocket ?

  • 0 Votes
    2 Posts
    1k Views
    A

    @realZ Not entirely sure on your question, but you could try here

  • Displaying snippets of a topic in topic view

    3
    0 Votes
    3 Posts
    1k Views
    T

    @psychobunny Yeah I did remember this but I forgot when it was removed or whether it was removed completely or not. Any how, thanks for creating an issue for it. 🙂

  • 1 Votes
    11 Posts
    4k Views
    P

    Btw: is anybody except me using this awesome build-tool?

    https://www.npmjs.org/package/nodebb-plugin-livereload

    24 downloads in the past month shows that there are a few people using it 😉

  • Using category specific conditionals on template

    12
    0 Votes
    12 Posts
    4k Views
    T

    @Thomas-Krickl said:

    @trevor maybe this could be for interest: post indivual layout with {{cid}}

    That's what I recommended, lol and this is for something totally different that what I am asking.

  • Displaying shorthand dates/time?

    6
    0 Votes
    6 Posts
    2k Views
    julianJ

    Yeah, like @frissdiegurke mentioned, timeago uses separate locale files to override the "templates", but there's no way to use multiple templates based on the situation (shorthand for some, full for others, etc) without fundamental changes to timeago itself.

  • How to install nodebb hosting?

    2
    0 Votes
    2 Posts
    1k Views
    julianJ

    Hey there @rahenr, have you tried this guide?

  • PACE - Automatic Page Load Progress Bar

    5
    0 Votes
    5 Posts
    2k Views
    julianJ

    Link Preview Image GitHub - julianlam/nodebb-theme-viridian: Blog-like theme, inspired by Randy M. Daniel

    Blog-like theme, inspired by Randy M. Daniel. Contribute to julianlam/nodebb-theme-viridian development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    Not close to ready yet 😛

  • How to configure email notification

    8
    0 Votes
    8 Posts
    5k Views
    julianJ

    @geoffb Agreed, definitely hoping to have that in in the next version 🙂

  • [15/4/2014] Upstream Maintenance

    Moved
    1
    1 Votes
    1 Posts
    1k Views
    julianJ

    Our upstream provider has notified us that there may be short periods of latency or packet loss associated with some preventative maintenance regarding servers in the NYC2 data center. This should not unduly affect any hosted NodeBBs, although we will be monitoring them during the affected periods for potential problems.

    START: 04-15-2014 20:00 EDT (UTC-4)
    END: 04-15-2014 23:59 EDT (UTC-4)

    We will be doing some preventative maintenance with our internet providers.

    Expected Impact:

    We are expecting no impact but there may be short periods (1-3 minutes) of latency or packet loss as traffic is rerouted to available providers.

    Approximately 30 minutes prior to starting any work, we will post and update on progress on the www.digitaloceanstatus.com website.

  • Any Body Been Theming Recently? 🙂

    13
    0 Votes
    13 Posts
    4k Views
    julianJ

    I believe he published it, or at least uploaded it to github... should ask him.... @trevor ?

  • Changelog

    5
    1 Votes
    5 Posts
    2k Views
    julianJ

    @frissdiegurke I keep a running tally of things that break in the "Gotchas" post that I do for each minor version.

  • Thoughts on a plugin registry

    5
    0 Votes
    5 Posts
    3k Views
    julianJ

    @miksago Replied to indexzero. I do recall DocPad uses peerDeps in a similar system, so perhaps we can emulate that.

  • 0 Votes
    8 Posts
    3k Views
    F

    @psychobunny

    Nah, @julian is too nice of a guy to be fired. He's yours 'till Thy Kingdom Come 😉

  • NodeBB's Usage of Realtime Communication

    1
    1 Votes
    1 Posts
    1k Views
    M

    Something that interested me when I first started hacking on NodeBB was how the platform uses realtime communication through socket.io (and websockets). This interest stems from work I did whilst working as a realtime engineer at Pusher several years ago. One of my research projects whilst there was to look into how websockets get used in production, and other use cases for websockets besides the standard "subscribe to a channel and receive events".

    In 2011, I gave a talk at Keeping It Realtime conference in portland about some of my findings, you can watch it here: http://2011.krtconf.com/videos/micheil_smith (long hair and all) or check out the slides here: https://speakerdeck.com/miksago/krtconf-websockets-sub-protocols

    How NodeBB currently seems to use realtime communication:

    RPC: Request data from the server, get a response back, present that data to the user (or send data to a server like you would POST to a HTTP server) Channels: Used for user to user chat messages Events: Used for online/offline states of users.

    I may have missed something here, so, let me know if I have.

    Most of the websocket usage appears to be in RPC style messages: Get this piece of data do something with it. At present, all realtime communication for NodeBB is built on top of Socket.io, which uses a protocol more tailored for event type packets, rather than for RPC style packets. For this, something like JSON RPC may be more appropriate.

    Refactoring this deep internal of NodeBB would make the platform more resource efficient on the wire, and also allow for better logging and handling of data. You'd know exactly what has failed on the client-side or server-side and be able to give an appropriate response. In the code, refactoring this level of things would make the code far cleaner, and give option to provide all HTTP Verbs over WebSocket or vica-verse (meaning if you wanted to, you could make 90% of NodeBB standard HTTP. You'd end up with an "api" module internally that is everything that can be exposed, which simple returns back standard javascript objects.

    For user-to-user chat messaging you could still multiplex that onto the same actual websocket / socket.io connection (although it's arguable if this is actually beneficial).

    Why do any of this writing or work? Interest more than anything else, but it may make the code to NodeBB cleaner, and improve maintainability.

  • Can Redis handle an image-heavy forum?

    7
    1 Votes
    7 Posts
    2k Views
    aaronA

    Sweet, thanks.

  • How can i know the admin userpassword

    15
    1 Votes
    15 Posts
    10k Views
    N

    Yeah, the code in the mongo specific setup for nodebb is currently wrong. 😛 thats why Im having issues