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

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

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

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

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

Эгея

Эгея — движок блога, на котором работает этот сайт.

Описания версий

2.3 · 2.4 · 2.5 · 2.6

Некоторые заметки

Теперь можно скачать бекап в сервисе Эгеи

Мы потихоньку улучшаем наш сервис с хостед-версией Эгеи, и сегодня выкатили очередное обновление.

Теперь в настройке снизу у всех пользователей появилась ссылка «скачать последний бекап». Это вроде бы мелочь, но на мой взгляд это очень важная фича. Даже если вы не ставите Эгею на свой сервер, а пользуетесь нашим, я хочу, чтобы вы чувствовали, что всё, что вы пишете — ваше. Мы с первого дня обещали отдавать бекапы по первому требованию, но теперь вам даже не нужно нас просить — просто скачайте сами, когда захотите.

И ещё мы теперь можем отдавать разные технические файлы с вашего домена: robots.txt, favicon.ico и т. д.. Бывает, каким-то сайтам нужно, чтобы вы положили какой-то файл по определённому адресу, чтобы доказать, что вы владелец домена — теперь так можно, если домен смотрит на наш сервер. Никакого интерфейса для этого нет, просто пришлите нужный файл письмом. Эта фича тоже для того, чтобы вы чувствовали сайт более «своим», хоть он и на нашем сервере живёт.

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

22 октября   Найтсбридж   Эгея

Сделать продвинутые комментарии в Эгее

Я хочу радикально улучшить систему комментариев в Эгее. Мне нужна ваша помощь.

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

  1. Научиться прозрачно «регистрировать» пользователей. Сейчас обязательно указывать почту, но я никак не проверяю, что она настоящая. Я хочу, чтобы когда человек оставляет комментарий первый раз, ему улетало письмо, и комментарий реально публиковался только после перехода по ссылке из письма. Следующие комментарии уже такого похода не потребуют.
  2. Я могу захотеть забанить кого-то из пользователей или сделать, что его комментарии публиковались только после моего утверждения. То есть мне надо как-то знать про каждого пользователя, какой уровень доверия ему. При этом я хочу, чтобы тот, кого забанили или поставили на модерацию, видел свои посты как ни в чём не бывало. То же с теми, кто ещё не сделал поход в почту и не подтвердил её.
  3. Научиться идентифицировать пользователей через соцсети. Чтобы можно было зайти через фейсбучек, вконтактик, твиттерчик. Это важно ещё и потому, что регистрация по почте должна быть отключаемой со стороны пользователя на случай, если пользователь не хочет заморачиваться с законом о персональных данных. Пусть соцсеть сама отдаёт Эгее все данные для публикации. Ну и, ясное дело, многим пользователям самим будет так удобнее, чем через почту. Естественно, всё про модерацию должно работать для таких пользователей не хуже, чем для почтовых.
  4. Если у комментатора у самого есть блог на Эгее, было бы круто, чтобы он смог «представиться» через него, а не через соцсеть.
  5. Научиться вести дискуссии в комментариях. С одной стороны, я терпеть не могу древовидные комментарии. С другой, при всём их уродстве, там возникает некая своя жизнь, и это хорошо. Кажется, что тут нужно просто найти какой-то дизайн, который позволил бы их нормально читать. Скажем, если идёт линейное обсуждение, где люди последовательно отвечают друг другу, не нужно рисовать смещение для каждого отдельного ответа. Но если вдруг кто-то отвечает первому комментатору, и там начинается отдельная тема, то эта тема должна создавать отдельную ветку. И у автора блога должна быть возможность вынести любой камент на уровень выше, чтобы линеаризовать дискуссию.
  6. Показывать новые комментарии не только автору, но и всем комментаторам. То есть нужно для каждого человека помнить, что он уже читал, и показывать ему, где там ему ответили.
  7. Я бы хотел, чтобы комментаторы могли вставлять картинки в комментарии. Понятно, что это потенциальная уязвимость — люди загрузят сто терабайт, а у меня кончится место. Возможно, должна быть какая-то система, которая не даёт одному комментатору загрузить больше скольких-то картинок, пока автор их не утвердил, не знаю.
  8. Нужно остановить спам. Сейчас Эгея умеет бороться только со случайным спамом, но если кто-то захочет заспамить прицельно ваш сайт, то её легко обмануть. Нужно, во-первых, убедиться, что мы делаем всё, что можем, без капчи, а во-вторых, научиться включать капчу в тот момент, когда стало ясно, что нас кто-то пытается засыпать.

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

