Релиз WordPress 7.0, изначально запланированный на 9 апреля, будет задержан с целью оптимизации функционала Real-Time Collaboration (совместное редактирование в реальном времени). Разработчикам важно гарантировать, чтобы этот ключевой релиз был «предельно стабильным». От WordPress 7.0 зависит очень многое, поскольку он будет включать в себя возможности, которые положат начале эре систем управления контентом (CMS) на базе ИИ.
- Приоритет на стабильности
- Расширенная фаза выпуска релиз-кандидатов вместо бета-версий
- Совместное редактирование в реальном времени
- Структура базы данных вызывает опасения по поводу производительности
- Пробелы в тестировании релиз-кандидатов вызывают опасения
- Ограничения, связанные с версионированием
- Влияние RTC на хостинги
Приоритет на стабильности
Мэтт Мулленвег, комментируя ситуацию в официальном канале Making WordPress в Slack, отметил, что в случае с текущим релизом стоит отойти от принятой траектории и уделить приоритетное внимание стабильности. Он призвал выделить более длительный подготовительный этап для обкатки возможности RTC (Real-Time Collaboration). Ожидается, что задержка продлится несколько недель, и описывается она как разовое отклонение от запланированного графика релизов WordPress.
Мэтт:
«Учитывая масштаб и статус версии 7.0, я думаю, нам следует вернуться к бета-релизам, доработать новые таблицы, зафиксировать все, что мы хотим видеть в 7.0, а затем начать выпуск релиз-кандидатов. Мы по-прежнему отталкиваемся от планируемых сроков, но для этого ключевого релиза сделаем исключение: нам нужна максимальная стабильность, вдохновляющие обновления, особенно с учетом того, что ИИ-разработка повышает требования людей к используемому софту.
Явление это разовое; в будущем мы вернемся к нашему плану, к нашей цели – по 4 релиза в год в 2027, что отразит нашу способность двигаться быстрее благодаря ИИ».
Расширенная фаза выпуска релиз-кандидатов вместо бета-версий
Во избежание технических проблем с совместимостью, проект останется в фазе релиз-кандидата, и период тестирования будет продлеваться за счет дополнительных RC-сборок.
Предложение вернуть бета-релизы было отклонено, поскольку это нарушило бы логику сравнения PHP-версий, логику обновления плагинов, а также привело бы к сбоям в тех инструментах, которые зависят от стандартной последовательности версий. Предложение растянуть фазу релиз-кандидатов позволяет сохранить совместимость, оставляя разработчикам больше времени на тестирование и исправления.
Совместное редактирование в реальном времени
Задержка выхода новой версии в основном связана с функционалом RTC: он вносит новые таблицы в БД и меняет процесс управления сессиями редактирования. Участники проекта выявили новые риски, касающиеся производительности, обработки данных, а также взаимодействия с существующими системами.
Основная проблема заключается в том, что в режиме редактирования в реальном времени отключается постоянное кэширование записей в ходе активных сессий; команда работает над устранением этой проблемы.
Структура базы данных вызывает опасения по поводу производительности
Ключевым моментом обсуждения стал вопрос о структурировании базы данных для функционала RTC. Предложенная единая таблица RTC поддерживала бы: 1) обновления при редактировании в реальном времени; 2) синхронизацию. Однако некоторые участники отметили, что рабочие нагрузки при редактировании в реальном времени и при синхронизации принципиально разные.
Редактирование в реальном времени генерирует высокочастотные, импульсные операции записи, требующие низкой задержки (т.е. обновления происходят с очень малой задержкой).
В то время как синхронизация между средами включает в себя более медленные, структурированные обновления, зачастую связанные с полным сканированием таблицы.
Объединение двух паттернов в одной таблице чревато проблемами с производительностью; к тому же это добавляет лишнюю сложность. Участники обсуждения рассматривают разделение рабочих нагрузок на отдельные таблицы, оптимизированные под каждый вариант использования, но окончательное решение пока не принято.
Пробелы в тестировании релиз-кандидатов вызывают опасения
Дискуссия в WordPress Slack также подсветила опасения по поводу недостаточности тестирования релиз-кандидатов в реальных условиях. Еще один возникший вопрос: не приведет ли изменение схемы БД к повышенному риску сбоев во время обновлений. Решение использовать плагин Gutenberg для тестирования нововведений было отклонено, поскольку изменения в БД могли повлиять на рабочие сайты и потребовать сложной логики миграции. Разработчики согласились, что необходимо придерживаться расширенной фазы выпуска релиз-кандидатов – это позволит собрать отзывы от более широкой группы пользователей.
Ограничения, связанные с версионированием
Предложение задержать выпуск 7.0 привело к дополнительным проблемам. Правила сравнения версий PHP, а также инструменты, завязанные на них, существенно усложнили возврат к бета-релизам. Выпуск последовательности релиз-кандидатов (RC1, RC2, RC3 и т.д.) позволяет обойти эти проблемы и продолжить итерации.
Влияние RTC на хостинги
Вопрос, который не обсуждался в канале Slack, но который от этого не становится менее актуальным, — как совместное редактирование в реальном времени повлияет на хостинг-провайдеров. Им важно протестировать этот функционал, чтобы гарантировать, что он не создаст проблем в средах виртуального хостинга. Хотя RTC будет поставляться в отключенном виде по умолчанию, влияние его на виртуальные хостинги пока неизвестно. Представитель Kinsta сообщил нам, что они все еще проводят тестирование.
Источник: https://www.searchenginejournal.com
