Обзор систем управления содержимым (СMS)

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

При всем многообразии возможностей,
предоставляемых современными CMS,
большинство подобных систем предъявляют
одни и те же требования к хостингу
(наличие интерпретатора PHP и одной из
СУБД, чаще всего MySQL). Поэтому Web-разработчику
при выборе определенной системы
управления содержимым необходимо прежде
всего исходить из специализации этой
системы, так как на сегодняшний день
существует множество CMS, оптимизированных
для решения определенного круга задач:

  • универсальные CMS
    (Drupal, Joomla, WordPress, Mamboo, 1С-Битрикс, Microsoft
    CMS);
  • приложения для электронной
    коммерции
    (AdVantShop .NET, Melbis Shop, PHPShop,
    RunSTORE, SimonPortal, WebAsyst Shop-Script, Shop-Script);
  • корпоративный сайт
    (SerpentCMS, WebDirector, WebDirector Free);
  • форум (PunBB, Phorum);

  • online-энциклопедия (MediaWiki,
    Twiki, WikkaWiki).

Другим немаловажным
фактором при выборе системы управления
содержимым является цена. Сейчас на
рынке систем управления содержимым
сложилась ситуация, когда наряду с
платными закрытыми системами (1С-Битрикс,
Microsoft CMS) существует множество бесплатных
аналогов с открытым исходным кодом
(WordPress, Joomla, MediaWiki), которые не уступают
конкурентам ни в функциональности, ни
в эффективности использования ресурсов.
Поэтому, на мой взгляд, использование
одной из универсальных свободных систем
управления содержимым, таких как Drupal,
Joomla! или WordPress, позволит оптимально
решить практически любую задачу.


Анализ различных характеристик
сравниваемых CMS

Версии/безопасность

Drupal. Текущей версией
Drupal является 6.9. К выходу готовиться 7-я
версия этой популярной CMS. Отличительной
особенностью разработки Drupal является
то, что новые версии ядра подолгу
тестируются, что позволяет значительно
повысить безопасность и стабильность
системы. Ошибки в часто используемых
модулях исправляются оперативно. Drupal
для создания своих сайтов используют
крупные корпоративные клиенты, поэтому
отношение к безопасности у разработчиков
очень серьезное.

Joomla!. Актуальной на
сегодняшний день версией Joomla! является
1.5.9. Система стабильна, различные ошибки
в ядре достаточно оперативно устраняются.
По мере устранения ошибок и добавления
новых возможностей выходят новые версии.

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

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

Русская документация

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

Joomla!. По
количеству информации на русском языке
Joomla! является, пожалуй, рекордсменом
среди популярных у российских пользователей
систем управления содержимым. Практически
любую информацию можно найти в статьях
и руководствах.

WordPress. Для
WordPress существует т.н. Кодекс (Codex)
— набор документации, описывающий все
аспекты работы данной системы.
Отличительной особенностью этого набора
является единый подход к описанию
возможностей этой CMS, наличие подробных
примеров, а так же ссылок на смежные
вопросы. Однако на русский язык этот
документ переведен не полностью, хотя
работы в этом направлении ведутся.

Русское сообщество/поддержка

Drupal. Можно
сказать что на сегодняшний день Drupal
является наиболее популярной системой
управления содержимым, что благотворно
сказывается на развитии сообщества.
Имеется русскоязычный форум поддержки,
на котором можно найти ответы на те
вопросы, которые не освещены в статьях
и обзорах или поделиться опытом.

Joomla!. Так
сложилось, что у системы Joomla! имеется
сразу два сообщества пользователей и
разработчиков, выпускающих практически
независимые сборки этой CMS. Каждое
сообщество имеет свой форум поддержки,.

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

Борьба со спамом

Drupal. Для Drupal
существует множество модулей, позволяющий
эффективно бороться со спамом. Особо
стоит отметить модуль Akismet, возможность
использования графической или
математической каптчи (картинки с
набором символов) на выбор, а так же
анализатор поведения клиентов с
отсеиванием ботов. Еще можно задавать
ограничение на количество ссылок в
одном сообщении, блокировать доступ по
IP-адресу и вести «черный
список» рекламируемых сайтов, а так же
фильтровать сообщения по подстроке.

