Using Discourse to power comments in an event system or blog?


(Andy at Focallocal) #1

Now that Disqus has been taken over by Zeta Global a big marketing and harvesting firm, a lot of developers are hesitant to keep using it, leaving those needing a modular comments system without an obvious alternative. Lots of small projects but nothing i can see that’s established yet.

Our community use Discourse, and we also have an event system with a comments section in each event created. I’d love to be able to use Discourse to power that.

I believe that the current plugin would need to be manually configured to create a comments system each time a new event was created, so it wouldn’t be scale-able.

Has anyone set up something similar?


New plugin build: Discourse 2-way API Comment System
(Jeremy M) #2

+1 to this request - I would imagine it would essentially be modeled after the Wordpress plugin


(Rafael dos Santos Silva) #3

I don’t get this request :confused:

You can drop the Embedding Discourse Comments via Javascript in literally any page and it will create a comment topic for you automagically.

What’s the problem with that?


(Carlo) #4

OMG, I thought for a second you were talking about Discourse… :rofl: Sorry false alert

As for the commenting system ( as mentioned here), I willing to bring my help.

Small issue I am a designer :roll_eyes:. But still willing to help ( planning, tutorial, design… )

The idea I had in mind was something similar to techcrunch.com commenting system, example:
https://techcrunch.com/2018/06/20/europe-takes-another-step-towards-copyright-pre-filters-for-user-generated-content/

First questions that come to my mind are:

  • Should we use an api or web hooks ? Some kind of a plugin maybe ? Or even an iframe ( security risks ) ?
  • What about registering new users ? Is there a way to connect/merge users with SSO for each CMS

Embedding Discourse Comments via Javascript
(Jeremy M) #5

I literally have never seen this glorious thing…


(Rafael dos Santos Silva) #6

It’s very flexible.

If you already have a Discourse instance around, you can drop that few lines of JS into any HTML page and it just works.


(Jeremy M) #7

It looks to be just one way (discourse to webpage) - can it do webpage-to-discourse to be used a comment system?


(Rafael dos Santos Silva) #8

You lost me there.

Let’s say I have a webpage at: https://falco.muito.ninja/awesome-page.html.

You add the JS snippet to the page, and Discourse will provide comments right at the page.


(Jeff Atwood) #9

Oh I had missed that I guess?

Just a bit of clarification to the above though, in bold :wink:


(Andy at Focallocal) #10

yes, that looks lovely @Carlo clean and simple.


(Andy at Focallocal) #11

To comment users need to login and visit the forum, which most won’t want to do.

Also this is only really scale-able for a few comments section. If we post 500 articles and 300 events/ year, manually adding a comments section is going to be painful, it needs to have the function to be automatically created as it would do on an events system of blog.

Lots of others are discussing this same issue since the the Disqus take over, for example the 94 comments on here: Alternative to Disqus Needed More Than Ever - support - Hugo Discussion

Any objections if i create a thread specifically for creating this, or building on the official app, and invite everyone i find complaining about the issue to join in.

People can either join the build, or chip in a few coins to create a bounty to pay for other devs to create.


(Rafael dos Santos Silva) #12

Why would you do this manually?

You just use the server-side template language to fill the variables in the comment JS snippet.

For example:

discourseEmbedUrl: 'http://example.com/blog/entry-123.html' };

becomes:

discourseEmbedUrl: 'http://example.com/blog/<%= @my_page_slug %>.html' };

(Carlo) #13

Ola @Falco, tudo bem ? O Brazil vai ganhar a copa ?

Sorry I know some Portuguese, I felt the need to show off :grin:

@AndyatFocallocal Rafael is right on that one, you don’t have to post the embed javascript on each page. You should be able to do that automatically if you’re using a CMS.

Going back to the plugin idea, people will be directly responding on the blog post, without visiting the forum.

Right now my three main questions are:

  • How are users going to register ? ( iFrame, SSO login, etc… )
  • Can an external website post on Discourse ?
  • How secure is it ?

(Cameron:D) #14

If you use the standard embedding code then it will automatically create a thread for a page/topic the first time it gets viewed. Otherwise, there’s always the API: https://docs.discourse.org/


(Andy at Focallocal) #15

Discourse SSO works excellently, we have it set up on different parts of our site. Users log in once and remain logged in across different areas outside of discourse.


(Rafael dos Santos Silva) #16

Well done! Eu certamente espero que sim! :brazil:

If you want users to be able to post the comments right at the page using Discourse SSO is a must. Stuff will be way easier to reason about if you can guarantee users in both sites and easily map from one to another

Use the Discourse API on the server side. It’s easy as pie to grab a form POST and send it to Discourse.

100% secure. SSO in both sites + server side processing for comments will make it secure.


(Andy at Focallocal) #17

i’m going to be away on a 950km walk from next Friday to promote the launch of our app to help people who are homeless around the world, so i’m not going to be able to contribute on this for over a month. i think there are more than enough people interested in this, if someone creates a thread inviting others to join a collaborative build it’ll draw people and be complete in almost no time.

where is the best place to post it, and should we plan the requirements now so we can add them in the 1st post?


(Sam Saffron) #18

Good luck with your :walking_man: sounds like an adventure.

I am having trouble with what “this” is, if “this” is relating to a “read-write” it is going to have to be a plugin and nobody from core will be working on it.

If “this” is relating to a “readonly” embed, it is already completely supported.


(Andy at Focallocal) #19

thank you :slight_smile:

yes, its a plugin we’re talking about. i’m not sure where to post the proposal for one to invite people into building it.

i think we’ve established there is wide enough interest in creating it for people to get behind building it though, especially now there is a huge space left by Disqus’s sell out, and that it is technically feasible.


(Andy at Focallocal) #20

Thanks for your replies to the new discourse comments. It looks like the marketplace here is the right place to begin coordinating that, even if its probably a mostly unpaid build so i’ve created a thread there to invite everyone i can find that might be interested along to.

If you’re interested in being a part of it please join in :slight_smile: