Мы относительно недавно работаем с разработкой под Discourse, поэтому, возможно, вопрос не совсем по делу. Мы не смогли найти точного ответа на это в наших поисках.
Мы разрабатываем веб-сайт с различными типами контента. В рамках этого мы хотим иметь потоки комментариев с ветвлением для материалов, загруженных нашими пользователями. Например, предположим, что пользователь загружает контент о своей машине — этот материал будет размещён на нашем сайте, и к нему будет прикреплен опциональный поток обсуждений/комментариев, позволяющий взаимодействовать другим пользователям.
У нас установлен и работает Discourse, включая SSO и всё остальное. Мы встраиваем связанный комментарий Discourse через iframe. Мы получаем верхний комментарий и известную кнопку «Продолжить обсуждение», которая переключает нас с нашего сайта на сервер Discourse.
Можно ли сделать так, чтобы полное ветвистое обсуждение, начиная с верхнего комментария, отображалось внутри нашего iframe (или иным образом внутри наших страниц)? Чтобы пользователи могли продолжать обсуждение прямо на странице с загруженным контентом. Возможно ли это вообще с помощью Discourse?
У меня схожие цели: у меня есть веб-сайт с различными типами контента, и я самостоятельно размещаю экземпляр Discourse, чтобы иметь форум для взаимодействия с пользователями и построения сообщества. Я также хотел внедрить части Discourse в свой другой сайт. Стандартный метод, предлагаемый Discourse, очень прост и выглядит круто, но не совсем соответствовал моим ожиданиям.
Первая проблема заключается в том, что если кто-то хочет оставить комментарий, ему необходимо войти в систему Discourse (или вы должны разрешить анонимные комментарии, что приводит к другим проблемам и усложнениям). На meta, похоже, ведутся продолжающиеся дебаты о том, должен ли Discourse пытаться обеспечить лучшее взаимодействие с системами управления контентом (CMS) или внедрить функции, чтобы стать самой CMS.
Многие люди используют Discourse для блогов, маркетплейсов/интернет-магазинов, электронных журналов, видео/фотогалерей и так далее.
Моя первая стратегия внедрения частей Discourse в мой веб-сайт заключалась в том, чтобы максимально настроить внешний вид моего форума, а затем воспроизвести этот стиль на моем другом сайте. Идея состоит в том, чтобы объединить их так, чтобы пользователь действительно не замечал, что контент поступает с двух разных серверов. Discourse на самом деле предоставляет множество способов настройки внешнего вида интерфейса, с которыми могут справиться даже не технические специалисты.
Когда я немного лучше познакомился с Discourse, я нашел несколько способов внедрения крутых фрагментов Discourse в мой другой сайт:
Я все еще учусь, у меня есть еще несколько идей, но я также изучил WordPress и Ghost.
Спасибо за ваши комментарии!
Мы прошли через аналогичные размышления и эксперименты.
То, что мы в итоге сделали (хотя работа ещё продолжается, так что вопрос о качестве конечного результата остаётся открытым), — это полностью отказаться от идеи веб-встраивания и использовать API Discourse для включения полноценных обсуждений из Discourse прямо в наши страницы. Это позволяет нам полностью контролировать внешний вид и ощущения, а также многое другое. Это, безусловно, требует больше работы, но, похоже, конечный результат того стоит.
Как описано в том посте, на моем другом сервере используется PHP-бэкенд. Я настроил работу API с помощью cURL, а затем с помощью этого действительно крутого сайта преобразовал рабочий cURL-запрос в PHP-модуль, который сайт может вызывать с помощью JavaScript-запросов AJAX.
Вот мой календарь предстоящих событий на моем экземпляре Discourse: