CMS для домохозяек: гонки на выживание
Опубликовано в журнале "Компьютерра" №32 от 06 сентября 2006 Андрей Шипилов
🕛 02.10.2006, 15:15
Вряд ли найдется хоть один чудак, который бы заказал софтверной фирме разработку текстового редактора для своего офиса. Зачем, когда есть Word? А если Word не устраивает, имеется куча готовых специализированных редакторов на любой вкус. А вот сайты - заказывают. Хотя на первый взгляд ситуация на этом рынке подобна ситуации на рынке текстовых редакторов. Рынок веб-разработок переполнен так называемыми Content Manager System (CMS), которые позволяют сделать сайт любой сложности, не прибегая к программированию и не зная языка HTML. Большинство CMS являют собой готовые сайты с очень высокой (даже, пожалуй, избыточной) функциональностью, и пользователю надо просто отключить ненужные функции, заполнить сайт своим содержимым и "подключить" свой дизайн. Все это делается через веб-интерфейс, а разработка сайта в среде CMS сопоставима по сложности с разработкой документа в Word.
Появление CMS породило даже новый сектор рынка, который в многочисленных публикациях называют "сайты для домохозяек", имея в виду, что теперь даже обычная домохозяйка, не владеющая высокими технологиями, может запросто сваять сложнейший динамический сайт, разработка которого еще три-четыре года назад обошлась бы в несколько десятков тысяч долларов.
Все это так. Но не так-то все просто.
Здравый смысл подсказывает, что появление массовых CMS должно было бы похоронить рынок веб-разработок или хотя бы сильно изменить его. Однако этого не произошло. Программистские веб-студии продолжают благоденствовать, разве что теперь вместо "программирования сайта" предлагают "разработку сайта на базе CMS", а цены на их услуги не только не падают, а даже растут.
Получается нонсенс. Если CMS настолько упрощают разработку сайтов, то почему веб-студии берут немалые деньги за разработку сайта на их основе? Ведь заказчики - отнюдь не дураки и вряд ли будут платить за то, что могут не напрягаясь сделать сами.
Эпизод первый: постановка задачи
Итак, ставим "следственный эксперимент".
Берем четыре разных CMS и делаем на их основе три разных сайта - самый простенький (для домохозяек), средней сложности, в котором реализованы всякие динамические штучки, и очень сложный, такой, за разработку которого веб-студии обычно берут не меньше десяти тысяч условных единиц.
После небольших раздумий в качестве тестовых было решено взять две бесплатные CMS и две коммерческие.
В качестве бесплатных были выбраны очень популярные Joomla (которая ранее называлась mamba) и Drupal, в качестве платных - две отечественные разработки Twinlight CMS и "Битрикс: управление сайтом", именуемая в просторечии "Битрикс".
С их помощью нам предстоит решить три тестовые задачи.
1. Сделать простенький сайт-визитку для фирмы из десятка статических страничек.
2. Сделать сайт спортивной школы с форумом, рассылками и динамическим содержимым.
3. Сделать сайт о цифровой фотографии портального типа, объединяющий сайт СМИ с каталогом камер, возможностями поиска по разным критериям и сравнения разных элементов каталога.
Эпизод второй: первые жертвы
Увы, две CMS отсеялись на первом же этапе.
Из-за трудности освоения ни Drupal, ни Twinlight CMS не отвечали критерию "для домохозяек" и вообще оказались малопригодны для решения первой задачи.
Drupal, по сути, не столько CMS, сколько инструментарий для профессиональных веб-разработчиков, очень неплохой, но слишком сложный для домохозяек.
С Twinlight CMS все оказалось гораздо интереснее. Несмотря на мой довольно большой опыт веб-разработок, установить систему на сервер мне так и не удалось. Обратившись в техподдержку продавца, я получил ответ, суть которого сводилась к следующему: "если у некоторых покупателей руки растут не оттуда, нечего покупать нашу крутую и замечательную систему". На этом можно было бы закончить, поскольку мое твердое убеждение, что, платя деньги за софт, я в первую очередь плачу за возможность получать от техподдержки советы, а не вежливое хамство.
Однако долг журналиста заставил добиваться того, чтобы все точки над i были расставлены. После трудоемкого исследования Twinlight CMS с привлечением сторонних консультантов выяснилось, что система требует экзотических и тонких настроек веб-сервера Apache и работает без проблем лишь на одном виртуальном хостинге в России - том, что предоставляет сам разработчик CMS.
Этих факторов оказалось достаточно, чтобы и Twinlight CMS сошла с дистанции. В конце концов, я ставлю эксперимент, а не наживаю себе головную боль.
Эпизод третий: первые впечатления
Joomla
Первое ощущение - полный восторг, аж до поросячьего визга. Система установилась с первой же попытки, и через три минуты я получил готовый, очень сложный динамический сайт с кучей всяких возможностей. Оставалось, отключив лишние опции и настроив оставшиеся, получить то, что нужно.
В стандартную поставку входят следующие модули:
Модуль управления меню.
Модуль управления баннерами.
Модуль управления правами пользователей.
Модули генерации оглавлений.
Модуль статистики.
Модуль, выводящий материалы, тематически связанные с текущей статьей.
Модуль, отображающий случайный контент из заданного списка.
Модуль, отображающий текущих посетителей сайта.
Модуль опросов и голосований.
Визуальный HTML-редактор.
Модуль поиска.
Модуль вывода случайных изображений.
Модуль отображения наиболее популярных материалов.
Модуль архивации старых материалов.
Модули экспорта новостей.
Модуль рассылок.
И многое другое.
Кроме того, с сайта разработчика русского дистрибутива можно скачать множество бесплатных компонентов, таких как форум, галерея фотографий, файловый менеджер и пр.
Проблема с дизайном тоже решается чрезвычайно просто: в Сети лежат тысячи бесплатных шаблонов дизайна для Joomla. Причем установка нового дизайна, подключение-отключение дополнительных модулей и компонентов осуществляются простым нажатием кнопки и не вызовут затруднений даже у домохозяйки.
Однако после первого ознакомления восторг несколько поумерился. Причину этого я бы сформулировал так: перенастройкой готового "установочного" сайта Joomla вы можете без проблем получить сайт нужной вам функциональности и устраивающего вас (в целом) дизайна. Но вы вряд ли сможете получить таким образом сайт, который устраивал бы вас во всех отношениях.
Забегая вперед, приведу в качестве примера ссылочку на наш "тестовый" сайт спортивной школы, который и был реализован на Joomla. В "установочной" версии на первую страницу по умолчанию выводится оглавление последних публикаций. Мне бы хотелось, чтобы вместо оглавления выводился начальный фрагмент "основного" материала о школе. В принципе, подобные переделки в рамках Joomla делаются без всякого программирования, путем нажатия кнопочек, но чтобы понять, как и на что нажимать, надо тщательно изучить логику работы CMS, что совсем непросто. Ибо эта логика сильно отличается от интуитивно понятной логики сайтостроения.
Дело в том, что структура сайта на Joomla - чисто логическая, и тех каталогов, которые отражаются в адресах на сайте, физически не существует. Вся информация хранится только в базе данных, а не в файлах и каталогах, и принципы ее организации понять сразу довольно сложно.
В рамках CMS Joomla вы не можете просто взять и нарисовать нужную страницу, расположив на ней элементы так, как вам нужно. Сначала вы должны указать в шаблоне, в какие области (в Joomla они называются "слоями") страницы будет выводиться та или иная информация, а потом организовать вывод туда информации из базы данных.
Дело усложняется еще и тем, что подробная и внятная русскоязычная документация по этой CMS отсутствует. Утешает лишь, что Joomla - open source-система, и существует огромное количество форумов "любительской" поддержки, где можно задавать вопросы и надеяться, что на них ответят.
У меня ушло ровно два дня на то, чтобы понять логику работы этой CMS, после чего вопросов с ее использованием, настройкой и модернизацией сайтов уже не возникало.
"Битрикс"
Ощущение от первого общения с "Битриксом" тоже можно было бы охарактеризовать как восторг, если бы не одно обстоятельство. Демонстрационная версия, на которой мы начали делать сайт, в отличие от рабочей (покупной) версии, требует, чтобы на сервере провайдера было установлено специальное программное обеспечение - Zend Optimizer. Никаких проблем с установкой не возникло, но пришлось потерять полдня на общение с админами провайдера.
Система "Битрикс" платная и существует в нескольких редакциях, самая дешевая из которых стоит $200, а самая дорогая - около $8 тысяч. Разница между редакциями - в количестве поставляемых с системой модулей и типе используемой базы данных. Самые дорогие редакции - под Oracle, и их цена в разы превосходит точно такие же редакции для MySQL.
Установка системы на сервер, как и в случае с Joomla, прошла без сучка и задоринки, с тем отличием, что по ходу дела система выдавала подробные диагностические сообщения о соответствии конфигурации сервера собственным требованиям и, если что-то не соответствовало, давала рекомендации по устранению проблемы. Достаточно подробные, чтобы их могла понять и выполнить домохозяйка.
В итоге тоже получается базовый "установочный" сайт, который сразу же можно подгонять под себя. Логика работы "Битрикса" более соответствует требованиям "интуитивной понятности", и кроме того, к системе прилагается подробная документация.
Как и в Joomla, изменения дизайна и все настройки осуществляются простым нажатием кнопочек.
Но вот каким образом организовать структуру, будут ли ваши каталоги настоящими или виртуальными - вы решаете сами. Вы можете "нарисовать" свои страницы или задать правила, по которым каталоги будут генериться из базы данных.
Важной особенностью "Битрикса" является возможность работы в режиме НТМL-редактора, без использования базы данных, что, собственно, и является "режимом для домохозяек". При этом пользователь просто "рисует" нужные ему страницы, а система сама заботится об организации навигации по ним через автоматически генерируемые меню, об обработке данных с форм и о прочих "динамических" штучках, которые и составляют главное препятствие для веб-мастеров-любителей.
Тем не менее при попытке выйти за рамки "установочного сайта" вы столкнетесь с трудностями, но это будут трудности иного рода, нежели у Joomla.
Если разработчики дистрибутивов Joomla стараются втиснуть в систему максимум готовых модулей для обеспечения максимальной функциональности, то в случае c "Битриксом" все основные модули, обеспечивающие функциональность сайта, запрятаны так глубоко, что не видны пользователю. Отображается же нужная информация через небольшое количество "промежуточных" легко модернизируемых компонентов, образцы которых "на все случаи жизни" идут в комплекте с дистрибутивом.
Если в Joomlа для реализации той или иной возможности вы должны отыскать готовый компонент, эту самую возможность реализующий (или, если найти готовый не удастся, - разработать его с нуля), то в "Битриксе" вам скорее всего придется взять один из образцовых компонентов и доработать его под ваши нужды. Как правило, модернизация очень проста, но требует хотя бы общего знакомства с языком программирования PHP.
Например, в составе дистрибутива Joomla есть модуль, позволяющий выводить в оглавление главной страницы не все материалы, а только те, что специально помечены редактором. В "Битриксе" для этого придется ввести в компонент отображения дополнительную переменную. Работы - на 30 секунд, но чтобы ее проделать, вы как минимум должны знать синтаксис языка PHP, что осилит далеко не каждая домохозяйка.
Тем не менее на освоение системы у меня ушло не два дня, как в случае с Joomla, а всего несколько часов, потраченных на чтение документации.
Эпизод четвертый: достоинства и недостатки
Через неделю работы с обеими системами стали понятны достоинства и недостатки каждой.
Joomla
Достоинства
Бесплатность.
Простота установки и спользования.
Довольно прозрачная логика работы.
Огромное количество бесплатных модулей и компонентов
для расширения возможностей системы.
Огромное количество бесплатных шаблонов дизайна.
Нетребовательность к ресурсам; для установки Joomla подходит абсолютное большинство хостингов.
Множество "общественных" ресурсов по поддержке Joomla.
Недостатки
"Стихийный", на голом энтузиазме характер работы над системой, что чревато прежде всего ее "однобоким" развитием. Для Joomlа есть большое количество модулей "средней сложности", но практически нет разработок, требующих серьезных вложений. Таких, например, как торговые каталоги или системы финансовой аналитики.
Ограниченность "общественной" поддержки. Если у вас возник вопрос и вам на него не ответили в течение суток - ответа, скорее всего, уже и не будет. Вряд ли кто-то станет специально работать, чтобы вам ответить. Нет полной совместимости. Большое количество версий дистрибутивов, которые разработчики, как правило, делают под свои нужды. В итоге периодически возникают ситуации, что модуль расширения, который вы пытаетесь установить, не будет работать с вашим дистрибутивом.
Проблемы с обновлением системы. Открытость ядра системы и то, что приложения работают с ядром напрямую, приводит к тому, что для реализации тех или иных функций или для устранения багов конечным разработчикам приходится идти на модернизацию кода ядра своего сайта. В случае установки обновлений эта модернизация пропадет, что делает процесс обновления очень трудоемким.
А отказаться от обновления нельзя, хотя бы из соображений безопасности.
Возможны проблемы с индексацией сайта поисковыми машинами.
"Битрикс"
Достоинства
Простота установки и использования.
Простая логика работы с системой.
Подробная документация и хорошая техподдержка.
Ядро изолировано, работает через интерфейс API и не требует модернизации для решения тех или иных проблем, что облегчает обновление или масштабирование системы.
На одной копии продукта можно создать неограниченное количество сайтов.
Может работать на большинстве виртуальных хостингов, хотя и предъявляет к ним большие требования по части ресурсов, нежели Joomla.
Нет проблем с поисковиками.
Более широкая функциональность по сравнению с Joomla.
Масштабируемость: по мере развития сайта не возникает трудностей с расширением или изменением структуры базы данных, заменой базы данных (например, с MySQL на Oracle) или с разнесением сайта на несколько машин.
При необходимости программирования требует более низкой квалификации программиста, нежели Joomla.
Недостатки
Платная. Более или менее функциональная редакция с поддержкой форумов и рассылок стоит от $400.
Отсутствуют бесплатные шаблоны дизайна и бесплатные компоненты от сторонних разработчиков. Впрочем, для "Битрикса" после небольшой переделки можно использовать бесплатные шаблоны от Joomla.
Для реализации большинства функций, отсутствующих в дистрибутиве, требует минимального программирования (в отличие от Joomla, где проблема может быть решена путем подключения готового модуля, если таковой, конечно, найдется).
Эпизод пятый: финиш
В отличие от первого этапа, на котором отсеялась сразу половина претендентов, до финиша дошли оба полуфиналиста - и Joomla, и "Битрикс". Для каждого из них нашлась область, в которой он был вне конкуренции.
Сайт-визитка
При создании сайта-визитки, состоящего в основном из статичных страничек, безусловным лидером оказался "Битрикс". По одной простой причине. Как уже было сказано, изучение Joomla потребовало двух дней. Этот же сайт был сделан всего за полтора дня: день ушел на дизайн (был взят бесплатный шаблон для Joomla и модернизирован под "Битрикс") и полдня - на собственно сайт. Сайт был создан (по готовому дизайну) человеком, впервые в жизни взявшимся за сайтостроение и специально приглашенным со стороны для чистоты эксперимента. Результат работы можно увидеть по адресу www.kb-1.ru.
Сайт спортивной школы
Здесь победила Joomla. К моменту начала работы над сайтом разработчик уже достаточно хорошо изучил обе системы, создание двух сайтов - под Joomla и под "Битриксом" - шло параллельно. Для дизайна в обоих случаях использовался готовый бесплатный шаблон для Joomla, который, однако, был существенно модернизирован под эстетические требования спортшколы. При работе с Joomla к программированию прибегать не пришлось, при работе с "Битриксом" были программно доработаны три образца визуальных компонентов, но, по отзывам программиста, трудоемкость создания обоих сайтов была примерно одинакова. С учетом изменения дизайна разработка сайтов заняла ровно неделю.
При выборе победителя решающим фактором оказалась бесплатность Joomla. При идентичных результатах не было никакого смысла платить $400 за коммерческую CMS. Результат можно увидеть по адресу www.raikido.ru.
Сайт фотопортала
Победителем в этой весовой категории вышел "Битрикс". Как и в предыдущем случае, работа над двумя версиями сайта - под Joomla и под "Битриксом" - велась параллельно. Для дизайна в обоих случаях также использовался готовый бесплатный шаблон для Joomla, который был модернизирован и для "Битрикса".
Поскольку задача стояла сложная, в обоих случаях пришлось прибегнуть к переделке кода. Впрочем, объем программирования был небольшой.
Важная деталь. Код ядра Joomla изменялся не для реализации необходимых функций, а для устранения багов: некоторые установленные модули отказались правильно работать с имевшимcя русскоязычным дистрибутивом Joomla. Но на одном англоязычном форуме были найдены инструкции по изменению кода, устраняющие эти баги. Сработало!
Увы, создать полноценный портал на Joomla так и не удалось, поскольку не нашлось модулей поддержки каталога, которые обеспечивали бы нужную функциональность. Модуль VirtueMart - самый популярный каталог для Joomla - оказался слишком "слаб" для наших целей.
Новая версия Joomla закрывает дыры в безопасности текущей версии. После обновления системы модуль поддержки форм снова отказался работать, а мой вопрос на всех доступных форумах, как эту проблему устранить, остался без ответа.
В результате было решено остановиться на версии под "Битриксом" (www.photoport.info или www.allcams.ru ). Версия под Joomla сохранена на www.zoomfoto.ru.
Эпизод шестой: выводы
Легенда о "сайтах для домохозяек", увы, только легенда. Любая CMS существенно упрощает разработку сайта, но даже самая простая из них требует понимания HTTP и HTML и хотя бы минимальных навыков программирования.
Вы, безусловно, можете при помощи CMS сделать сайт, не обладая подобными навыками, но в этом случае он будет как две капли воды похож на все остальные сайты, сделанные на той же CMS такими же "веб-мастерами". А ведь вам этого не хотелось бы, не так ли?
Даже самая простая в понимании и освоении CMS все еще остается профессиональным инструментом. Один из немногих продуктов, который может хоть как-то претендовать на роль CMS для домохозяек, - это "Битрикс", работающий в режиме генерации статичных HTML-страниц, да и то лишь при условии бесплатности. Ведь наши домохозяйки, согласитесь, еще не дожили до понимания того, что за покупку софта для изготовления домашних страничек надо платить.