Стала известна новая дата выхода WordPress 7.0

Новая дата релиза WordPress 7.0 – 20 мая. Сегодня команда разработчиков должна обратиться к хостинг-провайдерам с призывом о помощи в тестировании функционала совместного редактирования в реальном времени (RTC, или real-time collaboration).

Координатор версий Эми Камала опубликовала обновленный график релиз-цикла 7.0 в блоге Make WordPress Core в среду. Новая бета-версия запланирована на 8 мая, а новый релиз-кандидат – на 14 мая, перед финальным релизом 7.0.

Камала отметила, что версии будут сохранять префикс RC, чтобы избежать путаницы в процессе обновления сайтов: новая бета-версия будет именоваться RC3, а новый релиз кандидат — RC4.

По словам Камалы, расписание может меняться в зависимости от полученных отзывов хостингов.

«Спасибо всем за вашу гибкость в последние недели, пока участники проекта WordPress по всему миру неустанно трудились над необходимыми архитектурными улучшениями для релиза 7.0», — отметила Камала.

Первоначально релиз должен был выйти 9 апреля во время Contributor Day на WordCamp Asia, но был приостановлен в конце марта после того, как Мэтт Мулленвег призвал вернуться к бета-версиям, чтобы дать больше времени на устранение проблем с аннулированием кэша для функционала совместного редактирования.

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

В текущем пререлизе 7.0 есть четыре подхода к хранению данных для RTC: обновления и информация хранятся в таблице wp_postmeta; создается отдельная таблица  wp_collaboration в БД; подход с временными данными (transients), когда информация хранится в объектном кэше; гибридный подход, сочетающий таблицу БД с объектным кэшированием для осведомленности.

Осведомленность (awareness) – это данные, отслеживающие, кто еще в данный момент редактирует пост – присутствие пользователя, его положение курсора, выделение фрагментов, — и эти данные считываются и записываются в каждом цикле опроса, поэтому они стали слабым звеном эффективности для RTC.

Скрипт тестирования был представлен на прошлой неделе на канале #feature-realtime-collaboration в WordPress Slack благодаря активным усилиям Макса Шмелинга и Алека Гитчеса из Automattic. Шмелинг написал PHP-часть для WordPress, а Гитчес – скрипт на Node.js, который обращается к REST-эндпоинту /updates и выдает разбивку времени ответа для каждого запроса.

Затем Дерозье перенес их наработки в отдельный репозиторий distributed-rtc-performance-testing на GitHub и добавил обертку, позволяющую протестировать четыре подхода с помощью одной команды.

Предварительное тестирование на WordPress.com, результаты которого были переданы команде разработчиков в Slack, фиксировало логи запросов в течение примерно 2 минут совместного редактирования в двух вкладках браузера на временных тестовых сайтах, созданных с помощью Jurassic Ninja (инструмент от Automattic для развертывания песочниц). Пререлиз сгенерировал около 4 000 SQL-запросов за это время. Использование кастомной таблицы в БД сократило их число на 67%, а подход с временными данными – на 80%. Гибридный подход пока еще не тестировался.

Объем запросов имеет значение, поскольку на виртуальном хостинге каждый запрос вешается на PHP-воркер, как отметил Дерозье в Slack, а функционал, который активно опрашивает несколько вкладок и соавторов, может быстро перегрузить воркеры. Именно на такой сценарий неоднократно указывал Мэтт, и именно эту нагрузку призвано измерить тестирование хостинг-сред.

Хостинги уже тестируют RTC, в том числе и сам WordPress.com, который включил RTC для 100% сайтов в своей общей инфраструктуре. Специалисты GoDaddy также тестируют RTC, и, по словам Дерозье, первые отзывы от компании помогли улучшить тестовый скрипт, чтобы он работал в большем количестве сред.

Питер Уилсон из Fueled, предложивший в феврале отдельную таблицу в БД wp_collaboration для RTC, в воскресенье открыл PR-запрос на гибридный подход, основанный на раннем PR от Джо Фуско из WP Engine. Версия Уилсона хранит awareness-данные в постоянном объектном кэше, когда он доступен, и переключается на кастомную таблицу в БД в противном случае, при этом обновления и данные синхронизации хранятся в кастомной таблице в обоих сценариях.

«Awareness использует постоянный объектный кэш, когда он доступен (это ключ к высокой производительности подхода с временными данными)», — написал Уилсон в Slack-канале #feature-realtime-collaboration.

Во вторник Уилсон указал, что его особенно интересуют отзывы системных инженеров и администраторов БД относительно предлагаемой структуры таблиц, отметив, что даже после задержки релиза не получил никакой конкретной информации по этому вопросу.

Ожидается, что Мулленвег проанализирует результаты тестирования хостингов и примет окончательно решение о том, какой подход к хранению данных будет включен в релиз 7.0. Об этом говорится в заметках с совещания команды разработчиков от 15 апреля, которыми поделилась Энн Маккарти в Slack.

20 мая – дата, когда должен состояться релиз; чуть более чем за две недели до WordCamp Europe, который пройдет с 4 по 6 июня в Кракове. Были ранние предложения, направленные на выпуск WP 7.0 прямо во время мероприятия или после него, но Дерозье высказался против привязки релиза к WCEU.

«Да, было бы круто, если бы релиз совпал с проведением WCEU, но я бы рекомендовал не усложнять все это лишними подготовками и координациями, чтобы мы могли сосредоточиться только на новой версии», — написал он, добавив, что WCEU Contributor Day мог бы послужить отправной точкой для WordPress 7.1.

Рассматривалась также дата релиза – 28 мая, но независимый разработчик Аарон Джорбин указал на конфликты с праздником Ид аль-Адха, который, как ожидается, начнется 26 мая, а также с Шавуотом и днем Вознесения Господня у православных христиан (21 мая).

Источник: https://www.therepository.email

Дмитрий/ автор статьи
CCO, Senior SEM/PPC Specialist, WordPress-энтузиаст, переводчик с английского и немецкого. Серый кардинал русскоязычного WP-комьюнити.
Блог про WordPress
Добавить комментарий

Получать новые комментарии по электронной почте.