@frissdiegurke Thanks again for your response. It seems my issue centers around my fundamental understanding of NodeJS rather than NodeBB. I am going to tool around using what you said and perhaps look into some further NodeJS documentation. I am planning on spending the good majority of my day attempting my own NodeBB plugin using this knowledge. If I have any further questions I will be sure to ask here. Again, I appreciate all your help and I'm sure we will be talking again soon.
AccessDenied
Posts
-
NodeBB For a Complete Beginner -
NodeBB For a Complete Beginner@frissdiegurke Thank you for you well written response. That clears up a lot on why I'm confused - there just simply ISN'T documentation on anything. If I could ask, how did someone like yourself become familiar with the concepts behind NodeBB? Are they just intuitive or are they related to other forum/CMS style frameworks?
I appreciate you referencing a new plugin for me to take a look at. I think my biggest question at the moment is understanding the functionality of a library. Every single plugin library I've looked at is different and communicates with NodeBB differently. I'm not sure how I am supposed to properly generate a library. For instance, please reference the following:
-
In nodebb-plugin-shortcuts you are attaching hook functions to an exports object and completely ignore the module variable.
-
In nodebb-plugin-custom-homepage the entire library is wrapped in (function(module) { ... }(module)) and instead of using an exports object to define hook functions, uses a Plugin object and assoiates module.exports = Plugin at the end.
-
In nodebb-plugin-quickstart the library is not wrapped but uses the Plugin object and associates module.exports to the Plugin object at the end.
Which library is built correctly? I assume they are all built correctly, but how can they all be built differently and still be interpreted by NodeBB correctly? I am under the impression that NodeBB interprets the library automatically based on a specific format and then generates the functions laid out in the header for the hook actions and filters set in plugin.json, am I wrong about that? Also, how am I supposed to know what function parameters are associated to the hook events described in plugin.json? For instance in nodebb-plugin-custom-homepage three hooks are described with the following methods, defineWidgetAreas, serveHomepage, addListing. In the library, they all have different function parameters:
-
Plugin.serveHomepage = function(params)
-
Plugin.addListing = function(data, callback)
-
Plugin.defineWidgetAreas = function(areas, callback)
Again, I am assuming that NodeBB builds these function parameters based off of the hook events that are called.
I appreciate your help and I hope I am not being too much of a burden.
-
-
NodeBB For a Complete Beginner@sanatisharif Thanks for the link. I completely agree that if NodeBB wants to move forward in popularity it is going to need to adopt some form of tutorials or documentation. If at some point I eventually grasp the concepts behind NodeBB plugins and themes enough, I would be willing to write a tutorial for a beginner that has freshly installed NodeBB. However at this point I can unhesitatingly admit that nearly anyone out there is more qualified than me at the moment.
-
NodeBB For a Complete BeginnerA quick backstory on me: I am an experienced programmer new to the concept of NodeBB. I have very limited experience with CMS type systems, as you will find out. I've been really intrigued in what Node JS has to offer specifically in tandem with Socket IO which has ultimately brought me to NodeBB. I was recently able to get NodeBB up and running successfully and starting looking to customize the platform by writing my own plugin. This is where I get entirely lost.
The issue I have is that I have literally zero idea how anything works on the back end. I have read the documentation supplied, however I feel it is still too advanced for someone with nothing to go on. I have tried downloading plugins as examples and have just ended up with more questions than answers.
What is a controller/router/etc, how do I properly build a library, how do I know what parameters are being sent with the hooks set in the plugin.json file?
I have visited the Hooks Wiki Page but all I take away are variable names for hooks with no descriptions, documentation or indications of how these hooks interact with NodeBB. How am I supposed to know how to program or utilize any of these hooks?
For reference, I have downloaded the following plugins: nodebb-plugin-quickstart and nodebb-plugin-custom-homepage in an attempt to teach myself but I feel like this is all going a mile high over my head. The more posts I read the more confused I get on how everything actually works together.
I'm frustrated because I feel like I am the only one struggling to understand the concepts and I apologize if I've missed something entirely obvious. However, if someone could help me along with getting starting in the very basics or point me in the right direction I would be in your debt.
TL;DR I'm dumb and need lowest denominator guidance on how to understand the concept of NodeBB, plugins, widgets and themes.