WP Discourse: один WordPress, несколько экземпляров Discourse

Всем привет,

У меня есть один блог на WordPress, и я использую плагин WPML для его интернационализации (9 стран).

Также у меня есть 9 изолированных и независимых форумов Discourse, по одному на каждую страну.

Существует ли способ использовать плагин WP Discourse для подключения моего блога к 9 экземплярам Discourse?

Большое спасибо.

Привет @jacin, плагин WP Discourse в настоящее время не поддерживает подключение к нескольким экземплярам Discourse с одного экземпляра WordPress.

Ваше решение будет зависеть от того, чего вы пытаетесь добиться:

  • Публикация контента WP из одного блога в несколько экземпляров Discourse?
  • Разрешение пользователям ваших экземпляров Discourse входить в систему с помощью своей учётной записи WP?
  • И то, и другое?

Отдельно вопрос: активны ли сейчас все 9 изолированных форумов? Вы рассматривали возможность объединения их в один форум с разными категориями для различных языковых групп?

Огромное спасибо, @angus! Я планировал публиковать контент из WordPress (с поддержкой нескольких языков) в несколько экземпляров Discourse. Однако, поскольку плагин Discourse для WordPress не поддерживает такую функциональность, я решил отказаться от этого подхода.

Касательно вашего вопроса о 9 сообществах: мы — компания, занимающаяся вопросами кадрового делопроизводства, нормативными актами и законодательством. Поскольку правила, законы и большинство других аспектов различаются от страны к стране, нам требуются отдельные сообщества.

Ещё раз большое спасибо!

Привет @angus, я нахожусь в ситуации, похожей на ситуацию @jacin: мы рассматриваем возможность создания отдельных сайтов Discourse для каждой страны, поскольку законы и процедуры различаются по странам и почти не пересекаются. Поэтому нет реального смысла в едином форуме; это, скорее всего, приведет к путанице среди пользователей и увеличит административную нагрузку, связанную с поддержанием раздельности и т. д.

Таким образом, нам нужен единый (многоязычный) сайт на WordPress для публикации блогов (специфичных для каждого языка) на нескольких сайтах Discourse. Как бы вы порекомендовали нам это реализовать? Спасибо.

Просто как консультант по сообществу (и юрист), я бы (неофициально, непрофессионально и не с юридической точки зрения) посоветовал вам отказаться от этой идеи. Существует ряд преимуществ у единого форума по сравнению с несколькими. На самом деле, по моему опыту, наличие нескольких форумов приводит к большей путанице среди пользователей и увеличению административной нагрузки, а не к её снижению.

Я не до конца понимаю, о каких именно законах и процедурах вы говорите, но если речь идёт о правилах защиты данных (например, GDPR), мой (неофициальный, непрофессиональный, неюридический) совет — соблюдать наиболее строгие требования (то есть GDPR). Многие многонациональные и транснациональные форумы успешно работают на основе этого принципа.

Что касается управления многоязычным сообществом, рекомендую ознакомиться со следующими темами:

Однако, если вы всё же твёрдо намерены создать несколько форумов, то хотя плагин WP Discourse не поддерживает это «из коробки», он имеет гибкий PHP-интерфейс, который можно использовать для реализации такой интеграции. Вам потребуется создать собственную интеграцию с WordPress. Если у вас есть ресурсы для этого, я могу помочь вам с деталями реализации.

Спасибо, @angus. Я ознакомился с этими темами, а также изучил плагин для многоязычности, который, на мой взгляд, выглядит очень хорошо. Однако я не уверен, что он подходит для нашего сценария использования.

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

Мы пока находимся на начальной стадии, поэтому эта функция нам пока не нужна, но я задумался, насколько сложно будет добавить возможность связывать несколько сайтов Discourse с плагином WP Discourse? Я определённо могу предоставить ресурсы разработчика для этого — спасибо за предложение помочь нам начать. Возможно, я воспользуюсь вашим предложением :slight_smile:

Да, это один из редких случаев, когда, на мой взгляд, наличие нескольких форумов может иметь смысл.

Конечно. Как только ваш разработчик освоит основы работы с плагином, он сможет задать любые конкретные вопросы здесь.

Появились ли какие-либо новые результаты в ходе этого обсуждения?

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

Исходя из этого обсуждения, я не вижу реалистичного способа сделать это с одной установкой WordPress и двумя экземплярами Discourse.

Такая конфигурация предпочтительнее создания совершенно нового домена по целому ряду причин: стоимость, сложность, брендинг, и у меня уже есть значительная аудитория на существующем домене.

Есть ли у вас идеи, как я могу решить эту задачу?

Насколько мне известно, по-прежнему существует соотношение 1:1. Вы уверены, что не можете добиться этого с помощью групп и защищенных категорий?

Мне известно о нескольких сайтах на WordPress, продающих подписки и привязывающих эти покупки к членству в группах в рамках полезной нагрузки SSO.

Ситуация не изменилась по сравнению с моими предыдущими сообщениями в этой теме.

Я также рекомендую этот подход и видел, как он успешно применялся в ряде сообществ со схожими ситуациями, как у вас.

Моя проблема в том, что все мои опытные пользователи уже достигли 3-го уровня. Как я могу изолировать категорию или подраздел форума только для новых пользователей (при этом повышение новых пользователей до 4-го уровня не является вариантом)?

Неужели мне придется вручную понизить всех пользователей 3-го уровня, а затем настроить систему так, чтобы никто не получал автоматического повышения выше 2-го уровня?

Также я не уверен, как программно «пометить» новый подмножество пользователей, которые будут иметь премиум-статус.

Буду признателен за любые рекомендации, которые вы сможете дать!

Используйте группы, а не уровни доверия. Доступ к категории может быть привязан к любому из них (или к обоим).

Дополнительный вопрос:

Допустим, у моих пользователей лицензии сроком на 1 год, и они истекают. Как я могу автоматизировать связь между WP и Discourse, чтобы доступ к форумам предоставлялся только при активной лицензии?

(Сейчас пользователи сразу активируются на форумах, и ничего не происходит с их доступом, когда их аккаунт истекает, если я не вмешиваюсь вручную. И даже в этом случае это похоже на отказ в обслуживании, а не на изящное сообщение «у вас в данный момент нет доступа к этому ресурсу».)

Это зависит от того, что вы используете для лицензирования пользователей в WordPress. Если вы используете WooCommerce, вы можете воспользоваться плагином и методом, описанным здесь.

Я использую Easy Digital Downloads. Мне нужно знать, какой веб-хук использовать в WP Discourse для обработки подобных ситуаций; я не ожидаю, что существует плагин, решающий мою проблему.

Извините, я вас не совсем понял :slight_smile:

Похоже, вы имеете в виду, что у пользователей есть лицензия в WordPress, и вы хотите, чтобы их доступ к Discourse зависел от этого.

Похоже, вы имеете в виду, что «лицензия», о которой вы упоминали выше, — это продукт, который вы продаете через Easy Digital Downloads? Если это так, то речь здесь не о webhooks.

Я думаю, вам стоит нанять кого-то, кто поможет с конкретной настройкой, которую вы используете, так как вы вышли за рамки плагина WP Discourse. Вы можете описать свой случай использования в канале Marketplace, и там найдутся люди, которые смогут вам помочь.

Я плохо объяснил.

Исходя из вашего примера кода для WooCommerce, похоже, мне нужно подключить утилиты Discourse из плагина WP Discourse, а затем определить, какие точки действия (хуки) мне нужно найти в Easy Digital Downloads, чтобы внести изменения в учётные записи пользователей.

(Это и есть то самое «автоматическое подключение», о котором я говорил.)

Да, всё верно :+1: