# Cross discourse category hosting?

**URL:** https://meta.discourse.org/t/cross-discourse-category-hosting/111417
**Category:** Feature
**Created:** [March 12, 2019, 7:53pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417 "2019-03-12T19:53:57Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![Jeff\_Vienneau](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jeff_vienneau/32/108772_2.png) [@Jeff\_Vienneau](https://meta.discourse.org/u/Jeff_Vienneau)
#### Post date: [March 12, 2019, 7:53pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/1 "2019-03-12T19:53:57Z")

</div>

Does discourse have the capability to host categories from other instances?

Use case is a number of regional discourse instances for my cycling group with a central one that hosts all the regional content in their own categories. Or ability to tag topics for the central site.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [March 12, 2019, 8:43pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/2 "2019-03-12T20:43:46Z")

</div>

A better solution is a single site where you mute the categories you don’t care about.

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [March 12, 2019, 8:52pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/3 "2019-03-12T20:52:37Z")

</div>

The central site could pull RSS from the regional sites.

Perhaps better would be for the regional sites to give the central site API access.

Note that I question the wisdom of having “cross posting”. In addition to there being duplicate content issues there is the potential of having divergent discussions which IMHO tend to be confusing and messy much more often than not.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [March 12, 2019, 11:59pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/4 "2019-03-12T23:59:18Z")

</div>

Or if the categories don’t need to be visible publicly just use opt-in groups per region.

We don’t really know enough about the use case to be able to advise on an optimal design for this.

---

<div class="post-metadata">

### Author: ![Jeff\_Vienneau](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jeff_vienneau/32/108772_2.png) [@Jeff\_Vienneau](https://meta.discourse.org/u/Jeff_Vienneau)
#### Post date: [March 13, 2019, 11:06pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/5 "2019-03-13T23:06:55Z")

</div>

I rather like the decentralized nature where each regional discourse instance is owned and managed separately but they all contribute to a more global conversation for some topics.

---

<div class="post-metadata">

### Author: ![Jeff\_Vienneau](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jeff_vienneau/32/108772_2.png) [@Jeff\_Vienneau](https://meta.discourse.org/u/Jeff_Vienneau)
#### Post date: [March 13, 2019, 11:20pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/6 "2019-03-13T23:20:54Z")

</div>

I’ll elaborate on the use case…

Imagine multiple regional sites discussing mountain biking.

Each site is owned by a local biking club. They control and moderate the local topics.

Sometimes the thread is about a local trail or event that is not of interest to the federation.

However, sometimes the conversation is more broad such as discussing the merits of carbon fiber vs aluminum. In this case I would like the conversation to be visible and open to all in the federation.

---

<div class="post-metadata">

### Author: ![Remah](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/remah/32/70590_2.png) [@Remah](https://meta.discourse.org/u/Remah)
#### Post date: [March 13, 2019, 11:52pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/7 "2019-03-13T23:52:45Z")

</div>

I have a similar use case with independent local groups under an umbrella (national) organization. Much of the documentation (training, standards, policy, education) and downloads (template documents) are global but day to day operations are almost exclusively local. Our intention is to encourage cooperation and discussion between all groups so a key driver is to have all users able to participate globally.

If I had multiple instances of Discourse then I’d very quickly discover that category management is nowhere near as important as user management. Each post has an owner and it is generally important to retain that relationship particularly if I want global topics to flow naturally from local topics.

That’s why my prototype used one Discourse instance with each group owning its own category. The only reason that I might not consider doing it this way is if the number of local groups exceeded Discourse’s capacity to process that many categories. I only have 200 local groups in my country and even worldwide there are only 400 so this is not a problem for me.

> [@What's the maximum number of categories we can have?](https://meta.discourse.org/t/whats-the-maximum-number-of-categories-we-can-have/57022/2):
>
> 500 to 1000 is safe If you need more consider tags Additionally you can have a very large number of groups

There are several cost benefits from using one Discourse instance:

- not paying for all those local instances
- centralizing Discourse expertise and standardizing processes, e.g. making it easy to add any new groups
- emphasizing that all local groups are part of the global group, e.g. making it easy for users to transfer to another group

---

<div class="post-metadata">

### Author: ![ChrisBeach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chrisbeach/32/214628_2.png) [@ChrisBeach](https://meta.discourse.org/u/ChrisBeach)
#### Post date: [March 14, 2019, 7:52pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/8 "2019-03-14T19:52:54Z")

</div>

My use case involves Discourse instances for local communities in London (I have three instances at the moment and want to branch out further)

Sharing certain discussions between instances would be great!

No doubt a difficult change from a technical point of view (two way syncing, user accounts, security, edge cases etc), but if it worked, it would massively help my forums bring neighbouring local communities together in London. It would also allow me to seed content more easily on new forums.

A couple of ideas (apologies if they are naive from a technical PoV):

## Mirrored Categories

- One or more categories on Forum B are configured to “mirror” chosen catgeories of Forum A.
- New topics created on Forum A would be automatically created on Forum B (authored by a staged user unless a user with the same email address already exists).
- Replies to the mirror topic on Forum B would be synced back to the topic on Forum A, and vice versa.

## “Live Topic Links” to Discourse Instances

- When a topic is created on Forum A by pasting a URL to a topic on another Discourse instance (Forum B), the user is prompted “would you like to sync replies between this forum and the forum you’re linking to?”
- If the user clicks “yes,” replies to the mirror topic on Forum B would be synced back to the topic on Forum A, and vice versa (if Forum B has “whitelisted” Forum A)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [March 19, 2019, 3:52am UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/9 "2019-03-19T03:52:18Z")

</div>

@eviltrout brought up the idea of federation a few months after Discourse launch, its a very complex problem socially. It is an “invasion of a community” to have proper read write shadowed. Who owns the data? and so on.

> [@ChrisBeach](#):
>
> “Live Topic Links”

This however I find much more appealing. Integrating “embed” has a lot less downsides cause information ownership is much clearer.

---

<div class="post-metadata">

### Author: ![tophee](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tophee/32/73406_2.png) [@tophee](https://meta.discourse.org/u/tophee)
#### Post date: [April 3, 2019, 7:36pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/12 "2019-04-03T19:36:31Z")

</div>

I like that this topic discusses specific use cases (which, to me, seem to be not so uncommon). Trying to solve these cases could be a way of creating/improving some workarounds for two frequently recurring issues:

1. discourse federation aka #discourse\_hub
2. [cagegory-specific moderators](https://meta.discourse.org/t/category-specific-moderators-phase-1-rfc/21900)

See also:

> [@Are there other workarounds to not having category moderation such as multiple instances of the board?](https://meta.discourse.org/t/are-there-other-workarounds-to-not-having-category-moderation-such-as-multiple-instances-of-the-board/80858):
>
> Hey there, I was sad to see that I didn’t realize there were no category-specific permissions for moderation until after I got everything all set up and what not but I really like the forum in general and am trying to find some sort of way to work around this. I see that there is a tag system, is are there anyways to have custom permission based on the tags applied to threads or anything of the like? Essentially the main goal is Developer-A has Category-A, Dev-B has Cat-B, Both Dev-A and Dev-B…

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [June 14, 2019, 5:49pm UTC](https://meta.discourse.org/t/cross-discourse-category-hosting/111417/13 "2019-06-14T17:49:54Z")

</div>

I suppose this belongs to the [NGI0 Discovery grant](https://nlnet.nl/project/DiscourseActivityPub/) obtained recently. Using [ActivityPub](https://activitypub.rocks) would probably solve a lot of headaches differentiating local and remote content and apply different rules… It would indeed help rethink the #discourse\_hub…
