Discourse vs NodeBB


(Ryan Illman) #1

We just did a side-by-side trial of Discourse and NodeBB, and while Discourse won for now (based on a couple key features, like how the “Solved” plugin works in each) I have a feeling NodeBB will be catching up soon. Another forum I’m on that just happens to be full of software developers is currently working with the NodeBB devs so we can migrate off Discourse.


Flarum/NodeBB/Discourse
Platform recommendations - new community, small budget
So, what are you working on?
(Sarah Hawk) #2

Thanks for the update @Ryan_Illman – I’ll be interested to track your progress.

[quote=“Ryan_Illman, post:10, topic:1099”]
currently working with the NodeBB devs so we can migrate off Discourse.
[/quote] What is it about Discourse that makes you want to move off it? (Or what is it about Node that appeals more?)


(Ryan Illman) #3

I don’t want to go in to too much detail as things have been quite messy. The original move to Discourse was something that community was very vocally against, but it happened anyway. Since then a few bridges have been burnt with the Discourse team, and it’s time for us to move on. The NodeBB team has joined into and been welcomed by that community in a way the Discourse team never did/was. Both platforms have their issues ; the difference is that I now have much more confidence in the NodeBB team getting them fixed.


(Sarah Hawk) #4

Thanks for the response. I’m keen to hear how you track. There is next to no info at all out there about Node so I think this could be a valuable thread.


(Ryan Illman) #6

Few things up front:

  • I haven’t admin’d NodeBB in a production environment; only in tests.
  • NodeBB is a pre-1.0 product (currently 0.8.2).

This is a great starting point:

##installation##
I wouldn’t recommend installing either product to someone with limited server admin experience. Both require super-new versions of their environment (Docker for Discourse and nodejs/npm for NodeBB) that aren’t available in most Linux distros yet (and I have no idea if either could be run under Windows). If you don’t know the implications of curl -sSL https://get.docker.com/ | sudo sh, run.

Hosting for either starts at $100/mo. You can’t install any plugins if you go that route for Discourse, though.

In trying to get both going for testing, I ended up needing to upgrade my Ubuntu-based servers to 15.04, leaving the LTS release.

Once you get the prerequisites out of the way, NodeBB is far easier to install. Discourse requires a “container rebuild” to change some key settings or install plugins.

##performance##
With large topics Node BB wins easily. Topics over 30k posts can occasionally bring a Discourse site to its knees, while Node hums along just fine.

Node generally feels more responsive even on less hardware. My test installs of both are in Amazon EC2. Node runs great on a t2.micro instance, while Discourse won’t even start on less than a t2.small

##features##
This is where NodeBB lost in the trial we ran. The thread on community.nodebb.org above has a great comparison that seems to still be mostly true.

  • Discourse’s “Solved” plugin can be turned on and off by category (or sub-category), which isn’t currently true for Node’s which is all-or-nothing.

  • that said, Node’s defaults to adding both UNSOLVED and SOLVED boxes on the thread lists, vs discourse only adding a badge for solved. Node also has an Unsolved top-level list.

  • Automatic links between posts either within a thread or between threads in Discourse is amazing in a complicated discussion. Reply as New Topic comes in very handy.

  • Discourse has better mod/admin tools. The NodeBB admin interface forces you to remember to click a save button in the very lower right corner of the page (unless a particular setting auto-saves…)

  • User Cards. It seems silly, but getting a pop-up card to learn about a user in Discourse is much nicer than being taken out of the thread as in Node.

  • SSO. Out of the box Discourse supports super-simple shared-key SSO that we were able to take advantage of.

##plugins##
Both platforms have plugins that you can find on GitHub. Node’s can be installed online from the admin panel, while Discourse’s require you edit a configuration file and rebuild the docker container (meanwhile your site is unavailable for ~15 minutes)

If a plugin breaks, both require you to have shell access on the server to fix it.

##conclusion##
Even with the feature disparity, if I were setting up a forum for personal reasons rather than to support paying customers I would probably choose NodeBB. It’s hard to say no to some of Discourse’s features, though.