Если вы дизайнер, и хотите под моим руководством придумать интерфейс и юикс для всего, о чём идёт речь выше, напишите, пожалуйста. Приложите ссылку на ровно одну картинку, демонстрирующую. что вы способны делать интерфейс. Я точно не смогу оплатить ваш труд, поэтому если вы готовы работать только за деньги, писать не стоит. Обычно людям нравится со мной работать, потому что они много чему учатся. Но если вам кажется, что вы всё уже умеете или если вам важно, чтобы вас хвалили, то и вам, и мне будет тяжело.

Если вы разработчик, готовый этим (или частью этого) заняться, напишите мне о своих условиях. Вам надо будет вникать в мой код. У меня ноль опыта командного программирования, и код написан «для одного». Вас это не должно пугать: я готов всё объяснить, и если вы заодно что-то перепишете более стройно, я не буду возражать. Главное чтобы переписывание не стало для вас самоцелью.

13 октября   блоги   вопрос   из Амстердама   Эгея

Эгея v3225

У меня новая сборка беты Эгеи 2.7.

Изменения:

  • Ссылка на теги переехала внутрь поля поиска. И вообще, поле поиска сильно переделалось и теперь легче встраивается в другие дизайны и лучше работает на мобильных (спасибо, Игорь Адаменко). Это изменение ещё не доехало до моего сайта.
  • Поле поиска теперь есть на всех страницах, и админское меню не сдвигает его, а наоборот, идёт левее. Мне понадобились пара дней, чтобы привыкнуть.
  • Исправлено много разных багов с загрузкой картинок и аудиофайлов. Они не теряются, если загружать их в редактор тегов вне текстового поля, не «подвисают» в форме новой заметки.
  • Должны меньше тормозить клавиатурные шорткаты в редакторе в больших заметках (спасибо, Игорь Адаменко).
  • Если у тега есть собственные картинки (загруженные в редакторе тега), то они все попадают в качестве картинок для соцсетей ко всем заметкам с этим тегом.
  • В код страниц добавились нужные заклинания, чтобы заметки попадали в твиты с картинками.
  • Код метрики и аналитики больше не вставляется, если страницу просматривает залогиненный автор (это касается пользователей платной и хостед-версий).
  • Вставленные в текст заметки ссылки на твиты теперь отображаются в РССе и джейсонфиде как ссылки на твиты, а не как пустота.
  • Гуиды заметок в РССе теперь стали их идентификаторами из базы данных. Это по идее должно решить проблему дубликации РССа. Конечно же, я сделал, чтобы заметки, написанные до обновления, остались со старыми гуидами.
  • Для ИЕ появился полифилл для ЦСС-переменных (спасибо, Игорь Адаменко).
  • Обложки видосов для соцсетей теперь подтягиваются в фоновом режиме при сохранении заметки по ⌘S.
  • Заметки, написанные тыщу лет назад в старых Эгеях, в которых был ещё форматтер Каллиопе, теперь уважают шрифты тем.
  • Страница /all/ использует меньше памяти.

Ссылка: e2_distr_v3225.zip.

4 октября   продукты   релиз   Эгея

Аналитика в хостед-версии Эгеи

Пара новостей о хостед-версии Эгеи.

Во-первых, вчера все, а не только корпоративные пользователи, получили возможность прикрутить аналитику. Для этого в настройке появились поля:

Вам нужно создать акаунт в Гугль-аналитике или Яндекс-метрике и вставить сюда их код. Эгея будет использовать этот код только для страниц, открытых не из-под залогиненного автора.

