Перейти к навигации · Перейти к содержимому

Какая CMS лучше? Часть 2

В первой части статьи я раздавал негативные отзывы на CMS. Теперь пришло время любимчиков. В этой части расскажу про Bitrix и Drupal.

Bitrix

  • Сайт: bitrixsoft.ru
  • Цена: 170 — 1 700 долларов США (версии для Oracle/MSSQL стоят еще дороже)
  • Плюсы: инфоблоки; система обновлений; поддержка; отличная документация; надежность
  • Минусы: требовательность к ресурсам; некоторая ограниченность в доработке

Битрикс — это монстр, но в хорошем смысле слова. Правда, вы это знаете и без меня (хотя бы, судя по дистрибутиву в 30 мегабайт). Но надо сказать, что умеет он действительно много — сделать можно практически любой сайт: от интернет-магазина до сайта знакомств. В виде подключаемых модулей есть форум, генератор веб-форм, баннеры… даже встроенные документооброт и help desk. И все это, надо сказать, по качеству исполнения не сравнишь с большинством open-source проектов. Подробнее я расскажу лишь о том, что понравилось больше всего лично мне.

Во-первых, Битрикс идеально подходит для сайтов с многочисленной командой поддержкой. Система прав доступа позволяет распределить роли самым подробным образом. Скажем, один человек будет заниматься новостями, второй редактировать только курсы валют, а третий — просматривать статистику рекламных кампаний. Все это очень легко настраивается.

Во-вторых, отличная система информационных блоков (которые есть даже в стартовой версии). Эти блоки позволяют делать контент любой сложности, набирая необходимые поля (как pagesetter у Postnuke). При этом, в 5-ой версии разработчики ввели долгожданную связь между разными инфоблоками, что позволяет строить из них структуры большой сложности, избегая дублирования информации.

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

Вообще, большинство задач решается прямо из веб-интерфейса. Это понравится людям с низким уровнем подготовки — тех самых секретарш, которые занимаются наполнением многих сайтов. Но все таки, даже Битрикс не является «готовой системой из коробки» — чтобы получить приличный (и оригинальный) сайт все-равно придется поработать. Правда, делать это гораздо приятнее, чем в случае с Неткатом. Здесь гораздо меньше ограничений: хочешь — испольуй API, не хочешь — пиши функции PHP напрямую. Правда, при желании доработать любой из модулей «под себя», вы можете столкнуться с некоторыми трудностями. Движок явно не рассчитан на активную доводку и делается это обычно не самым эффективным образом.

С шаблонами тоже не возникает никаких проблем лишь при условии, что вы знаете PHP, так как никакой шаблонной системы нет. Лично я это я считаю плюсом, так как не люблю ограничивать себя премудростями каких-то замысловатых шаблонных движков, тем более, что сам PHP с этим прекрасно справляется.

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

Еще у Битрикса очень хорошая техническая поддержка, которая поможет решить любые вопросы. Правда, каждый год ее надо продлевать (естественно, не бесплатно). В эту стоимость входит и отличная автоматическая система обновлений — больше никакой возни с FTP при апгрейде — клиенты сами могут обновлять свой сайт. Совсем недавно мы без проблем обновили один сайт со старой версии 3 до версии 5 (пошагово, сначала до 4-ой, а потом до 5-ой). И все прошло очень гладко.

Вывод можно сделать такой: если у клиента есть деньги, то Битрикс — очень правильное решение. Вы избавляетесь от большинства проблем, получая действительно качественный продукт. Да и спрос на специалистов по Битриксу только растет.

Drupal

  • Сайт: drupal.org, drupal.ru
  • Цена: бесплатная
  • Плюсы: контроль над шаблонами; архитектура системы; API; таксономия; сообщество
  • Минусы: нет системы установки; трудность работы без подготовки; требуется знание английского

Мое знакомство с Drupal было непростым: всю его прелесть я понял только с третьего раза (т. е. два раза его смотрел, а увидел только на третий). Кроме того, Drupal — это такая система, которой не подходит простое сравнение с другими CMS по функционалу. Да и не CMS это вовсе, а настоящая CMF с несколькими готовыми решениями «на борту». Именно из-за знакомства с Drupal я отложил изучение Ruby on Rails (и не только я предпочел Drupal — IBM тоже).

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