So, what are you working on?
(Sarah Hawk) #7

That’s fantastic information thanks. I appreciate the time you took to write it down.


(Gear Buzz) #8

Is there an obvious reason why both might be a better choice than XenForo? (Sorry if that’s a dumb question, it’d just that with a heavily modified VBulletin V3.8 community, I am led to believe XenForo is the only viable game in town to migrate to)


(Ryan Illman) #9

Depending on what you want out of a forum, there may not be. It also depends on your customizations. One of the big benefits of the “new world”[1] platforms over the “old world” are instant updates when things happen. For example, as long as you have a page open to this forum you’ll instantly get a notification about this post even if you left the page open in a background tab. If you happen to leave it open to this thread my post will just show up. No refreshing required.

There does appear to be an import plugin from vBulletin to NodeBB, and Discourse apparently comes out-of-the-box with a vBulletin importer.

[1] By this I mean they’re built as client-side apps that talk to a server-side API, as opposed to being rendered to HTML on the server side.


(Sarah Hawk) #10

I migrated a heavily customised (we’re talking ~15 years of plugins and hacks) vB 4.x forum to Discourse. It’s totally doable. You have to be prepared to carefully examine some of your processes and do things differently, but for us that was a positive thing.


(Gear Buzz) #11

Hoe much custom functionality did you have to leave behind? Or how much
custom stuff did you have to get coded for Discourse?

Jules Standen


(Sarah Hawk) #12

We left about 80% of it behind. We changed the way we looked at moderation, which meant that we could drop about 50% of the hacks immediately. We fairly heavily customised aesthetically in the first instance (but learned a lesson there – every update meant hours of tweaking).

Most of the things that we swore we couldn’t live without, we actually could.

I made the call to move with nothing and add things in as we realised that we couldn’t live without them. Turns out we could live without pretty much all of them. Fear of change is a powerful thing.


(Gear Buzz) #13

Ah, right. Well I do plan to put my community’s customisations under the
microscope to judge if they are all essential to have in a 2nd platform but
I do feel lot of them are.

Many are replicated on XenForo anyway as they are popular.

Does Discourse have an add on marketplace? Free add ons? Paid add ons?

Jules Standen


(Sarah Hawk) #14

It’s open source so any skilled RoR dev could build a plugin, and there is a pretty active marketplace here.


(Sarah Hawk) #15

How are things shaping up with Node @Ryan_Illman? Are you getting somewhere?


(Ryan Illman) #16

Yes! Most of the kinks have been worked out of the import plugin, and work is now underway rebuilding the blog integration on Node (set up a thread for comments on an article, etc). Once that’s done we should be able to set a date for the migration.


(Sarah Hawk) #17

Exciting! Is the blog running on WP? Does Node have the same kind of thread/comment integration as Discourse?


(Ryan Illman) #18

No, the blog and the integration are entirely custom code written by the site owner and other community members.


(christopher w) #19

@HAWK, apologies if I this is in the wrong place given the age of the last post. Please do relocate if appropriate.

@Rob_Nicholson , what’s your thoughts on NodeBB given it has both an HTML whitelist plugin and a WYSIWYG editor plugin?


(Rob Nicholson) #20

Don’t know is the honest answer as I wasn’t directly involved in the evaluation process but I have a vague memory that NodeBB might have been a bit too young at the time. Interestingly, I’ve just come across this page:

And this worries me! Anyone care to expand?

Con Battery drain on mobile is extreme
Not only can Discourse drain a mobile phone battery in under an hour, it pushes the hardware so hard the phone heats up to the point where it’s uncomfortable to hold.

The “complicated setup” and “lack of themes” cons are less worrying.


(Sarah Hawk) #21

Wow, that’s a bit scary! I don’t have any experience with NodeBB. @Ryan_Illman did you notice phone issues when you did your trials?

Edit: I misread the article and thought the phone drain referred to NodeBB, rather than Discourse. I haven’t noticed any phone issues on iPhone. Has anyone else?