Система управления сайта


Отличной особенностью современного Web-сайта является его функциональная динамичность. Под динамичностью понимаются в данном случае частые смены отображаемой информации и изменение форматов его отображения. «Активность» сайта может быть реализована при помощи сложной системы управления контентом сайта (CMS). Использование системы администрирования сайта не исключает и другой вариант обеспечивающий активность сайта – использование труда специалистов, владеющих языком HTML и/или языками серверного программирования.

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

Немного истории.

В 90-х годах «системой управления сайта» можно было назвать следующий набор программных продуктов и инструментов:

  • Веб-сервер, предоставляемый в составе услуги хостинга;
  • Редактор HTML кода (Notepad, Macromedia DreamWeaver);
  • FTP-клиент (FAR или TotalCommander).

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

Преимущества систем на базе языка HTML:

  • Легко внести изменения  в отдельную страницу, не изменив что-то в других
  • Нет больших сложностей в создании новых страниц
  • Для поддержки сайта важно знание языка HTML.
  • Для хостинга «HTML-сайта» подойдет сервер. Даже с ограничениями по возможностям. Сайт в рабочем состоянии можно просматривать на рабочем компьютере, не прибегая к установке специального программного оборудования, эмулирующего локальный сервер на машине пользователя.
  • Высока устойчивость к «взлому» - так используется мало программных компонентов.

Недостатки системы

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

В настоящее время еще много сайтов используют технологии HTML для своего создания и жизнеобеспечения. Но за годы существования таких систем были разработаны решения и приемы, частично компенсирующие недостатки такой системы, в эти системы добавляются в том или ином виде элементы программирования. Тут же возникает вопрос – есть необходимость мириться с недостатками «HTML системы сайта», когда можно использовать некоторый общий программный код и единую структуру данных. Здесь мы перейдем к современным «динамическим» системам управления сайтом.

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

Возникновение динамических страниц и сайтов явилось следствием возникновения и применения языков программирования, выполняемых на стороне сервера. Применение таких технологий дало сайтам:

  1. Разделение информации и дизайна – При создании сайта примерно описывается число шаблонов страниц – например – страницы разделов, новостные страницы. Обычно число шаблонов страниц не бесконечно. Для изменения вида страницы достаточно внести изменения только в шаблон, что при показе отразится на всех страницах, использующих измененный шаблон. Также такое решение позволяет разграничить полномочия людей, осуществляющих наполнением и модификацией сайта. Причем, эти люби могут даже не пересекаться при выполнении своих действий над сайтом. Такой подход также оптимален с точки зрения организации работы и разделения труда – каждая персона отвечает за конкретный участок работы по сайту.
  2. Упрощение процесса модификации и обновления страниц. Данное свойство вытекает из выше приведенного. Модификация постоянное свойство популярного или стремящегося к известности сайт. Информация на сайте должна быть актуальной и новой. Разграничение информации и дизайна не требует разносторонности знаний – например, человек, не являющийся web-дизайнером, может совершенно спокойно заниматься постоянным наполнением сайта.
  3. Возможность изменения контенте в ответ на некие действия посетителя. Два приведенных пункта облегчали работу по поддержанию сайта – для простого посетителя сайта данные свойства особенно не важны.

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

Интерактивные возможности динамических сайтов:

  • Регистрация посетителей сайта – сайт может узнавать посетителя и предоставлять владельцу сайта информацию об интересах его посетителей.
  • Персонализация – настройки сайта для каждого пользователя индивидуальны (разделение прав пользователей при доступе к различным информационным блокам). Настройка сайта под потребности конечного пользователя.
  • Форумы, гостевые книги, чаты – предлагает вашему пользователю возможности общения между собой и с владельцами сайта (вопрос-ответ).
  • Формирование автоматической подписки на новости и новинки сайта.
  • Система заказов товара – Интернет магазин.


Недостатки динамических сайтов. Нет совершенства в мире :).

  1. Необходимость использования дополнительных программных решений для его создания.
  2. Стоимость и время создания сайта может варьироваться и зависеть от задач проектируемого сайта. Обычно занимает большее время, чем статический сайт.
  3. Повышенные требования к аппаратным мощностям серверных систем. Так как серверу требуется произвести некие действия для модификации страницы, и только потом выдать ее посетителю. Особенно важным это становится на сайтах с большой посещаемостью. В то же время повышается стоимость услуг по поддержке такого ресурса.
  4. Сложность больших глобальных изменений сайта. Данное ограничение связано с использующимся на сайте программным обеспечением ведь возможности любой программы ограничены.


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

Википедия дает такое определение

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

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

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

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

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

Термин контент-менеджер обозначает род человеческой деятельности — редактор сайта.

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

 

Примеры редакторов текста:


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

Слово content английского происхождения, означает «нечто, содержащиеся внутри», часто употребляется в словосочетании «table оf content» - содержание, перечень раздела (книги). Особенностью контента является в том, что он конструируется из отдельных кусочков.

История управления контентом началась с управления документами в традиционном смысле этого слова, т.е. текстовыми файлами. По мере развития понятия «документ», системы управления документами стали называть системами управления контентом. Однако абстрактно управлять информацией невозможно — она обязательно должна быть представлена в какой-либо форме. Пытаясь управлять контентом, мы неизбежно приходим к управлению документами. Системы управления контентом, действительно, «научились» разделять управление документами (хранение, изменение и т.п.) и их представление конечному пользователю. Хотя они все-таки управляют документами в какой-то форме, а не информацией.

Функциональность системы управления контентом можно разделить:

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

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

Публикация — автоматическое размещение контента на «экране пользователя». Соответствующие инструменты автоматически «подгоняют» внешний вид страницы к дизайну всего сайта.

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

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

Что должна включать в себя CMS

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

  • Различные шаблоны страниц – при наличии различных структур страниц; механизм обновления шаблонов.
  • Различные права доступа на сайт – к различным разделам, разные возможности в модерировании разделов.
  • Безопасность сайта и баз данных.
  • Редакторы текстов – возможность конвертации документов Word в формат HTML.
  • Формирование и публикация на сайте контента без специальных технических навыков.
  • Механизм сохранения, редактирования и форматирования текста, связывание различных видов контентк – текст, графика, аудио и видео файлы.
  • Связь между контентом и мета-данными (автор, дата обновление, описание и т.п.)
  • Совместная работа нескольких пользователей на сайте Одномоментно.
  • Формирование архива/архивов, установление сроков актуальности материалов (например, новости).
  • Автоматическое формирование ссылок внутри сайта при добавлении новых страниц.
  • Интерактивные модули – опросы, голосования с возможностью формирование новых и хранения старых.
  • Наличие форума, чата с механизмом редактирования.

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

 


Примеры админок.

 

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

 

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

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


 
Система администрирования предлагает формировать структуру сайта (добавлять или убирать разделы), заполнять новые и старые разделы тематическими материалами.


Заключение

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

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