Comentario3.0.0-rc1

Автор: Дмитрий Канн Чтение на 4 мин
Этот пост  на английском

После пяти месяцев активнейшей разработки и 189 коммитов, камня на камне не оставивших от легаси-кода, вышла пререлизная версия Comentario3.0.0-rc1.

Comentario — это быстрый и мощный свободный сервер комментариев для веб-страниц, написанный на Go и Angular.

Что нового

Нового здесь примерно всё, несмотря на то, что внешний вид приложения остался похожим на версию 2.x.

Административный интерфейс Comentario 3.x.
Административный интерфейс Comentario 3.x.

Структура базы данных

БД новой версии не имеет ничего общего с предыдущей, унаследованной от Commento. Это означает, что при апгрейде потребуется миграция имеющихся данных.

Эта миграция должна выполниться полностью автоматически при первом запуске Comentario, и она была многократно протестирована на разных версиях исходных данных. Загвоздка, однако, в том, что старая структура была, мягко говоря, несовершенна, и гарантировать успешность процесса во всех случаях я не возьмусь.

К счастью, механизм установки миграций в Comentario позволяет выпускать обновлённые версии, чем можно будет воспользоваться при обнаружении проблем. Пишите багрепорты на GitLab.

После успешной миграции старая БД будет удалена, поэтому резервная копия не просто желательна — она абсолютно необходима.

В чём преимущества новой структуры БД? Она намного стройнее и логичнее, в ней добавлено множество ограничений целостности, гарантирующих правильность данных; кроме того, она гораздо лучше оптимизирована в плане производительности (я рассказывал о проблемах у Commento при работе с БД).

Единая база пользователей

В новой версии Comentario полностью переработана работа с пользователями. В отличии от Commento, где были два пересекающихся списка — владельцев доменов и комментаторов, — в Comentario единая база пользователей, зарегистрированных в системе, и их роли в каждом домене задаются отдельно.

В наличии имеются следующие роли:

  • Owner — владелец домена.
  • Moderator — модератор домена.
  • Commenter — комментатор.
  • Read-only — комментатор без права оставлять новые комментарии.
Страница менеджера пользователей.
Страница менеджера пользователей.

Помимо этого, добавлено понятие суперпользователя (superuser), по сути являющегося администратором системы. Он может удалять, редактировать и банить (тоже новая возможность!) пользователей.

Конфигурация

Системная конфигурация поделена на две части: статическую и динамическую.

К первой относятся настройки БД, мэйл-сервера, провайдеров аутентификации и т.п.

Ко второй — настройки регистрации и комментирования, и, как можно догадаться из названия, их можно менять на ходу.

Динамическая конфигурация системы.
Динамическая конфигурация системы.

Статистика

Визуально в плане статистики пока что ничего не изменилось, но под капотом Comentario собирает намного, намного больше данных о посещениях. Кроме того, всё это регистрируется на уровне отдельной страницы, а не по всему домену. Эти данные обезличены, так что комментаторам не стоит опасаться за свою безопасность:

  • IP-адрес (по умолчанию фиксируются только первые два его байта);
  • Используемая версия HTTP-протокола;
  • Страна;
  • Название и версия браузера;
  • Название и версия операционной системы;
  • Тип устройства (компьютер, планшет, мобильный телефон, телевизор).
Дашборд Comentario.
Дашборд Comentario.

Отображение и фильтрацию статистики по новым данным планируется добавить в будущих версиях.

Модерация

Наконец-то появилась возможность просмотреть все комментарии домена, по ним можно также искать, фильтровать по статусу и т.д.

У доменов добавились настройки модерации: можно автоматически ставить в очередь на одобрение комменты со ссылками, с изображениями, а также написанные недавно зарегистрировавшимися авторами или теми, у кого ещё нет необходимого количества одобренных комментов.

Также теперь можно подключать внешние сервисы фильтрации спама и токсичного контента (Akismet, APILayer, Perspective API) и настраивать их конфигурацию для каждого домена отдельно.

При этом у каждого поставленного на модерацию комментария будет показана причина, по которой это произошло. Например:

Pending moderation: Domain policy requires moderation on comments by anonymous users

Прочее

  • Загрузка аватаров пользователей.
  • Логин через Facebook.
  • Неинтерактивный (в фоновом режиме) Single Sign-On.
  • Изображения в комментах (с возможностью отключить).
  • Возможность запретить ссылки в комментах.
  • Опция для замены содержимого главной страницы.
  • Комментарии добавляются на страницу при помощи веб-компонента <comentario-comments>, дополнительные настройки можно задавать в атрибутах тега.

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

Демо-версия

Поскольку это пререлиз, он пока не установлен на этом сайте, но его можно увидеть в действии (и попробовать на зуб) на специальном демо-сайте:

Посмотреть демо-сайт

А здесь доступна его админка — логиньтесь с емэйлом admin@admin и паролем admin:

Демо админки Comentario

Миграция

Если вы хотите опробовать новую версию в деле — в пробных, разумеется, целях, поскольку это пререлиз — то стоит сначала ознакомиться с разделом документации Migration.

Что дальше

Сейчас я занят доработкой документации и написанием end-2-end-тестов для покрытия всего нового функционала — работа, конечно, титаническая.

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

К бета-тестированию приглашаются все желающие. Шлите багрепорты и фичреквесты в баг-трекер. ■

Подписаться на обновления блога:

Комментарии

Поделиться: