# Federation support for Discourse

**URL:** https://meta.discourse.org/t/federation-support-for-discourse/90921
**Category:** Feature
**Tags:** completed
**Created:** [28.Июнь.2018 05:32:10 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921 "2018-06-28T05:32:10Z")
**Posts on this page:** 20
**Page:** 6

<div class="post-metadata">

### Author: ![mcdanlj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcdanlj/32/131829_2.png) [@mcdanlj](https://meta.discourse.org/u/mcdanlj)
#### Post date: [26.Март.2023 16:32:07 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/104 "2023-03-26T16:32:07Z")

</div>

> [@sunjam](#):
>
> Круто, в таком случае это может быть применимо и к тегам?

Для этого теги тоже должны быть Акторами. Поскольку Пользователи и Категории будут Акторами, и «…объекты ActivityPub будут связаны с их эквивалентными объектами Discourse…», я предполагаю, что это возможно (хотя, вероятно, не входит в MVP, так как в описании об этом не упоминается), расширить поддержку Акторов на теги с помощью индивидуальной конфигурации администратора для каждого тега.

---

<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: [27.Март.2023 16:12:49 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/105 "2023-03-27T16:12:49Z")

</div>

Я очень заинтересован в тестировании ранних версий на SocialHub или другом экземпляре Discourse. Дайте знать, чем я могу помочь.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [21.Апрель.2023 16:59:13 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/106 "2023-04-21T16:59:13Z")

</div>

Ещё одно обновление! Мы уже два месяца в разработке, завершаем этот этап и начинаем внутреннее тестирование. Оно, вероятно, продлится около месяца, пока мы будем тестировать и вносить правки. Спасибо за предложения помочь с тестированием! Начальное тестирование будет внутренним, чтобы обеспечить тесную связь между тестированием и исправлением ошибок. Мы расширим его, как только устраним любые первоначальные проблемы, которые могут возникнуть.

Вот как это выглядит:

**Создание**

 ![Screenshot 2023-04-21 at 12.55.26](https://global.discourse-cdn.com/meta/original/4X/5/e/d/5ed605a4f738b0f51835930ed59d90205e8cd055.png)

**Опубликовано**

 ![Screenshot 2023-04-21 at 12.55.06](https://global.discourse-cdn.com/meta/original/4X/2/a/9/2a9bd891825091eacf83c480288185de6a705760.jpeg)

**Опубликовано**

 ![Screenshot 2023-04-21 at 12.55.53](https://global.discourse-cdn.com/meta/original/4X/f/a/0/fa02c7d34b099cf494b2c7bf20946631130fffd1.jpeg)

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [22.Апрель.2023 14:44:22 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/107 "2023-04-22T14:44:22Z")

</div>

Классно, нравится «это уведомление будет распространено через 5 минут после…»

Маленькое предложение, на случай если это важно:  
Дайте возможность настроить имя аккаунта не только как _announcements_. Не знаю, фиксированное ли это название, но моё скромное мнение ❤

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [22.Апрель.2023 18:25:51 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/108 "2023-04-22T18:25:51Z")

</div>

Да, имя пользователя (также известное как «preferredUsername») задаётся в настройках категории. Для этой категории я установил значение «announcements».

---

<div class="post-metadata">

### Author: ![mcdanlj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcdanlj/32/131829_2.png) [@mcdanlj](https://meta.discourse.org/u/mcdanlj)
#### Post date: [21.Май.2023 14:58:17 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/109 "2023-05-21T14:58:17Z")

</div>

На случай, если вам интересно, насколько велик интерес к этой функции: 20 мая 2023 года в 14:48 по восточному времени США я [поделиться ссылкой на комментарий 87](https://social.makerforums.info/@mcdanlj/110402503944565626) (объявление от @angus о том, что он берётся за эту работу) в фидиверс через Mastodon. Уже через шесть часов 300 человек успели ознакомиться с ней (я даже получил значок «Хороший репост» за это).

Не навязываясь, хочу сказать, что с нетерпением жду возможности стать бета-тестером, когда продукт будет готов для первоначального публичного использования. ❤

---

<div class="post-metadata">

### Author: ![aschrijver](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aschrijver/32/92004_2.png) [@aschrijver](https://meta.discourse.org/u/aschrijver)
#### Post date: [23.Май.2023 05:02:17 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/113 "2023-05-23T05:02:17Z")

</div>

> [@aschrijver](#):
>
> Отлично, спасибо. Я заранее предупредил [Даниэля Клабберса](https://fosstodon.org/@luceos) через ЛС, сославшись на ваше объявление выше.

Хочу обратить внимание на [объявление Даниэля о поддержке федерации](https://socialhub.activitypub.rocks/t/flarum-forum-software-2-0-will-have-federation-support/3246) в рамках предстоящего релиза v2.0 его программного обеспечения для форумов, при поддержке гранта от NLnet.

На данный момент три платформы для форумов внедряют федерацию: Flarum, nodeBB и Discourse (через The Pavilion). Искренне надеюсь, что мы не получим три несовместимых федеративных приложения, и хочу обратить внимание на процесс [Предложений по улучшению Фединверса](https://codeberg.org/fediverse/fep) (FEP) как средство согласования реализаций ActivityPub.

Процесс FEP пользуется большим участием: предложения обсуждаются в сообществе разработчиков ActivityPub на [SocialHub](https://socialhub.activitypub.rocks), которое, в свою очередь, связано с [W3C SocialCG](https://www.w3.org/wiki/SocialCG), вновь активизировавшим свою деятельность.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [23.Май.2023 08:13:36 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/114 "2023-05-23T08:13:36Z")

</div>

@mcdanlj @aschrijver Спасибо за поддержку и замечания! Поверьте, я не менее взволнован, чем вы 🙂

> [@Arnold Schrijver](#):
>
> Я искренне надеюсь, что у нас не появится три несовместимых федеративных приложения, и хотел бы обратить ваше внимание на процесс [Предложений по улучшению Федиверса](https://codeberg.org/fediverse/fep) (FEP) как способ согласования реализаций ActivityPub.

Наша реализация соответствует [спецификации ActivityPub](https://www.w3.org/TR/activitypub/) (и её внутренняя модель данных основана на модели данных ActivityPub). В настоящее время она проходит тестирование на совместимость с Mastodon в качестве первого шага.

Тестирование проходит успешно. Просто подождите ещё немного.

---

<div class="post-metadata">

### Author: ![aschrijver](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aschrijver/32/92004_2.png) [@aschrijver](https://meta.discourse.org/u/aschrijver)
#### Post date: [23.Май.2023 09:02:38 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/115 "2023-05-23T09:02:38Z")

</div>

> [@Ангус Маклеод](#):
>
> Наша реализация соответствует [спецификации ActivityPub](https://www.w3.org/TR/activitypub/) (а её внутренняя модель данных основана на модели данных ActivityPub). В настоящее время она проходит тестирование на совместимость с Mastodon в качестве первого шага.

Я специально упомянул процесс FEP, потому что само по себе «соответствие ActivityPub» ничего не говорит. AP — это не «реализуй спецификацию, и совместимость гарантирована». Существует бесчисленное множество способов использования словаря ActivityStreams в различных обменах сообщениями и создания несовместимых приложений. Совместимость с Mastodon — это общая и понятная цель, но их присутствие в Фединверсе представляет собой «вариант Mastodon» для AS/AP. Mastodon, сыгравший ключевую роль в текущем успехе Фединверса, принял множество специфичных для приложений решений для заполнения пробелов в протоколе, которые теперь становятся барьерами для более гетерогенного Фединверса, поддерживающего множество различных типов приложений.

Форумы относятся к иной «бизнес-домене», чем приложения для микроблогинга. Обычно для их полноценной поддержки требуется создание расширений протокола. То, чем также занимается FEP, — это стандартизация способов определения таких расширений. До сих пор большинство расширений создавались ad-hoc, что приводит к [деградации протокола](https://www.ietf.org/archive/id/draft-iab-protocol-maintenance-08.html#name-protocol-decay). Например, когда некоторое время назад мы рассматривали Peertube, я [сделал заметки](https://notes.smallcircles.work/pVj9KvBwSh6_it1jNjSxiw#) о том, как они добавили поддержку видео… что на самом деле можно понять только путём реверс-инжиниринга их кодовой базы (я не проверял, успели ли документация догнать код).

PS. Я [перекрёстно сослался](https://social.coop/@smallcircles/110417197989945364) на обсуждение в Фединверсе.

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [23.Май.2023 09:10:58 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/116 "2023-05-23T09:10:58Z")

</div>

Я понимаю вашу точку зрения. То, что вы описываете, — это динамика, характерная для большинства сообществ, работающих со стандартами. Поскольку речь идёт о новой реализации, в целом разумно начать с «стандартной» спецификации, даже если на практике существует несколько способов её интерпретации.

Тем не менее, проведя несколько месяцев над реализацией, я не уверен, что согласен с утверждением, будто «соответствие ActivityPub» не имеет большого значения. Это общая основа, от которой можно отталкиваться. Мы перейдём к более конкретным аспектам практической реализации и совместимости, но сначала нужно научиться ходить, прежде чем бежать.

---

<div class="post-metadata">

### Author: ![aschrijver](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aschrijver/32/92004_2.png) [@aschrijver](https://meta.discourse.org/u/aschrijver)
#### Post date: [24.Май.2023 01:44:07 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/117 "2023-05-24T01:44:07Z")

</div>

@angus, просто к сведению: в SocialHub [предлагается помощь](https://socialhub.activitypub.rocks/t/flarum-forum-software-2-0-will-have-federation-support/3246/3?u=aschrijver) в интеграции большего количества функций, характерных для форумов, в федерацию.

---

<div class="post-metadata">

### Author: ![strypey](https://avatars.discourse-cdn.com/v4/letter/s/5f9b8f/32.png) [@strypey](https://meta.discourse.org/u/strypey)
#### Post date: [26.Май.2023 05:30:10 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/118 "2023-05-26T05:30:10Z")

</div>

> [@angus](#):
>
> Посвятив несколько месяцев реализации, я не уверен, что согласен с утверждением, будто «соответствие ActivityPub» ничего не значит.

Киа ора, Ангус! Мне кажется, ты воспринял комментарий @aschrijver как обесценивание твоей тяжёлой работы. Я же воспринял его как наблюдение о размытости основной спецификации AP и о том, как много в ней остаётся неопределённым. Зная Арнольда как коллегу-«кошатника» из фидиверса (мы оба были волонтёрами на fediverse.party), я исхожу из того, что он, как и я, очень ценит работу, которую ты и твоя команда проделываете над реализацией AP для Discourse 😊

Арнольд и я не раз видели, как разработчики приходили к тупику из-за споров о том, кому следует переделывать части их работы для исправления проблем совместимости в областях, где спецификация AP молчит. Мы очень хотим помочь людям избежать как потери времени на переписывание кода, так и демотивирующих дискуссий, которые этому предшествуют. Вот почему мы призываем разработчиков начинать общаться друг с другом как можно раньше в процессе работы.

---

<div class="post-metadata">

### Author: ![aschrijver](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aschrijver/32/92004_2.png) [@aschrijver](https://meta.discourse.org/u/aschrijver)
#### Post date: [27.Май.2023 04:36:50 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/119 "2023-05-27T04:36:50Z")

</div>

Ах, спасибо, @strypey. Да, всё именно так. Я в восторге от вашей работы над этим!

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [31.Май.2023 17:24:51 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/120 "2023-05-31T17:24:51Z")

</div>

Рады сообщить, что мы только что опубликовали первую версию плагина. Будем рады получить любые отзывы в теме плагина 🙂

> [@ActivityPub Plugin](https://meta.discourse.org/t/activitypub-plugin/266794):
>
> discourse2Summary Discourse ActivityPub allows you to publish Discourse posts via [ActivityPub](https://www.w3.org/TR/activitypub/) so they can be read on services that support ActivityPub such as [Mastodon](https://joinmastodon.org/).hammer_and_wrenchRepository Link [GitHub - discourse/discourse-activity-pub: Adds ActivityPub support to Discourse.](https://github.com/discourse/discourse-activity-pub)open_bookInstall Guide [How to install plugins in Discourse](https://meta.discourse.org/t/install-plugins-in-discourse/19157) If you’re unfamiliar with ActivityPub start by watching this short video: When you’re ready to get started setting up the plugi…

---

<div class="post-metadata">

### Author: ![mcdanlj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcdanlj/32/131829_2.png) [@mcdanlj](https://meta.discourse.org/u/mcdanlj)
#### Post date: [01.Июнь.2023 02:40:07 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/121 "2023-06-01T02:40:07Z")

</div>

Я успешно протестировал это в своей песочнице. Это отлично! Я наблюдал, как оно реплицируется наружу, и успешно протестировал репликацию при удалении. ❤

Хотите обсудить следующие шаги здесь или в основной теме плагина?

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [01.Июнь.2023 06:08:05 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/122 "2023-06-01T06:08:05Z")

</div>

Отлично! Давайте продолжим обсуждение в теме о плагине.

---

<div class="post-metadata">

### Author: ![jordan.vidrine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jordan.vidrine/32/515563_2.png) [@jordan.vidrine](https://meta.discourse.org/u/jordan.vidrine)
#### Post date: [01.Июнь.2023 15:27:05 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/123 "2023-06-01T15:27:05Z")

</div>

Пост был объединен с существующей темой: [ActivityPub Plugin](https://meta.discourse.org/t/activitypub-plugin/266794/3)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [01.Июнь.2023 14:28:25 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/124 "2023-06-01T14:28:25Z")

</div>

Что ж, давайте убедимся, что это хотя бы работает.

Я до сих пор не до конца уверен, что федерация имеет смысл для Discourse (параграфы/истории) в том же виде, что и для Twitter (предложения/чаты), но мы должны поддержать это для тех, кто хочет попробовать.

---

<div class="post-metadata">

### Author: ![Pink2DS](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pink2ds/32/256905_2.png) [@Pink2DS](https://meta.discourse.org/u/Pink2DS)
#### Post date: [08.Март.2024 09:48:04 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/125 "2024-03-08T09:48:04Z")

</div>

Одна из причин популярности Reddit заключалась в том, что один вход в систему давал доступ к множеству сабреддитов, и аналогично в Tumblr один вход предоставлял доступ к множеству «тегов» (спонтанных сообществ). Вы можете войти в систему и увидеть свои ответы со всего сайта.

Федерация для дискуссий означала бы одно целостное объединённое пространство, где вы получаете все свои материалы с форумов.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [08.Март.2024 09:49:13 UTC](https://meta.discourse.org/t/federation-support-for-discourse/90921/126 "2024-03-08T09:49:13Z")

</div>

Вы видели [ActivityPub Plugin](https://meta.discourse.org/t/activitypub-plugin/266794), верно? Это уже в продакшене.

[Предыдущая страница](https://meta.discourse.org/t/federation-support-for-discourse/90921.md?page=5)

[Следующая страница](https://meta.discourse.org/t/federation-support-for-discourse/90921.md?page=7)
