Система управления содержимым

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

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

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

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

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

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

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

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

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

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

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

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

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

(дописать, что это является причиной несоблюдения веб-стандартов)

Образование

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

Многие образовательные курсы не рассказывают об этих вещах хоть сколько-нибудь подробно. Я готов поспорить, что если вы спросите 10 разработчиков, которые работают с соблюдением веб-стандартов, где они научились своему мастерству, 9 из них скажет, что они – самоучки (а еще одна попросит ее не отвлекать, т.к. она слишком занята попытками заставить сайт нормально работать в IE6).

Консорциум Всемирной паутины (W3C), группа, которая отвечает за развитие стандартов, и WebStandardsProject (WaSP) приняли вызов и упорно трудятся над тем, чтобы поддержка веб-стандартов была улучшена как производителями браузеров, так и разработчиками.

Единственная причина создания курса, который вы сейчас читаете, – это предоставить надлежащий комплект учебных материалов по веб-стандартам. И использовать этот курс для учебы вы можете бесплатно. Мы просто стараемся вас избавить от нескольких причин (мы не решаемся использовать здесь слово «оправданий»), по которым люди не применяют веб-стандарты. И на самом деле здесь нет ни одного оправдания, чтобы не использовать веб-стандарты, учитывая те преимущества, которые они несут (и которые уже обсуждались в предыдущей статье).

Бизнес-причины

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

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

Многие люди моего поколения (а мне почти 30 на момент написания этой статьи) учились создавать сайты, используя таблицы для разметки и теги font длятипографики. Необходимость переучиваться, может напугать, когда то, что ты делаешь, все еще «работает» (и по-прежнему нормально выглядит в большинстве современных браузеров). Работодатели обычно не знают разницы, я ни разу не встречал менеджера, который бы спрашивал о качестве моей разметке во время оценки исполнения. Так где же стимул?

Я остановлюсь на том (можете угадать, чью сторону я обычно поддерживаю), что использование грязного кода, — это недальновидный подход. Основывая на своем опыте, редизайн сайта с соблюдением веб-стандартов проходит значительно легче, чем конвертация путаницы не надлежащим образом кодированных страниц (я делал оба варианта). И я ведь еще не отметил утопию, обещанную XHTML/CSS, когда во время редизайна сайта достаточно изменить только CSS-файл, но я близко подошел к этому.

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

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

Наши рекомендации