Привет.
Это моя первая тема на meta.discourse, и я очень хочу поделиться своим мнением и результатами первого знакомства с Discourse.
Предпосылки
Начну с того, что наткнулся на Discourse довольно случайно, пытаясь найти подходящий движок форума для своих задач. Этап знакомства прошел вполне позитивно: в частности, я понял, что в нем хорошо реализованы функции, которые мне необходимы:
- Webhooks
- Система достижений
- Широкие возможности интеграции с другими сервисами
- Модернизация интерфейса и многое другое…
Честно говоря, Discourse меня удивил своими возможностями. И я благодарен авторам за то, что они продолжают поддерживать этот проект.
Первые проблемы
Но, к сожалению, у него все еще есть недостатки, которые я обнаружил для себя, и из-за которых не смог продолжить взаимодействие с Discourse. Если по порядку, то изначально для подходящего движка форума я определил три правила:
- Управление через API
- Удобная административная панель
- Возможность кастомизации любого интерфейса под свои нужды.
И хотя с API и админ-панелью у Discourse все хорошо… Когда я углубился в модернизацию, я растерялся.
Первое «зверье», которое на меня напало, — это различия в версиях Discourse и, как следствие, различия в способах написания компонентов и тем Discourse. Кто-то использовал виджеты, кто-то Ember JS, кто-то что-то другое… Это вызвало путаницу не только у меня, но и у ИИ, с помощью которого я периодически пытался ускорить свое изучение Discourse. Но из-за следующего «зверья» ИИ только еще больше запутал меня…
Второе «зверье» — отсутствие качественной и подробной документации в удобочитаемом виде и на нескольких языках. Мне бы очень хотелось, чтобы администрация уделила этому внимание как можно скорее. Да, конечно, я читал темы о настройке и создании собственных компонентов и тем Discourse, но они не дали мне знаний, необходимых для понимания архитектуры Discourse. В частности, я совершенно случайно наткнулся на эту статью: Upcoming Header Changes - Preparing Themes and Plugins, которая помогла мне понять, почему я постоянно писал код неправильно на бета-версии
Различия в версиях при отсутствии четкой и подробной документации — болезненная тема для Discourse… Потому что их сочетание дает значительный негативный эффект, который помешал мне использовать Discourse в полной мере. Мне крайне необходимо глубоко модернизировать внешний вид форума, и, увы, текущая «документация» не позволяет мне этого сделать. Из-за этого я, скорее всего, временно говорю Discourse до свидания, но буду следить за его развитием.
И третье «зверье» — это относительная рассредоточенность информации о Discourse. Найти ту или иную информацию, узнать, как выполнить то или иное действие, крайне сложно. Я бы сказал, что это зависит от твоей удачи и знания английского. Иначе, если ты не «счастливый англичанин», тебе придется повозиться не один день. Это утомительно.
И наконец, мой личный недостаток Discourse — использование только Docker (как официального метода установки). Я уверен, что за это заявление на меня обрушится волна ненависти, но все же я считаю, что у такого продукта должен быть альтернативный способ установки без обходных путей. Иногда мне может даже потребоваться модернизировать существующие файлы образов Docker, и из-за контейнеризации это крайне неудобно реализовывать. Ну или я просто не нашел правильного способа…
Заключение
Несмотря на то, что у Discourse достаточно недостатков, чтобы я не выбрал его сейчас, я уверен, что в будущем смогу выбрать его и использовать для своих целей. Потому что я ожидаю, что разработчики и администраторы этого проекта обратят внимание на недостатки Discourse (включая те, что указаны в этой теме/статье). На мой взгляд, Discourse уже очень качественный проект, но, похоже, он еще не дорос до «массового» использования. Но это временно.
Спасибо за внимание к статье.
P.s. Для перевода с русского на английский использовался ИИ «Manus»