CMS: система управления сайтом

CMS - аббревиатура от англоязычного словосочетания Content Management System, дословно переводится как "система управления контентом". Ещё иногда CMS называют «движком сайта». CMS - это программное обеспечение, позволяющее разрабатывать и поддерживать динамические информационные веб-сайты – на данный момент таких в Интернете большое количество. Другими словами – это программы, посредством которых вы можете менять содержимое и даже структуру сайта, не обладая специальными знаниями, имея лишь навыки работы с веб-браузерами (например, Интернет-эксплорером), офисными текстовыми редакторами.

Необходимость использования CMS администраторами сетевых ресурсов возникла в тот момент, когда объем материалов на сайтах стал стремительно возрастать. Это привело к следующему: традиционные для того времени «ручные» технологии написания и поддержки веб-сайтов (сайт в то время состоял из статичных HTML-страниц и набора дополнительных специализированных скриптов), стали не поспевать за стремительно изменяющимися условиями бизнеса. Ввод информации на веб-ресурс раньше требовал как минимум знания технологий HTML/CSS верстки, внесения изменений структуры веб-сайтов были связаны с каскадным изменением большого числа взаимосвязанных страниц. Всевозможные автоматизированные механизмы, наподобие гостевых книг и новостных лент, внедренные на сайты в качестве отдельных скриптов и, зачастую, разработанные различными программистами, перестали удовлетворять требованиям безопасности. В итоге множество сайтов стало представлять собой смесь разнообразных технологий и подходов к программированию, в связи, с чем возникла потребность с одной стороны в унификации программных средств, а с другой в разделении дизайна и содержимого на две независимые составляющие.

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

Правда, один из самых «больших недостатков» большинства CMS - относительно высокая стоимость. Но проблемы связанные с ценой и набором функционала, позволили разработчикам сфокусироваться на улучшении CMS.

Первые системы управления контентом сайтов появились относительно недавно. Первой системой принято считать Vignette, появившуюся на западе в 1995 году. В России CMS появились значительно позже.

Мы видим, что основными целями и задачами cms являются управление, наполнение, редактирование информации и графики клиентом. Без cms подобные задачи управлением сайта не могли бы решаться, не используя вмешательства дорогостоящих программистов.

Система управления содержимым сайта снижает стоимость создания и поддержки веб-сайтов, а также увеличивает скорость обновления ресурсов Интернет. То есть снижается промежуток времени между появлением материала у владельца до его публикации на сайте.

Главным достоинством системы управления содержимым является снижение стоимости администрирования, поддержки сайта. Это одна из причин их популярности, широкого распространения. Это происходит вследствие снижения потерь на зарплату веб-программистам, невысоким требованиям к знаниям, умениям и навыкам администратора сайта, а также времени на поиски документов, пресечения их дублирования, увеличения скорости связи с партнерами, клиентами. Также, у Вас не будет необходимости нанимать программиста для поддержки и развития проекта.

Посредством использования системы управления контентом Вы существенно снизите зависимость стоимости сайта от объема размещенной информации. Хорошая cms позволить Вам размещать на сайте достаточно большие объемы разнообразной информации… можно даже сказать что громадные (ограничением будет служить технические возможности сервера, на котором будет размещаться программа).

Также как преимущества можно выделить следующие моменты:

  • Использование шаблонов позволяет менять внешний вид всего сайта буквально щелчком мыши, причем, не затрагивая его контента, без нарушения структуры.
  • Полное отделение содержания от внешнего вида сайта, в результате — значительно упрощается редактирование, администрирование ресурса. Также многие CMS включают в себя визуальный онлайновый редактор, наподобие ворд, либо имеют подобное в качестве дополнительного модуля.
  • Многие системы управления контентом обладают модульной архитектурой, с расширяемой посредством плагинов функциональностью. Например, при необходимости организации форума на веб-сайте, необходимо установить и настроить соответствующий модуль CMS. Это легче чем писать его «с нуля» или устанавливать внешний форум, который не будет интегрирован в основной веб-сайт.

Системы управления контентом условно можно разбить на следующие категории:

  • Коммерческие CMS. Как правило, достаточно дороги, устанавливают, настраивают, обслуживают их специалисты. Но, так или иначе, хороши для некоторых случаев, особенно если над содержимым работает много авторов, ресурс очень большой, далее будет расти и развиваться;
  • Системы управления сайтом из открытых источников. Сообщество, занимающееся распространением и популяризацией «открытых программ», обладает существенным количеством замечательных систем, причем разница в стоимости разительна – либо очень дешевы, либо бесплатны. Не обошлось здесь без ложки дёгтя: как и множество других разработок из открытых источников, порой требовательны к серверу, а установку и запуск лучше поручить профессионалам - хорошо знакомым с языками программирования и методами открытых источников;
  • Поставщик услуг CMS-программ. Основное отличие данного случая заключается в том, что, вместо установки системы на сервер, поставщик предлагает Вам технологию. Ваша задача - настроить шаблоны и права доступа, предоставляющие различным персонам доступ к областям контента, находящимся в компетенции их деятельности, и с которыми пользователи будут взаимодействовать. Этот тип системы управления содержимым может подойти во многих случаях, так как достаточно дешев и, как правило, поддержка включена в его стоимость;
  • Самостоятельное создание системы управления контентом. Опытный веб-разработчик способен «написать» систему от и до, либо настроить одну из многочисленных открытых систем за небольшие средства. Недостатком этого случая является требование к большим ресурсам времени, и, зачастую, длительной поддержки проекта.

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

То есть, если системе необходимо сохранить информацию, то она записывает ее в базу.

Каждая сущность в базе данных имеет соответствующую таблицу. Например, существует таблица, которая хранит содержимое веб-страниц, их может быть и несколько. Проще говоря, может содержать не только сами тексты, но ещё заголовки, даты, авторов.

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

Движок базы данных выбирается в зависимости от платформы сервера. В случае использования Windows в качестве платформы берут MS SQL, так как у него отсутствуют серьезные конкурентов в данной нише. В случае эксплуатации *nix платформы - MySQL.

После определения базы данных неплохо бы задуматься, каким образом оптимальнее запрограммировать и отладить работу с ней в CMS. Принято считать, что лучшим способом является создание абстрактного слоя взаимодействия с базой данных. Реализовать его на практике можно и в виде специального класса, и в виде функционального набора. Таким образом, мы видим, что в идеале существенная часть кода системы управления контентом равнозначна для любой базы данных, изменяется лишь код являющийся «прокладкой» базы данных.


Детальная картинка: 

Возврат к списку