Skip to content

Nodebb design

Solved General
2 2 1.3k 1
  • wrote on last edited by Panda
    #1

    When I first thought on the topic of how I would design a forum, I envisaged a mostly JS front-end app, using the back end to access the Database.
    That has some advantages and disadvantages. One negative is not being so good for SEO as more Server side rendered forums, if web crawlers dont run the JS to read the forum.

    How Nodebb builds its pages is different than I might have guessed. Its heavily reliant on Templating and CSS.

    Anyway before getting to that, I have been looking at how Nodebb builds its pages.

    On Nodebb forum one of the devs said
    The “read api” is used by the NodeBB frontend when loading pages
    The “write api” is preferred for server-to-server interactions.

    I asked for clarification on what server-to-server interactions might be?
    That part of my question was missed, can anyone add some explanation to help me understand?

  • When I first thought on the topic of how I would design a forum, I envisaged a mostly JS front-end app, using the back end to access the Database.
    That has some advantages and disadvantages. One negative is not being so good for SEO as more Server side rendered forums, if web crawlers dont run the JS to read the forum.

    How Nodebb builds its pages is different than I might have guessed. Its heavily reliant on Templating and CSS.

    Anyway before getting to that, I have been looking at how Nodebb builds its pages.

    On Nodebb forum one of the devs said
    The “read api” is used by the NodeBB frontend when loading pages
    The “write api” is preferred for server-to-server interactions.

    I asked for clarification on what server-to-server interactions might be?
    That part of my question was missed, can anyone add some explanation to help me understand?

    wrote on last edited by phenomlab
    #2

    @Panda said in Nodebb design:

    One negative is not being so good for SEO as more Server side rendered forums, if web crawlers dont run the JS to read the forum.

    From recollection, Google and Bing have the capability to read and process JS, although it’s not in the same manner as a physical person will consume content on a page. It will be seen as plain text, but will be indexed. However, it’s important to note that Yandex and Baidu will not render JS, although seeing as Google has a 90% share of the content available on the web in terms of indexing, this isn’t something you’ll likely lose sleep over.

    @Panda said in Nodebb design:

    The “write api” is preferred for server-to-server interactions.

    This is mostly based around overall security - you won’t typically want a client machine changing database elements or altering data. This is why you have “client-side” which could be DOM manipulation etc, and “server-side” which performs more complex operations as it can communicate directly with the database whereas the client cannot (and if it can, then you have a serious security flaw). Reading from the API is perfectly acceptable on the client-side, but not being able to write.

    A paradigm here would be something like SNMP. This protocol exists as a UDP (UDP is very efficient, as it is “fire and forget” and does not wait for a response like TCP does) based service which reads performance data from a remote source, thus enabling an application to parse that data for use in a monitoring application. In all cases, SNMP access should be “RO” (Read Only) and not RW (Read Write). It is completely feasible to assume complete control over a firewall for example by having RW access to SNMP and then exposing it to the entire internet with a weak passphrase.

    You wouldn’t do it (at least, I hope you wouldn’t) and the same ethic applies to server-side rendering and the execution of commands.

  • phenomlab phenomlab marked this topic as a question on
  • phenomlab phenomlab has marked this topic as solved on

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
  • Spam spam spam

    Solved Configure nodebb
    6
    2 Votes
    6 Posts
    3k Views
    phenomlab
    @Panda said in Spam spam spam: ok, yes Ive seen the queue, it shows IP, but doesnt have a field for comments from registrant. It’s not designed for that. It merely serves as a gateway between posts appearing on your form or not. @Panda said in Spam spam spam: It would be better if nodebb had this plugin included in ACP list, as not only then do you know its approved and should work, but many people cant or dont want to use CLI on the server That’s a question for the NodeBB devs but in all honesty you can’t not use the CLI when installing nodebb so to be this isn’t a big deal.
  • CSS code customization for the link preview plugin

    Solved Customisation css nodebb
    6
    2
    3 Votes
    6 Posts
    3k Views
    phenomlab
    @kadir-ay-0 marking as resolved based on https://community.nodebb.org/topic/17109/manual-build-a-night-mode-for-harmony/5 Please do not raise requests in two places - here and the NodeBB forums. All this does is create unnecessary load for both parties.
  • Modify the tagging behavior in NodeBB

    Locked General tagging harmony
    11
    3 Votes
    11 Posts
    4k Views
    phenomlab
    For anyone else following this thread https://community.nodebb.org/topic/17402/change-in-reply-to-xxxx-text And https://github.com/NodeBB/NodeBB/commit/f2152953cddd3247746ef393516b0a53ba7750a4
  • Collapsing blockquotes on Harmony

    General nodebb harmony collapsible quotes
    2
    1
    2 Votes
    2 Posts
    980 Views
    phenomlab
    @dave1904 that’s a really good point actually. I know it was there previously on Persona, but you’re right - no such function exists on harmony. However, putting something in place to mimick the behaviour of Persona won’t be hard from the js standpoint, although I wonder if perhaps we should ask the NodeBB developers is this feature was overlooked?
  • NodeBB - Created pages not found?

    General
    20
    3 Votes
    20 Posts
    6k Views
    phenomlab
    @jac Exactly. Hard point to argue.
  • Nodebb Hashtag plugin

    Solved General
    15
    1 Votes
    15 Posts
    6k Views
    phenomlab
    @jac Great ! I’ll close this off.
  • nodebb-plugin-customize error

    Solved Customisation
    25
    2 Votes
    25 Posts
    17k Views
    RiekMedia
    @phenomlab it work, thanks
  • Nodebb best plugins

    General nodebb plugins
    18
    7 Votes
    18 Posts
    7k Views
    crazycells
    @phenomlab thanks