Federation support for Discourse

I’d like to +1 the idea of implementing ActivityPub in Discourse. Initially, it could be a plug-in, like the Pterotype plug-in for WordPress, so those Discourse communities who want to experiment with it can do that. The results of those experiments could inform discussions about whether to make it a core feature.

In order to post this comment, I had to set up a new account here and use email or a datafarm (GH, gOgle, Titter etc) to confirm my email address. Even though I’ve been a good citizen on many Discourse forums over the years, I’m treated by this system as a first-time Discourse user (handholding UI, limits on links in comments etc).

Some of the potential benefits of federated Discourse:

  • once I have an account on one Discourse forum, that could be my posting identity on any other (unless I want a separation of concerns). I don’t need to create a new account (and profile etc) for every forum I want to post in.
  • my posting reputation can be aggregated across all the federated Discourse instances I post in. This is useful information for locals when I start posting on a new instance, whether I’m a good citizen, and bad one, or a vanilla one. It also means each new forum can recognize my Discourse experience level, and If I’m a good lad, I don’t have to start from scratch with posting permissions every time.
  • Discourse can use other Discourse instances in the federation as third-party identity providers, instead of advertising corporate datafarms on the login page

@codinghorror

Is there any web-federated system at scale that has actually worked, become popular, and is actively in use?

There’s a growing number of federated web apps, see the curated lists at fediverse.party. One instance monitoring site has data for nearly 3 million user accounts across all the federated web apps, of which about half were used to post something in the last 6 months, and about 500,000 in the last month. Many others may be lurkers who are reading but not posting.

So far, most are micro-blogging apps like Mastodon. But there are also apps for video-sharing (PeerTube), photo-sharing (PixelFed), blogs (write.as, Plume, and the Pterotype plug-in for WordPress), events (Mobilizon), pastebin (Distbin), and more. Thanks to standards like ActivityPub (also the Diaspora protocols and Zot), not only do they all federate within instances of their own software, but they can also federate with instances of other software using the same federation standards.

If anyone is interested in working on an AP plug-in for Discourse and looking for guidance, there is a Discourse forum at socialhub.network where developers from different projects compare notes about implementations, discuss ways to improve inter-operation and UX across instances and apps, and share related news.

9 Likes

It must be noted that Discourse ActivityPub development is going to be supported by the NGI0 EU funding scheme. There’s a related topic at ActivityPub Implementation for Discourse that should be reopened for interested people since nothing is sure yet about how this will play.

I would be very glad to open a dedicated space to discuss this plugin development on https://socialhub.network.

4 Likes

+1 for enabling federation in Discourse. 1st step would supporting the WebFinger protocol as per:

1 Like

Very interesting. Where did this get to?

Is there a functional spec? To me this has to start with the user experience and drill into the technology.

1 Like

Isn’t it fair to say some of this problem is solved by the Discourse App?

It’s an aggregator at the notification level and persists connections/credentials to multiple Discourse sites.

I wonder if the practical solution to this isn’t just enhancing the Discourse App to show a feed?

Another thing to note is that a smart email folder might give you a similar feed.

Perhaps I’m very off base …

1 Like

I would love to have federation support in Discourse, especially after seeing the follow plugin that @angus created:

It would be great to open meta.discourse.org and see my Socialhub notifications; also get a list of new posts by Socialhub users I’m following, and see bookmarked Socialhub categories right here.

Before we can re-open that topic, I think the community should decide on functional spec here that someone could get started with.

As the term “ActivityPub Implementation for Discourse” is extremely broad, the team strongly believes that we should keep this simple and start small.


@Falco had an interesting proposal on these lines, any thoughts?

12 Likes

Yes, that’s absolutely the right concept!

Would each forum have the ability to host remote updates out of the box, so essentially it would be an alternate ‘view’? How would you cope with opening up Topics from this view? New tab per remote forum? Obviously there would need to be some kind of security and perhaps you would only receive fully ‘public’ Topics?

1 Like

I think publishing of Discourse topics for remote follow is what should be aimed for.

Forum users following who-knows-what remote content should be an explicit non-goal, especially for the first versions. That’s not what Discourse is built to do; leave it to the generalist content viewers.

Discourse following of federated content feeds should be implemented in a way similar to the RSS plugin.

3 Likes

Is this something like the StackExchange of discourse ?

1 Like

No, more like Mastodon?

Like a forum of forums? I’m very new to this idea though.

I would say the best way to describe might be ‘an aggregator of all chosen sources’, perhaps a Topic List with the Latest combined from n sources.

It’s open to debate what happens when you click on a topic. Perhaps, if the source is a remote forum, you are just redirected to the source forum immediately in a new tab. So you might argue it’s not a forum of forums as you are still deferring to each local forum to interact further.

This all comes down to a more detailed functional specification.

3 Likes

Yes that’s a good simple approach at least to begin with.

1 Like

Is it just me or has this already been implemented, to some extent at least? Look at this:

1 Like

Here we’re talking about Web-wide federation not only among Discourse instances, but across the Fediverse using the ActivityPub protocols.

2 Likes

Ah I see, thanks! I didn’t know about the Fediverse - looks very cool!

1 Like

FYI, the SocialHub has moved under ActivityPub.rocks, the official home of the AP community, and Discourse has a category there:

3 Likes

I don’t so much about Federation and ActivePub but what I had in mind when I looked about this topic it having one user to connect into every discourse and having the “historic of this person” more or less like on stackoverflow where you are able to see on which forum the user is active and his accomplishment.

1 Like

See these options. They are current methods for integrating activitypub. All are quite nice.

3 Likes