Joomla!. Механизмы борьбы
со спамом в Joomla! весьма ограничены. По
большому счету отсеивание спама возможно
только в комментариях к публикациям.
Модулей, реализующий возможность
комментирования материалов достаточно
много, практически все поддерживают
captcha. Борьба с нежелательными сообщениями
для Joomla! на этом в принципе и заканчивается,
возможностей наподобие SpamKarma ни в самой
CMS, ни в сторонних модулях нет.

WordPress. Так как WordPress
изначально был движком для блогов, то
борьба со спамом реализована в этой CMS
достаточно эффективно. Стандартно в
WordPress входит плагин Akismet, который
достаточно эффективно борется с
нежелательными сообщениям. Кроме этого
система позволяет создать черный список
и фильтры из слов, которые позволяют
либо просто заблокировать комментарий,
содержащий запрещенное слово, либо
отправить его на модерации. Использование
капчи позволяет защитить сайт от
автоматических спам-ботов. Так же
существует множество сторонних модулей
для борьбы со спамом.

Интеграция с форумом

Drupal. В базовый
дистрибутив Drupal входит достаточно
функциональный форумный движок, который
позволяет создавать форумы с достаточно
большим количеством пользователей и
сообщений. В качестве примера можно
привести официальный форум drupal.org,
который насчитывает более 320000 сообщениями.
Есть возможности модерирования и
ограничения доступа. Это реализуется
стандартными средствами системы. Еще
одним преимуществом встроенного движка
является использование единой с сайтом
базы пользователей. За счет сторонних
модулей возможно интеграция в систему
других форумных движков, например PHPBB.

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

WordPress. Для этой CMS
специально разработан форумный движок
BBPress, который полностью интегрируется
в систему. Однако этот движок не обладает
богатым функционалом. Поэтому для
создания полноценного форума на базе
этой системы стоит использовать сторонние
плагины, которые позволяют использовать
альтернативные компоненты форумов.

Визуальный редактор

Drupal. В стандартный
дистрибутив Drupal WYSIWYG-редактор не включен,
однако существуют дополнительные
модули, которые позволяют встроить
подобный редактор в систему, например
TinyMCE или FCKEditor.

Joomla!. Только
в базовый дистрибутив этой CMS включено
3 WYSIWYG-редактора. К тому же можно
использовать и альтернативные (за счет
сторонних модулей).

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

Работа с изображениями

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

Joomla!. Работа с изображениями
в системе Joomla! доступна сразу после
установки стандартного дистрибутива.
Есть возможность создания библиотеки
изображений и вставки картинок в
публикацию.

WordPress. В WordPress можно
добавлять изображений в материал при
помощи редактора. При загрузке файла
можно сразу указать его название,
подпись. Автоматически будет сделана
миниатюра. То есть расчет на то, чтобы
с этой задачей справился неопытный
пользователь. Если же воспользоваться
отдельным плагином, то можно дополнительно
указать размеры картинки, миниатюры и
прочие параметры. После добавления
картинки в редактор, можно изменить
различные параметры (стили, размеры,
бордюры, отступы и т.д.). Хотя это уже
возможности самого визуального редактора.

Шаблоны оформления

Drupal. Работа с
шаблонами — сильная сторона Drupal. Этот
этот компонент удачно спроектирован и
хорошо задокументирован, поэтому
разобраться с интеграцией собственных
шаблонов сможет разобраться даже
начинающий PHP программист. При этом
существует возможность более тонкой
настройки оформления прямо из системы
администрирования сайта. Можно задать
произвольные цвета практически для
любого элемента.

Joomla!. Работа с шаблонами
в Joomla! реализована слабо. Есть общий
основной шаблон, позволяющий на PHP
задавать общую структуру сайта и
расположение отдельных модулей, зачастую
очень сложные, однако шаблонизации
отдельных элементов нет, внешний вид
отдельных элементов можно изменять при
помощи каскадных таблиц стилей (CSS).
Работа с ними в Joomla! реализована на
уровне и хорошо задокументирована. Так
же желаемого эффекта можно добиться
модификацией кода отдельных компонент.
Для работы со статьями существует
отдельный модуль ContentTemplater, позволяющий
создавать шаблоны оформления для статей.

