Появление 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 вы можете без проблем получить сайт нужной вам функциональности и устраивающего вас (в целом) дизайна. Но вы вряд ли сможете получить таким образом сайт, который устраивал бы вас во всех отношениях.
Забегая вперед, приведу в качестве примера ссылочку на наш «тестовый» сайт спортивной школы, который и был реализован на Joomla. В «установочной» версии на первую страницу по умолчанию выводится оглавление последних публикаций. Мне бы хотелось, чтобы вместо оглавления выводился начальный фрагмент «основного» материала о школе. В принципе, подобные переделки в рамках Joomla делаются без всякого программирования, путем нажатия кнопочек, но чтобы понять, как и на что нажимать, надо тщательно изучить логику работы CMS, что совсем непросто. Ибо эта логика сильно отличается от интуитивно понятной логики сайтостроения.
Дело в том, что структура сайта на Joomla — чисто логическая, и тех каталогов, которые отражаются в адресах на сайте, физически не существует. Вся информация хранится только в базе данных, а не в файлах и каталогах, и принципы ее организации понять сразу довольно сложно.
В рамках CMS Joomla вы не можете просто взять и нарисовать нужную страницу, расположив на ней элементы так, как вам нужно. Сначала вы должны указать в шаблоне, в какие области (в Joomla они называются «слоями») страницы будет выводиться та или иная информация, а потом организовать вывод туда информации из базы данных.
Дело усложняется еще и тем, что подробная и внятная русскоязычная документация по этой CMS отсутствует. Утешает лишь, что Joomla — open source-система, и существует огромное количество форумов «любительской» поддержки, где можно задавать вопросы и надеяться, что на них ответят.
У меня ушло ровно два дня на то, чтобы понять логику работы этой CMS, после чего вопросов с ее использованием, настройкой и модернизацией сайтов уже не возникало.
Ощущение от первого общения с «Битриксом» тоже можно было бы охарактеризовать как восторг, если бы не одно обстоятельство. Демонстрационная версия, на которой мы начали делать сайт, в отличие от рабочей (покупной) версии, требует, чтобы на сервере провайдера было установлено специальное программное обеспечение — Zend Optimizer. Никаких проблем с установкой не возникло, но пришлось потерять полдня на общение с админами провайдера.
Система «Битрикс» платная и существует в нескольких редакциях, самая дешевая из которых стоит $200, а самая дорогая — около $8 тысяч. Разница между редакциями — в количестве поставляемых с системой модулей и типе используемой базы данных. Самые дорогие редакции — под Oracle, и их цена в разы превосходит точно такие же редакции для MySQL.