Именно из-за этого новички могут остановиться на другой CMS, ведь чтобы найти нужный модуль с непривычки может потребоваться много времени.

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

Для программиста работа с Drupal — это как глоток свежего воздуха (в отличие от Joomla, Postnuke и даже Bitrix). Простой и понятный код, мощный API, отличная документация — что еще надо? Сама структура ядра предполагает легкое переопределение большинства функций ядра и модулей (и почти всех, отвечающих за вывод) при помощи «хуков». Писать свои модули очень легко. Всего пара специальных функций в файле filename.module — и ваш модуль готов.

Можно подумать, что Drupal предназначен в первую очередь для программистов. Но это не значит, что если вы дизайнер, то у вас не получится сделать оригинальный и привлекательный сайт. Если вы не знаете PHP, то можно поставить другой шаблонный движок (например, Xtemplate) и работать с ним. Писать своих модулей тоже, скорее всего не придется. Достаточно пройти на сайт и скачать нужные (а система инсталляции в новой версии 7.4 заметно облегчит процесс установки новых модулей).

Некоторой проблемой может стать незнание английского языка, так как 95% материала требуется брать с сайта drupal.org. Русское сообщество пока не слишком активно, что может затруднить обучение.

Какие же еще преимущества Drupal имеет перед другими системами? В первую очередь — необычный подход к структуре и содержимому. В большинстве CMS вы сначала определяете структуру сайта через меню, а затем «подвязываете» документы к разделам. В Drupal, первично содержимое. Вы создаете документы, а затем связываете их при помощи уникального механизма таксономии.

Из википедии:

…таксономией является древообразная структура классификаций определенного набора объектов…

Или, проще говоря, иерархия. Только иерархия эта может иметь довольно разветвленный вид (множественные родители, синонимы).

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

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

Drupal можно применять для сайта почти любого типа. От простых статичных сайтов (система псевдонимов позволяет задавать любые URL для страниц) до навороченных коммьюнити-порталов. В дизайне сайта практически не будет ограничений, и пусть вас не обманывает «портальность» многих сайтов на друпале — все зависит лишь от желания и опыта разработчика. Вот пример «непортального» сайта.

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

Вообще, как я уже говорил, сравнивать Drupal с другими тяжело. Лучше скачать и попробовать с ним поработать самостоятельно.

Кратко о других…

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

  • Modx — пока очень молод; отпугнул админкой, отказавшейся работать в Опере, а также вот этой картинкой (сравнить с Drupal).
  • LDU (Seditio) — нехорошая лицензия; старая версия больше не поддерживается, а новая еще «не доросла».

Надеюсь, что этот обзор (вместе с первой частью) поможет кому-нибудь в выборе движка для сайта.

Комментарии

А третья часть будет?

А надо? =)

А typo3 смотрели? :)

Надо обязательно закатать длинное повествование о txp =)

А typo3 смотрели? :)

Смотрел. Был в ужасе =)
Думаю, что не стоит затрат на изучение — есть инструменты гораздо понятнее.

Спасибо за обзор.
Drupal я смотрел 1 раз, не разобрался и забыл.
Ваши слова заставили меня повторно заинтересоваться, потому как я уже не могу работать с Joomla! Нервы дороже! (кто с ней работал меня поймет)
А что значит CMF?
Мне очень нравится TxP. Во сногим благодаря своему идеальному соответствию XHTML и минимальным вмешиванием в задумку дизайнера. Я тоже очень жду Вашего обзора этой CMS. :)

А что значит CMF?

CMF — Content Management Framework. То есть не просто готовый движок для сайта, а каркасная система. Подробнее можно прочитать в википедии

В основном идет Друпал… Иногда, когда сайт делается не слишком сложный, то просто пишется необходимый функционал на CakePHP

А что думаете по поводу sNews?

