Discourse и NodeBB сравнительный анализ

nodebb
ruby
discourse
блоги

(Официальный аккаунт) #1

Я (@Evg) заинтересовался этим материалом, т.к. он отражал основной выбор, который cам делал, когда изначально выбирал эту платформу. Как писал ранее, мне пришлось пройти все стадии от традиционных скриптов (phpbb и китайского wecenter) потом Vanilla, esoTalk (ныне закрытого), потом Flarum, который унаследовал лучшее от esoTalk.

Мне глубоко симпатична идея и почему разработчик Flarum так поддерживает свой форум. Это целая история о его брате, об учебе, продукте и т.д. Но тем не менее, несмотря на то, что Flarum был хорошей системой, мне надо было более функциональная программа. Выбор пал на Discourse и NodeBB. Я выбрал первое и не пожалел.

Сегодня, читая форум поддержки, обнаружил удивительную статью о Discourse и NodeBB. Я просто не мог удержаться и не разместить этот материал тут. Это огромный пласт информации, который думаю сложно сразу понять, не общаясь более “плотно” с этими системами. На русском языке этого текста еще не было. Оригинальна стать была взята с оф. сайта: тут. Её автор: Lee_Ars.

Печатается в сокращении Это черновик и ошибки будут исправляться буквально сразу…


Две оговорки:

Это сравнение, а не рейтинг. Я не собираюсь оценивать функции или говорить, что лучше. «Лучше» для меня может означать что-то другое (даже противоположное!) тому, что это значит для вас.

Тем не менее, все обзоры в конечном счете субъективны. Есть несколько пунктов ниже, где я выражаю свое личное предпочтение тому, как либо Discourse, либо NodeBB что-то делает, и я пытался заметить в каждом случае, что я говорю только для меня.

Основные моменты

  • В общем, NodeBB является более новым и более “сырым”, чем Discourse. Некоторые вещи менее зрелые. (Но не все - NodeBB делает несколько вещей намного лучше, чем Discourse.)

  • Discourse использует Docker, в то время как NodeBB этого не делает; Это имеет свои преимущества и недостатки, но в целом Discourse проще настроить. Однако, если что-то пойдет не так во время установки, в NodeBB, как правило, легче устранять и исправлять, потому что вам не нужно иметь дело с дополнительными шагами устранения неполадок с Docker-ом одновременно.

  • Оба визуально похожи на первый взгляд и предлагают похожие подходы к темам и созданию сообщений; Оба используют аналогичное окно компоновщика Markdown с предварительным просмотром.

  • У Discourse, подход к уровням доверия пользователей, более зрелый, чем NodeBB, хотя и Discourse, и NodeBB находятся в активной разработке.

  • Discourse и NodeBB оба по умолчанию имеют плоский вид тем с бесконечной прокруткой. NodeBB позволяет вам отключать бесконечную прокрутку и, при желании, использовать разбиение на страницы; Discourse - нет.

  • NodeBB в целом выглядит более реалистичным, чем Discourse при аналогичных настройках, хотя некоторые из них связаны с выбором UI/UX.

  • NodeBB, вероятно, проще для новых администраторов форумов, потому, что во многом он больше похож на традиционный форум phpbb/vbulletin, чем Discourse.

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

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

  • Discourse проще обновить через его интерфейс администратора.

  • Оба приложения являются тематическими и визуально настраиваемыми.

  • Оба приложения имеют библиотеки плагинов, чтобы расширить их функциональность различными способами, хотя установка плагинов на Discourse включает работу в командной строке.

Далее

Discourse - это программный продукт, основанный на принципах «цивилизованной дискуссии». Доступны варианты размещения, начиная с $ 100 USD / месяц, или вы не можете разместить его самостоятельно. Он использует язык Ruby с ember.js и postgresql и redis. Единственный поддерживаемый метод самообслуживания - через Docker. Время установки составляет около 30 минут, если все идет правильно; Для настройки установки доступны различные шаблоны Docker. Когда он работает со всеми зависимостями, он требует относительно большой объем памяти (не менее 1-2 ГБ) чем NodeBB.

С точки зрения пользователя, Discourse использует плоский макет. Он использует бесконечную прокрутку без разбивки на страницы.

NodeBB разделяет многие аналогичные базовые проектные задачи Discourse, но реализует их по-другому. Как и в случае с Discourse, есть доступные варианты размещения, начиная с $ 100 USD / месяц (с меньшим количеством ограничений, чем Discourse в этой ценовой категории), или вы можете размещать его самостоятельно в облачном провайдере. NodeBB, как и следовало ожидать от имени, написан в основном в Javascript и требует запуска Node.js ; Он использует MongoDB для своей базы. Время установки также составляет около 30 минут, если все идет правильно, но нет Docker.

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

