Synchronising/Crossposting topics across different Discourse sites

@Tris20 Interesting! Thanks for sharing your thoughts, and some detail, on this.

What you’ve described is (one of) the problem(s) ActivityPub was built to solve. I don’t want to dampen your spirits too much, but to be honest, you’re going to be facing a wide array of challenges trying to accomplish this in the way you’re describing. I won’t give you an exhaustive accounting of every challenge you’ll need to overcome, but to give you a sense, the ActivityPub plugin already has almost 700 rspec tests and after a year of development it’s only just recently supported full topic to topic sync.

There’s no inherent limitation that I can see on supporting Private to Public and Private to Private publishing via ActivityPub. The question is one of ensuring that access and security concerns are met when working with private instances.

If I could make a suggestion. Perhaps think about how you can build on the work the ActivityPub plugin (and ActivityPub as a standard) has already done in this respect. There is in fact a solution to the problem of Discourse to Discourse content synchronisation which works currently. It doesn’t cover your use case yet, but it solves the majority of the issues you’ll need to solve in order to meet your needs.

Perhaps you could have a think about how a private to private synchronisation might work in the plugin, i.e. how the access and security questions might be addressed? Then perhaps you and I could even work on a PR together to add it as a feature. Maybe you’ll reach a point where you feel it really isn’t possible to achieve what you want to achieve in the context of the plugin (or ActivityPub as a standard), but the work you would have done to reach that point would be effectively the same work you’d need to do for an independent solution, so it wouldn’t be in vain.

There are a lot of smart folks in the ActivityPub world, and I wouldn’t be surprised if this kind of problem (i.e. private publishing) has been considered in some depth before. One place you might find some prior art on it is SocialHub, the main ActivityPub community forum (Discourse of course) which is now using the Discourse ActivityPub plugin :slight_smile:

8 Likes