Волгоградский государственный университет
Опубликован: 02.03.2009 | Доступ: свободный | Студентов: 1513 / 186 | Оценка: 4.20 / 4.03 | Длительность: 16:55:00
Лекция 7:

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

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >

Функционирование CMS

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

Пользователи CMS делятся на две группы – создатели шаблонов страниц и авторы контента (информационного наполнения). Таким образом, одна группа пользователей создает структуру и оформление страниц, а другая наполняет его содержанием.

Схема функционирования CMS

Рис. 7.1. Схема функционирования CMS

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

Сначала группа внедрения разворачивает ядро CMS и создает в СУБД информационное хранилище контента – БД. Далее администратор предоставляет доступ к системе различным пользователям, затем создается контент, он публикуется, и к нему применяются шаблоны оформления.

Создание контента

На первом этапе необходимо создать все типы контента и схемы их метаописаний, а также настроить систему на определенный поток работ (если система поддерживает создание потоков работ, а не использует единственный встроенный). Понятие типа контента аналогично понятию класса, а элементы контента представляют собой набор экземпляров таких "классов". Типами контента являются, например, текст и изображение; экземпляром контента конкретный документ или картинка.

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

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

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

Кроме непосредственно редактирования элементов контента, необходимо предусмотреть разбиение контента по категориям или рубрикам.

Создание шаблонов оформления

В качестве решения проблемы представления в системах управления контентом используется технология шаблонов, определяющих внешний вид страницы. Разработчику шаблонов не нужно знать никаких технических тонкостей. На ранних этапах существования WWW шаблоны представляли "заготовки" HTML-кода, из которого путем манипуляций в HTML-редакторе получались готовые страницы. Сегодня такими заготовками манипулируют уже не дизайнеры в своих редакторах, а серверные web-приложения. Таким образом, современный шаблон Web-страницы представляет собой блок HTML, который благодаря специальным тегам или внедренным сценариям, облегчает включение динамически сгенерированного содержания на этапе выполнения. При использовании подобных шаблонов программистам необходим некоторый стандартизированный интерфейс для работы с ними – шаблонный движок (в английском языке существует устоявшийся термин – template engine), который может иметь разнообразные дополнительные функции, например, поддерживать кэширование шаблонов, их динамическое обновление и т.д.

Публикация контента

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

Типичный процесс публикации информации в World Wide Web реализован в Microsoft Content Management Server. Обычным приемом обеспечения оформления информационного наполнения являются шаблоны представления информации. Поэтому первым этапом процесса является создание наборов шаблонов. Типичный шаблон содержит разметку HTML и места, куда в дальнейшем будут вставлены данные (placeholder'ы в терминологии Microsoft). Далее на основе этих шаблонов авторы информационного наполнения создают страницы и представляют их редакторам для одобрения. Редакторы, в свою очередь, могут либо отклонить страницу и вернуть ее автору на доработку, либо одобрить ее и передать модератору сайта. В первом случае процесс повторяется снова, во втором же модератор сайта проверяет расположение страницы на сайте, дату и срок ее публикации. Если все в порядке, страница становится видна пользователям. Несмотря на то, что рабочий процесс в Microsoft Content Management Server фиксирован и не может быть изменен в дальнейшем, подобное решение подходит большинству пользователей, которым необходимо публиковать информацию в World Wide Web.

Управление пользователями

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

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

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

Архитектура системы управления контентом на примере DotNetNuke

В самом общем виде архитектуру систем управления Web-контентом можно представить следующим образом (7.2).

Архитектура CMS

Рис. 7.2. Архитектура CMS

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

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

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

Рассмотрим пример реализации архитектуры системы управления контентом на примере CMS DotNetNuke 4 (7.3).

Архитектура CMS на примере DNN

Рис. 7.3. Архитектура CMS на примере DNN

Ядро системы управления контентом представляет собой динамический сайт, созданный на языке Visual Basic.NET с использованием технологии ASP.NET 2.0. Поэтому для ее функционирования требуется web-сервер с поддержкой этой технологии. В качестве такого сервера может выступать Microsoft Internet Information Services 5 или 6. В качестве хранилища данных CMS DotNetNuke 4 может использовать файловую систему web-сервера и базу данных под управлением СУБД Microsoft SQL Server. Поддерживаются все варианты поставки этой СУБД и версии 2000/2005. СУБД может функционировать как в операционной системе web-сервера, так и на удаленном компьютере. В первом случае возможно использование бесплатных версий MS SQL Server – Microsoft Desktop Engine и Microsoft SQL Server Express 2005.

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >