Систе́ма управле́ния содержи́мым или система управления конте́нтом (англ. Content management system, CMS) — компьютерная программа, используемая для управления содержимым чего-либо. Обычно такие системы используются для хранения и публикации большого количества документов, изображений, музыки или видео. В Интернете CMS позволяет управлять текстовым и графическим наполнением веб-сайта, предоставляя пользователю удобные инструменты хранения и публикации информации.
Сейчас существует множество готовых систем управления содержимым сайта, в том числе и бесплатных. Их можно разделить на три типа, по способу работы:
Генерация страниц по запросу. Системы такого типа работают на основе связки «Модуль редактирования → База данных → Модуль представления». Модуль представления генерирует страницу с содержанием при запросе на него, на основе информации из базы данных. Информация в базе данных изменяется с помощью модуля редактирования. Страницы заново создаются сервером при каждом запросе, а это создаёт нагрузку на системные ресурсы. Нагрузка может быть многократно снижена при использовании средств кэширования, которые имеются в современных веб-серверах.
Генерация страниц при редактировании. Системы этого типа суть программы для редактирования страниц, которые при внесении изменений в содержание сайта создают набор статичных страниц. При таком способе жертвуется интерактивность между посетителем и содержимым сайта.
Смешанный тип. Как понятно из названия, сочетает в себе преимущества первых двух. Может быть реализован путем кэширования — модуль представления генерирует страницу один раз, в дальнейшем она в разы быстрее подгружается из кэша. Кэш может обновляться как автоматически, по истечению некоторого срока времени или при внесении изменений в определенные разделы сайта, так и вручную по команде администратора. Другой подход — сохранение определенных информационных блоков на этапе редактирования сайта и сборка страницы из этих блоков при запросе соответствующей страницы пользователем.
Термин контент-менеджер обозначает род человеческой деятельности — редактор сайта.
Большая часть современных систем управления содержимым реализуется с помощью визуального (WYSIWYG) редактора — программы, которая создает html-код из специальной упрощённой разметки, позволяющей пользователю проще форматировать текст. Примером последней является вики-текст.
Примеры редакторов текста:


Безусловно, что словосочетание CMS не является для многих тайной аббревиатурой. Рынок подобных программных решений постоянно растет, но разработчики еще очень далеки до введения в этой области единых стандартов. Существует много бесплатных, платных платформ для сайтов, плюс много подобных «универсальных» систем создаются различными студиями по разработке сайта.
Слово content английского происхождения, означает «нечто, содержащиеся внутри», часто употребляется в словосочетании «table оf content» - содержание, перечень раздела (книги). Особенностью контента является в том, что он конструируется из отдельных кусочков.
История управления контентом началась с управления документами в традиционном смысле этого слова, т.е. текстовыми файлами. По мере развития понятия «документ», системы управления документами стали называть системами управления контентом. Однако абстрактно управлять информацией невозможно — она обязательно должна быть представлена в какой-либо форме. Пытаясь управлять контентом, мы неизбежно приходим к управлению документами. Системы управления контентом, действительно, «научились» разделять управление документами (хранение, изменение и т.п.) и их представление конечному пользователю. Хотя они все-таки управляют документами в какой-то форме, а не информацией.
Функциональность системы управления контентом можно разделить:
Создание — предоставление авторам удобных и привычных средств создания контента. Пользователь, не имеющий никакого отношения к веб-дизайну и программированию, может вносить различные материалы на сайт используя текстовый редактор по типу Word.
Управление — хранение контента в едином репозитории. Данная функция отслеживает версии документа, контролирует кто из пользователей что и когда изменял, видеть, обозначает что пользователь может изменять, напрмиер - тот раздел, за который он отвечает. Короче говоря, управление контентом включает в себя хранение, отслеживание версий, контроль за доступом, интеграцию с другими информационными системами и управление потоком документов.
Публикация — автоматическое размещение контента на «экране пользователя». Соответствующие инструменты автоматически «подгоняют» внешний вид страницы к дизайну всего сайта.
Представление — дополнительные функции, позволяющие улучшить форму представления данных; например, можно строить навигацию по структуре репозитория.
Система администрирования должна строиться исходя из тех потребностей, которые необходимы для решения задач вашего сайта. Приведем примерный список возможностей, которые можно заложить в систему администрирования сайта.
Что должна включать в себя CMS
Нужды вашей организации и ее веб-сайта в большой степени определяют необходимые функциональности CMS, однако вот несколько важных функций, которые вам следует включить в систему:
-
Различные шаблоны страниц – при наличии различных структур страниц; механизм обновления шаблонов.
-
Различные права доступа на сайт – к различным разделам, разные возможности в модерировании разделов.
-
Безопасность сайта и баз данных.
-
Редакторы текстов – возможность конвертации документов Word в формат HTML.
-
Формирование и публикация на сайте контента без специальных технических навыков.
-
Механизм сохранения, редактирования и форматирования текста, связывание различных видов контентк – текст, графика, аудио и видео файлы.
-
Связь между контентом и мета-данными (автор, дата обновление, описание и т.п.)
-
Совместная работа нескольких пользователей на сайте Одномоментно.
-
Формирование архива/архивов, установление сроков актуальности материалов (например, новости).
-
Автоматическое формирование ссылок внутри сайта при добавлении новых страниц.
-
Интерактивные модули – опросы, голосования с возможностью формирование новых и хранения старых.
-
Наличие форума, чата с механизмом редактирования.
Как видно из выше приведенного списка возможности CMS могут значительно варьироваться, что обусловлено требованиями вашей организации к проектируемому сайту. Безусловно, чем больше возможностей по механизмам управления вашего сайта вам необходимо для реализации ваших задач, тем выше будет стоимость исполнения системы администрирования вашего сайта.
Примеры админок.

Добавление новости. Обязательные атрибуты – дата, заголовок, текст. Возможность редактирования новости после их занесения.

Пример текстового редактора и представление возможности заполнения сайта текстовыми материалами – статьями.

Пример формирования и модерирования каталога (в данном случае – каталога предприятий)

Система администрирования предлагает формировать структуру сайта (добавлять или убирать разделы), заполнять новые и старые разделы тематическими материалами.
Заключение
Современный уровень развития web-технологий дает возможность автоматической генерации страниц из исходных данных (Базы данных сайта). Обычно контент хранится в реляционной базе данных, а страницы генерируются специальными скриптами, написанными на одном из современных языков программирования. Система управления контентом обеспечивает удобное управление данными, хранящимися в базе данных и обеспечивает отображение страниц сайта. Такие системы часто называют «динамическим», так как страницы могут создаваться «на лету» по запросу пользователя, однако правильнее их было бы называть системами на основе реляционной базы данных и серверных скриптов.
CMS имеет преимущество перед сайтом построенном исключительно из статических страниц. Система управления сайта предлагает удобный механизм и инструменты поддержки сайта, реализовывать которые может с легкостью персонал не искушенный в технических вопросах. Затраты на создание динамического сайта выше, чем разработка статического сайта. Но затраты на обслуживание, наполнение и поддержку данного ресурса оказываются значительно более экономичным вариантом.