Нет никаких сомнений, Drupal — это отличная CMS и CMF для создания самых разных сайтов, включая, конечно же и блоги. Убеждался в этом неоднократно, поэтому и продолжаю использовать именно эту платформу в проектах уже в течение нескольких лет, открывая в ней все новые и новые возможности. Естественно, что и для создания блога я когда-то также решил использовать Drupal в качестве привычной и обжитой среды, предоставляющей все необходимые возможности для его создания. На этом можно было бы и остановиться, но любопытство часто подталкивает нас заглянуть за ограду привычного.
Одним из результатов таких заглядываний стала моя предыдущая заметка о трендах популярности различных CMS, в которых особенно ярко выделился WordPress, показывающий при сравнении с прочими значительно более высокий и, что примечательно, стабильный на протяжении нескольких лет рост своей популярности. Этот факт как минимум не мог не возбудить любопытство к системе, которая очевидно значительно проще и заметно популярнее того, чем уже пользуешься. Стоит ли продолжать безосновательно игнорировать ее в своей практике?
Для такого любопытства были и другие причины, конечно.
WordPress, имея значительно более простую и несравненно более стабильную от релиза к релизу архитектуру и API своих функций, успешно способен решать большинство наиболее часто встречающихся даже при разработке сайтов общего назначения задач и уж тем более — блогов, для которых он изначально и создавался.
При создании сайтов общего назначения настройка сайта на Drupal должна занимать заметно больше времени, чем на WordPress и на малобюджетных проектах эта разница весьма ощутима.
Drupal 8-ой версии, активно продвигаясь к совершенству и еще большей дружественности к пользователям, продолжает и ощутимо усложняться. В общем хоре восторгов по поводу мощи этой платформы иногда раздаются отдельные голоса, выражающие озабоченность непрерывным ростом порога вхождения в понимание внутренностей этой системы разработчиком, и без того достаточно высоким. В этом смысле меня не оставила равнодушным статья Бена Букмана, опубликованная на его блоге, которую автор целиком посвятил теме продолжающегося внутреннего усложнения CMS: http://benbuckman.net/drupal-excessive-complexity.
Вспомнилась и собственная эпопея по переносу блога с Drupal 6 на Drupal 7…
Совсем недавно почти случайно узнал, что этим летом даже появился форк (ответвление) от Drupal под названием Backdrop (http://backdropcms.org/), призванный сохранить уже достигнутые мощь и эффективность архитектуры этой CMS с одной стороны, а с другой — приостановить продолжающееся усложнение внутренней архитектуры, скорость изменения и появления новых API, сохранив привлекательность платформы для новых разработчиков и тех, кто уже не желает тратить кучу времени и сил на освоение непрерывно обновляющейся архитектуры Drupal.
Недаром остроумные разработчики даже придумали график, отображающий в шутливой форме кривую обучения Drupal в сравнении с другими CMS:
Помню, что когда-то и сам начал более или менее свободно себя чувствовать в использовании Drupal лишь после прочтения почти от корки до корки книги «CMS Drupal 6 — Pro Drupal Development» Джона Вандюка и применения полученных знаний в последующих проектах. Нельзя было забыть и достаточно серьёзные изменения как в архитектуре ядра, так и в функциях его API (количество самих наборов API также выросло), при переходе от Drupal 6 к Drupal 7. Разработчики при этом подчеркивали мысль о позитивной роли такого радикализма, поясняя, что сознательный отказ от совместимости с предыдущими версиями позволяют быстрее идти вперед и добавлять новые возможности CMS шустрее, чем у конкурентов, оставляя истории устаревший код и концепции.
В настоящий момент активно готовится предрелиз 8-ой версии Drupal, в ядре которого впервые задействованы компоненты одного из самых мощных PHP-фреймворков — Symfony 2, произошла смена движка, используемого для управления шаблонами страниц и их элементами с PHPTemplates на современный и написанный на объектно-ориентированном PHP-коде движок Twig, а также продолжаются активные работы по доработке архитектуры CMS и улучшению внутренних структур хранения данных.
Все это безусловно расширяет возможности настройки и конфигурования сайта из админки с одной стороны, но при этом и усложняет жизнь тем, кто захочет что-либо самостоятельно «подкрутить» или добавить в существующий код.
Глядя на все это, у меня возникла идея попробовать в качестве эксперимента превести миграцию своего блога с Drupal на WordPress и посмотреть, что из этого получится, а заодно сравнить возможности обоих CMS в решении одних и тех же задач хотя бы на примере блога.
Процесс уже пошел и сейчас почти завершен — удалось не только перенести данные из одной базы в другую с помощью найденных практически готовых PHP и SQL-скриптов, но и подобрать модули, воспроизводящие необходимый функционал в более или менее привычном виде. Подробнее об этих захватывающих приключениях возможно напишу позже, впечатлений много и рассказать есть о чем…