Beginner’s Guide to Creating Discourse PluginsJeff Atwood April 14, 2016
Part of our important work with Rails Girls in 2014 and 2015 was not just to mentor and encourage new developers, but also evolve Discourse into a platform that’s generally friendly and easy for developers to build on.
We’ll be working with the Rails Girls project again in 2016, and this year will be our first with Google Summer of Code. As we work with novice developers and help them get comfortable building on Discourse, we get better at it, and our Discourse extension points and plugin story continues to improve.
Additionally, community member Angus McLeod just posted an amazing How to start building stuff for Discourse if you’re a newbie (like myself) guide that we highly recommend checking out!
This year, we’ll work with our GSoC teams and Rails Girls to dogfood these plugin tutorials even more and further refine them. They’ll be building cool new features and plugins with stuff like webhooks, canned responses, feature voting, low-end device pure HTML mode, better chat system hooks, user-centric activity digests, better color theme previewing, and so on. That’s resulted in the following howtos:
In the past, we’ve hosted a general discussion topic on meta for these groups — here’s the one we used for Rails Girls in 2015 — and we encourage the whole community to collaborate on what’s being built and provide feedback alongside us. That is, after all, exactly what Discourse is designed for — collaboration through discussion! Keep an eye out for the upcoming 2016 discussions on meta in the next month or two.
This year, we’ll also be setting up Digital Ocean droplets with test Discourse instances for the teams to experiment and install their plugins on. Of course, anyone can install Discourse in the cloud in 30 minutes, but we want to make sure the post-install plugin installation and troubleshooting story is as clear and problem free as it can be, too.
If you too are looking to build on the Discourse platform, I hope these Beginner’s Guides to Creating Discourse Plugins are useful — please let us know how they can be improved!