CMF xoops это в перпективе, неправ мнение на счет текущих веток.

а почему структурное и различие в бд не рассматривалось? время генерации страниц, сравнение поддержки локалей и тд тп.
получился беглый обзор с обязательным выбором «дьюпала»..
вы разработчик? – интересно с какой стороны ваша объективность

На мой взгляд, очень не плохой PHP Framework – Code Igniter
Не приходилось пользоваться?

А мне друпал понравилсо…особенно уровень локализации(для версии 4.7)…для людей сделано…

Drupal – самая гениальная и грамотная CMS в мире. Даже согласен – это именно framework. Кстати, если кому-то интересно, WordPress был написан под вдохновлением от Drupal’a

У друпала минусов хватает. Одна локализация, запёханная в базу данных вперемешку с тегами, чего стоит. Для кого-то это разом перечёркивает все вышеописанные плюсы. Да и нагрузка при наплыве такая, что следует на отдельный сервак ставить.

А SAPID забыли! Незаслуженно.
http://sapid.sf.net

Правда я его сам не использую, но все же, это, наверное, самая гибкая из CMS, которых я видел. Кроме платной SiteSapiens, но это вообще монстр (http://www.sitesapiens.ru).

2aiwentoo
Помоему там из всей локализации только справка включает теги…

друпал это самая правильная CMS – так-же как самая правильная виндовс – Gentoo !!!
yaya

а почему структурное и различие в бд не рассматривалось? время генерации страниц, сравнение поддержки локалей и тд тп.

Конечно, обзор получился не самым развернутым. я просто излагал свою точку зрения. Если интересует сравнение производительности, то можно посмотреть, например, здесь

Одна локализация, запёханная в базу данных вперемешку с тегами, чего стоит. Для кого-то это разом перечёркивает все вышеописанные плюсы. Да и нагрузка при наплыве такая, что следует на отдельный сервак ставить.

Локализация может и не слишком удачно решена, но зато сделана через gettext, что облегчает перевод. А так как его поддержка есть не на всех серверах, то хранение в БД является наиболее подходящим решением. А теги там в основном только p — ничего страшного в этом нет.

И я думаю, что любой движок (кроме, наверное, самописного) при определенной посещаемости потребует отдельный сервер.

Отличная, просто великолепная статья о CMS, спасибо. Drupal – the best, как Вы и заметили, это отмечено даже спецами из IBM. По-моему на Lullabot.com я читал, что где-то в ноябре выйдет 4.8 с «врожденной» поддержкой CSS хуков и вот тогда кастомизировать шаблоны будет просто в кайф.

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

Думаю при выборе CMS не лишней будет ссылка – Redefining content management

А где новые обзоры CMS?

Тут взгляд, скорее программиста и разработчика, нежели конечного пользователя. С тем же монстром Битриксом у конечных пользователей проблем больше, чем с Вордом.

Мне Ваша статья напоминает «CMS для домохозяек» – заказную битриксом статью.

Мне Ваша статья напоминает «CMS для домохозяек» – заказную битриксом статью.

Считайте как угодно. Может мне и правда с битрикса за статью денег попросить? =)
Только вот зачем я в этой статье писал и про бесплатного конкурента? Видимо у одного битрикса на меня денег не хватило и они скинулись с друпалом в складчину.

typo3 – монстр страшный, но больно фкусный и функциональный. А вообще, сам я подружился с CMF
MODx http://www.modxcms.com

Сайт в подписи я делал на собственном движке (и теперь там никто быстро не разберется), а вот для нового проекта решил подыскать что-то более универсальное. Сперва скачал Joomla, но она удивила своим размерами. Потом увидел лестные отзывы о Drupal и решил попробовать. Надо же когда-то начинать! Спасибо автору за обзор.

А почему в друпал нет тега keywords это наверно уже огромный минус. Или я ошибаюсь? Как его поисковики вообще нормально индексируют?

Большой сборник интересных и полезных статей о CMS на русском языке: CMSarticles.na­rod.ru

Кстати, если кому-то интересно, WordPress был написан под вдохновлением от Drupal’a

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