Появление 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 сошла с дистанции. В конце концов, я ставлю эксперимент, а не наживаю себе головную боль.

Эпизод третий: первые впечатления

Первое ощущение — полный восторг, аж до поросячьего визга. Система установилась с первой же попытки, и через три минуты я получил готовый, очень сложный динамический сайт с кучей всяких возможностей. Оставалось, отключив лишние опции и настроив оставшиеся, получить то, что нужно.

В стандартную поставку входят следующие модули:

Модуль управления меню.

Модуль управления баннерами.

Модуль управления правами пользователей.

Модули генерации оглавлений.

Модуль статистики.

Модуль, выводящий материалы, тематически связанные с текущей статьей.

Модуль, отображающий случайный контент из заданного списка.

Модуль, отображающий текущих посетителей сайта.

Модуль опросов и голосований.

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

Модуль поиска.

Модуль вывода случайных изображений.

Модуль отображения наиболее популярных материалов.

Модуль архивации старых материалов.

Модули экспорта новостей.

Модуль рассылок.

И многое другое.

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

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

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

Журнал «Компьютерра» № 32 от 5 сентября 2006 года - _652y5j1.jpg

Забегая вперед, приведу в качестве примера ссылочку на наш «тестовый» сайт спортивной школы, который и был реализован на Joomla. В «установочной» версии на первую страницу по умолчанию выводится оглавление последних публикаций. Мне бы хотелось, чтобы вместо оглавления выводился начальный фрагмент «основного» материала о школе. В принципе, подобные переделки в рамках Joomla делаются без всякого программирования, путем нажатия кнопочек, но чтобы понять, как и на что нажимать, надо тщательно изучить логику работы CMS, что совсем непросто. Ибо эта логика сильно отличается от интуитивно понятной логики сайтостроения.

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

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

Дело усложняется еще и тем, что подробная и внятная русскоязычная документация по этой CMS отсутствует. Утешает лишь, что Joomla — open source-система, и существует огромное количество форумов «любительской» поддержки, где можно задавать вопросы и надеяться, что на них ответят.

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

«Битрикс»

Ощущение от первого общения с «Битриксом» тоже можно было бы охарактеризовать как восторг, если бы не одно обстоятельство. Демонстрационная версия, на которой мы начали делать сайт, в отличие от рабочей (покупной) версии, требует, чтобы на сервере провайдера было установлено специальное программное обеспечение — Zend Optimizer. Никаких проблем с установкой не возникло, но пришлось потерять полдня на общение с админами провайдера.

Система «Битрикс» платная и существует в нескольких редакциях, самая дешевая из которых стоит $200, а самая дорогая — около $8 тысяч. Разница между редакциями — в количестве поставляемых с системой модулей и типе используемой базы данных. Самые дорогие редакции — под Oracle, и их цена в разы превосходит точно такие же редакции для MySQL.