Для администраторов стоит отметить, что документация NodeBB является централизованной, хорошо организованной и высокофункциональной, а также включает полезную базу знаний для самостоятельной поддержки. Документация Discourse - это относительный беспорядок в файлах GitHub и Вики, или разбросанные посты на мета-форуме Discourse. Существующий “метод вольности” Discourse в том, что он вытекает из принципов самообучения и самообслуживания в стиле Stack Exchange, но, говоря лично, я нахожу его гораздо менее оптимальным, менее документированным чем NodeBB.

Монтаж

Для людей, заинтересованных в самостоятельной установки, Discourse & NodeBB может вызвать небольшое затруднение. Основное различие заключается в том, что Discourse требует Docker, в то время как NodeBB этого не делает.

Если вы являетесь владельцем узла NodeBB, у вас всегда будет какая-то работа в командной строке, включая редактирование нескольких файлов конфигурации, чтобы получить из них свои данные. Однако, в целом, меньше работы по установке NodeBB с некоторыми пользовательскими настройками, чем установка Discourse с некоторыми пользовательскими настройками.

Одно из преимуществ Discourse над NodeBB - это недавно созданный мастер встроенного доступа, который позволяет пользователям выполнять ряд общих задач.

Стандартный пользовательский интерфейс

С точки зрения UI / UX параметры темы по умолчанию для Discourse и NodeBB имеют много общего, особенно при просмотре отдельных потоков обсуждения («тем» на языке обоих приложений). Оба приложения используют плоский макет темы с некоторой псевдо-потоковой (сообщения могут быть расширены, чтобы показать своих родителей и ответы); Оба поддерживают «@» пользовательские тегирования и всплывающие уведомления, хотя Discourse использует собственные уведомления, а NodeBB использует собственные. У обоих есть живые темы, когда появляются новые сообщения. По умолчанию Discourse предлагает пользователю обновить список основных тем, когда публикуются новые темы, а NodeBB автоматически обновляет список новых тем. Оба приложения нуждаются в нестандартных виджетах навигации в потоках, чтобы справляться со сложностями, возникающими в результате бесконечной прокрутки.

Оба приложения используют какой-либо опрос для живых обновлений. NodeBB использует традиционные веб-порты, в то время как Discourse использует настроенное решение, закодированное @sam . С точки зрения пользователя они функционируют одинаково.

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

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

Discourse позволяет пользователям награждать «Лайк» сообщения, в то время как NodeBB позволяет пользователям как повышать, так и понижать записи. Оба приложения позволяют пользователям добавлять закладки для последующей ссылки. Discourse позволяет пользователям ставить только Лайки, в то время как NodeBB позволяет ставить и Диз-лайки. NodeBB также может быть настроен на то, чтобы отключить downvoting, или вся система репутации может быть отключена, если это необходимо. У Discourse вся система репутации является основным компонентом философии дизайна.

Оба приложения отслеживают «репутацию» пользователя в течение их активного времени на форуме; Система репутации NodeBB несколько проще, чем сложная установка уровня доверия Discourse, но обе имеют аналогичную цель - автоматизировать, повышение или понижение возможностей пользователей, основываясь на его положительном и отрицательном вкладе в сообщество. В общем, доверительной системой NodeBB легче управлять (она может быть полностью отключена), в то время как Discourse является более гибким и мощным…

Пару слов о RSS

В NodeBB предусмотрены каналы для каждой категории и для каждой темы, позволяющие пользователям подписываться на темы через RSS, если это необходимо. В Discourse есть некоторые функции RSS для горячих / последних тем, но его интеграция с RSS не столь всеобъемлющая и не распространяется на уровень «каждого отдельного обсуждения, получающего фид».

Заметки администратора

В целом, здесь, как и в остальной части UX / UI, NodeBB сильно опирается на философию дизайна Google; Discourse использует свой собственный стиль. Если вам нравится Material Design, то вы отдадите предпочтение панели NodeBB. Несмотря на зрелость Discourse, его UI/UX не хватает визуального “лака” NodeBB.

Discourse имеет почти пугающее множество вариантов конфигурации в панели управления администратора, выставляя огромное количество кнопок. Сложность будет оценена администраторами, которые знают, что они делают, но могут ввести в сто пор новичков. Администраторы могут управлять огромным количеством настроек, включая пороговые значения времени / сообщения, когда новые пользователи становятся доверенными пользователями и когда доверенные пользователи становятся ветеранскими пользователями.

Административный интерфейс NodeBB более интуитивно понятен и настроек намного меньше и содержит несколько простых в анализе графиков, показывающих активность форума. Он также делает то, что я лично считаю гораздо лучше для организации и представления несколько страниц параметров конфигурации, используя вкладки и страницы … обычно. Недостатком является то, что многие из более мощных функций NodeBB (например, модификация разрешений) скрыты глубоко в системе меню администратора и требуют множественных переходов, чтобы обнаружить их, в то время как настройки Discourse могут быть быстро найдены с помощью окна поиска.

