Сравнение Drupal, Joomla и WordPress. Часть 3.

четверг, 4 декабря 2008 г. ·

Уф, третья, заключительная часть сравнения.

Расширенная функциональность (плагины)

Drupal

Сейчас в официальном репозитории хранится под тысячу бесплатных модулей. Среди прочих есть решение для электронной коммерции, CRM-система, wiki-движок. Еще отмечу модули Views и CCK, которые дают Друпалу полное право именоваться CMF, а не CMS. CCK (Content Construction Kit), к примеру, позволяет при помощи графического интерфейса описывать объекты предметной области в базе данных и сразу же создавать формы для управления ими.

Joomla

В этом я думаю Joomla впереди всех трех других систем, ибо одних только видов расширений существует три штуки. Да и конкурентов у официального сайта расширений среди других систем я думаю нет (extensions.joomla.org) и быть не может. Одна только циферка (1915) наверху с количеством расширений в архиве заставляет задуматься.

Самой сильной стороной Joomla является, я считаю, система расширений. Мало того, что их существует несколько видов, еще есть специальная система их установки, позволяющая при помощи xml-файла описывать все действия необходимые для совершения при создании записи о расширении (например, SQL-запросы, копируемые файлы или действия выполняемые сразу после установки, которые нельзя выполнить автоматически).

WordPress

WordPress можно расширить за счет плагинов — это различные php-скрипты, которые автоматически подключаются к основному «ядру». Таким образом можно не просто добавить нужную функциональность, но и изменить уже существующую. Создать плагин не очень сложно, все зависит от уровня знания PHP. Подключение к WordPress'у совсем просто: плагин копируется в специальный каталог и активируется в админ-панели. Некоторые плагины можно настраивать, некоторые нужно прописывать в шаблоне, а некоторые работают полностью автоматически.

Плагинов для WordPress написано несколько тысяч (только на одном wp-plugins.net — 2568, но думаю, что целом цифру можно удвоить), поэтому можно найти плагин практически под любые нужды. Исключение составляют плагины, которые требуют значительной переделки шаблона. С ними обычно приходится повозиться.

Виджеты/блоки

Drupal

В Drupal это называется «блоки». Их можно располагать в разных областях страниц в зависимости от возможностей шаблона. В каждой области блоки можно сортировать для управления порядком вывода. Изначально областей пять — шапка, центральная, левая и правая колонки, подвал. Блоки можно показывать не на всех страницах.

Joomla

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

WordPress

Полноценная поддержка виджетов появилась только в версии 2.2. До этого нужно было устанавливать отдельный плагин. То что виджеты очень удобны, многие уже успели убедиться. Для пользователя теперь нет надобности что-либо менять в своем шаблоне: управление чисто визуальное, достаточно отметить нужные опции, расположить блоки как нужно и изменения сразу же вступают в силу. Внутренняя реализация виджетов такова, что с их можно использовать для вывода какого-либо плагина или своей функции.

Пример настройки виджета WordPress
Пример настройки виджета WordPress

Поддержка авторов (один блог) и многопользовательские блоги

Drupal

Друпал славится тем, что из него можно сделать платформу для блогов в несколько кликов. Поддерживаются как персональные, так и коллективные блоги. Одна из встроенных фишек Друпала — возможность публикации книг (некоторые блоггеры хотят хронологического порядка).

Joomla

Если встроенный компонент контента можно считать блогом, то да — блоги поддерживаются. При желании однопользовательский блог с красивым оформлением легко делается из компонента контента, ContentTemplater и компонента комментариев. С многопользовательским все сложнее. С некой натяжкой можно сказать "да", хотя это будет довольно трудно. Все-таки Joomla это CMS общего назначения. Сторонних же хороших, качественных компонентов, поддерживающих русский язык на уровне аякса без ошибок — нет. Ну или почти нет, лично я хороших примеров внедрения не знаю.

WordPress

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

Для управления авторами используется система ролей. С помощью специального плагина можно легко (визуально) отредактировать любую роль или разрешить/запретить выполнять какие-либо действия отдельному автору.

Для многопользовательских блогов существует отдельная версия: WordPress Multi User. Требования и возможности у неё практически такие же как и у обычного WordPress'а, хотя есть некоторые отличия. На WordPressMU работает один из крупнейших блог-сервисов WordPress.com, на котором зарегистрировано почти 1,3 миллиона блогов.

Современные «фишки»: трекбаки, пинги, XML-RPC, RSS

Drupal

Друпал популярен в мире, поэтому все «модные» фишки там быстро реализуются. В базовом пакете есть возможность ведения блога посредствам блогового клиента. Есть модуль, пингующий специальные каталоги Drupal-сайтов.

Joomla

Joomla это CMS, и говорить о внедрении таких вещей можно только на уровне сторонних компонентов. Видимо для Drupal'а и Wordpress'а этот вопрос сильно актуален, ибо изначально это все-таки блоговые движки, а не CMS, и никуда от этого не деться. А в Joomla надо все рассматривать на уровне каких-то компонентов, например того же платного MyBlog. Если реализуют — здорово, нет — позиции Joomla от этого ни сколько не пошатнутся.

WordPress

Трекбаки, пинги поддерживаются уже давно. Причем для их использования не нужно вообще никаких дополнительных действий: все работает на уровне «движка». Что касается XML-RPC, то WordPress поддерживает сразу несколько API, поэтому добавлять/редактировать записи в WordPress можно с многих программ блог-клиентов или он-лайн, например с помощью Google-Docs.

WordPress полностью поддерживает RSS и Atom. Можно подписаться на последние записи блога, определенной рубрики, комментарии или все комментарии. С помощью отдельного плагина можно сделать автоматическую переадресацию RSS-ленты блога на feedburner.com.

Кодировки

Drupal

Drupal работает на UTF-8. Каких-то забытых строковых функций, не работающих с UTF-8 я не замечал. Некоторые хостеры по старинке отдают страницы в cp1251, но это легко чиниться. Проблемы с MySQL тоже обычно решаются одной строчкой кода. Мне нравится UTF-8 :)

Joomla

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

С UTF-8 все сложнее, об этом достаточно написано, скажу лишь, что полная поддержка ожидается (собственно она уже есть) в версии 1.5. Сейчас можно говорить лишь об однобайтных кодировках и попытках сделать utf-сайты на непригодном для этого движке (хотя порой и весьма успешных). С аяксом все тоже сложно, ибо компоненты в основном делают буржуи, которые знать не знают о наших заморочках. А компонент этих столько, что рук не хватает ломать голову и мудрить что-то с iconv'ом.

WordPress

В самом WordPress'е есть возможность установить любую кодировку. Главное, чтобы кодировка базы данных совпадала с кодировкой блога. Правда, начиная с версии 2.1 WordPress должен работать в UTF-8. Это напрямую связано с использованием AJAX. Поэтому для русскоязычных пользователей основная проблема состоит только в том, что на серверах часто стоит CP1251. Поэтому я выпустил свою сборку WordPress (начиная с 2.2), которая позволяет использовать раздельную кодировку блога и базы данных. Это позволило многим без особых проблем перейти на последние версии WordPress. Сейчас можно довольно уверенно сказать, что особых проблем с кодировками в WordPress'е нет.

Комментирование

Drupal Комментарии в блогах могут быть и «плоскими» («flat») и древовидными («treaded»). Всё это находится в базовом пакете. Извещения по email делаются внешним модулем.

Joomla

Как уже было сказано ранее — компонентов комментариев много. Можно использовать любой на выбор. Стабильных — раз-два и обчелся, но очень скоро выйдет мега крутая штукенция под названием jComments от русского разработчика, которая все поставит на свои места (мы в это тайно верим — надеюсь что не зря: первые бета версии были очень «вкусные»).

WordPress

Для любой записи можно разрешить или запретить комментирование. Отдельно можно разрешить прием пингов/трекбаков, а также автоматический пинг по адресам, указаным в тексте записи. При помощи отдельных плагинов можно сделать древовидные комментарии, а также разбить отображение комментариев по страницам. Можно добавить аватарки или favicon. Текстовый редактор комментария можно снабдить кнопками форматирования и смайлами. Есть также плагин (работает на AJAX), который позволяет в течение некоторого времени редактировать посетителю свой комментарий.

Экспорт/импорт данных

Drupal

Для Друпала написано много разных конвертеров, в основном связанных с форумными миграциями. RSS отдаются на любой вкус. Есть множество специальных вещей в духе экспорта в RDF или CSV.

Joomla

Я так понимаю, что этот вопрос очень актуален для блоговых движков. Еще раз хочу упомянуть о том, что Joomla — это не блог, а CMS, а потому вопросы экспорта заметок в какой-то формат для нее не важны. Если компонент платный, то за N зеленых американских трупперов легко можно заказать себе импорт записей из старого блога в новый в каком угодно формате.

WordPress

WordPress позволяет экспортировать записи и комментарии блога в XML-файл. Можно экспортировать записи отдельного автора. Для импорта записей в WordPress можно воспользоваться 9 способами. Это основные блоговские «движки» (например: ЖЖ, Blogger, Textpattern), а также в RSS и свой XML-формат.

Постовой:

Зима наступила, а я, как дурак, вместо того, чтобы пойти на ледовый каток, решил сходить поиграть в теннис). Понравилось, но ракетки для тенниса напрокат - это дорого, легче их купить). Наткнулся тут на ракетку, которой играли пещерные люди) Первая ракетка мира Но если серьезно, то дешевых ракеток очень мало. Только на yonex нашел приличное что-то. В общем, летом пойду покупать коньки для катка)