WordPress. Для WordPress создано
много шаблонов, многие из которых
выполнены на высоком дизайнерском
уровне. Сама архитектура WordPress такова,
что под него несложно самостоятельно
создать шаблон, используя обычные
PHP-функции, поэтому сложностей с изучением
т.н. языков шаблонов нет. Про создание
шаблонов для этой CMS написано множество
статей, создан даже онлайн-генератор.
Готовые шаблоны достаточно загрузить
в отдельный каталог и активировать
через систему администрирования системы.

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

Drupal. Наличие
дополнительных модулей является сильной
стороной Drupal. Большая часть из них
доступна для скачивания на официальном
сайте этой CMS. Стоит отметить высокое
качество дополнительных модулей для
Drupal, что компенсирует недостаток
документации к этим модулям. С
использованием дополнительных модулей
Drupal позволяет реализовать любой
функционал, необходимый разработчику.

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

WordPress. WordPress
можно расширить за счет плагинов —
это различные php-скрипты, которые
автоматически подключаются к основному
«ядру». Таким образом можно не просто
добавить нужную функциональность, но
и изменить уже существующую. Плагинов
для WordPress написано очень много, что
позволяет реализовать все необходимые
функции. Однако работа с ними не так
удобна как в Drupal или Joomla!.

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

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

Joomla!. Для
Joomla! экспорт/импорт данных реализуется
за счет дополнительных модулей, поэтому
разработчик может выбрать тот формат
данных, работать с которым ему удобнее.

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

Название CMS Drupal Joomla! WordPress
Русский сайт системы Http://drupal.ru/ Http://joom.ru

http://jommla.ru

http://mywordpress.ru/
Стоимость Бесплатно Бесплатно бесплатно
Возможность локализации
системы администрирования
есть есть есть
Многоязычные сайты есть отдельный модуль бесплатный модуль
Многосайтовость есть отдельный модуль нет
База данных MySQL, PostgresSQL MySQL MySQL
Операционная система кроссплатформенная кроссплатформенная кроссплатформенная
Язык программирования php php php
Web-сервер Apache, IIS
Apache, IIS

Apache, IIS

Возможность подключать
к формам CAPTCHA
отдельный бесплатный
модуль
есть нет
Премодерация
публикуемых материалов
есть есть есть
Письмо активации есть есть нет
Распределение прав есть отдельный платный
модуль
есть
Управление сессиями есть есть нет
Поддержка SSL есть есть нет
Поддержка есть есть есть
Документация есть есть есть
Online-помощь есть есть есть
Публичный форум есть есть есть
ЧПУ есть есть есть
Масштабирование
изображений
отдельный бесплатный
модуль
есть нет
Проверка орфографии отдельный бесплатный
модуль
нет Отдельный бесплатный
модуль
WYSIWYG — редактор отдельный бесплатный
модуль
есть Отдельный бесплатный
модуль
Работа с архивами
(zip и т.д.)
нет нет нет
Темы/шаблоны есть есть есть
Блог есть есть есть
Чат отдельный бесплатный
модуль
отдельный модуль нет
Управление рекламой отдельный бесплатный
модуль
есть нет
Конструктор форм отдельный бесплатный
модуль
отдельный модуль нет
Форум есть отдельный модуль нет
Гостевая отдельный бесплатный
модуль
отдельный модуль нет
Таблица сравнения нет нет нет
Рассылки отдельный бесплатный
модуль
отдельный модуль Отдельный бесплатный
модуль
Голосования есть есть Отдельный бесплатный
модуль
Каталог отдельный бесплатный
модуль
есть нет
Поиск по сайту есть есть есть
Добавление содержимого
пользователями
есть есть есть
RSS есть есть есть
Галерея отдельный бесплатный
модуль
отдельный модуль Отдельный бесплатный
модуль
Web-статистика есть есть бесплатный модуль
Прием онлайн платежей отдельный бесплатный
модуль
отдельный модуль нет
Расчет стоимости
пересылки
отдельный бесплатный
модуль
отдельный модуль нет
Расчет налогов отдельный бесплатный
модуль
отдельный модуль нет
Корзина отдельный бесплатный
модуль
отдельный модуль нет