(С) Владислав Боркус Дата актуальности: январь 2006
!Данный материал защищён авторским правом и любое его копирование не допускается.
Microsoft CMS представляет собой программируемую CMS, т.е. система, каждый сайт в которой представляет собой новое приложение. В этом смысле она похожа на Optimizer 2.5, хотя, в отличие от последней, не использует нестандартные теги для разметки страниц, только теги из IIS/ASP.Net). Сложность создания в ней нового сайта сопоставима с такими же работами по Metric, хотя идеология организации системы сильно отличается, так как поля на странице не группируются в большие объекты, а существуют независимо друг от друга, будучи привязаны только к страницам.
Идеология построения сайтов в системе следующая. Сайт представляет собой иерархическую конструкцию из «каналов», являющихся комплектами из заполненных данными Web-страниц, именуемых в системе «публикациями» (postings), шаблона для динамического рендеринга этих страниц, галерей ресурсов (изображений и пр.), а также вложенных каналов.
Шаблоны (templates) -- это программы на языке .Net (формат .ASPX), опирающиеся на API CMS и создаваемые в среде Visual Studio. Они обеспечивают правильное оформление «публикаций» в зависимости от свойств пользователя и обстоятельств при которых он зашел в систему. Как замечает документация Microsoft, практически ни одно внедрение MCMS не обходится без программирования шаблонов с помощью API системы.
Для отображения полезных данных в «публикациях» служат блоки (placeholders). Они оформляются путем помещения в HTML-часть шаблона набора описателей блоков (placeholders definitions) в те места, где данные должны выводиться. Сами же блоки (placeholders) представляют собой серверные .Net компоненты. CMS предлагает шесть специальных готовых блоков (картинка, HTML, Attachment, XML, Office attachment, Office HTML).
Нужно заметить, что «публикации» могут использовать некоторые ресурсы, например, изображения. Такие изображения могут объединяться в галереи (resource galleries), общие для сайта или канала и его дочерних каналов. Возможны также галереи типовых шаблонов (template galleries), полезные когда ряд каналов использует одинаковые шаблоны.
Ключевым свойством этой конструкции является то, что смысловые данные привязаны к конкретным страницам («публикациям») и каналам, и не существуют отдельно от представления, как например, в Documentum. Ввод же смысловых данных происходит при помощи компонентов авторинга, позволяющих визуально редактировать содержимое всей страницы, включая содержимое блоков. Пользователь (конечный или редактор) всегда работают с полным Web-представлением страницы. Отделение авторского контента от оформления при сохранении в БД происходит для пользователя менее явно, чем в системах, где для публикации требуется заполнение плоских форм (такова, скажем, Bitrix).
Это значит, что в системе отсутствует объектность, характерная для портлетных решений. Например, новостная публикация всегда идентифицирована в системе конкретной страницей конкретного канала, а не является (как в некоторых системах) просто абстрактной записью в базе данных, которой сопоставлен код, отвечающий за возможно разные ее представления на разных страницах.[#sdfootnote1sym 1].
Удобство модели каналов состоит в том, что хотя их иерархия и задает порядок навигации по сайту, но при правильном программировании навигации в шаблонах, каналы представляют собой законченные модули -- с панели управления сайтом их можно произвольно перемещать в их дереве сайта, не беспокоясь о разрушении ссылочной целостности контента.
Создание сайта и его управление его структурой
Создание сайта происходит через клиентское ПО Site Deployment Manager (SDM), написанное под Windows. В этом инструменте прописывается иерархия каналов сайта, с которой потом работает разработчик в Visual Studio и авторы контента. Навигация (меню и карта) по этой иерархии создается автоматически.
SDM также предоставляет механизм для резервного копирования сайта (или его частей), и его последующего восстановления на данной или иной инсталляции CMS. Экспортируемые данные помещаются в файл специального формата (пакет), поэтому его перенос между компьютерами несложен.
При экспорте в обязательном порядке будут извлечены и все данные, необходимые для работы экспортируемого куска -- даже если пользователь не отметил их для экспорта. У этого процесса есть ряд тонкостей, но они не существенны.
SDM имеет .Net и COM-интерфейсы, что позволяет создавать скрипты, автоматизирующие эти процессы (на VBScript). Есть также возможность создавать профили экспорта-импорта с типовыми настройками.
Этот механизм можно использовать для создания типовых сайтов, которые потом копируются и адаптируются под каждое подразделение.
Важно, что в MCMS данные сайта хранятся в двух разных хранилищах: основная часть -- в СУБД, а все ASPX файлы шаблонов -- в файловой системе. SDM позволяет сделать backup лишь той части, что лежит в СУБД. Microsoft рекомендует использовать Application Center Server для перемещения ASPX файлов отдельно.
Также часто гораздо быстрее сделать полный backup и восстановление СУБД, чем инструментами SDM, что и рекомендуется Microsoft.
Разработка шаблонов сайта происходит в Visual Studio, через специальный плагин. CMS 2002 должен быть установлен на каждой машине, где ведется разработка. Шаблоны состоят из двух частей: ASPX файла с кодом и описания в БД CMS, называемого template gallery item (TGI). В частности, TGI содержит описание свойств всех блоков (placeholders definition) на странице.
Дополнительно нужно сказать про архитектуру решения, рекомендованную Microsoft для данной CMS. Она многоуровневая, в частности, для развертывания в интранет рекомендовано сделать три инсталляции MCMS 2002: одна для разработки сайта, другая -- для авторинга контента, третья -- рабочая. Данные между ними переносятся при помощи описанного выше механизма, который имеет инкрементальный режим работы. Совмещение инсталляции для авторинга (которая делает записи в БД) и для работы (которая только читает из БД) приводит к снижению производительности.
Многосайтовость
В рамках одной инсталляции CMS могут существовать разные сайты. Они могут быть доступны по адресам типа http://имя_сайта. Однако, для обеспечения этого требуется разрешить и настроить в IIS возможность HTTP host headers.
Работает она так. В IIS будет один виртуальный сервер, обслуживающий CMS. Все сервера будут иметь общий IP и различаться IIS по заголовкам HTTP, содержащим WWW-адрес. Различаться они будут средствами IIS/CMS. Для соотнесения нового WWW и IP-адреса потребуется лишь мелкая донастройка таблиц DNS-сервера.
Заметим, что в такой конфигурации все сайты будут использовать общую СУБД. Заметное конфигурирование SQL Server, CMS 2002 и IIS потребуется только один раз.
Web-авторинг
В CMS встроен инструмент WYSIWYG-редактирования сайта Web Author. Его возможности распадаются на две категории: разработки визуальной части (макетов) шаблонов[#sdfootnote2sym 2] и модификации контента. Интерфейс Web Author составлен из HTML-форм, кода JavaScript и элементов ActiveX. В частности, редактирование содержимого блоков стандартных типов ведется через ActiveX, которые загружаются при первом запуске на клиентский ПК.
Через WA можно создавать страницы (публикации) в рамках каналов сайта, а также прикреплять страницы к шаблонам из галерей шаблонов CMS. Можно редактировать и существующие страницы, копировать, удалять и перетаскивать их.
WS также предлагает возможность предварительного просмотра (preview) страницы, что необходимо, дабы на время скрыть управляющие меню редактирования, добавляемые самим WA на страницу.
Для сохраняемой страницы можно задать свойства, например, дату, с которой она будет видна. Возможно через форму редактировать метатеги страницы.
Меню WA для управления контентом показываются только пользователю, имеющему редакторские или авторские права.
Можно упомянуть некоторые свойства блоков. Например, HTML placeholder может содержать форматированный и неформатированный текст, HTML-текст со стилями, картинки, гиперссылки, файловые вложения. Как и для любого другого блока, перед сохранением страницы, введенное в него содержимое проверяется относительно набора управляющих свойств блока.
HTML Placeholder допускает перетаскивание в него текста и графики, операции copy-paste. В нем есть простой набор инструментов для форматирования HTML: стили, таблицы, картинки, ссылки, списки и пр. Возможно переключение между режимами визуального редактирования и редактирования HTML-текста. Картинки можно вставлять из внешних ресурсных галерей или загружая внешний файл.
В зависимости от прав доступа зарегистрированного пользователя и того, редактирует он страницу или просматривает ее, этот блок либо показывает инструменты редактирования, либо показывает только результаты рендеринга HTML.
WA как и CMS в целом поддерживает простые процессы workflow -- страница перед тем как стать доступной обычному читателю, должна быть утверждена пользователем с правами. Есть статусы: подана, опубликована и некоторые промежуточные. Пользователь с достаточными правами может опубликовать страницу сразу.
Для всех страниц ведется контроль версий. Версии создаются всегда после редактирования и хранятся в БД. Можно посмотреть их историю ведения, сравнить.
Для Word есть специальный плагин, Authoring Connector, позволяющий вести редактирование страниц и управление их публикацией в системе. Публикация помещается на страницы через мастер (wizard), предлагающий список предопределенных задач публикации. Коннектор создает новую публикацию, обновить или заменить существующую.
Автор подает новый документ или его часть. Выбирать какие именно блоки страницы заполнять контентом, пользователь не может -- они заполняются все по жестко прописанным в системе правилам. Контент, включая текст и изображения, помещаются в блоки двух специальных Office-типов и блок «вложение», он виден на странице как текст или вложение.
Пользователь может также посмотреть preview страницы.
Так как Web Authoring Console представляет собой набор контрольных элементов .Net, помещаемых на страницу, то разработчик может производить наследование классов Web Authoring, расширяя и изменяя функциональность этого инструмента. Например, так можно менять функциональность workflow, встроенного в CMS.
Права доступа и авторизация
В системе права доступа задаются через роли на уровне контейнеров (каналов), но не отдельных публикаций. Аутентификация пользователей может происходить через Windows и Active Directory.
Поддерживается журналирование операций редактора, история всех изменений.
Действия конечного пользователя журналируются также средствами IIS.
Многоязычность
Система поддерживает Unicode и в этом смысле проблем с кодировками в ней нет. Но она не поддерживает логическое связывание разноязыковых версий одной публикации, простого переключения между языками для пользователей.
Фактически, каждый язык требует создания под себя нового сайта или канала.
Навигация и поиск
Навигационные элементы в системе есть в шаблоне, используемом по умолчанию -- древовидное меню, навигатор. Можно генерировать карту сайта.
В системе есть собственный поисковый механизм, производящий поиск по контенту публикаций, но не по файлам документов.
Запрос может быть на разных языках, но языковые версий страниц рассматривают как разные страницы, не как версии одной страницы.
Производительность
Динамическая сборка представляет собой ресурсоемкий процесс. Для снижения нагрузки Microsoft CMS обеспечивает кэширование на самых уровнях системы, и производительность оказывается высокой.
Кроме того, система позволяет строить кластеру высокой производительности (балансировка нагрузки). Про кластеры высокой надежности упоминания в документации нет.
Прикладные модули
В системе нет модулей «из коробки». Фактически управление страницами и инфраструктура -- это все, что есть. Приложения нужно разрабатывать на заказ или докупать у третьих фирм.
В принципе для системы есть некоторые готовые модули третьих сторон, например, для показа библиотеки thumbnails.
Есть фирма Telerik (www.mcmscontrols.com) производящая некоторые расширения для странниц MCMS: Расширенный Rich-text редактор (http://www.mcmscontrols.com/Default.aspx?PageId=2488), приближающийся по возможностям к Word, а также блоки r.a.d.grid, r.a.d.treeview, r.a.d.menu r.a.d.panelbar, r.a.d.tabstrip, r.a.d.chart, r.a.d.combobox.
В РФ эта фирма имеет партнера -- компания SoftLine.
Интеграция c SharePoint Portal
Существует бесплатный коннектор между SPS 2003 и MCMS 2002, поставляемый Microsoft. Он предлагает следующие функции:
Коннектор достаточно сложно развертываем и мало документирован. Для инсталляций с одним сервером CMS и SPS на одной машине эта задача часто решается, для конфигураций с фермами коннектор настраивается с трудом.
Помимо него есть продукты других поставщиков:
Нужно также заметить, что Microsoft не рекомендует интеграцию через работу с внутренней структурой БД MCMS, так как уже в следующей версии эта структура изменится.
Цена
Для данного проекта интересна редакция Enterprise ($24000 на процессор) так как она поддерживает неограниченное число пользователей для авторинга (редакция Standard ограничена 15-ю), многосайтовость через HTTP host headers и может масштабироваться.
Система подходит для сайтов, стоящих только из относительно простых страниц, не имеющих динамических модулей, вроде конференций, форумов и календарей. Все эти задачи Microsoft идеологически относит к сфере WSS/SPS.
Разработка сайтов в MCMS -- сложная, в основном по причине необходимости создания новых шаблонов в Visual Studio.
Сложность развертывания нового сайта по типовой архитектуре -- примерно как в предложении Metric Optimizer.
Нужно заметить, что очень многие вещи (например, иерархичность сайтов) дублируется в SPS и MCMS.
Авторинг как представляется далек от идеала, хотя его качество можно улучшить с помощью продукта Telerik.
В текущем состоянии уровень интеграции SPS и MCMS следует расценивать как невысокий. Однако, уже известны некоторые детали планов на 2006 год, где ситуация будет очень сильно изменена.
-----------------
[#sdfootnote1anc 1] Нужно сделать несколько оговорок. Возможно также заполнение блоков и нестандартным кодом шаблона, создаваемым разработчиком сайта.). Также через API разработчик может добраться и до публикаций, расположенных в других каналах. Каналы, так и «публикации» с точки зрения системы являются набором вложенных объектов, с которым можно работать через API. Если же требуется интеграция с внешним хранилищем данных, то так как система -- программная, то эта задача также решается при помощи программирования.
[#sdfootnote2anc 2] В том числе мест расположения блоков
[#sdfootnote3anc 3]
!Данный материал защищён авторским правом и любое его копирование не допускается.
Архитектура и техническое описание
Microsoft CMS представляет собой программируемую CMS, т.е. система, каждый сайт в которой представляет собой новое приложение. В этом смысле она похожа на Optimizer 2.5, хотя, в отличие от последней, не использует нестандартные теги для разметки страниц, только теги из IIS/ASP.Net). Сложность создания в ней нового сайта сопоставима с такими же работами по Metric, хотя идеология организации системы сильно отличается, так как поля на странице не группируются в большие объекты, а существуют независимо друг от друга, будучи привязаны только к страницам.
Идеология построения сайтов в системе следующая. Сайт представляет собой иерархическую конструкцию из «каналов», являющихся комплектами из заполненных данными Web-страниц, именуемых в системе «публикациями» (postings), шаблона для динамического рендеринга этих страниц, галерей ресурсов (изображений и пр.), а также вложенных каналов.
Шаблоны (templates) -- это программы на языке .Net (формат .ASPX), опирающиеся на API CMS и создаваемые в среде Visual Studio. Они обеспечивают правильное оформление «публикаций» в зависимости от свойств пользователя и обстоятельств при которых он зашел в систему. Как замечает документация Microsoft, практически ни одно внедрение MCMS не обходится без программирования шаблонов с помощью API системы.
Для отображения полезных данных в «публикациях» служат блоки (placeholders). Они оформляются путем помещения в HTML-часть шаблона набора описателей блоков (placeholders definitions) в те места, где данные должны выводиться. Сами же блоки (placeholders) представляют собой серверные .Net компоненты. CMS предлагает шесть специальных готовых блоков (картинка, HTML, Attachment, XML, Office attachment, Office HTML).
Нужно заметить, что «публикации» могут использовать некоторые ресурсы, например, изображения. Такие изображения могут объединяться в галереи (resource galleries), общие для сайта или канала и его дочерних каналов. Возможны также галереи типовых шаблонов (template galleries), полезные когда ряд каналов использует одинаковые шаблоны.
Ключевым свойством этой конструкции является то, что смысловые данные привязаны к конкретным страницам («публикациям») и каналам, и не существуют отдельно от представления, как например, в Documentum. Ввод же смысловых данных происходит при помощи компонентов авторинга, позволяющих визуально редактировать содержимое всей страницы, включая содержимое блоков. Пользователь (конечный или редактор) всегда работают с полным Web-представлением страницы. Отделение авторского контента от оформления при сохранении в БД происходит для пользователя менее явно, чем в системах, где для публикации требуется заполнение плоских форм (такова, скажем, Bitrix).
Это значит, что в системе отсутствует объектность, характерная для портлетных решений. Например, новостная публикация всегда идентифицирована в системе конкретной страницей конкретного канала, а не является (как в некоторых системах) просто абстрактной записью в базе данных, которой сопоставлен код, отвечающий за возможно разные ее представления на разных страницах.[#sdfootnote1sym 1].
Удобство модели каналов состоит в том, что хотя их иерархия и задает порядок навигации по сайту, но при правильном программировании навигации в шаблонах, каналы представляют собой законченные модули -- с панели управления сайтом их можно произвольно перемещать в их дереве сайта, не беспокоясь о разрушении ссылочной целостности контента.
Создание сайта и его управление его структурой
Создание сайта происходит через клиентское ПО Site Deployment Manager (SDM), написанное под Windows. В этом инструменте прописывается иерархия каналов сайта, с которой потом работает разработчик в Visual Studio и авторы контента. Навигация (меню и карта) по этой иерархии создается автоматически.
SDM также предоставляет механизм для резервного копирования сайта (или его частей), и его последующего восстановления на данной или иной инсталляции CMS. Экспортируемые данные помещаются в файл специального формата (пакет), поэтому его перенос между компьютерами несложен.
При экспорте в обязательном порядке будут извлечены и все данные, необходимые для работы экспортируемого куска -- даже если пользователь не отметил их для экспорта. У этого процесса есть ряд тонкостей, но они не существенны.
SDM имеет .Net и COM-интерфейсы, что позволяет создавать скрипты, автоматизирующие эти процессы (на VBScript). Есть также возможность создавать профили экспорта-импорта с типовыми настройками.
Этот механизм можно использовать для создания типовых сайтов, которые потом копируются и адаптируются под каждое подразделение.
Важно, что в MCMS данные сайта хранятся в двух разных хранилищах: основная часть -- в СУБД, а все ASPX файлы шаблонов -- в файловой системе. SDM позволяет сделать backup лишь той части, что лежит в СУБД. Microsoft рекомендует использовать Application Center Server для перемещения ASPX файлов отдельно.
Также часто гораздо быстрее сделать полный backup и восстановление СУБД, чем инструментами SDM, что и рекомендуется Microsoft.
Разработка шаблонов сайта происходит в Visual Studio, через специальный плагин. CMS 2002 должен быть установлен на каждой машине, где ведется разработка. Шаблоны состоят из двух частей: ASPX файла с кодом и описания в БД CMS, называемого template gallery item (TGI). В частности, TGI содержит описание свойств всех блоков (placeholders definition) на странице.
Дополнительно нужно сказать про архитектуру решения, рекомендованную Microsoft для данной CMS. Она многоуровневая, в частности, для развертывания в интранет рекомендовано сделать три инсталляции MCMS 2002: одна для разработки сайта, другая -- для авторинга контента, третья -- рабочая. Данные между ними переносятся при помощи описанного выше механизма, который имеет инкрементальный режим работы. Совмещение инсталляции для авторинга (которая делает записи в БД) и для работы (которая только читает из БД) приводит к снижению производительности.
Оценка по основным требованиям
Многосайтовость
В рамках одной инсталляции CMS могут существовать разные сайты. Они могут быть доступны по адресам типа http://имя_сайта. Однако, для обеспечения этого требуется разрешить и настроить в IIS возможность HTTP host headers.
Работает она так. В IIS будет один виртуальный сервер, обслуживающий CMS. Все сервера будут иметь общий IP и различаться IIS по заголовкам HTTP, содержащим WWW-адрес. Различаться они будут средствами IIS/CMS. Для соотнесения нового WWW и IP-адреса потребуется лишь мелкая донастройка таблиц DNS-сервера.
Заметим, что в такой конфигурации все сайты будут использовать общую СУБД. Заметное конфигурирование SQL Server, CMS 2002 и IIS потребуется только один раз.
Web-авторинг
В CMS встроен инструмент WYSIWYG-редактирования сайта Web Author. Его возможности распадаются на две категории: разработки визуальной части (макетов) шаблонов[#sdfootnote2sym 2] и модификации контента. Интерфейс Web Author составлен из HTML-форм, кода JavaScript и элементов ActiveX. В частности, редактирование содержимого блоков стандартных типов ведется через ActiveX, которые загружаются при первом запуске на клиентский ПК.
Через WA можно создавать страницы (публикации) в рамках каналов сайта, а также прикреплять страницы к шаблонам из галерей шаблонов CMS. Можно редактировать и существующие страницы, копировать, удалять и перетаскивать их.
WS также предлагает возможность предварительного просмотра (preview) страницы, что необходимо, дабы на время скрыть управляющие меню редактирования, добавляемые самим WA на страницу.
Для сохраняемой страницы можно задать свойства, например, дату, с которой она будет видна. Возможно через форму редактировать метатеги страницы.
Меню WA для управления контентом показываются только пользователю, имеющему редакторские или авторские права.
Можно упомянуть некоторые свойства блоков. Например, HTML placeholder может содержать форматированный и неформатированный текст, HTML-текст со стилями, картинки, гиперссылки, файловые вложения. Как и для любого другого блока, перед сохранением страницы, введенное в него содержимое проверяется относительно набора управляющих свойств блока.
HTML Placeholder допускает перетаскивание в него текста и графики, операции copy-paste. В нем есть простой набор инструментов для форматирования HTML: стили, таблицы, картинки, ссылки, списки и пр. Возможно переключение между режимами визуального редактирования и редактирования HTML-текста. Картинки можно вставлять из внешних ресурсных галерей или загружая внешний файл.
В зависимости от прав доступа зарегистрированного пользователя и того, редактирует он страницу или просматривает ее, этот блок либо показывает инструменты редактирования, либо показывает только результаты рендеринга HTML.
WA как и CMS в целом поддерживает простые процессы workflow -- страница перед тем как стать доступной обычному читателю, должна быть утверждена пользователем с правами. Есть статусы: подана, опубликована и некоторые промежуточные. Пользователь с достаточными правами может опубликовать страницу сразу.
Для всех страниц ведется контроль версий. Версии создаются всегда после редактирования и хранятся в БД. Можно посмотреть их историю ведения, сравнить.
Для Word есть специальный плагин, Authoring Connector, позволяющий вести редактирование страниц и управление их публикацией в системе. Публикация помещается на страницы через мастер (wizard), предлагающий список предопределенных задач публикации. Коннектор создает новую публикацию, обновить или заменить существующую.
Автор подает новый документ или его часть. Выбирать какие именно блоки страницы заполнять контентом, пользователь не может -- они заполняются все по жестко прописанным в системе правилам. Контент, включая текст и изображения, помещаются в блоки двух специальных Office-типов и блок «вложение», он виден на странице как текст или вложение.
Пользователь может также посмотреть preview страницы.
Так как Web Authoring Console представляет собой набор контрольных элементов .Net, помещаемых на страницу, то разработчик может производить наследование классов Web Authoring, расширяя и изменяя функциональность этого инструмента. Например, так можно менять функциональность workflow, встроенного в CMS.
Права доступа и авторизация
В системе права доступа задаются через роли на уровне контейнеров (каналов), но не отдельных публикаций. Аутентификация пользователей может происходить через Windows и Active Directory.
Поддерживается журналирование операций редактора, история всех изменений.
Действия конечного пользователя журналируются также средствами IIS.
Многоязычность
Система поддерживает Unicode и в этом смысле проблем с кодировками в ней нет. Но она не поддерживает логическое связывание разноязыковых версий одной публикации, простого переключения между языками для пользователей.
Фактически, каждый язык требует создания под себя нового сайта или канала.
Навигация и поиск
Навигационные элементы в системе есть в шаблоне, используемом по умолчанию -- древовидное меню, навигатор. Можно генерировать карту сайта.
В системе есть собственный поисковый механизм, производящий поиск по контенту публикаций, но не по файлам документов.
Запрос может быть на разных языках, но языковые версий страниц рассматривают как разные страницы, не как версии одной страницы.
Производительность
Динамическая сборка представляет собой ресурсоемкий процесс. Для снижения нагрузки Microsoft CMS обеспечивает кэширование на самых уровнях системы, и производительность оказывается высокой.
Кроме того, система позволяет строить кластеру высокой производительности (балансировка нагрузки). Про кластеры высокой надежности упоминания в документации нет.
Прикладные модули
В системе нет модулей «из коробки». Фактически управление страницами и инфраструктура -- это все, что есть. Приложения нужно разрабатывать на заказ или докупать у третьих фирм.
В принципе для системы есть некоторые готовые модули третьих сторон, например, для показа библиотеки thumbnails.
Есть фирма Telerik (www.mcmscontrols.com) производящая некоторые расширения для странниц MCMS: Расширенный Rich-text редактор (http://www.mcmscontrols.com/Default.aspx?PageId=2488), приближающийся по возможностям к Word, а также блоки r.a.d.grid, r.a.d.treeview, r.a.d.menu r.a.d.panelbar, r.a.d.tabstrip, r.a.d.chart, r.a.d.combobox.
В РФ эта фирма имеет партнера -- компания SoftLine.
Интеграция c SharePoint Portal
Существует бесплатный коннектор между SPS 2003 и MCMS 2002, поставляемый Microsoft. Он предлагает следующие функции:
- Поиск из SPS по содержимому MCMS. Предлагается три инструмента -- SearchInputControl (элемент для ввода строки поиска и настроек поиска), SearchResultControl (элемент для показа в SPS результатов поиска), SearchMetaTagGenerator (генератор метатегов для MCMS);
- Публикация и авторинг контента из библиотек документов WSS/SPS на сайтах MCMS через SharePoint Document Placeholder. Если документ -- типа WordML или InfoPath, то он отображается как текст, если же других типов -- то показывается URL-ссылка. Детали отображения документа регулируются листом стилей XSLT. Заметим, что в MCMS хранится копия документа из WSS. Синхронизацию с WSS нужно программировать отдельно;
- Публикация контента MCMS в портале SPS. Для этого он включает три веб-части для (упакованные в CAB файлы), а именно:
- MCMS Page Listing Web Part. Показывает список страниц MCMS в конкретном канале. Включает три вида -- summary, список, детали. Можно создавать еще до трех кастомизированных вида.
- MCMS Pages Waiting for Approval Web Part. Показывает список страниц, ждущих утверждения.
- MCMS Pages in Production Web Part. Показывает список всех web -страниц MCMS, созданных пользователем SPS, но еще не опубликованных.
Коннектор достаточно сложно развертываем и мало документирован. Для инсталляций с одним сервером CMS и SPS на одной машине эта задача часто решается, для конфигураций с фермами коннектор настраивается с трудом.
Помимо него есть продукты других поставщиков:
- MCMS Placeholder Content Web Part (http://www.codeproject.com/aspnet/cmssearch_c.asp). Показывает содержимое MCMS Placeholder в портлете на сайте WSS/SPS, т.е. то, что вроде бы нужно для данного проекта. Однако, он использует подход стандартной веб-части IFrame, т.е. показывает контент во фрейме HTML.
- MCMS SharePoint List Items Placeholder (http://www.codeproject.com/aspnet/cmswsslistitemsph.asp) для показа списков и библиотек WSS на страницах MCMS.
- Microsoft Content Management Server Search Controls. Обеспечивает поиск по сайтам MCMS при помощи поискового движка SPS[#sdfootnote3sym 3]. .
Нужно также заметить, что Microsoft не рекомендует интеграцию через работу с внутренней структурой БД MCMS, так как уже в следующей версии эта структура изменится.
Цена
Для данного проекта интересна редакция Enterprise ($24000 на процессор) так как она поддерживает неограниченное число пользователей для авторинга (редакция Standard ограничена 15-ю), многосайтовость через HTTP host headers и может масштабироваться.
Общие выводы
Система подходит для сайтов, стоящих только из относительно простых страниц, не имеющих динамических модулей, вроде конференций, форумов и календарей. Все эти задачи Microsoft идеологически относит к сфере WSS/SPS.
Разработка сайтов в MCMS -- сложная, в основном по причине необходимости создания новых шаблонов в Visual Studio.
Сложность развертывания нового сайта по типовой архитектуре -- примерно как в предложении Metric Optimizer.
Нужно заметить, что очень многие вещи (например, иерархичность сайтов) дублируется в SPS и MCMS.
Авторинг как представляется далек от идеала, хотя его качество можно улучшить с помощью продукта Telerik.
В текущем состоянии уровень интеграции SPS и MCMS следует расценивать как невысокий. Однако, уже известны некоторые детали планов на 2006 год, где ситуация будет очень сильно изменена.
-----------------
[#sdfootnote1anc 1] Нужно сделать несколько оговорок. Возможно также заполнение блоков и нестандартным кодом шаблона, создаваемым разработчиком сайта.). Также через API разработчик может добраться и до публикаций, расположенных в других каналах. Каналы, так и «публикации» с точки зрения системы являются набором вложенных объектов, с которым можно работать через API. Если же требуется интеграция с внешним хранилищем данных, то так как система -- программная, то эта задача также решается при помощи программирования.
[#sdfootnote2anc 2] В том числе мест расположения блоков
[#sdfootnote3anc 3]