About Discourse (new platform)
Discourse is based on ruby-on-rails framework. It offers many out-of-the-box features like:
- Better built-in search. It is even better than Google Custom Search. Of course, YMMV.
- Reply-by-email. Also, posting by email can be opened to all or trusted users. This is useful if you like to run a mailing list which gets synced to web-based forum.
- Better navigation with infinite scroll. Okay this can be done with a bbPress theme but speed and reliability of Discourse is amazing.
- Keeping track of how many replies you have read. Good while browsing through long discussions.
- Bookmarking/Starring of favourite topics.
- Better control on how you participate in discussions using with 4-different levels/types of notifications.
- Better support for attachment. You can copy-paste images using
CTRL+V. Also much better drag-n-drop upload.
- Support for markdown syntax with realtime preview and a stack-overflow style minimalistic visual-editor toolbar.
- Starting related topics so you can go “off-topic” but still keep a reference to old/actual topic.
- Community wiki support so a topic can be converted to wiki.
- Better admin dashboard with mini analytics, backup/restore, outgoing email logs, user activities, etc.
This is just my day two on the new community portal and I am loving it. There is a lot more that Discourse offers which I haven’t explored yet. But our developers and support team are already enjoying the new platform.
What about old data?
We have moved every piece of information including…
- Private Replies – We were using bbpress-private-replies plugin (by Pippin) for private replies. We exported all private replies to excelsheet and replaced content of all of them with a note and post_id. This way, if we need to refer to any private reply, we can refer to it in future.
- rtMedia bbPress Attachment – We were using rtMedia-PRO for bbPress attachment support. We have appended links to actual attachment files towards end of content (topic/replies)
- Core bbPress users, forum, topics and replies – They are all exported safely. Only thing is that users will need to reset their password (using forget password option) or can use Google-login option provided on new portal.
We used bbpress-to-discourse importer by David with some changes. rtCamp allowed email addresses as username in 2009-10. Some user account from that legacy were not getting migrated.
So we updated that portion of importer and also added support for rtMedia bbPress attachment to importer. Our version of importer is here.
The only real painful point in migration was size of community. We have 17,000+ registered users and 11,000+ topics and replies. If something went wrong, I had hard time starting over again!
Special thanks to Arpit Jalan who helped a lot at many steps. 🙂
We also thank docker team. Running rails app is complex affair (atleast for me). Docker container made it easy. It added it’s own issues as well. Most notably aufs support issue. This issue means, if you are comfortable with Docker or Linux Kernal hacks, stick to DigitialOcean for Discourse hosting.
Docker has its own learning curve but the whole idea seems so nice that we are planning to use docker in another project of ours.
For now, enjoy new community portal and let us know your feedback. 🙂