N1 Nex1on

← Выпуски NEX1ON

NEX1ON 0.4.0

Модули и темы, режим обслуживания, «Страницы»

вышел 06.09.2026 PHP 8.2 или новее архивом не раздавался

Модульность в работе: установка, включение и удаление модулей, проверка версий и зависимостей, переключение тем, режим обслуживания и первый модуль — «Страницы».

Ради этой версии затевалась вся модульность. Здесь же проверилось главное обещание: ядро действительно ничего не знает про содержимое сайта.

Модули

Модули кладутся файлами в папку modules. Загрузки архива через панель нет и не будет: страница, которая принимает zip и распаковывает на сервер исполняемый код, равносильна удалённому доступу к серверу.

У модуля три состояния: лежит в папке (движок его видит, но не подключает), установлен и выключен (таблицы созданы, данные целы), включён. Данные уносит только удаление, и для него нужно набрать имя модуля руками.

Версии и зависимости проверяются по-настоящему: модуль с требованием «engine >=0.4» не включится на 0.3, модуль без нужного ему соседа не включится вовсе, а тот, от кого зависят другие, не выключится. Проверка ограничений своя: >=, ^, ~, промежутки.

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

Темы

Список тем и переключение из панели. Тему без главной разметки включить нельзя — это белый экран на всём сайте.

Режим обслуживания

Посетители видят заглушку с кодом 503 и заголовком Retry-After, администратор продолжает работать, вход остаётся открытым.

Модуль «Страницы» 1.0.0

Первый модуль, рабочий, а не показательный: своя таблица, свои права, переводы, раздел панели и раздел настроек. Страница отвечает по адресу вида /o-kompanii — модуль подключается после ядра, поэтому /login и /admin остаются за ядром.

Исправлено

  • Пустой заголовок давал случайный адрес страницы вместо осмысленного.
  • «и» транслитерировалось по украинскому правилу; для трёхъязычного движка выбрано одно правило на всех.

Доступность

Внутренний этап разработки, архива нет.