Обзор WordPress 2.3 beta1
Сегодня был анонсирован WordPress 2.3 beta1. Рассмотрим некоторые особенности будущей версии.
Уже традиционно порядок версий получился хаотичный. Релиз 2.3 намечен на 24 сентября 2007 года, но судя по trac на сегодня выполнен только 31%. Совершенно очевидно, что к релизу все исправления выполнены не будут, а просто перейдут на будущее.
Если предположить, что в beta1 больше не будут добавляться нововведения, то можно попробовать обрисовать какие изменения нас ожидают в новой версии.
Прежде всего мы всё-таки увидим родные тэги WordPress.

Для отображения тэгов служит функция the_tags(). В ней можно указать несколько параметров: текст «до», разделитель тэгов и текст «после». А вот каким образом можно получить облако тэгов, следует еще разобраться.
Если у вас установлен плагин «Ultimate Tag Warrior», то можно будет выполнить импорт его тегов в «родные» WordPress. Те, кто пользовался другими плагинами, окажутся в более выгодном положении, поскольку никаких изменений производить не придется. Впрочем, тут каждый решает сам, что ему лучше.
Разработчики уверяют, что скорость работы JS увеличилась. Субъективно это действительно так. Правда, многие используют расширенный визуальный редактор, либо вообще его отключают, поэтому разница будет нивелироваться. Но с другой стороны, будем надяться, что наконец-то пропадут проблемы с визуальным редактором, которые появились в 2.2 (в основном в IE).
Из нововведений стоит отметить, что (наконец-то!) в Blogroll появились (или точнее - вернулись) свои рубрики. Честно говоря объединение их с обычными было не самой удачной идеей, и вот сейчас можно будет опять нормально создавать рубрики для ссылок.
Появился новый виджет «Рубрики». Причем таких виджетов можно создать сразу несколько. Очень сомнительна ценность этой новинки, поскольку все эти виджеты будут выводить одну и туже информацию. Но, если не быть столь строгим, то можно считать, что разработчки подарили нам еще один пример того, как правильно делать множественные виджеты (т.е. можно указать сколько таких виджетов нужно). Код (widgets.php) действительно интересный и можно рекомендовать всем разработчикам виджетов для изучения.
Вот это собственно и все изменения, которые видны невооруженным взглядом. Если же копнуть глубже, то похоже нас ждет очередная волна конфликта версий. Всё дело в том, что в WordPress появился механизм (технология?) со страшным словом «Таксономия» (taxonomy).
Нечто подобное уже реализовано в Drupal'е и, возможно, подобную схему решили внедрить и в WordPress.
Попробую кратко рассказать, что это за зверь - таксономия. Возьмем для примера обычную запись. Мы знаем, что каждой записи можно присвоить несколько рубрик. Таким образом у нас есть три таблицы, где в одной указывается номер записи, во второй - номер рубрики, а третья связующая, где указываются номера записей и номера рубрик. Таким образом, чтобы получить список рубрик, мы обращаемся к связующей таблице и ищем в ней строки с номером записи. Во второй колонке этой выборки получаем список рубрик.
Теперь давайте представим себе, что мы хотим ввести рубрики для ссылок (blogroll). Схема получается аналогичная: две таблицы и одна связующая. А если мы захотим добавить еще что-либо, например теги к записям, то вынуждены будем создать еще три таблицы для этого.
Очевидно, что изменение структуры базы данных всегда влечет за собой проблемы с поддержкой, обновлением и совместимостью. Так вот - таксономия (в нашем случае) позволяет создать несколько универсальных таблиц, с помощью которых можно связывать между собой различные данные. Грубо говоря, если раньше у нас были отдельные таблицы для рубрик записей, рубрик blogroll и тэгов (в теории), то сейчас в универсальной таблице они что-то вроде «таксономических групп» и все находятся в одних таблицах.
Таким образом мы можем создавать произвольные структуры, не задумываясь об их «физической» реализации на уровне БД. На самом же деле, возможности такого подхода гораздо шире. Другое дело, что должно пройти какое-то время, прежде чем программисты разберутся с реализацией taxonomy API и предложат новые идеи.
Однако, есть ложка дегтя. Прежде всего следует отметить, что в WordPress 2.3 вы уже не найдете таблиц post2cat, link2cat и categories. Вместо них используются terms, term_relationships и term_taxonomy. Это означает, что переход к новой версии будет более сложным с технической точки зрения, а значит могут возникнуть какие-то проблемы. Но самая главная проблема заключается в том, что огромный пласт плагинов используют свои запросы к БД и, естественно, что они будут обращаться к уже несуществующим таблицам. Правда имена переменных типа «$wpdb->post2cat» сохранились, но перенесены в deprecated и нигде больше не используются. Поэтому такие плагины будут некорректно работать в новой версии WordPress (или вообще не работать, если это новая установка).
Пока сложно сказать, что лучше/хуже: изменения, которые в будущем позволят сделать из WordPress многофункциональную CMS или возможные проблемы перехода к новой версии. Подобное мы уже проходили: WordPress из-за этого разделился на две ветки: 2.0.* и 2.1+. Версия 2.3 тоже добавит проблемы с совместимостью, поэтому переходить на 2.3 наверное есть смысл только после выхода второго обновления (2.3.2). За это время как раз исправят ошибки, а разработчики плагинов и шаблонов уже успеют внести изменения с учетом новой версии.
Постоянная ссылка: http://maxsite.org/?p=274
Версия для печати
