Federation support for Discourse

Here is a nice explainer

I still think this is so intrinsically hard and so difficult to get working at scale that I feel anyone taking this on is falling into a kind of Xanadu trap — the more effort you spend traveling toward it, the farther away the goal gets.

4 Likes

I beat this drum a long time ago. The point made regarding a plurality of identical names across disparate CDCK Forum instances could be possibly be addressed with an Alias Table. Not a literal SQL Alias Table but a Reference Table of Alias. My actual concern about that is in creating a central repository that just shouts “Come, hack me!” Hence my curiosity about the creation of an Open Source ie FSF Blockchain SSO that possibly works in conjunction with Let’s Encrypt. I’m researching this for use within an envisioned Discourse-based Fediverse exclusive to constituents of the APFU|CC, a Federation Union of Worker-Owned Cooperatives.

I am trying to discern the feasibility of creating a HIPAA/NOPP Compliant Personal Roaming Profile Registry that can eventually pass regulatory muster.

Initial trial use within the aforementioned federated network of Discourse forum communities, with a curated suite of like platform applications introduced beginning with Rocket Chat, for Slack-like Real-Time Communications complementary to the long-form format of Discourse.

The goal is to use a variant of participatory action research and design thinking with stakeholders to programmatically develop this proposed ecosystem, specifically addressing the needs of agnostic portability across a broad spectrum of transactional contexts requiring Authentication, Authorization, and Accounting, with Secure Transport vis-à-vis Diameter-based Protocol, de rigueur.

On several occasions, the concept of a Blockchain SSO would creep into my thoughts.

That was so long ago that I was certain someone already was doing it, and was proved entirely correct in that assumption on discovering Civic has a Blockchain SSO product.

This proposal would require a time-series variant of Postgres DB SQL, TimescaleDB for example because everything I am doing revolves around mobility in real time.

I would appreciate commentary by any DB Engineers in the Meta-Discourse family about installing Discourse on the TimescaleDB.

Hope that makes sense to you. If not, ask me.

3 Likes

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.

7 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:

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 …

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?

9 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 ?

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.

1 Like

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:

2 Likes