Drupal, Joomla – системы управления, на основе которых можно создавать функциональные и легко управляемые сайты без серьезных финансовых затрат. Мы решили сравнить эти системы между собой и рассказать об этом доступным языком. Мы выбрали наиболее важные аспекты, которые скорее всего заинтересуют рядового пользователя.

В качестве «ответчика» за Drupal выступает Дмитрий Сергеев (http://www.dserg.com/), JoomlaДмитрий aka Dead Krolik (http://dead-krolik.info/)

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

Drupal
Сейчас к выходу готовится 6-я версия, код которой уже достаточно давно заморожен. Текущая 5-я версия по сравнению с 4.7 выглядит хорошим эволюционным этапом.

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

Joomla
Ситуация на данный момент такова – все поклонники Joomla находятся в ожидании версии 1.5. А ветка 1.0.х претерпевает лишь косметические изменения, в основном улучшающие безопасность. Так что с наличием новых версий у Joomla «полный порядок». Безопасность тоже на уровне, версию 1.0.13 можно смело считать очень-очень стабильной и безопасной.

Что же касается безопасности сторонних расширений, то тут все не так гладко, что вообще-то повторяет ситуацию в целом в языке PHP, как популярном среди новичков и людей не знающих ничего о том, как ломаются сайты. 90% софта глючны, а платные программисты готовы работать за еду. Действительно сильных расширений мало, но они есть, например OpenSEF или MosetsTREE.

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

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

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

Русское комьюнити/поддержка

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

Joomla
Если коротко, то существует две различных «тусовки», ведущие свои форумы и сайты поддержки. Попытка объединения была, но так ничего и не получилось. В принципе, наличие двух сборок и русификаций на данный момент всех устраивает (читай «все не плохо устроились»). Ближе к версии 1.5 вопрос будет подниматься все чаще, ибо порталовцы более официальная команда перевода, нежели joom.ru. С другой стороны наличие конкуренции нисколько не вредит сообществу, а наоборот даже подталкивает команды работать все лучше и лучше.

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

Drupal
Akismet – раз, графическая или математическая каптча на выбор – два, анализатор поведения клиентов с отсеиванием ботов – три. Еще можно задавать ограничение на количество ссылок в одном сообщении, контролировать флуд, банить ip и вести «черный список» рекламируемых сайтов, а также фильтровать сообщения по подстроке.

Joomla
Борьба со спамом в интернете на данный момент ведется только в одном месте – комментарии к публикациям. Компонентов комментариев достаточно много, и о таковых, без поддержки captcha я не слышал (разве что очень древние и не используемые на данный момент). На этом собственно борьба со спамом заканчивается. Вкусности вроде SpamKarma насколько я знаю, в сторонних компонентах не реализованы.

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

Drupal
Базовый пакет Drupal содержит достаточно функциональный форум, который подойдет для организации небольших сообществ. Для организации больших сообществ он тоже, впрочем, подойдет – на форуме drupal.org сейчас более 320 000 сообщений.

Есть модераторы, группы пользователей с разными правами доступа, извещения по email, аватары, подписи, RSS. Преимущество встроенного форума – единая база пользователей, которую используют остальные части сайта.

Насколько я знаю, есть возможность интеграции с PHPBB.

Joomla
Вместе с Joomla не поставляется компонента форума, однако на данный момент самым оптимальным вариантом создания встроенного форума является FireBoard и его русская редакция от Adeptus’а. Что же касается интеграций – они существуют. Самой распространенной является связка Joomla-SMF, под которую есть не одна интеграция, даже коммерческая.

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

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

Joomla
Таковых под нее множество: в основном это портированные и самые распространенные редакторы. Однако самым удобным и хорошим из бесплатных является редактор JCE, разработанный специально для Joomla (а изначально еще для Mambo, тогда он назывался MosCE), способный составить очень хорошую альтернативу платному WysiwygPro.

Работа с картинками

Drupal
В базовом пакете вставка картинок не предусмотрена. Решить эту проблему можно несколькими путями. Есть вариант с добавлением картинке в стиле «Прикрепить файл к посту». Альтернатива – установка WYSIWYG-редактора TinyMCE и медиаменеджера IMCE сверху. Поддерживается изменение размеров картинки при загрузке и генерация тамбнейлов. Я бы не назвал работу с изображениями сильной стороной Drupal: слишком много кликов приходится делать.

Joomla
Самой сильной стороной ветки 1.0.х является mosimage, который (при помощи пары-тройки дополнительных мамботов (с)) превращается в такую конфетку, что слюнки текут. Картинки можно вставлять в редакторах, и в медиаменеджере – как никак встроенное и вполне себе удобное средство для работы с изображениями и файлами вообще.

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

Drupal
Движок шаблонов – сильная сторона Drupal. Этот компонент добротно спроектирован, поэтому разобраться с интеграцией своих шаблонов сможет начинающий PHP-программист. Вообще Drupal предоставляет целый букет возможностей по управлению темами: можно даже как в ЖЖ настраивать цвета разных элементов прямо из админки. Впрочем, эти изыски на любителя.

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

Joomla
Joomla ветки 1.0.х не поддерживает шаблоны. Конечно, в ней есть общий и большой шаблон, позволяющий на PHP создавать вполне замысловатые структуры общей структуры сайта и расположения модулей, но вот шаблонизации отдельных элементов нет, и все ограничивается примением CSS (кстати, очень система очень гибкая, взять тот же «префикс класса модуля» и хорошо задокументирована) и ковырянием в компонентах. Однако для статей уже давно существует ContentTemplater, позволяющий создавать шаблоны оформления для статей и очень неплохо управлять их внешним видом.

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

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

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

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

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

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

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

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

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

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

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

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

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

Кодировки

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

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

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

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

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

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

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

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

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

По материалам http://maxsite.org

By Ruslan Novikov

Интернет-предприниматель. Фулстек разработчик. Маркетолог. Наставник.