WordPress 3.6 жив: новый интерфейс Heartbeat API
Интерфейс Heartbeat API – новая возможность, которая появится в последней версии WordPress. Этот интерфейс разработан для отправки уведомлений об истечении срока действия логина. Он обеспечивает блокировку записей и инициирует автоматическое сохранение, что очень радует меня как активного «творца» контента.
По словам Эндрю Озз, отвечающего за разработку API:
«Целью этого интерфейса API является имитация двухстороннего соединения между браузером и сервером. Изначально он будет использоваться для автоматического сохранения, блокировки записей и предупреждения об истечении срока действия логина, пока пользователь создает или редактирует материал.
Основная идея состоит в том, чтобы предложить относительно простой интерфейс API, который будет посылать XHR-запросы на сервер каждые 15 секунд и инициировать события (обратный вызов) при получении данных. Остальные компоненты будут либо «добираться автостопом», либо получат уведомление о других действиях пользователя.
В будущем это может быть использовано для блокировки одновременного редактирования виджетов и меню или для выполнения любых других задач, которые требуют регулярного обновления данных с сервера».
«Пульс» по умолчанию будет задан как 15-секундный интервал, когда окно браузера находится в фокусе и пользователь активен. Если окно теряет фокус или нет никаких действий мыши и клавиатуры в течение пяти минут, то интервал увеличивается до 2 минут.
Блокировка записей является ожидаемой функцией, предлагающей пользователям, работающим на сайтах с несколькими авторами, возможность «запирания» материала от редактирования. Последнее обновление автосохранения от Make WordPress Core демонстрирует диалоговое окно, которое отображается, когда автор переходит к заблокированной записи, а также когда запись становится заблокированной. Если вы переходите к уже заблокированной записи, у вас будет возможность снять блокировку и получить контроль над записью – удобная функция для редакторов.
Как я уже говорил выше, автосохранение очень важно для тех, кто набирает записи. Нет ничего более ужасного, чем долгое время корпеть над записью, и затем в мгновение ока потерять весь этот гребаный текст из-за отключения энергии или неудачного щелчка мыши. Я нередко набрасывался на свой ноутбук, грозясь расправой, и даже некоторое время набирал все записи в стандартном Блокноте, чтобы не контактировать с раздражающим меня редактором записей в WordPress.
Таким образом, я был очень счастлив слышать, что Mark Jacquith разделяет мою боль и боль многих других людей – еще в январе он объявил об изменениях, которые произойдут в версии 3.6, а именно об автосохранении в локальное хранилище браузера:
«Я хочу, чтобы в версии 3.6 мы никогда не теряли своих записей из-за истекших cookie, потерь соединения, случайных переходов, ошибок плагинов или ядра при сохранении, падений браузера, падений ОС, пробегающих по клавиатуре кошек, детских игр с клавиатурой и т.д. Я хочу, чтобы люди доверяли WordPress свои записи».
Люди никогда не должны опасаться того, что их время, потраченное на создание или редактирование записей, ушло впустую из-за ошибок у нас или у сторонних разработчиков. Ошибки и оплошности должны быть отменяемыми. Я не могу передать словами, насколько важно, чтобы люди верили нам и имели серьезное основание для этого. Если запись пропала, пропадает и доверие, на восстановление которого могут уйти годы (если оно вообще когда-либо будет восстановлено). Это время людей, это их творчество, о котором мы и говорим здесь. Если мы не будем ценить все это, то наши приоритеты расставлены совершенно неправильно.
Это самый важный пункт в релизе 3.6. Даже если вы не так активно работаете с кодом, не так часто сталкиваетесь с интерфейсом, не так заинтересованы в опыте взаимодействия, я все равно хочу, чтобы вы подумали о том, как именно мы можем улучшить ваше творчество вместе с WordPress, которое, вне всяких сомнений, выступает ценным артефактом.
Последнее обновление автосохранения, обладающее улучшенными уведомлениями о выходе из пользовательского аккаунта, на данный момент заложено в ядре, а его интерфейс был несколько доработан, чтобы в первую очередь показать окно входа. Согласно Оззу, была небольшая дискуссия по поводу того, стоит или нет блокировать пользовательский доступ к текущей/редактируемой странице, если вдруг обнаруживалось, что логин слетел – решили, что не стоит, потому что это остановило бы пользователя прямо посредине активной работы.
Надеюсь, что мы увидим новую версию автосохранения в ближайшее время.
Вместе с введением нового интерфейса API открываются новые горизонты для разработчиков тем и плагинов. Mike Hansen предложил, что можно реализовать автоматическую подгрузку комментариев, когда кто-нибудь просматривает их, автоматическую подгрузку всех записей при просмотре их пользователем, а форумы на bbPress можно вообще сделать интерактивными, словно это чат. Неплохие перспективы.
Плагин с API Heartbeat уже доступен для тестирования.
Источник: wpmu.org