Let's keep a list of NodeBB installations here :
If you are running your own NodeBB let us know we will add it to the list!
Let's keep a list of NodeBB installations here :
If you are running your own NodeBB let us know we will add it to the list!
This NodeBB plugin pulls RSS feeds and creates topics in predefined categories.
A NodeBB Plugin to post topics using RSS feeds. Contribute to barisusakli/nodebb-plugin-rss development by creating an account on GitHub.
GitHub (github.com)
To customise options for the parser, please consult the "RSS" page in the administration panel, under the "Plugins" heading.
npm install nodebb-plugin-rss
Just merged the group-chat branch into master, it will be available in our next release which will most likely be 1.0.0.
There are some breaking changes and schema changes in this merge.
The upgrade script will go through all the chat messages and assign them to rooms. This might take a while depending on how many chats messages there are in the system. The upgrade script should show the progress in the console.
For all the changes check out this PR https://github.com/NodeBB/NodeBB/pull/3968/files
This plugin shows who is currently viewing a topic. This was a core feature that we removed a while ago, now it is back as a plugin
npm install nodebb-plugin-browsing-users
More info at https://github.com/barisusakli/nodebb-plugin-browsing-users
Notes
Currently only persona supports this, if you want to add it to your custom theme make these changes.
While this topic has some broad ideas about new features following 3.x, this topic will be about new features and quality of life improvements coming in 3.1.0.
Without further ado let see what's new:
Topic thumbnails is a feature that allows users to upload images as part of a topic.
In persona theme it only replaced the user avatar on topic lists but with harmony it is now displayed separately in the topic list. With 3.1 you can now see the topic thumbnails inside the topic and click on them to see large versions and switch between images.
Try it on this topic https://community.nodebb.org/topic/17113/persona-a-retrospective
Our chat message edit interface needed some Previously editing a message used the same input box as sending a message and would lead to confusion, what happens if you already have text in the send input? Now it is possible to edit in place like slack and other chat apps.
Prior to 3.1.0 the only way to edit the tags of a topic was to enter the topic and then click edit on the main post. Starting in 3.1.0 it is possible to use the topic tools dropdown and modify the tags of a topic. It is also available on topic lists like the recent page so you can tag multiple topics at the same time.
Not sure why this wasn't requested before seeing how we share alot of code on this forum. With 3.1.0 you will be able to copy the contents of code blocks with a single click.
Our error pages had the same design since 2016 which used the default bootstrap alert classes.
We have updated them to look nicer, we also included some of our animal friends. See which one you get.
When forking a topic it wasn't possible to specify the category for the new topic. This would lead to problems if the category is only intended for topics from admins.
Now you don't have to move the topic after forking and just select the target category in one step.
Widgets can have start and end date and they will be visible only during that time frame.
We also fixed some issues reported by our users since 3.0.0 release. You can see those here
Peace is a simple theme with a sidebar navigation, it comes with a builtin bootswatch theme switcher.
More info and source https://github.com/barisusakli/nodebb-theme-peace
I have run some tests to check the memory usage.
The redis INFO command was reporting 811kb at the beginning since I was running the tests on db1. An empty NodeBB installation starts with roughly 405kb of memory usage.
start 811.44 kb
**Users **
100 users 1.04M diff (254kb) per user = 2.54kb
1000 users 3.61M diff( 2,885kb) per user = 2.885kb
10000 users 29.88M diff( 29,786kb) per user = 2.97kb
Posts (500 chars each)
336 posts 30.71M diff(849kb) per post = 2.52kb
996 posts 32.70M diff(2,887kb) per post = 2.89kb
9995 posts 54.39M diff (25,098kb) per post = 2.51kb
The memory usage per user is roughly 3kbs at 10,000 users. This value goes up as we have other structures that grow as the user count grows.
The memory usage per post is about 2.5kbs per post, keep in mind the posts I created are all 500 characters long.
So for 2,000,000 posts and 400,000 users :
2,000,000 x 2.5kb + 400,000 x 3kb = 5.9gb
So theoretically 6gb should be enough.
Hope that helps.
I normally don't make announcement topics for patch releases but 3.7.0 had a nasty memory leak issue due to our mongodb dependency.
We noticed increased memory usage on our community and try.nodebb.org as well as instances hosted on https://manage.nodebb.org.
After spending some time with git bisect
I narrowed it down to the mongodb dependency. Thankfully it was fixed in https://github.com/mongodb/node-mongodb-native/pull/4022.
3.7.1 has this fix and 2 more bugfixes https://github.com/NodeBB/NodeBB/issues?q=is%3Aclosed+milestone%3A3.7.1.
If you have upgraded to 3.7.0, you are highly encouraged to upgrade to 3.7.1.
We recently added a new system group called Global Moderators, this group has access to the moderator tools but can't access the ACP. They can also ban users. We will let this group see banned users and flagged posts as well.
We have assigned some users as global mods on this forum as well https://community.nodebb.org/groups/global-moderators.
If you think we missed someone or you want to be a global mod ask for it here.
We have been nominated for the 20i Foss Awards in the category "Best Community & Social"
If you want to support NodeBB you can vote below. Thanks everyone!
Enter description here.
(www.20i.com)
Here is another simple widget to add a new topic button into the new brand header widget area. This allows your users to create topics from anywhere in the forum:
Go to admin/extend/widgets
and create an html widget with the below markup. Don't forget to update your category names and ids in the app.newTopic(cid)
calls.
<div class="dropdown">
<button class="btn btn-sm btn-primary" data-bs-toggle="dropdown">New Topic</button>
<ul class="dropdown-menu dropdown-menu-end p-1">
<li><a href="#" class="dropdown-item rounded-1" onclick="app.newTopic(2);">General Discussion</a></li>
<li><a href="#" class="dropdown-item rounded-1" onclick="app.newTopic(3);">NodeBB Development</a></li>
<li><a href="#" class="dropdown-item rounded-1" onclick="app.newTopic(5);">Feature Requests</a></li>
<li><a href="#" class="dropdown-item rounded-1" onclick="app.newTopic(6);">Bug Reports</a></li>
</ul>
</div>
If you want you can use the widget code from https://community.nodebb.org/topic/17095/how-to-create-a-category-selector-in-navigation to have a more complex category dropdown.
Note: Latest stable is v3.3.9
Hello everyone! We have just released NodeBB 3.3.0.
There are some exciting changes in this release so please read below to learn more.
As mentioned here 3.3.0 comes with a refactored chat system that allows administrators to create public rooms. Here are some more highlights:
The chat system also performs much better with a lot of users, if you were using nodebb-plugin-global-chat you can switch to public group chats and disable that plugin.
Try it out on our chats page here.
Thanks to @oplik0's work on this you can now use fontawesome pro icons and fontawesome is now loaded as an npm dependency like most of our other dependencies.
More info in this pull request and in our docs.
Bootstrap had a minor version upgrade from 5.2.3 to 5.3.1.
For all changes please refer to bootstrap's blog
https://blog.getbootstrap.com/2023/05/30/bootstrap-5-3-0/
https://blog.getbootstrap.com/2023/07/26/bootstrap-5-3-1/
There are some big changes to color modes and addition of new colors.
The acp got redesigned in 3.2.0 and all of the hardcoded colors were replaced with bootstrap theme colors.
Since bootstrap 5.3 comes with a built in dark mode, I've added support for this in the ACP. It can be toggled with a switch on the ACP dashboard and your preference gets saved in local storage.
We have some QoL improvements as well.
Please let us know if you notice any issues in the support thread https://community.nodebb.org/topic/17488/3-3-0-upgrade-support
Let's take a stroll down memory lane and see how the chat system has evolved over the years.
The initial chat feature was built 10 years ago and used websockets to send text messages. The message history wasn't even saved in this first iteration and it was limited to 2 users.
This first version was built using popup windows. In 2014 a separate page for chats was built in https://github.com/NodeBB/NodeBB/issues/1788
In 2015 group chats were introduced allowing more than 2 users. https://community.nodebb.org/topic/7289/group-chat-changes
After this the chat page didn't see any drastic changes, the design stayed mostly the same until we released 3.0.0 with Harmony theme.
Even though we allowed group chats since 2015 the way it was built wasn't scalable to lots of users. It was meant to be used to create chats between a small number of users. Adding thousands of users to a single room would make it really slow due to how the data was stored and delivered to each user. Without going into too much detail; the previous system would naively try to deliver a new message to all users in the room even if they weren't online.
The upcoming 3.3.0 release will add support for public group chats and allow bigger rooms.
Administrators will be able to create public chat rooms and select which groups can access them. If you select registered-users
it would be accessible to everyone who registers to your forum.
Public rooms allow users to view the entire chat history unlike private rooms where you only see messages sent after you have joined.
You can test by going to https://community.nodebb.org/chats. Hopefully you won't see our admin chats
This feature is on the develop
branch for anyone wanting to test it on their dev forums.
Happy chatting
Hello everyone!
Today we are releasing NodeBB 3.5.0. Please read below for all the changes in this release.
Starting with 3.5.0 you will be able to watch individual tags. Whenever a topic is posted that has those tags you will get a notification and/or email depending on your notification settings. This is useful for watching system tags like security and release.
You can watch tags directly from the tag page or from your watched tags page.
We've revamped our emoji dialog to use category icons instead of labels and got rid of the horizontal scrollbar.
Plugins can add buttons into the chat composer via our hooks system, we've added support for this in two plugins nodebb-plugin-tenor-gif and nodebb-plugin-emoji.
A new setting that controls the delay between chat messages for regular and new users. This was hardcoded too 200 milliseconds before.
Pinned messages are now editable in the pinned message area, so you don't have to go searching for it in the message area.
Just like merged topics, forked topics will display a banner at the top showing which topic they were forked from.
Prior to 3.5.0 there was no way to see if you received an award. We added two notifications; one for being added to a group and one for receiving reputation.
As usual there are plenty of bug fixes in this release.
Full list of closed issues
Let us know if you run into any issues in our support thread
Since NodeBB 1.18.6 it is possible to create dropdowns in the navigation (https://github.com/NodeBB/NodeBB/issues/9967). Before 1.18.6 to accomplish this you would have to use nodebb-plugin-customize to modify the menu template or use javascript to inject the markup after page load.
In this tutorial I will show you how to create a dropdown navigation item that replaces the default categories link with a dropdown. The final result will look like this:
First thing to do is to turn the navigation item into a dropdown, to do this head over to yourforum.com/admin/settings/navigation
, select the categories navigation item and toggle the dropdown
option.
Once this is done you can use the text area below the toggle to add your markup. To create a simple dropdown you would just add a list of dropdown items like so:
<li><a class="dropdown-item" href="/categories">All</a></li>
<li><a class="dropdown-item" href="/category/2/general-discussion">General Discussion</a></li>
Since you can input html here you can create custom dropdowns. To achieve the same dropdown as the first gif use the below html code, no css is necessary.
<li><a class="dropdown-item" href="/categories">All</a></li>
<li class="dropdown-divider">
<li><a class="dropdown-item" href="/category/2/general-discussion">General Discussion</a></li>
<li class="d-flex flex-column">
<a class="dropdown-item" href="/category/3/nodebb-development">NodeBB Development</a>
<div class="d-flex flex-column px-4">
<div class="d-flex align-items-center gap-1">
<i class="fa fa-fw fa-caret-right text-primary"></i>
<a class="btn-ghost-sm text-sm text-nowrap" href="/category/13/nodebb-blog">NodeBB Blog</a>
</div>
<div class="d-flex align-items-center gap-1">
<i class="fa fa-fw fa-caret-right text-primary"></i>
<a class="btn-ghost-sm text-sm text-nowrap" href="/category/5/feature-requests">Feature Requests</a>
</div>
<div class="d-flex align-items-center gap-1">
<i class="fa fa-fw fa-caret-right text-primary"></i>
<a class="btn-ghost-sm text-sm text-nowrap" href="/category/6/bug-reports">Bug Reports</a>
</div>
<div class="d-flex align-items-center gap-1">
<i class="fa fa-fw fa-caret-right text-primary"></i>
<a class="btn-ghost-sm text-sm text-nowrap" href="https://explore.transifex.com/nodebb/nodebb/">NodeBB Localization</a>
</div>
</div>
</li>
<li><a class="dropdown-item" href="/category/7/nodebb-plugins">NodeBB Plugins</a></li>
<li><a class="dropdown-item" href="#">...add more as needed...</a></li>
Modify the links to match your forum categories. To create dividers between sections you can use <li class="dropdown-divider">
Now you can navigate your categories without going to the home/categories page.
Note: Latest stable is v3.4.3
Hello!
We are back with another release that improves some of the features related to public chats that were added in 3.3.0.
Starting with 3.4.0 room owners and administrators can pin chat messages. Pinned messages appear in a separate area that can be accessed from the room header. You can pin important messages so they can be easily found later.
Public rooms were sending the same type of notification as private chats so it was hard to tell them apart. 3.4.0 improves this so the name of the room is visible in the notification for public chats.
A feature that was added long ago but got removed during one of our refactors is back. The changes in 3.3.0 allows implementing this much easier.
Admins and global moderators will be able to edit and delete other users chat messages.
Muted users won't be able to send chat messages.
This educates new users about the post queue if it is enabled and also discourages manual spammers since they will know their post isn't going to show up in the forum when they submit.
We have added the ability to change a users password and email from the ACP and reorganized the manage users dropdown.
As usual there are plenty of bug fixes in this release.
Full list of closed issues
Let us know if you run into any issues in our support thread
This plugin allows defining keywords and descriptions in the admin control panel. These keywords will display a tooltip when the user mouse overs them in posts. Keywords are also displayed at /glossary along with information about each keyword.
npm install nodebb-plugin-glossary
More info:
A glossary plugin. Contribute to NodeBB/nodebb-plugin-glossary development by creating an account on GitHub.
GitHub (github.com)
Hello everyone!
Today we are releasing NodeBB 3.6.0. Please read below for all changes in this release.
Note: This release requires NodeJS 18 and up.
In 3.5.0 we added the ability to watch tags and receives notifications whenever a new topic is posted. This functionality was not available for categories however. So in this release we added a new setting to the category watch dropdown to allow the same for categories.
The reactions plugin has been updated to send notifications whenever someone reacts to one of your posts or chat messages.
Use [email protected] with NodeBB 3.6.0 to get this functionality.
We added a new option in the acp to select groups that should be exempt from new user restrictions. This is useful if you place some users in a trusted group like staff members.
If you have a lot of rewards you can now sort them in the ACP
We've added more social network share buttons into the post tools dropdown menu. These can be enabled or disabled in the ACP.
@oplik0 has contributed some improvements for structured data. https://github.com/NodeBB/NodeBB/pull/12202. This should result in better results in search results.
As part of our ongoing efforts to tackle technical debt we have replaced the now deprecated request library with the native fetch that comes with nodejs. This means our minimum version for nodejs is now 18.
Thanks to work by @oplik0 and @stevefan1999-personal a pull request has been merged that brings many improvements to docker support. https://github.com/NodeBB/NodeBB/pull/12031
As usual there are plenty of bug fixes in this release.
Full list of closed issues
Let us know if you run into any issues in our support thread
Hello Everyone !
Today we are releasing NodeBB 3.7.0. Please read below for all the changes in this release.
One of the main features of this release was improving accessibility for Harmony theme. This is an ongoing effort but we already implemented plenty of fixes. I will detail some of these below.
We implemented a "skiplink" that allows keyboard users to skip all the navigation items and directly go to the main content area. This is an anchor element that gets focused first when a user hits the tab key on their keyboard.
These are special html attributes for screen readers. We were missing quite a few of them especially on our navigation items.
This is pretty self-explanatory. The sort by dropdown didn't show the selected option so we updated this to match the other dropdowns.
We have increased the color contrast on badges and links to match WCAG 2.1 AA. This requires a minimum color contrast of 4.5:1. This is an ongoing effort so we will keep improving on this.
The post tools on each post object only showed up when you mouse overed the post itself. They were invisible if you were a keyboard user. We have updated our css so that when one of the post tools has focus the elements will become visible.
We improved the error messaging and labels on the register and login forms. Specifically if there is an error it will be read by screen readers.
If you have a lot of bookmarked posts it becomes hard to find what you are looking for. So we added a new filter on the /search page to search only in your bookmarks.
Thanks to @crazycells for the suggestion.
Since we love the chat page of harmony so much, we have moved the chat templates and styling to core. Persona, Peace and Lavender themes now use this layout as well.
We implemented a new unread categories logic to better reflect unread topics. Previously a category was marked as read as soon as the user entered the category. This was misleading as the category still had unread topics. On 3.7.0 the category will show as unread as long as there are unread topics inside.
We fixed another issue with rich search results and DiscussionForumPosting object. Specifically each reply is now properly nested under the DiscussionForumPosting object. More info
We added some daily limits on post and user flags to prevent abuse. Once users reach this limit they will have to wait until they can flag again.
As usual there are plenty of bug fixes in this release.
Full list of closed issues
Let us know if you run into any issues in our support thread