Plugin viability question

NodeBB Plugins
  • Hi,

    I want to show the last N post of a marked category, or marked posts in homepage, as a carousel.
    For that i want then to have an image and a resume of the text. I was thinking of making a plugin for it, but i'm inexpirienced and wanted to ask first if you see it viable to accomplish.

    • My goal is to achieve a blog-like behaviour only in a certain category, that can be shown in a more visible way on home page. I've tested the ghost integration plugin, but i'm not convinced about the user integration (i think it will became a lot of difficult if I use ghost for home front end, and a lot of costumization would be needed to show in the same ghost page, nodebb elements and ghost elements, so this plugin/widget might be simpler for me).

    • Was thinking of using @Schamper nodebb-plugin-shoutbox as a reference, since it displays a widget and modifies the model too.

    One way of doing it i think it could be assigning the image and the text in the widget, as an admin, but i would prefer to have this fields of type mandatory only for posts on the marked category at the time they are written.

    Any thoughts, guidelines or help i can use to start with this?

    Thanks in advance.

  • Maybe is needed a bump plugin too? 😊

  • Definitely sounds possible to me.

    There are a number of ways you could 'mark' a category or topic, a button on the topic or category page, parsed in a post, selecting them through the acp, using the topics' tags.

    The widget could have an array of select elements populated with the marked categories or topics you want displayed in the carousel.

    For the images, you could pull the first image inside the post. Or maybe scan the post for certain words and use a related image you have uploaded in the acp.

  • @yariplus thanks for your reply. I will try to do it then My bigger concern its about the model modification ( if any is needed) because i have no nosql background, so i will begin to learn a bit better how to 'model' the changes in order to persist the information.

    Thanks again!

  • Cool! I suggest using the settings framework. It's super easy because you just store your data as a regular object and call persist() to save it to the database.

  • Even though the widget stuff isn't that exciting I would suggest looking at nodebb-plugin-group-gallery instead of the shoutbox, I'd say it does a slightly better job on the widget side of things 😉

    Besides that, neither of these plugins would really be a good reference to what you're trying to achieve. The widget part won't really be the most difficult.

  • @Schamper in you oppinion what would be the hardest part to achieve? Since i'm inexpert, all the risky things that i can have in considereation before trying to build the plugin are really appreciated.

  • Hardest part will be understanding the API you're going to work with 😉 There are no docs for all the exposed functions so you'll have to figure out which function you're going to need by really diving into the core code.

    Once you get that down, I don't think there are any particularly hard parts to your idea, assuming I understand it completely. Hardest might be finding and implementing a good and easy way to "select" categories you want to include, but @yariplus already suggested some good ideas for that. Other than that it's mostly wiring everything together.

    But you know, I always think too lightly about stuff and it always ends up being a lot harder than I first envisioned 😉

  • @Schamper oh I understand. Well i suppose I will dive a lot into the code and learning a lot about the system in the process. I'm sure a will post a lot of questions in the forum, at least i'll try to implement it succesfully.
    Thanks a lot for your suggestions. 🙂

Suggested Topics