Эгея 2.9 альфа для авантюристов

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

С версией 2.9 процесс будет другим. 2.9 — это такой «Снежный барс» среди Эгей. Накопился технический долг, так что я не планирую новых громких фич, но планирую переделать разное под капотом. У переделки должно быть несколько приятных побочных эффектов, и она должно помочь мне с дальнейшей разработкой. Поэтому мне важно пораньше понять, что у кого сломается.

Эгее больше 15 лет, и она уже переживала несколько переписей разных фундаментальных общедвижковых подсистем, таких как механизм работы с темами оформления, роутер, текстовый форматтер. Много чего приходилось переписывать, чтобы обеспечить поддержку УТФ-8 и переключаемых языков интерфейса. Пришло время перелопатить ещё кое-что из очень старого кода.

Пока что я взорвал процесс взаимодействия с базой данных, чтобы в коде оно было устроено проще и чище. Побочный эффект у этого — вот какой. Раньше в случае недоступности базы данных вы могли видеть кучу ошибок типа такого:

Женя Степанищев на днях пытался оставить комментарий во время перезагрузки сервера, получил вот такое:

Теперь если база недоступна, Эгея показывает аккуратную страницу-заглушку:

Ещё предстоит сделать так, чтобы комментарий в таком случае не терялся.

Если данные для генерации страницы есть в кеше, Эгея спокойно выведет эту страницу даже без базы. Также она понимает, что без второстепенных данных можно обойтись. Например, чтобы отобразить глазики с количеством просмотров заметок, нужна база данных, они не кешируются. Если вдруг база отвалилась во время генерации главной страницы — ну, значит страница выведется без глазиков, не беда.

Ошибки при этом пишутся в лог, причём туда попадает информация о том, из какого места в коде какой именно запрос в базу делался и для чего.

Если вам интересно поэкспериментировать, то скачайте, пожалуйста, свежую сборку v3445a, поставьте себе, и попробуйте с ней пожить. Не забывайте, что нет вообще никакой поддержки и даже на несложные вопросы вроде «а в каком файле ты хранишь то-то» я могу отвечать долго. Если в вашем блоге есть хоть что-то ценное, сделайте максимальный бекап. В моём блоге сейчас, конечно же, крутится именно v3445a. Чтобы обновиться, замените /system/ и все подпапки в /themes/.

(В стабильной ветке 2.8 ещё будет апдейт.)

В заметке обновлялась ссылка на сборку: были 3406a, 3409a; 3416a; 3435a; 3445a.

См. также: Альфа 2.

Подписаться на блог
Отправить
Запинить
Дальше
6 комментариев
Andrew Golubev 2019

Обнови, пожалуйста, версию альфы до 3413 (как у тебя). 😃
Не терпится попробовать 🦾

Илья Бирман 2019

Готово.

Владимир 2019

В ссылке на 3416 надо добавить в конце .zip.

Andrew Golubev 2019

Заметил, что пропало внизу сообщение о скорости генерации страницы. Это временно или больше не будет такого функционала?
PS было любопытно смотреть на скорость работы сервера.

Илья Бирман 2019

Там изменилось то, как это конфигурируется:

$_config[’display_stat’] = 2; /* 0 — no; 1 — when logged in; 2 — always */

Andrew Golubev 2019

Спасибо! Работает.
Единственное, не понял, что за среднее число (12)?
Движок — Эгея 0,016 с · 12 · 2,05 MB

Andrew Golubev 2019

Илья, поправь ссылку на Альфа-2 внизу поста. Она идет на draft https://ilyabirman.ru/meanwhile/drafts/aegea-2-9-alpha-2/

Вася Полётов 2019

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

Мои книги