Функционально, Discourse, вероятно, является победителем, тем более, что он позволяет администраторам быстро находить и настраивать очень глубокие настройки (в том числе такие, как частота опроса), когда они уже знают, что они ищут. Однако NodeBB намного проще справляется с большинством повседневных задач администратора. Настройки, как правило, более доступны … за исключением случаев, когда их нет.

Структура разрешений

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

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

Процесс обновления

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

Процесс обновления NodeBB включает использование git.

Плагины

NodeBB поддерживает плагины и их можно расположить и установить через интерфейс администратора.

Плагины Discourse должны быть установлены путем редактирования конфигурационного файла в командной строке, а затем восстановлением контейнера Docser Discourse.

Резервное копирование и мобильность данных

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

У NodeBB нет автоматизированного процесса резервного копирования / восстановления, хотя ручной процесс относительно прост (хотя он и включает в себя командную строку).

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

Мысли о производительности

Как ни странно, похоже, что NodeBB менее прожорлив и работает лучше в ситуациях, когда памяти недостаточно, хотя и Discourse, и NodeBB требуют для работы не менее 1 ГБ без каких-либо странных событий. Для обоих приложений 2 ГБ - это действительно минимальный оптимальный объем оперативной памяти для правильно функционирующего форума с участием более или менее активных пользователей.

Выбор UI / UX в NodeBB создает впечатление огромной скорости даже в более медленной системе. Опыт пользователя, как правило, очень хорош, если форумы не тормозят. Discourse на медленном сервере кажется медленным.

Другое

Настройка: NodeBB, как представляется, поддерживает дополнительные параметры через свой интерфейс администратора, Discourse, включая глубокое редактирование шаблонов и контроль над всеми элементами отображения во всех различных представлениях. Discourse также очень настраиваемый, но необходимо знать CSS и джаваскрипт, чтобы настроить его. Оба поддерживают полную пользовательскую тематику, хотя NodeBB, похоже, имеет гораздо больший список общедоступных тем/скинов, чем Discourse. Discourse также имеет родные компоненты тем, которые могут быть получены из git и использоваться их для разработки.

Значки, достижения и другие забавные вещи. Оба приложения позволяют создавать пользовательские значки, которые могут быть назначены для каждого пользователя или для каждой группы. Тем не менее, реализация Discourse намного миль впереди NodeBB, а также позволяет использовать условно- знаковый знак «присваивать этот значок пользователю, которому нравится 50 сообщений», или «присваивать этот значок пользователю, который получает более 100 симпатий за один день, "Или действительно что-нибудь еще, что вы можете придумать (если вы знаете, как работать с SQL-запросами, вы сделаете это).

Контроль спама: в раскрывающемся окне автоматически будут скрываться и автоматически высчитываться сообщения, которые получают определенное количество пользовательских предупреждений, что позволяет сообществу выполнять некоторые функции самозащиты от спама и злоупотреблений. NodeBB позволяет пользователям отмечать сообщения, но (пока) админы не примут меры.

Мобильный: в обоих приложениях форума есть отзывчивая мобильная тема, которую можно настроить или полностью заменить.

Ещё вопрос: Форумы Discourse, в чем разница?


Форумы discourse, в чем разница?
Discourse и Flarum, в чем разница?
Какая лучшая платформа для обсуждения?
Discourse и vBulletin, сравнительный анализ
Какие скрипты форумов вы знаете?
(Виталий) #2

Удивительно, я наблюдал за этими двумя системами с момента их появлений. Думаю, что NodeBB опережал Discourse в начале пути. Но в последнее время, на мой взгляд NodeBB заметно снизил обороты и по многим пунктам уже отстает.

Основной минус который предписывают Discourse это: cложная настройка

Конечно, по сравнению со стандартными PHP + MySQL приложениями Discourse несомненно сложнее. Но и NodeBB не ставится за минуту. Все, что связано с серверной частью, сложнее простого хостинга за 20 рублей в месяц. Разные задачи и цели.

Есть еще такой материал: Discourse и Flarum, в чем разница?


(Евгений) #3

На самом деле, в последнее время ситуация сильно изменилось. Буквально год назад мне говорили:

ты посмотри, раз у всех сайтов одинаковый дизайн, значит есть проблемы со сменой дизайна.

Проблемы действительно существуют, если не знать, что такое CSS. В противном случае, изменение дизайна, в том числе и кардинально, не составляет труда.

Для переопределение стилей достаточно использовать встроенные возможности в админ. интерфейсе. А для полной смены дизайна достаточно переопределить шаблоны в плагине.

Для этого, не надо даже знать ruby, но необходимо выяснить структуру плагинов и как они вообще работают.

Мы лишь переносим некоторые файлы в сам плагин и меняем там все, что угодно. Html, css - минимальные знания, и работа с GitHub-ом.