Skip to content

NodeBB: The global Search option

Solved Configure
5 2 846 1
  • Hi,
    I noticed both on the NodeBB forum, Sudonix forum, and mine also, there is no Search functionality. I would like this very much because I would like people to search for a past answer before asking for a new one. Maybe, I am looking at the wrong place, or do I need to activate it from admin?

  • My apologies! I have found the Search field on NodeBB and your site. I just need to figure out how to get it on my site. Could it be because I have no posts yet?

    @mventures Not quite - it’s because of this

    ff0a9849-5815-4c7a-853a-808fd325a779-image.png

    It’s installed, but not activated by default

    f6280a04-ace2-43a6-8e9a-4614efecba84-image.png

    Every time you install or uninstall a plugin, you need to rebuild NodeBB

    c638615a-4597-41f6-ad32-b552c8433c06-image.png

    f539df98-cb0c-4875-abf4-b61a60333ad5-image.png

    f311a7a0-05b7-4036-820d-85661410369b-image.png

    Confirm, and wait for NodeBB to restart

    bd46bebc-58c6-400a-a3f3-1bd09e17a5b0-image.png

    b1b5263e-f68a-4a34-99b6-5147979fb8af-image.png

    Now go back to your site

    You should see that Search has appeared

    39af2e82-15ec-4add-a758-f422b60c43ba-image.png

    I’ve done all of this for you, so this is for reference.

    Regds

  • My apologies! I have found the Search field on NodeBB and your site. I just need to figure out how to get it on my site. Could it be because I have no posts yet?

  • My apologies! I have found the Search field on NodeBB and your site. I just need to figure out how to get it on my site. Could it be because I have no posts yet?

    @mventures Not quite - it’s because of this

    ff0a9849-5815-4c7a-853a-808fd325a779-image.png

    It’s installed, but not activated by default

    f6280a04-ace2-43a6-8e9a-4614efecba84-image.png

    Every time you install or uninstall a plugin, you need to rebuild NodeBB

    c638615a-4597-41f6-ad32-b552c8433c06-image.png

    f539df98-cb0c-4875-abf4-b61a60333ad5-image.png

    f311a7a0-05b7-4036-820d-85661410369b-image.png

    Confirm, and wait for NodeBB to restart

    bd46bebc-58c6-400a-a3f3-1bd09e17a5b0-image.png

    b1b5263e-f68a-4a34-99b6-5147979fb8af-image.png

    Now go back to your site

    You should see that Search has appeared

    39af2e82-15ec-4add-a758-f422b60c43ba-image.png

    I’ve done all of this for you, so this is for reference.

    Regds

  • phenomlabundefined phenomlab has marked this topic as solved on
  • That’s awesome @phenomlab! Thank you. I can see it 🙂

    What did you mean by, “rebuild NodeBB”? And the whole rebuild happens by just clicking that “recycle” button?

  • That’s awesome @phenomlab! Thank you. I can see it 🙂

    What did you mean by, “rebuild NodeBB”? And the whole rebuild happens by just clicking that “recycle” button?

    @mventures Yes, exactly. The other icon will restart NodeBB whilst the first icon I referenced will rebuild (recompile) it.

    The huge strength of NodeBB over Flarum (for example) is that the code is precompiled, and called once at boot. PHP’s code has to repeatedly reload code from source making it much slower.


Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • Composer options on nodebb

    Solved Configure nodebb
    8
    1
    3 Votes
    8 Posts
    1k Views
    @Panda You should be able to expose the CSS for these using F12 to get into console [image: 1686833368846-3591518c-e3a3-4ada-a43c-6b32a5e0359c-image.png] [image: 1686833399483-a2b8ed46-4157-4ff2-85f0-576543380107-image.png] That should then expose the element once selected [image: 1686833431032-89d9c545-a47a-40d1-98f4-80cf3b958e8f-image.png] Here’s the below CSS you need based on the screenshot provided. .composer .formatting-bar .formatting-group li[data-format="picture-o"], .composer .formatting-bar .formatting-group li[data-format="spoiler"] { display: none; }
  • NodeBB: Consent page

    Solved Configure nodebb consent
    16
    4 Votes
    16 Posts
    4k Views
    @DownPW I still do not see any issues.
  • NodeBB: Privileges for the Announcement channel

    Solved Configure nodebb
    6
    1
    1 Votes
    6 Posts
    1k Views
    Up to you really
  • 5 Votes
    13 Posts
    2k Views
    'use strict'; const winston = require('winston'); const user = require('../user'); const notifications = require('../notifications'); const sockets = require('../socket.io'); const plugins = require('../plugins'); const meta = require('../meta'); module.exports = function (Messaging) { Messaging.notifyQueue = {}; // Only used to notify a user of a new chat message, see Messaging.notifyUser Messaging.notifyUsersInRoom = async (fromUid, roomId, messageObj) => { let uids = await Messaging.getUidsInRoom(roomId, 0, -1); uids = await user.blocks.filterUids(fromUid, uids); let data = { roomId: roomId, fromUid: fromUid, message: messageObj, uids: uids, }; data = await plugins.hooks.fire('filter:messaging.notify', data); if (!data || !data.uids || !data.uids.length) { return; } uids = data.uids; uids.forEach((uid) => { data.self = parseInt(uid, 10) === parseInt(fromUid, 10) ? 1 : 0; Messaging.pushUnreadCount(uid); sockets.in(`uid_${uid}`).emit('event:chats.receive', data); }); if (messageObj.system) { return; } // Delayed notifications let queueObj = Messaging.notifyQueue[`${fromUid}:${roomId}`]; if (queueObj) { queueObj.message.content += `\n${messageObj.content}`; clearTimeout(queueObj.timeout); } else { queueObj = { message: messageObj, }; Messaging.notifyQueue[`${fromUid}:${roomId}`] = queueObj; } queueObj.timeout = setTimeout(async () => { try { await sendNotifications(fromUid, uids, roomId, queueObj.message); } catch (err) { winston.error(`[messaging/notifications] Unabled to send notification\n${err.stack}`); } }, meta.config.notificationSendDelay * 1000); }; async function sendNotifications(fromuid, uids, roomId, messageObj) { const isOnline = await user.isOnline(uids); uids = uids.filter((uid, index) => !isOnline[index] && parseInt(fromuid, 10) !== parseInt(uid, 10)); if (!uids.length) { return; } if (roomId != 11) { // 5 Is the ID of the ID of the global chat room. Messaging.getUidsInRoom(roomId, 0, -1); // Proceed as normal. } else { user.getUidsFromSet('users:online', 0, -1); // Only notify online users. } const { displayname } = messageObj.fromUser; const isGroupChat = await Messaging.isGroupChat(roomId); const notification = await notifications.create({ type: isGroupChat ? 'new-group-chat' : 'new-chat', subject: `email:notif.chat.subject, ${displayname}`, bodyShort: `notifications:new_message_from, ${displayname}`, bodyLong: messageObj.content, nid: `chat_${fromuid}_${roomId}`, from: fromuid, path: `/chats/${messageObj.roomId}`, }); delete Messaging.notifyQueue[`${fromuid}:${roomId}`]; notifications.push(notification, uids); } };
  • MailGun Not Working NodeBB

    Solved Configure mail mailgun
    6
    1 Votes
    6 Posts
    1k Views
    @phenomlab did it i did not create smtp user on mailgun. everything is working now. [image: 1667569376261-6cc6061f-ed5d-41f6-8eb7-5d98f98b3706-image.png]
  • Recent Cards plugin customization

    Solved Customisation nodebb
    21
    1
    13 Votes
    21 Posts
    7k Views
    @pobojmoks that’s easily done by modifying the code provided here so that it targets background rather than border In essence, the below should work $(document).ready(function() { $(window).on('action:ajaxify.end', function(data) { $('.recent-card-container').each(function(i) { var dataId = $(this).attr("data-cid"); var color = $('[role="presentation"]', this).css("background-color"); console.log("data-cid " + dataId + " is " + color); $('[data-cid="' + dataId + '"] .recent-card').attr("style", "background-color: " + color); }); }); });
  • background color of the footer area

    Solved Customisation nodebb
    7
    1
    7 Votes
    7 Posts
    1k Views
    @phenomlab thank you very much
  • Iframely (Nodebb)

    Solved Configure
    40
    4 Votes
    40 Posts
    8k Views
    @DownPW This is now resolved. The issue was an incorrect URL specified in the Nodebb plugin. I’ve corrected this, and now it works as intended.