Hi, my name is Alexander. Most recently, I installed Discourse through the WSL and began to learn it.
Two weeks later, I discovered a big problem. Discourse has no good plugin development guides, just a couple of articles. It is assumed that all learning comes down to reading code that has accumulated a lot.
I study every day and every day I have a lot of questions. I want to find a mentor who can answer these questions and help me learning Discourse.
Of course, I am willing to pay for such valuable services. I can speak English, Russian and Thai. I will be very glad to hear your suggestion.
Take a look at Pavilion
For the meantime, also take a look at:
Have you seen this beginner’s guide series on plugin development?
It is a 7 part series written exactly for your specific scenario. A full list of the guides is at the end of each guide.
Yes, I read it all. And I still have questions.
Unforchantly, this guide does not cover hooking in .rb files.
For example users like to upload PUPs sometimes (potentially unwanted program), so I want to protect my main domain from being banned by Google and Antiviruses.
For Example, I need to replace cooked download links in my plugin:
“https://discourse.example.com/uploads/short-url/...exe” => “https://download.proxy.com/uploads/short-url/....exe”.
What should I do? I think I need to find some method first? But which one? How to find which one I need? How to hook it in the plugin? Should I replace or extend the method? How to do both? And many more.
Something I learnt from studying Jazz music:
The best way to work out how things are done is to look at existing examples.
I was very privileged to once have a lesson with one of my heroes. He told me to really listen to the records, it was all there!
In the case of Discourse plugins look for an identical functional use case in an existing, well-written plugin or the Discourse source itself and follow the same patterns; I’ve been developing plugins for over 2 years now and I still do this.
Thank you for advice.
@ramjke one more thing, if it’s not clear from the link I provided: we provide mentorship for free if you become a member of our community and contribute to our open-source plugins. This would normally take the form of you developing a PR (e.g. to add a feature or resolve an annoying bug) to one of our plugins and we would guide you to improve it until its ready for prime time. This is to a large extent how I learnt: real contribution to real world, useful functionality. PRs are a perfect mechanism for a learning workflow. This helps us maintain these popular plugins and at the same time is an amazing learning experience. There is already a large backlog of features you could be working on :).
Thank you. I will check it out.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.