Вышел Comentario 3.0.0: сервер комментариев с открытым исходным кодом

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Дашборд Comentario 3.0.0
Дашборд Comentario 3.0.0

Вышло мажорное обновление Comentario 3.0.0 — свободного сервера комментариев c открытым исходным кодом. С его помощью можно добавлять возможность комментирования к любым статическим страницам (наподобие того, как это сделано здесь, на Хабре), вставив лишь пару HTML-тегов.

Comentario написан на Go и Angular и использует БД PostgreSQL для хранения комментариев.

Страница со встроенными комментариями.
Страница со встроенными комментариями.

Предыстория

Comentario начал своё существование в виде форка некогда популярного сервера комментариев Commento (я как-то написал пост на тему его запуска в Docker Compose).

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

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

Приведу лишь один пример: для загрузки дерева комментариев из БД (наиболее частая операция в данном продукте) там сначала выполнялся запрос для загрузки собственно комментов, потом по одному запросу на каждого автора комментария и — внимание! — по одному запросу на каждый коммент для получения его оценки (score). Легко себе представить, как «быстро» это работало, например, если открыть страницу с парой тысяч комментариев.

Форк получил название Comentario («комментарий» по-испански) и был полностью совместим с оригиналом в плане структуры БД в версии 2.x. При этом были значительно переработаны бэкенд и embed (встраиваемая) часть, а админка написана с нуля на Angular.

Релиз 3.0.0

В версии Comentario 3.0.0 от легаси-кода Commento не осталось практически ничего. Кроме того, структура базы данных была заново создана с нуля (разумеется, в наиболее оптимальном виде).

Из самых значительных изменений можно отметить следующее:

  • Роли пользователей и привилегия superuser

  • Возможность банить пользователей

  • Загружаемые аватары

  • Логин через Facebook (плюс к имеющемуся через Google, Twitter/X, GitHub, GitLab)

  • Неинтерактивный SSO

  • Поддержка расширений, проверяющих комменты на спам и токсичный контент, таких как Akismet и Perspective

  • Поддержка всех версий PostgreSQL с 10 по 16 включительно

  • Переработанный дашборд (см. скриншот выше)

  • Почти стопроцентное покрытие end-to-end-тестами

Всё это в дополнение к уже имеющимся фичам:

  • Комментарии неограниченной вложенности

  • «Закреплённые» комментарии

  • Голосование за комментарии

  • Операции с доменом (сброс, очистка, экспорт и т.д.)

  • Импорт комментариев из Commento и Disqus

  • Модерация комментариев и гибкие её настройки

  • Емэйл-уведомления о модерации и об ответах

  • Статистика просмотров и комментариев

Демо-версия

  • Увидеть Comentario живьём можно на демо-сайте.

  • Также можно поиграть с его административным интерфейсом: логиниться с емэйлом admin@admin и паролем admin (или test@test / test).

Исходный код

  • Проект на GitLab

  • Полный список изменений

Источник: https://habr.com/ru/news/779012/


Интересные статьи

Интересные статьи

Современная ситуация с разработкой веб-приложений Сегодня пользователи ожидают от веб-приложений плавной работы без перезагрузок страниц. К сожалению, эти ожидания обычно реализуются в виде одностр...
Несколько месяцев мы писали о том, что китайцы разработали процессор на собственной архитектуре, и вскоре вроде как планируют его представить вживую. Это произошло — у инженеров китайской компании...
В итоге мы получим домашний сервер с фейковым доменом, на поддомене которого мы развернём GitLab и настроим работу gitlab-runner'а для деплоя наших веб-проектов.Я не буду долго разглагольствовать по п...
Что делать, если нужно получить удалённый доступ к серверу или десктопу Linux? Или подключиться к Windows-машине с Linux-десктопа? Какие клиенты RDP и FTP подходят лучше всего под Debian и Red Hat /...
Если кибератаки, прогремевшие в этом году по всему миру, чему-то и научили, так это тому, как важны серверные бэкапы и избыточное хранение данных. Хотя часть проблем связана с уязвимостями и экспло...