Я использую личные сообщения для обсуждений между участниками группы. Как администратор, я создаю уникальное групповое сообщение для каждой группы, чтобы участники с уровнем доверия 0 могли отвечать на личные сообщения и вести обсуждение.
Это отлично работает на стороне Discourse, но было бы здорово отображать это групповое обсуждение на «групповой» записи в WordPress.
Идеальный сценарий:
Создать уникальную пользовательскую запись типа «Группа» в WordPress.
Создать групповое личное сообщение в Discourse (я делаю это вручную, но можно ли это автоматизировать на основе групповой записи в WordPress?)
Встроить групповое личное сообщение в запись «Группа».
Короткий ответ: это невозможно «из коробки» (то есть вам придётся создать решение самостоятельно). Более развёрнутый ответ начинается с нескольких вопросов:
почему вы используете личные сообщения вместо тем в категории?
если это приватно, то почему (и если да, то как?) вы хотите отображать их в посте на WordPress?
Я создаю в WordPress пользовательский тип записи «группа» для совместной работы людей над проектами. Просмотр записи доступен только людям, связанным с этой группой.
Эта группа будет работать вместе в течение двух месяцев, и я хочу предоставить им возможность вести диалог. Я не хочу создавать в WordPress отдельную систему чата или обсуждений только для этого, а вместо этого хочу использовать Discourse.
Темы против личных сообщений в Discourse
Я не уверен, как создать приватную тему для каждой записи типа «группа» в WordPress и динамически предоставлять доступ к чтению и редактированию только определенным пользователям. Хотя это ручной процесс, я знаю, как создать личное сообщение и использовать его как замену теме. Существует ли способ создания приватной темы с динамическими ограничениями для пользователей при создании пользовательской записи в WordPress?
Почему приватно?
Потому что это молодые специалисты, которые хотят развивать свои навыки, работая вместе над проектом. Я хочу предоставить им безопасное пространство для общения без осуждения со стороны других участников платформы.
Я хочу отображать поток (сообщение или тему) только на связанной пользовательской записи «группа» в WordPress, то есть одна запись в WordPress будет иметь одну приватную тему, которая должна быть видна только участникам группы.
Ограничьте разрешения в категории для группы (Настройки категории > Безопасность).
Зачем вообще нужен пост в WP? Почему бы не опубликовать детали проекта напрямую в Discourse?
Возможно, стоит начать эту инициативу с публикации деталей проекта в Discourse (то есть выбрать самый простой подход), а если вы обнаружите, что вам действительно нужны детали проекта и в WordPress, тогда уже можно подумать над проектом интеграции.
Я в курсе этого, но мне пришлось бы создавать множество групп. Представьте 100 разных групп — управление ими стало бы кошмаром. Если бы в Discourse были вложенные группы, это было бы легко реализовать следующим образом:
Создать категорию «Группа проектов».
Создать группу «Проект-Работа» и назначить её категории «Группа проектов».
Добавить подгруппы — Группа 1, Группа 2, Группа 3 и т.д.
Создать приватную тему и назначить её соответствующей подгруппе.
Таким образом, участники подгруппы смогут обсуждать конкретный проект, сохраняя все обсуждения, связанные с групповым проектом, в одной категории. Правильно ли я понимаю, что в Discourse нет вложенных групп?
Это сложный продукт, где тип записи «сообщение группы» имеет родительско-дочернюю связь с другими типами записей в WordPress. Обсуждения являются частью гораздо более широкого набора функций, большинство из которых уже реализовано на WordPress. Поэтому интеграция имеет важное значение.
Вы не сможете реализовать это так, как задумали, используя стандартный набор функций. Вам либо придётся изменить дизайн продукта, либо написать кастомный код для WordPress и Discourse.
Я рекомендую сначала попробовать это с одной группой, чтобы проверить базовые предположения, даже если вам кажется, что такой подход не масштабируется. Возможно, вам придётся изменить дизайн продукта ещё до того, как вы начнёте его масштабировать.