ГлавнаяРазноеЦикл разработки WordPress

Цикл разработки WordPress

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

Этапы разработки WordPress

Разработка каждой новой версии WordPress делится на пять основных этапов:

  • Планирование
  • Дизайн и разработка
  • Бета тестирование
  • Релиз кандидаты
  • Релиз

Сперва определяется объём работ, сроки и роли для данной версии. Затем начинается разработка нового функционала до выхода первой бета версии, после чего происходит отладка, доработка и подготовка к стадии релиз кандидата. Релиз кандидат — это уже готовый, по мнению разработчиков, продукт, но всё ещё есть вероятность того, что обнаружится какая-нибудь крупная неполадка. В зависимости от найденных ошибок, бета версий и релиз кандидатов может быть несколько, например в версии 3.5 было три бета-версии и четыре релиз-кандидата.

Всего на один релиз уходит примерно 4 месяца: 2 на дизайн и разработку, 1 месяц на бета тестирование и 1 месяц на релиз кандидаты. После *выхода* новой версии начинается цикл её поддержки с помощью технических релизов, как например версии 3.5.1 и 3.5.2, которые не содержат в себе нового функционала, но устраняют ошибки и уязвимости предыдущих версий.

Параллельно с работой над техническим релизом начинается планирование уже следующей основной версии.

Кто разрабатывает WordPress

Разработчики WordPress

Разработчики WordPress

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

Кроме этих людей, в развитии проекта участвуют более двухсот дизайнеров и разработчиков со всего мира: кто-то в рамках своей основной работы, а кто-то в качестве хобби. Этот список растёт с каждым релизом.

Существует немалое количество компаний, чей бизнес каким-либо образом связан с WordPress, эти компании выделяют одного или нескольких сотрудников для работы над WordPress. Самые яркие примеры — это хостинг провайдеры Bluehost и DreamHost, разработчики тем WooThemes и The Theme Foundry, ну и конечно же компания Automattic.

Subversion

Сам исходный код WordPress хранится в системе управления версиями под названием Subversion. Это открытый репозиторий, куда может заглянуть каждый. Он имеет следующую структуру:

  • /tags — в это директорию помещаются все релизы: как основные, так и технические
  • /branches — это ветки, которые всегда содержат последние изменения в определённой основной версии. Например, если это ветка 3.5, то она будет содержать все изменения в 3.5.1, 3.5.2 и т.д.
  • /trunk — содержит новую версию, которая находится в разработке, и ещё пока не выпущена. На сегодняшний день это версия 3.6

Для доступа к репозиторию, вам потребуется Subversion клиент, например Versions для OS X, или TortoiseSVN для Windows.

Trac

Для управления проектом WordPress используется система Trac, которая чем-то напоминает обычный форум.

WordPress Trac

WordPress Trac

Любой желающий может создать новую тему (или «тикет») и сообщить об ошибке в ядре, или предложить какую-либо новую функцию. В этой же теме, любой разработчик может выложить так называемый «патч» или заплатку. Это файл, который изменяет исходный код программы для того, чтобы, например, устранить ошибку.

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

Тестирование

WordPress использует программу PHPUnit для автоматического юнит тестирования. На сегодняшний день для WordPress написано более 1500 тестов. Такой подход позволяет с большей уверенностью вносить изменения в сложные участки исходного кода.

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

Ещё одним методом тестирование является хостинг площадка WordPress.com, где на сегодняшний день порядка 30 миллионов сайтов и блогов. Перед выпуском новой версии, все изменения тестируются на WordPress.com, а лояльные пользователи этой сети быстро сообщают об ошибках в службу поддержки. Если вы не помните разницу между WordPress.com и WordPress.org, советуем обратиться к нашей статье.

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

Общение

Всё общение между участниками проекта происходит в основном в трёх местах. Это IRC чаты, сеть блогов «make» и система управление проектом Trac, о которой мы уже говорили.

Каждую среду, разработчики WordPress проводят встречу в чате. Это канал #wordpress-dev на IRC сервере Freenode. Любой желающий может присоединиться и поучаствовать в дискуссии, предложить свои варианты решения проблемы, или просто узнать о том, как и куда движется разработка.

Кроме чатов, есть так же сеть блогов под названием make/*, например make/core для разработчиков, make/ui для дизайнеров и т.д. На этих блогах ведётся всё планирование. Разработчики делятся идеями, делают наброски (скриншоты), публикуют анонсы и другую информацию.

Как мы можем помочь

В развитии WordPress участие может принять каждый, и вовсе не обязательно для этого быть программистом. Вы можете выбрать интересующую вас область, и оказать посильную помощь.

К примеру, если вы занимаетесь дизайном, вы можете подписаться на блог make/ui, который посвящён созданию пользовательских интерфейсов, участвовать в обсуждении и делиться своими идеями. Еженедельные чаты этой группы проходят в IRC канале #wordpress-ui.

Кроме дизайна есть группа переводчиков. Если вы владеете английским языком, вы можете участвовать в переводе документации, тем, плагинов и самого WordPress. В таком случае вам стоит посетить блог make/polyglots и познакомиться с системой translate.wordpress.org.

Если вам нравится помогать людям, вы можете отвечать на вопросы в форумах поддержки на WordPress.org и в IRC канале #wordpress. Загляните в группы make/support — посвящена поддержке, и make/docs посвящена документации.

Для разработчиков тем и плагинов для WordPress есть группы make/themes и make/plugins. Здесь обсуждают репозитории тем и плагинов на WordPress.org, правила попадания в директории и прочее.

Для разработчиков приложений для мобильных устройств существует группа make/mobile. На сегодняшний день, для WordPress уже разработаны мобильные приложения на платформы iOS, Android, Windows Mobile и другие. Так же как и само ядро WordPress, разработка мобильных приложений ведётся публично.

Для организаторов мероприятий, связанных с WordPress есть группа make/events. Здесь участвуют организаторы неформальных встреч, митапов, конференций WordCamp, обсуждают идеи и делятся опытом.

Ну и наконец разработчики. Для разработчиков существует группа make/core. Это основная группа, где можно узнать куда движется WordPress, и когда выйдет новая версия.


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

Константин Ковшенин

Сооснователь журнала WP Magazine и первой конференции WordCamp в России. Работал в Automattic, WordPress.com, WooCommerce. Принимает активное участие в развитии ядра WordPress. Любимый язык программирования: Python.

Подписаться на рассылку

Подписаться → Подпишитесь на бесплатную рассылку журнала WP Magazine и получайте новости, события, подборки тем и плагинов, уроки, советы и многое другое в мире WordPress!