Во-вторых, при просмотре черновиков снизу появилась «Секретная ссылка». Это ссылка на черновик, которую можно дать кому-то, чтобы он увидел черновик. Я этим пользуюсь, когда публикую рекламу: присылаю рекламодателю, чтобы он утвердил заметку перед публикацией. Если черновик отредактировать, ссылка «сгорает», нужно взять новую.

В-третьих, в настройке снизу теперь показывает, сколько места на диске вы использовали. А если осталось совсем мало, то это же будет показываться в редакторе, куда вы загружаете фотки.

26 сентября   Найтсбридж   Эгея

Страничка про хостед-версию Эгеи

Сделал на сайте Эгеи страничку про хостед-версию.

Если вы платите за хостинг только ради Эгеи, то имеет смысл перестать платить хостеру и начать платить мне. Напоминаю тарифы:

Тариф В мес. В год На файлы
Частный 200 ₽ 1900 ₽ 2 ГБ
Корпоративный 2000 ₽ 19 000 ₽ 20 ГБ

Чтобы воспользоваться, оплатите от полугода там на странице. Пропишите A-запись в DNS на адрес 78.155.218.221, чтобы домен стал открывать сайт с нашего сервера. После этого напишите мне.

С тех пор, как я это анонсировал, мы с Глебом навносили разных улучшений и автоматизировали создание новых блогов. Интерфейса для вас пока нет, поэтому вам всё равно нужно написать мне письмо. Но мы теперь быстрее всё развернём.

Чтобы перенести имеющийся блог на Эгее, отредактируйте и сохраните последнюю заметку, чтобы Эгея сделала свежий бекап. Пришлите мне ваши папки /user/ (бекап есть в ней) и /pictures/. Это пока не автоматизировали, поэтому рассчитывайте, что это займёт пару дней.

Если вы бы переехали к нам, «но» — напишите мне, что за «но».

19 сентября   Найтсбридж   Эгея

Как встроить Эгею 2.7 в свой сайт

В анонсе беты 2.7 я обещал рассказать, как встраивать её в существующие сайты. Понадобится платная версия движка.

Задача: сделать, чтобы Эгея использовала стили, шапку и подвал от вашего сайта, а внутри была сама собой.

Вам нужно сделать свою тему оформления на базе «Встраиваемой». Зайдите в папку themes и сделайте копию папки embeddable. Назовите как-нибудь нормально.

  1. Откройте файл theme-info.php и раскомментируйте в нём все строчки. Пролучится примерно так (это мой):
<?php return array (

  'display_name' => 'Минвайл',
  'max_image_width' => '1200',
  'meta_viewport' => 'width=device-width, initial-scale=1',
  'global_styles' => '../css/main.css',

); ?>

Самая важная тут с точки зрения нашей задачи — строчка global_styles. Тут нужно указать путь к стилям вашего сайта относительно папки Эгеи (а не этого файла).

  1. Зайдите в настройку Эгеи и выберите свою тему.
  1. В templates/layout.tmpl.php добавьте вёрстку шапки и подвала вашего сайта, то есть заверните содержимое блога в ту же обёртку, что на основном сайте.

Готово!

Всё будет выглядеть как настоящее, потому что к этой странице подцепляются те же стили, что и к другим страницам сайта. А внутренности Эгеи не разваливаются, потому что она также подцепляет ещё и собственные стили. Но делает это избирательно: она не подцепляет стили стандартных ХТМЛ-элементов и поля вокруг страницы. Поэтому эти части выглядят родными.

Если вам нужно перекрыть какие-то стили, используйте файл styles/overrides.css. Изначально он пустой.

Если вы используете систему сборки, то имеет смысл «запечь» стили «Встраиваемой» и ваши перекрытия в основной ЦСС-файл. Перенесите из папки вашей темы styles/main.css и styles/overrides.css куда-то в папку исходников стилей. Это нужно, чтобы Эгея перестала их подцеплять из папки темы. И заимпортируйте в общие стили сайта, например, с помощью СЦССа:

