Выбор системы управления для сайта
Прежде чем обратиться к разработчикам, предлагаю вам очень кратко сравнить основные варианты, предложенные на рынке.
Для начала — что же такое движок, система управления, CMS? С точки зрения пользователя это сайт, который дает возможность управлять публикацией материалов различного типа (тексты, графика, видео, флеш-ролики и т.д.) силами обычного пользователя ПК, а не веб-программиста или системного администратора, имеет дополнительные интерактивные модули — блоги, форумы, чаты, опросы, системы голосования и интернет-каталоги... С точки зрения внутренней структуры CMS — набор программ на языке php, выполняемых сервером, файлы с описанием внешнего вида и настроек, элементы графического оформления. Большая часть информации — материалы, информация о пользователях, сообщения форума и т. д. - хранится в базе данных (чаще всего MySQL), также работающей на сервере. Когда пользователь вводит в адресную строку браузера запрос, информация отправляется на сервер, на котором установлен сайт, основная программа (обычно скрипт index.php) обрабатывает его, выполняет запросы к базе данных, запускает другие скрипты, считывает фрагменты шаблонов страниц, графические элементы и формирует страничку, которая и отправляется пользователю. С точки зрения проектирования, CMS, как правило, представляют собой основной «движок», к которому подключаются дополнительные модули, расширяющие его возможности. Например, можно установить календарь, в котором будут подсвечены даты, соответствующие публикации материалов или другим событиям. Чем отличаются друг от друга системы управления? Основные различия между системами управления можно выделить по нескольким критериям:
Наиболее широкими возможностями подключения дополнительных модулей, как бесплатных, так и платных, обладают распространенные открытые CMS, такие как Joomla, WordPress, Drupal и ряд других. Причина заключается в том, что эти системы популярны, установлены на многих сайтах. Дополнения к ним пишет огромное количество разработчиков и, даже если заказчиком разработки является компания, которая платит деньги за разработку, часто решение распространяется свободно, так как это открывает широкие возможности для изучения, тестирования, внесения новых идей, а это в конечном итоге заметно улучшает конечный продукт. Специализированные системы тоже могут иметь большую базу расширений, но эти расширения обычно еще больше сужают специализацию системы, подгоняя ее для работы конкретных компаний и проектов. Владельцы закрытых систем, распространяемых платно, обычно имеют собственный набор дополнительных модулей, которые устанавливаются сразу при первоначальной сборке системы, либо продаются отдельно. Здесь набор возможных готовых решений достаточно ограничен (не в последнюю очередь — масштабами самого разработчика и количеством выполненных им проектов). Как правило, в случае необходимости доработки такой системы, разработчик самостоятельно пишет, тестирует и внедряет дополнительные модули. Такой подход имеет как плюсы, так и минусы. Написанный по конкретному заказу модуль максимально соответствует потребностям заказчика, но разработка обходится дороже, по сравнению с адаптацией готового решения (и покупкой лицензии на коммерческое использование, если это необходимо), возможности интеллектуального анализа ограничены ресурсами одного разработчика.
При увеличении количества одновременных запросов к сайту, а также по мере роста его популярности, повышается нагрузка на сайт, как полезная (пользователи), так и злонамеренная (DoS/DDoS атаки, сканирование портов, поиск уязвимостей, атака отдельных модулей). Этот фактор необходимо учитывать на ранних стадиях разработки, при выборе системы управления и функционала сайта, которые влияют на выбор конфигурации серверов, операционных систем, проектирование каналов связи. В случае создания сайта, рассчитанного на работу одновременно большого числа пользователей, система управления должна изначально иметь механизмы защиты от перегрузки и некоторых видов атак, иметь высокостабильный и «быстрый» код, быть «прозрачной» настолько, чтобы поиск уязвимых мест занимал минимум времени. Этим требованиям в лучшей степени соответствуют специализированные решения и большинство открытых свободно распространяемых систем. Последние, будучи полностью доступными как специалистам по безопасности, так и злоумышленникам, непрерывно тестируются, все обнаруженные уязвимости оперативно исправляются. На открытых системах работают интернет-сайты самого разного масштаба, от домашних сайтов школьников до крупных порталов, поэтому разработчики ведут активную работу по повышению их «стрессоустойчивости». Еще одним интересным явлением, влияющим на работоспособность сайтов, является «хабраэффект». Если на сайте появляется интересный контент, то ссылки на него размещаются пользователями популярных новостных ресурсов и блогов с широкой аудиторией, что приводит к внезапному и стремительному росту нагрузки на сайт. Если система управления, канал связи и сервер с нагрузкой справятся — популярность ресурса может заметно вырасти и возможно привлечение большого количества постоянных посетителей. Если нет — рейтинг ресурса, как ненадежного, может даже упасть.
С какими системами мы работаем?
Очень широко распространенная система. Имеет обширные русское и международное сообщества, помогающие решить большинство возникающих проблем. Система рассчитана на установку и сопровождение специалистами самого разного уровня. В простых случаях, когда «глубокий тюнинг» системы не требуется, специалист может не пользоваться языками php и html, получая доступ к большинству функций и настроек системы непосредственно через административную панель сайта. Внешний вид сайта может меняться совершенно произвольно. В стандартной поставке предустановлены модули для выполнения типовых задач — публикации статей и новостей, рейтинг, голосование и пр. На сегодняшний день существует две ветви системы — Joomla 1.0 и Joomla 1.5. Версия 1.0 не развивается, но является очень стабильной и безопасной, в нее вносятся только дополнения и изменения, исправляющие обнаруженные ошибки и уязвимости. Версия 1.5 активно развивается. Для системы доступно огромное количество дополнительных модулей, от мелких «украшений» до интернет-магазинов. Модули распространяются как платно, так и бесплатно, большая часть их совместима с обеими версиями системы, для чего в Joomla 1.5 предусмотрен режим совместимости.
Еще одна популярная универсальная система, ориентированная в первую очередь на создание сайтов, предназначенных для общения (блогов, форумов, средств коллективной разработки), не исключая и более широкого использования. По распространенности сравнима с Joomla, но имеет ряд существенных отличий. Пользователю сразу бросается в глаза отсутствие административной панели управления как таковой. Пользователь, имеющий права администратора, получает доступ к расширенному меню в рамках основного интерфейса сайта. Права пользователя Drupal штатными средствами определяются очень гибко, можно ограничить доступ пользователей и групп пользователей к любым элементам сайта. Менее заметной пользователю особенностью является общая направленность сообщества разработчиков Drupal на доработку внутреннего функционала системы, уделяющих меньшее внимание интерфейсу, который создается в каждом отдельном решении индивидуально. На данный момент в стандартную комплектацию системы входит большое число модулей — новостная лента, блог, форум, голосование, поиск и другие. Система поддерживает многоязычные сайты, материалы и интерфейс которых доступны в нескольких языковых версиях. Еще одним концептуальным отличием от Joomla является произвольная глубина и сложность иерархии материалов, объединяемых системой таксономии. Вообще работ с материалами является сильной стороной Drupal, который обладает широким набор свойств при построении рубрикаторов, обладает гибкими возможностями поиска и структурирования материалов любых типов. Наличие таких модулей, как CCK (Content Construction Kit) и Views позволяет классифицировать Drupal не только как CMS, но и как CMF (Content Management Framework) — инструментарий разработки систем управления контентом. В целом Drupal предоставляет очень широкие возможности, но требует высокой квалификации разработчиков.
Система управления Wordpress ориентирована в первую очередь на автономные блоги, хотя большое количество дополнительных расширений позволяет строить на ее основе достаточно сложные и многоплановые решения. Хотя основная сфера применения — все же блоги и сайты, ориентированные на общение, Wordpress имеет много встроенных инструментов для поддержки этого направления.
Что же в итоге? К сожалению, универсального решения действительно не существует. Это понятно, ведь даже если рассуждать логически, любая система, будь то автомобиль, компьютер или программа, выполняет те функции, которые в нее заложены. Если их много, то система становится неповоротливой и неустойчивой с точки зрения теории надежности, ведь, как известно, самый надежный инструмент — лом, но возможности его при этом весьма ограничены. Поэтому необходимо ответить на вопросы, приведенные в статье, и сделать разумный выбор, прежде чем приступать к детальной проработке проекта. Надеюсь, это краткое описание сможет помочь вам.
|
ВходНовые записи в блогах |