Подписка на блог

В Телеграме помимо ссылок на заметки делюсь околодизайнерскими наблюдениями.

В Твиттере помимо ссылок на заметки пишу всякую чушь.

В Тумблере и Же-же есть автоматические трансляции. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

По РСС и Джейсон-фиду трансляции для автоматических читалок

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подписаться на блог
Поделиться
Отправить
Запинить
 1198   21 д   Эгея
5 комментариев
Andrew Golubev 19 дн

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

Илья Бирман 17 дн

Готово.

Владимир 17 дн

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

Andrew Golubev 1 д

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

Илья Бирман 22 ч

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

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

Andrew Golubev 22 ч

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

Andrew Golubev 10 ч

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

Популярное