После пяти месяцев активнейшей разработки и 189 коммитов, камня на камне не оставивших от легаси-кода, вышла пререлизная версия Comentario — 3.0.0-rc1.
Comentario — это быстрый и мощный свободный сервер комментариев для веб-страниц, написанный на Go и Angular.
Что нового
Нового здесь примерно всё, несмотря на то, что внешний вид приложения остался похожим на версию 2.x.
Структура базы данных
БД новой версии не имеет ничего общего с предыдущей, унаследованной от Commento. Это означает, что при апгрейде потребуется миграция имеющихся данных.
Эта миграция должна выполниться полностью автоматически при первом запуске Comentario, и она была многократно протестирована на разных версиях исходных данных. Загвоздка, однако, в том, что старая структура была, мягко говоря, несовершенна, и гарантировать успешность процесса во всех случаях я не возьмусь.
К счастью, механизм установки миграций в Comentario позволяет выпускать обновлённые версии, чем можно будет воспользоваться при обнаружении проблем. Пишите багрепорты на GitLab.
После успешной миграции старая БД будет удалена, поэтому резервная копия не просто желательна — она абсолютно необходима.
В чём преимущества новой структуры БД? Она намного стройнее и логичнее, в ней добавлено множество ограничений целостности, гарантирующих правильность данных; кроме того, она гораздо лучше оптимизирована в плане производительности (я рассказывал о проблемах у Commento при работе с БД).
Единая база пользователей
В новой версии Comentario полностью переработана работа с пользователями. В отличии от Commento, где были два пересекающихся списка — владельцев доменов и комментаторов, — в Comentario единая база пользователей, зарегистрированных в системе, и их роли в каждом домене задаются отдельно.
В наличии имеются следующие роли:
- Owner — владелец домена.
- Moderator — модератор домена.
- Commenter — комментатор.
- Read-only — комментатор без права оставлять новые комментарии.
Помимо этого, добавлено понятие суперпользователя (superuser), по сути являющегося администратором системы. Он может удалять, редактировать и банить (тоже новая возможность!) пользователей.
Конфигурация
Системная конфигурация поделена на две части: статическую и динамическую.
К первой относятся настройки БД, мэйл-сервера, провайдеров аутентификации и т.п.
Ко второй — настройки регистрации и комментирования, и, как можно догадаться из названия, их можно менять на ходу.
Статистика
Визуально в плане статистики пока что ничего не изменилось, но под капотом Comentario собирает намного, намного больше данных о посещениях. Кроме того, всё это регистрируется на уровне отдельной страницы, а не по всему домену. Эти данные обезличены, так что комментаторам не стоит опасаться за свою безопасность:
- IP-адрес (по умолчанию фиксируются только первые два его байта);
- Используемая версия HTTP-протокола;
- Страна;
- Название и версия браузера;
- Название и версия операционной системы;
- Тип устройства (компьютер, планшет, мобильный телефон, телевизор).
Отображение и фильтрацию статистики по новым данным планируется добавить в будущих версиях.
Модерация
Наконец-то появилась возможность просмотреть все комментарии домена, по ним можно также искать, фильтровать по статусу и т.д.
У доменов добавились настройки модерации: можно автоматически ставить в очередь на одобрение комменты со ссылками, с изображениями, а также написанные недавно зарегистрировавшимися авторами или теми, у кого ещё нет необходимого количества одобренных комментов.
Также теперь можно подключать внешние сервисы фильтрации спама и токсичного контента (Akismet, APILayer, Perspective API) и настраивать их конфигурацию для каждого домена отдельно.
При этом у каждого поставленного на модерацию комментария будет показана причина, по которой это произошло. Например:
Pending moderation: Domain policy requires moderation on comments by anonymous users
Прочее
- Загрузка аватаров пользователей.
- Логин через Facebook.
- Неинтерактивный (в фоновом режиме) Single Sign-On.
- Изображения в комментах (с возможностью отключить).
- Возможность запретить ссылки в комментах.
- Опция для замены содержимого главной страницы.
- Комментарии добавляются на страницу при помощи веб-компонента
<comentario-comments>
, дополнительные настройки можно задавать в атрибутах тега.
Ну и, разумеется, сотни прочих доработок и исправлений.
Миграция
Если вы хотите опробовать новую версию в деле — в пробных, разумеется, целях, поскольку это пререлиз — то стоит сначала ознакомиться с разделом документации Migration.
Что дальше
Сейчас я занят доработкой документации и написанием end-2-end-тестов для покрытия всего нового функционала — работа, конечно, титаническая.
Когда я буду более-менее уверен в качестве нового кода, последует финальный релиз.
К бета-тестированию приглашаются все желающие. Шлите багрепорты и фичреквесты в баг-трекер.
Демо-версия
Увидеть новую версию в действии, а также её административный интерфейс (логин с емэйлом admin@admin
и паролем admin
), можно на демо-сайте:
Демо-сайт комментариев Демо админки Comentario
Установка
Если вы хотите установить Comentario, вот ссылки на документацию:
- Getting started.
- Installation.
- Migration (поддерживается импорт из Commento/Commento++, Disqus, Wordpress).
Комментарии