@import 'aegea-embeddable-styles/main';
@import 'aegea-embeddable-styles/override';

Так вы будете подключать один ЦСС-файл, а не три.

6 сентября   Эгея

Эгея 2.7 бета

Готова новая Эгея 2.7 бета (сборка v3201). Не обновляйтесь на живых сайтах, если только вы не суперпродвинутый технарь, обложившийся бекапами со всех сторон. Не забывайте, что бета — это очень страшно.

В конце заметки — ссылка на дистрибутив. А пока расскажу вам, что нового.

Проект «Холборн»: трансляция заметок на центральный сервер

Заметки, которые вы пишете в 2.7, отображаются в разделе «Блоги» на сайте движка:

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

Чтобы ваш блог появился в ленте, ничего не нужно настраивать, но по умолчанию заметки появляются только после моего одобрения. Если вы постоянно пишете хорошее, я одобрю блог целиком и заметки будут публиковаться в «Блогах» мгновенно.

Не бойтесь сделать опечатку — изменения тоже мгновенно приходят в «Блоги». Это же не Фейсбук вам. И если вы удалите заметку, она удалится и из «Блогов».

О том, как работают «Блоги» под капотом и почему это круто я напишу ещё отдельно.

Новые темы

В новой версии встроено несколько тем, например:

Я надеюсь, что теперь блоги на Эгее перестанут выглядеть все как один и станут выглядеть хотя бы как семь.

Кстати, помните, в заметке о пуске хостед-версии Эгеи я писал про семь тем оформления на выбор? Ну это они и есть.

Темы на основе переменных

Все новые темы сделаны на основе «Простой», но не перекрытием её стилей, а через переменные:

Это тема «Дуглас», выглядит так:

Теперь делать новые темы, отличающиеся только цветами, шрифтами и полями стало намного проще: клонируете папку с нравящейся темой и ставите другие значения переменных в ЦСС.

В системной теме не осталось вообще никакого ЦССа — он весь переехал в «Простую». Если вы делали свою тему, вам придётся посмотреть диффы «Простой» и понять, что теперь нужно доопределить в своей, что не унаследуется из системной. Благодаря этому теперь вам не нужно бороться с системной и переопределять что-то, что было определено в ней.

Предпросмотр тем

В «Настройке» рядом с выбором тем появилась новая ссылка «Предпросмотр»:

По этой ссылке открывается специальная страница, на которой собраны основные элементы, из которых состоит блог, и дизайн которых полезно бы проверить. Она собственным текстом объясняет, на что стоит обратить внимание:

Откройте, например, предпросмотр темы моего блога.

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

Встраиваемость в сайты (для платных пользователей)

Появилась специальная тема «Встраиваемая» (Embeddable). Это тема, в ЦССе которой определяются только специфические для Эгеи внутренности — заметки, комментарии, теги, элементы навигации — но не обёртка и вид стандартных тегов ХТМЛ. Если подключить к Эгее ЦСС от вашего основного сайта и добавить ХТМЛ вашей шапки и подвала в тему «Встраиваемая», Эгея волшебным образом будет выглядеть как страница вашего сайта (у меня теперь работает именно так, а раньше приходилось использовать сто костылей).

Я напишу отдельную пошаговую инструкцию о том, как это настроить.

Абзацы с классами

Любая самостоятельная строка, начинающаяся с .something, превращается в абзац с классом something. Пишете:

.loud Какой-то громкий текст

Получаете (увидите только в браузере):

Какой-то громкий текст

Ну, это у меня. У вас может выглядеть иначе.

Вы можете легко определить свои классы для каких-то особенных элементов текста. Важно понимать, что это просто ЦСС-класс, и он не сработает в РССе. Поэтому когда используете такое, убеждайтесь, что текст не теряет смысла без выделения. Именно поэтому, кстати, это абзац, а не див.

В самой Эгее и всех новых темах определены стили для .lead (подзаголовок или въезд), .loud (как выше) и .foot (сноска или примечание).

Вот это как раз примечание.

