Настройка Gmail, рекомендации чата и поток данных динамических вознаграждений между WordPress и Discourse

Всем привет,

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

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

Контекст:

  • Мой сайт размещён на хостинге Siteground, но они не предоставляют root-доступ, так как работают через Google, поэтому я не могу установить Discourse там. :frowning:
  • Я написал собственный код на PHP для создания динамического сайта, где пользователи зарабатывают очки навыков и награды за демонстрацию своих умений на платформе. Например, пользователи получают очки, когда делятся проектами и помечают их определёнными навыками. Теги навыков заранее определены мной, каждому навыку присвоено определённое количество очков, а данные хранятся в пользовательских таблицах. Это позволяет мне отображать данные по каждому навыку для каждого пользователя в динамике.
  • Я использую Gsuite для настройки электронной почты.
  • Я хочу иметь полный контроль, поэтому предпочитаю самостоятельно размещать Discourse.
  • Функция чата на WordPress не включена (нет установленных плагинов), но я хотел бы иметь чат в Discourse.
  • Я хочу создать аналогичную систему признания навыков и начисления очков за активность в Discourse. Например, если пользователь1 задаёт вопрос (и помечает его тегами навыков), а пользователь2 отвечает на него, и пользователь1 отмечает ответ как решённый, то пользователь2 получает очки навыков за соответствующие теги. Или если пользователь1 публикует качественный пост, который получают много лайков, то пользователь1 получает за это очки. Ближайшая аналогия — мини-версия Stack Overflow, но для очень узкоспециализированного сообщества.

Мои вопросы:

  1. Я видел, что люди используют Mailgun для отправки писем в Discourse. Есть ли какие-либо проблемы с использованием Gsuite? Я новичок в этом, поэтому буду благодарен за любые долгосрочные советы.
  2. У меня пока нет хостинг-провайдера для Discourse, но все очень высоко оценивают DigitalOcean (DO). Исходя из того, что я рассказал, видите ли вы какие-либо проблемы с использованием DO?
  3. Есть ли рекомендуемый инструмент для чата, который хорошо работает с WordPress и Discourse? Я не ищу ничего сложного для чата, поэтому что-то лёгкое и функциональное было бы отлично.
  4. Как бы вы порекомендовали синхронизировать теги в WordPress с тегами в Discourse? Это вообще возможно? Это важно в первую очередь для навыков, так как я хочу объединить все данные с форума и активности по проектам, чтобы создать портфолио навыков для пользователя.
  5. Как обеспечить передачу данных в реальном времени между Discourse и WordPress? То есть: 1) если пользователь публикует проект на сайте, то очки навыков обновляются в Discourse. 2) если пользователь вносит качественный вклад в Discourse, то очки навыков обновляются в WordPress. Как это возможно, если данные хранятся в двух разных базах данных (Postgres и MySQL/MariaDB), на двух разных хостинг-провайдерах (Siteground и, возможно, DO) и на двух разных бэкендах (PHP и Ruby on Rails)? Существуют ли API или хуки, которые можно использовать для передачи данных между этими двумя приложениями? Или всё это уже предусмотрено плагином WP-Discourse? Возможно, мне нужно запустить периодические задачи для «синхронизации» данных между двумя приложениями?

Я не уверен, насколько сложна эта задача, учитывая гибкость Discourse и WordPress. Я готов хранить данные, являющиеся источником истины, в базе данных WordPress, если это необходимо для настройки. Я умею программировать на PHP и готов изучить Ruby on Rails, если это потребуется для создания динамической и бесшовной системы мотивации и оценки навыков.

Главное — пользователям всё равно, где находится сайт и где форум, и я хочу сохранить это ощущение, предоставив им единый опыт работы в обоих приложениях.

Спасибо!

Редактирование: Я провёл дополнительное исследование, чтобы лучше понять, что представляет собой Discourse, и посмотрел два отличных выступления Джеффа. Настоятельно рекомендую всем, кто только знакомится с Discourse.

Теперь я лучше понимаю разницу между Stack Overflow и Discourse, и кажется, что я хочу создать сообщество, более близкое к форуму, но с некоторым контролем и спецификой Stack Overflow. На данном этапе трудно объяснить все детали, но кажется, что передача данных между WordPress и Discourse будет необходима для создания продукта, который я хочу.

Добро пожаловать в сообщество! :slight_smile:

Просто небольшое замечание: обычно лучше разбивать такие вопросы на несколько более конкретных тем, так как темы-«всё в одном» сложно обсуждать, и они часто остаются без внимания.

Кроме того, на meta.discourse.org есть множество ресурсов по большинству ваших вопросов. Хороший способ познакомиться с сообществом — потратить немного времени на чтение тем по интересующим вас вопросам.

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

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

Да, digitalocean.com — отличный вариант для самостоятельного размещения, и проблем с его использованием нет.

Зависит от того, какой именно чат вы имеете в виду :slight_smile: Поищите «chat» здесь, на meta, чтобы увидеть, что обсуждали люди ранее, а затем продолжите обсуждение в соответствующих темах.

На данный момент стандартный способ сделать это — добавлять теги с помощью параметров публикации плагина WP Discourse. Если вас интересует больше возможностей, продолжите обсуждение в теме ниже или, возможно, в этой.

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

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