CMS, или «система управления сайтом»
Система управления содержимым (англ. Content management system, CMS) — это компьютерная программа (скрипт), используемая для управления сайтом. Она предоставляет пользователю удобные инструменты хранения и публикации на нем документов, изображений, аудио, видео и другой информации. Кроме того CMS может выполнять функции сбора статистики посещений/действий пользователей, предоставлять инструменты для проведения финансовых операций и заказа разнообразных услуг. Целью использования CMS может быть автоматизация любых действий пользователей и администратора сайта.
По способам создания веб-страниц все CMS можно условно разделить на 2 полюса:
Создание страниц по запросу
Системы такого типа используют базы данных для хранения информации. Страница (или часть страницы) создается при запросе пользователя, когда тот вводит адрес в браузере. Для создания страницы обычно используется html или другой шаблон, в который подставляется информация из базы данных (модуль представления).
Информация в базе данных изменяется либо автоматически системой при определенных действиях пользователя, либо вручную - администратором сайта (модуля редактирования).
Минусом такого подхода является риск высокой нагрузки на системные ресурсы, так как страницы заново создаются сервером при каждом запросе. Эта проблема решается использованием средств кэширования, т.е. хранения сгенерированных страниц (или их частей), если предполагается что контент какое-то время меняться не будет.
Создание страниц при редактировании
Такие CMS - программы для редактирования страниц, которые при внесении изменений в содержание сайта создают набор статичных страниц, готовых к показу в браузере пользователя. Это ограничивает интерактивность сайта, но в разы снижает нагрузку на веб-сервер.
На практике чаще всего оптимальным является сочетание преимуществ обоих типов CMS. Реализуется это все тем же кэшированием - система один раз генерирует страницу и сохраняет ее в кэш. При следующем запросе эта страница показывается прямо из кэша, что происходит намного быстрее. Кэш может обновляться как автоматически, по истечению некоторого срока времени, так и при внесении каких-либо изменений в базу данных, когда кэш уже не соответствует новой информации. Некоторые CMS хранят не целые страницы, а отдельные блоки, из которых потом относительно быстро «собирают» готовые страницы.
Отображение и способы редактирования контента сайта могут быть самыми разнообразными, в зависимости от типа информации, которую вы хотите использовать. Например, для редактирования обычного текста может предлагаться визуальный (WYSIWYG) редактор, позволяющий пользователю форматировать текст с минимальными знаниями html. Список заказов в интернет-магазине скорее всего будет отображен в виде удобной таблицы, с возможностью сортировки и фильтрации по дате, сумме покупки или наименованию товара. Последние загруженные фотографии в галерее могут предстать в виде небольших иконок, а при нажатии них можно посмотреть картинку целиком. Список таких «модулей» ограничен лишь возможностями конкретной CMS.
При выборе CMS для реализации проекта стоит обращать внимание лишь на те системы, которые реализуют всю необходимую вам функциональность, либо когда доработать недостающее по каким-либо причинам предпочтительней. Не вредно представить себе и варианты развития проекта - возможно в недалеком будущем вам понадобятся дополнительные возможности, и об этом стоит позаботиться сейчас. Либо наоборот, что-то из предлагаемых функций явно лишнее и приведет к повышенной нагрузке на сервер либо другим нежелательным последствиям. Не обязательно писать подробное техническое задание на разработку, но понимание принципов создания сайта и выделение необходимых модулей как минимум поможет выбрать подходящую CMS.
Обязательно убедитесь, что ваш хостинг работает с нужным веб-сервером и поддерживает все технологии, необходимые для установки системы. Это можно проделать, сравнив заявленные возможности хостинга и требования по установке выбранной CMS.
Бесплатные и коммерческие CMS
Другой чашей на весах выбора является стоимость системы управления сайтом (покупки, создания, доработки). Сейчас на рынке существуют как платные, так и бесплатные CMS.
Чаще всего ключевое их отличие заключается в ненулевой стоимости первых и отсутствии ответственности разработчкика за работоспособность вторых. Однако это не значит, что бесплатные системы управления работать не будут. Еще как будут, но в случае чего не расчитывайте на быструю помощь со стороны технической поддержки. Бесплатные CMS вообще могут быть не менее надежны и функциональны коммерческих - просто производитель применяет другой способ получения прибыли (реклама, например). При выборе CMS необходимо впервую очередь учитывать предоставляемые возможности и уровень безопасности системы, а ценовой фактор сам по себе это не определяет.
Подбирая подходящую систему управления, обращайте внимание на качество документации. Рукодство пользователя в бесплатных CMS обычно рассчитано на веб-разработчика, обладающего определенными знаниями. В коммерческих системах документация менее требовательна, поскольку они больше рассчитываются на использование администратором ресурса, который не всегда является разработчиком и может не знать особенностей установки скриптов, подключения баз данных и т.д. Кроме того хорошая документация и F.A.Q. позволяют избежать множества «стандартных» вопросов в тех.поддержку, что крайне важно для последних.
Есть мнение, что платные CMS от версии к версии развиваются более продуктивно, разработка ведется по четкому графику, с учетом статистики обращений в тех.поддержку и т.д. Во многих случаях это правда, которая однако не всегда означает, что в результате получается более качественная и безопасная CMS. Бесплатные CMS более уязвимы в том смысле, что их код доступен всем и каждому, а значит при обнаружении ошибки в защите системы, ей может воспользоваться любой желающий. Но по причине открытого кода, такие ошибки имеют больше шансов быть обнаруженными, а значит и исправленными. Отсюда вывод: почаще проверяйте наличие последних версий используемой CMS (на сайте разработчика), особенно это касается изменений в механизмах защиты скрипта, всевозможных патчей и т.п.
Системы управления с открытым кодом позволяют при необходимости дописать или изменить функциональность скрипта. Конечно для этого потребуются навыки программиста, и часто это является важным аспектом при выборе CMS.
Итак, если вы собираетесь создать сайт, то решение об использовании существующей CMS или разработке новой специально для вашего проекта принимать вам. Поищите в Интернет (или на этом сайте) системы управления, предлагающие нужную функциональность и почитайте документацию и отзывы тех, кто ей уже пользовался. На тематических форумах, например, можно почитать о наиболее частых проблемах конкретной CMS и методах их решения. Взвешенный подход, немного логического мышления - и вы сделаете правильный выбор. Ведь CMS существует много, а мнений всегда на одно больше :)
|
|