Эгея 2.9 альфа для авантюристов
Обычно я публикую новые версии Эгеи начиная со стадии беты, то есть когда я более-менее реализовал задуманную функциональность и более-менее потестировал движок у себя.
С версией 2.9 процесс будет другим. 2.9 — это такой «Снежный барс» среди Эгей. Накопился технический долг, так что я не планирую новых громких фич, но планирую переделать разное под капотом. У переделки должно быть несколько приятных побочных эффектов, и она должно помочь мне с дальнейшей разработкой. Поэтому мне важно пораньше понять, что у кого сломается.
Эгее больше 15 лет, и она уже переживала несколько переписей разных фундаментальных общедвижковых подсистем, таких как механизм работы с темами оформления, роутер, текстовый форматтер. Много чего приходилось переписывать, чтобы обеспечить поддержку УТФ-8 и переключаемых языков интерфейса. Пришло время перелопатить ещё кое-что из очень старого кода.
Пока что я взорвал процесс взаимодействия с базой данных, чтобы в коде оно было устроено проще и чище. Побочный эффект у этого — вот какой. Раньше в случае недоступности базы данных вы могли видеть кучу ошибок типа такого:
Женя Степанищев на днях пытался оставить комментарий во время перезагрузки сервера, получил вот такое:
Теперь если база недоступна, Эгея показывает аккуратную страницу-заглушку:
Ещё предстоит сделать так, чтобы комментарий в таком случае не терялся.
Если данные для генерации страницы есть в кеше, Эгея спокойно выведет эту страницу даже без базы. Также она понимает, что без второстепенных данных можно обойтись. Например, чтобы отобразить глазики с количеством просмотров заметок, нужна база данных, они не кешируются. Если вдруг база отвалилась во время генерации главной страницы — ну, значит страница выведется без глазиков, не беда.
Ошибки при этом пишутся в лог, причём туда попадает информация о том, из какого места в коде какой именно запрос в базу делался и для чего.
Если вам интересно поэкспериментировать, то скачайте, пожалуйста, свежую сборку v3445a, поставьте себе, и попробуйте с ней пожить. Не забывайте, что нет вообще никакой поддержки и даже на несложные вопросы вроде «а в каком файле ты хранишь то-то» я могу отвечать долго. Если в вашем блоге есть хоть что-то ценное, сделайте максимальный бекап. В моём блоге сейчас, конечно же, крутится именно v3445a. Чтобы обновиться, замените /system/ и все подпапки в /themes/.
(В стабильной ветке 2.8 ещё будет апдейт.)
В заметке обновлялась ссылка на сборку: были 3406a, 3409a; 3416a; 3435a; 3445a.
См. также: Альфа 2.
Обнови, пожалуйста, версию альфы до 3413 (как у тебя). 😃
Не терпится попробовать 🦾
Готово.
В ссылке на 3416 надо добавить в конце .zip.
Заметил, что пропало внизу сообщение о скорости генерации страницы. Это временно или больше не будет такого функционала?
PS было любопытно смотреть на скорость работы сервера.
Там изменилось то, как это конфигурируется:
$_config[’display_stat’] = 2; /* 0 — no; 1 — when logged in; 2 — always */
Спасибо! Работает.
Единственное, не понял, что за среднее число (12)?
Движок — Эгея 0,016 с · 12 · 2,05 MB
Илья, поправь ссылку на Альфа-2 внизу поста. Она идет на draft https://ilyabirman.ru/meanwhile/drafts/aegea-2-9-alpha-2/
Это хороший пример почему нужно держать все в чистоте. Советую открыть код и не париться. А лицензия есть лицензия — никто воровать вашу Эгею не будет