Клавиатура в редакторе

Игорь Адаменко, который сделал клёвое автосохранение в 2.6, реализовал для редактора 2.7 ещё одну отличную фичу — клавиатурное управление. Так быстрее. Работают такие сочетания (как в Гугль-доке):

⌘B жирный
⌘I курсив
⌘K ссылка
⌘⌥1 заголовок
⌘⌥2 подзаголовок
⌘⌥0 обычный абзац
⌘] увеличить уровень цитирования
⌘[ уменьшить уровень цитирования

Это работает и в заметках, и в комментариях, и в тегах, и в описании блога. В Виндоусе вместо ⌘ работает Ctrl.

Ссылки на твиты

В дополнение к видосами на Ютюбе и Вимео, Эгея теперь умеет вставлять твиты просто по урлу. Вы пишете в редакторе ссылку на твит:

https://twitter.com/omelekhin/status/902835411034271744

Получаете сам твит:

Спасибо Илье Гельману за это.

Остальное

Как вы помните, с версии 2.6 в Эгее новый поиск на базе движка «Роза». Теперь используется новая версия, которая ещё лучше рассчитывает релевантность. За это спасибо Роману Парпалаку.

Теперь вдобавок к РСС поддерживается джейсон-фид — новый стандарт для подписки. Читайте об РССе и джейсон-фиде. Помимо ленты всего блога и ленты по тегу, доступна «лента» из любой одной заметки, например — этой. Если зачем-то нужно вытащить смысловые куски заметки, не нужно пытаться парсить ХТМЛ. У меня это используется для моих трансляций в раздел «Блоги».

Списки теперь можно начинать не с единицы (если список прервался на другой объект). Слайдер тегов заработал на мобилах.

Ещё Серёга Чикин нарисовал клёвую иконку-лимончик, которая теперь показывается в подвале (посмотрите у меня, например).

Технические детали

Лайкли и Жуэль обновились.

Скрипты теперь собираются вебпаком. Игорь Адаменко их переписал более прямыми руками, чем мои.

Как попробовать и что тестировать

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

  1. Отредактировать и сохранить любую заметку (на всякий случай, это гарантирует, что сделается актуальный бекап базы).
  2. Забекапить всю папку на сервере, включая бекапы базы данных, которые лежат в /user/backups/.
  3. Заменить файл .htaccess в корне, папку /system/ и все подпапки в /themes/ (то есть убрать старые, положить новые, а не дозалить в старые новые файлы).

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

Что тестировать:

  • трансляцию;
  • создание тем оформления на основе переменных;
  • встраивание в свой дизайн через тему «Встраиваемая»;
  • клавиатурное управление;
  • поиск.

Ссылка: e2_distr_v3201.zip

Пишите, чё как.

Если вы пользуетесь платной версией и хотите бету платной 2.7, напишите мне.

О предыдущей версии: 2.6

3 сентября   продукты   релиз   Эгея

Закрытый пуск хостед-версии Эгеи

Я просил вас помочь с запуском хостед-версии Эгеи. Сегодня мы с Глебом Гончаровым запускаем пилотную версию нашего продукта под кодовым названием «Найтсбридж».

Что мы предлагаем сегодня:

  • Эгея работает на нашем сервере и на вашем доменном имени. Мы говорим вам, что прописать в настройке ДНСа, чтобы ваш домен смотрел на наш сервер. Возможности разместиться на нашем домене или поддомене пока нет.
  • Услуга платная.
  • По первому требованию мы присылаем полный дамп базы и все серверные файлы для разворачивания вашего блога на другом совместимом сервере. Или просто для резервного копирования. Важная ценность Эгеи в том, что вы владеете тем, что пишете — это мы сохраним.
  • Всегда последняя версия движка.
  • Семь тем оформления на выбор. У вас нет доступа к файлам на сервере, поэтому вы не можете сами подкрутить стили и разметку. Но если нужно, мы можем подкрутить для вас, см. ниже.
  • SSL.
  • Ежедневный бекап.
  • Если вы перестанете платить, вы больше не сможете писать заметки и загружать файлы, но блог продолжит работать. Я бы очень хотел пообещать, что он останется «навсегда», но пока не знаю, можем ли себе это позволить. Если для нас это почему-то станет убыточным, видимо, нам придётся извиниться перед вами и отключить блог.
Тариф В мес. В год На файлы
Частный 200 ₽ 1900 ₽ 2 ГБ
Корпоративный 2000 ₽ 19 000 ₽ 20 ГБ

Если вам нужно больше места на диске, напишите мне. Пока что минимальный срок оплаты — полгода.

Корпоративный тариф отличается тем, что на нём используется корпоративная версия Эгеи. А ещё для корпоративных блогов при годовой предоплате также предоставляется дополнительная услуга: прикрутка своей темы оформления. Если вы хотите, чтобы блог выглядел как часть сайта, одним из пунктов меню, а не отдельным сайтом (то есть чтобы было как у меня), это для вас. Компания не может использовать частный тариф.

Во всех тарифах мы готовы бесплатно перенести ваш имеющийся блог на Эгее себе. Нам понадобится ваш последний бекап.

Пока у нас нет интерфейса «регистрации» и заведения блога — мы запускаемся в закрытом режиме. Чтобы завести блог, напишите мне письмо. Я пришлю инструкцию и счёт.

22 августа   Найтсбридж   релиз   Эгея

Почему заметки в РСС Эгеи могут повторяться

Потому что у вашего блога несколько адресов-синонимов и не настроен редирект на канонический адрес. Сейчас объясню.

Об определении новых заметок

Иногда люди жалуются, что от некоторых блогов на Эгее заметки «приходят по два раза» (или даже больше). Такое, например, было у Максима Ильяхова.

Чтобы разобраться, в чём дело, важно сначала понять, что заметки по РСС никуда не «приходят». РСС — это просто формат, в котором отдаётся лента. Читалка смотрит, не появилось ли в ленте новое, и, если появилось, показывает вам это как непрочитанное. Разумеется, каждая заметка в ленте встречается один раз — можете сами в этом убедиться на любом проблемном блоге. Но что-то заставляет читалку при очередном взгляде на ленту считать, что заметки из неё она ещё не видела, и нужно показать вам их как новые.

Чтобы понять, видела читалка заметку или нет, она смотрит не в текст заметки, а в РСС-тег <guid>. Этот тег должен содержать некий глобально уникальный идентификатор заметки. Традиционно для этого используют просто адрес заметки, и в этом случае ещё ставится атрибут isPermaLink.

Например, у этой заметки в ленте написано так:

<guid isPermaLink="true">
  http://ilyabirman.ru/meanwhile/all/aegea-rss-duplication/
</guid>

Об адресах-синонимах

Мой блог доступен по нескольким другим адресам, например:

И по всем возможным сочетаниям этих доменов и путей, с www и без. Однако у меня настроены редиректы. Если вы зайдёте не по каноническому адресу, вы автоматически перейдёте на канонический — попробуйте сами.

Когда редиректы не настроены, по нескольким адресам открывается одно и то же, при этом браузер остаётся по тому адресу, по которому вы зашли и никуда не переходит.

Это ошибка в настройке сервера: кроме владельца сайта никто не знает, что эти адреса — синонимы, и для внешнего мира всё выглядит так, будто есть несколько сайтов с одинаковым содержимым. Наверное, поисковики умеют такое отслеживать и понимать, но РСС-читалке неоткуда знать, что ilyabirman.ru и ilbi.ru — это один сайт (не пойдёт же она их постранично сравнивать).

Так почему возникают дубликаты-то?

Предположим, у меня бы не было редиректов, и кто-то бы подписался на РСС с сайта ilbi.ru/blog. Тогда в его РСС-ленте «уникальный» идентификатор этой заметки выглядел бы уже вот так:

<guid isPermaLink="true">
  http://ilbi.ru/blog/all/aegea-rss-duplication/
</guid>

Само по себе это не было бы проблемой, ведь для каждого конкретного подписчика эти адреса действительно уникальны. Если кто-то подписался на ilbi.ru/blog, то в его РСС-потоке неоткуда же взяться заметке с адресом ilyabirman.ru? Есть: из кеша!

Когда читалка первый раз просит у Эгеи РСС конкретного блога, Эгея генерирует его, отдаёт читалке и сохраняет себе локально, в кеш. Поэтому когда читалка (эта же или другая) спрашивает ещё раз, Эгея просто отдаёт готовый файл, ничего не генерируя. Когда автор добавляет или редактирует заметку, Эгея удаляет устаревший кеш, и следующий соберёт только тогда, когда какая-то читалка её попросит.

Получается, что когда читалка обращается за РССом, Эгея отдаёт его из кеша, где все идентификаторы зависят от того, по какому адресу у неё спрашивали РСС первый раз после последнего изменения. Когда читалка, которая в прошлый раз видела десять заметок с идентификатором ilyabirman.ru/что-то, видит десять новых заметок с идентификаторами ilbi.ru/что-то, она думает, что перед ней новьё — вот и показывает всё это как непрочитанное.

Так падажжи

Тут у вас могут возникнуть вопросы.

— Что мешает Эгее во избежание этой проблемы писать идентификаторы всегда с одним адресом, даже если она доступна по нескольким?

Не только внешний мир без редиректа не знает, что ilyabirman.ru и ilbi.ru — это одно и тоже. Эгея, чтобы узнать, на каком сервере она работает, смотрит, по какому адресу её открыли — больше ей это узнать неоткуда. Если её открыли по адресу ilbi.ru, то в её вселенной просто не существует набора символов «ilyabirman.ru», чтобы засунуть его в РСС. То, что он оказывается в кеше — чистая случайность.

Конечно, можно вести отдельный список всех адресов, по которым данная копия движка когда-либо открывалась, и всегда ставить в РСС первый из них. Но это ужасный костыль, и если автор от одного из синонимов откажется в будущем, а он как раз окажется первым в этом списке, у него просто сломается РСС, и он никогда не поймёт, почему.

— Что мешает в качестве уникальных идентификаторов отдавать какую-то случайную (но постоянную для заметки) шестнадцатиричную фигню, чтобы вообще не завязываться на адреса?

Помимо того, что это тоже костыль и усложнение движка, проблема ещё вот в чём. Отдавать именно адрес заметки в качестве идентификатора принято в мире РСС — я за всю жизнь не видел ленты с другими идентификаторами. Я боюсь, что какие-то читалки могут на это полагаться, и что-нибудь в них сломается, если сделать иначе.

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

Вывод

РСС ломается, потому что вы делаете странное: у вас сайт одновременно и один, и несколько. Настройте редиректы, сбросьте кеш и всё будет хорошо.

14 августа   Эгея

Помочь запустить хостед-версию Эгеи

Мне нужен человек, с которым мы вместе запустим хостед-версию Эгеи.

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

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

При этом нужно, чтобы сам этот сервер был дешёвым.

Ещё важнее, чтобы затраты были предсказуемыми. Представьте, что блог на такой Эгее заведёт фотограф, будет выкладывать фотографии десятками, а потом на его удачный пост даст ссылку Лебедев. Что делать, чтобы я при этом не разорился?

Если вы предложите хранить саму Эгею в одном месте, а все медиафайлы пользователей — в другом, то надо будет научить Эгею загружать файлы на другой сервер, чем её собственный. Пока не знаю, насколько это сложно.

Если пользователь заведёт хостед-Эгею, он должен иметь возможность привязать её к своему домену или поддомену, а в идеале — даже к конкретному собственному урлу. Я даже примерно не представляю, как это настраивается, но мне надо, чтобы вы это знали.

Если вы готовы предложить свою помощь, напишите мне, пожалуйста, письмо (почта — в подвале каждой страницы). Сразу же расскажите о том, что хотите взамен.

26 июля   вопрос   Эгея
Ранее Ctrl + ↓