logo
Разработка веб-сайта компании "ГИК"

1.2 Использование готовой системы управления сайтом

Система управления содержимым (контентом) (англ. Content management system, CMS) - информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым).

Основные функции CMS:

1. Предоставление инструментов для создания содержимого, организация совместной работы над содержимым.

2. Управление содержимым: хранение, контроль версий, соблюдение режима доступа, управление потоком документов и т. п.

3. Публикация содержимого.

4. Представление информации в виде, удобном для навигации, поиска.

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

В общем случае системы управления содержимым делятся на:

- Систему управления содержимым масштаба предприятия (англ. Enterprise Content Management System).

- Система управления веб-содержимым (англ. Web Content Management System).

В силу того, что ECMS имеют глубокую внутреннюю классификацию по предметным областям (HRM, DMS, CRM, ERP и т. д.), термин CMS заместил собой WCMS, превратившись в синоним системы управления сайтами. Подобные CMS позволяют управлять текстовым и графическим наполнением вебсайта, предоставляя пользователю интерфейс для работы с содержимым сайта, удобные инструменты хранения и публикации информации, автоматизируя процессы размещения информации в базах данных и её выдачи в HTML.

Существует множество готовых систем управления содержимым сайта, в том числе и бесплатных. Их можно разделить на три типа по способу работы:

1. Генерация страниц по запросу.

Системы такого типа работают на основе связки "Модуль редактирования > База данных > Модуль представления". Модуль представления генерирует страницу с содержанием при запросе на него, на основе информации из базы данных. Информация в базе данных изменяется с помощью модуля редактирования. Страницы заново создаются сервером при каждом запросе, что в свою очередь создаёт дополнительную нагрузку на системные ресурсы. Нагрузка может быть многократно снижена при использовании средств кэширования, которые имеются в современных веб-серверах.

2. Генерация страниц при редактировании.

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

3. Смешанный тип.

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

Система управления - программа, предоставляющая инструменты для добавления, редактирования, удаления информации на сайте.

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

Сайты, организованные посредством системы управления контентом, основаны на следующих технологиях: веб-сервер, хранилище данных (зачастую СУБД, например, такие как MySQL или PostgreSQL, однако существуют и noSQL CMS), веб-приложение для обеспечения работы самой системы, визуальный (WYSIWYG) редактор страниц, файловый менеджер с веб-интерфейсом для управления файлами сайта, система управления правами пользователей и редакторов сайта.

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

Наиболее распространены следующие технологические платформы, используемые в качестве основы веб-приложения, реализующего работу CMS: PHP, Perl, .NET.

Существует термин контент-менеджер, обозначающий род профессиональной деятельности - редактор сайта или сотрудника, работающего с CMS.

Большая часть современных систем управления содержимым реализуется в виде визуального (WYSIWYG) редактора - программы, которая создаёт HTML-код из специальной упрощённой разметки, позволяющей пользователю проще форматировать текст [1].

Можно выделить несколько преимуществ готовых систем управления контентом:

- в работе используется наиболее эффективный инструмент для решения конкретной задачи (в зависимости от вида сайта и требований к его функционалу подбирают оптимальную CMS);

- использование CMS позволяет владельцу сайта самостоятельно создавать и удалять разделы сайта, редактировать различную информацию без привлечения стороннего специалиста - это одно из преимуществ над статическими сайтами;

- работа сайта постоянно тестируется множеством пользователей, а найденные ошибки и уязвимости достаточно оперативно устраняются, при этом сайт работает на самых передовых и проверенных технических решениях;

- временные затраты на разработку сайта существенно снижаются, так как разработчику не надо фиксировать своё внимание на чисто технических задачах: "как сделать ленту с новостями" или "как научить CMS искать товары в каталоге", а можно сосредоточиться на информационной и визуальной составляющих будущего сайта;

Можно условно разделить CMS по выполняемому функционалу. Некоторые системы ориентированы только на решение конкретных задач (ведение блогов, интернет магазины, форумы), другие являются универсальными и предоставляют разработчиком удобную среду проектирования и программирования для разработки чего угодно. Часть CMS состоять из множества функциональных блоков и модулей, другие монолитны, неделимы, да ещё и зашифрованы. Одни системы поставляются бесплатно и с возможностью внесения своих доработок, а некоторые предоставляются за деньги и не допускают возможность редактирования ядра движка.

В данной области можно выделить несколько лидеров:

Joomla! - яркая, современная, постоянно обновляющаяся, достаточно простая в разработке и использовании, предоставляется совершенно бесплатно;

Drupal - это полноценная функциональная среда для разработки и создания всевозможных сайтов, которая предоставляется так же бесплатно и имеет гибкие возможности;

MODx - достаточно современная разработка, которая в последнее время уверенно набирает обороты и увеличивает свою аудиторию поклонников. К тому же она является чрезвычайно гибкой и эффективной, при этом поставляется безвозмездно, но и порог вхождения в число разработчиков на этой CMS несколько выше, чем у других систем;

1C-Битрикс - очень большая по объёму разработка от компании 1С, в которой можно найти различные редакции от простой, до портальной, при этом стоимость её значительно отличается от версии к версии.

Важно заметить, что бесплатность CMS отнюдь не означает низкое качество кода или наличие ограничений в использовании. Наоборот, чаще всего, отрытые и бесплатные CMS во многом выигрывают у своих коммерческих аналогов именно из-за своей общедоступности. Над этими системами трудятся не только коллективы профессиональных разработчиков, но и сотни и даже тысячи добровольцев, которые стремятся сделать любимую CMS ещё лучше и безопасней.

Сложно сделать правильный выбор среди такого разнообразия CMS, поэтому необходимо чётко осознавать назначение и функционал будущего сайта. Задача разработчика сайта - не только в том, чтобы сделать сайт точно в срок и с учётом пожеланий заказчика, но и выбрать правильную и достаточную CMS для этих целей.