Target Box CMS
ПОЛНОЕ ОПИСАНИЕ PDF    ОПИСАНИЕ    ЗАГРУЗКА    ВАШИ КОММЕНТАРИИ 
 

ОПИСАНИЕ

Target Box CMS (TBCMS) является облачной системой управления веб контентом на архитектуре так называемого тонкого клиента (thin client), разработанной на платформе .Net. Она предназначена для работы с неограниченным количеством веб сайтов с сильно структурированным динамическим контентом, таких как сайты электронной коммерции, каталоги и так далее. В подавляющем своем большинстве контент на таких сайтах хранится в реляционных базах данных и вводится через узко-специализированные пользовательские интерфейсы. Тем не менее, даже на таких сайтах зачастую встречаются зоны, где структурирование либо дорого обходится, либо просто не практично. Примерами таковых являются (но ими не исчерпываются): срочные маркетинговые материалы, рекламные материалы и рекламные вставки, инструкции (например, условия доставки товара), информация о компании и тому подобное. В конце концов перед разработчиками встает дилемма, заключающаяся в создании своих собственных модулей управления "ситуативным" контентом или встраивании одной из существующих систем "из коробки". Последние, однако, как правило не только требуют существенной модификации архитектуры сайта, но иногда и приводят к ситуации, когда архитектура сайта полностью переходит под контроль такой системы. Также зачастую такие системы рутинно требуют существенной предварительной работы, требующей программного опыта. Это противоречит главной цели таких систем - производить модификацию контента в реальном времени руками менеджера по контенту, а не разработчика.
TBCMS разработана именно для разрешения такой дилеммы. За исключением первоначальной установки, которая действительно требует определенных технических знаний, рутинная работа разработчика здесь заключается только в установке элементов DIV с определенными идентификаторами в HTML страницы в специально выделенных зонах "случайного" контента (отсюда и название "target box" - целевой контейнер). Или же, если вы выберете вариант использования серверных компонентов (server-side components), также включенных в данную систему, то задача разработчика будет заключаться в установке самодостаточных компонентов в выделенных зонах. Остальное возьмут на себя архитектура системы TBCMS и работа клерков по вводу данных.
Без дальнейших предисловий, давайте разберем как это работает.

Distributed Architecture
Диаграмма 1 - Распределенная архитектура

Localized Architecture
Диаграмма 2 - Локализованная архитектура

Система TBCMS состоит из следующих компонентов: базы данных TBCMS (MS SQL или SQL EXPRESS), приложения пользовательского интерфейса (TBCMSUI), приложения вспомогательного веб сервиса по доставке контента, включая файлы (TBCMSFUT) и приложения сервиса на базе WCF (TBCMSWS). В то время как пооследний необходим в распределенной конфигурации для взаимодействия с производственной версией клиента веб сайта (Production Website Client), его можно опустить в локализованной конфигурации. Как видно на диаграммах, существуют 2 типа конфигурации: локализованная (диаграмма 1) и распределенная (диаграмма 2). На диаграмме 1 текстовой контент создается в пользовательском интерфейсе (UI Application) в HTML редакторе и сохраняется в базе данных TBCMS (0). Загруженные файлы (такие как изображения и документы PDF) сохраняются в структуре файловой системы приложения пользовательского интерфейса. Когда контент публикуется для предварительного осмотра либо выпускается в окончательной версии (deployment), TBCMSUI посылает HTTP запрос в соответствующий модуль TBCMSFUT для очистки переменных приложения (application variables), в которых контент был ранее кэширован (соответственно CC и CCA на диаграмме). На клиенте веб сайта (WC) происходит следующее: при загрузке страницы срабатывает JavaScript и загружает внутренний HTML (innter HTML) элементов DIV на странице, чьи идентификационные номера соответствуют номеру контейнера контента (1, 1A). Для получения текста в формате HTML JavaScript посылает AJAX запрос на TBCMSFUT (3 и 3A). Все последующие запросы страница клиента получает из кэша до тех пор, пока TBCMSUI опять не посылает запрос на очистку кэша. Ссылки на файлы опять же указывают на TBCMSFUT, например:

<img src="http://siteurl/bxcmsfut/?path=c:\web\bxcmsui\bxcms_contentfolder\1\1\image.jpg&bxcmsoverwrite=true&height=205&width=210" alt="" height="205" width="210" border="0">

<a target="_blank" href="http://siteurl/bxcmsfut/?path=c:\web\bxcmsui\bxcms_contentfolder\1\3\yourfile.pdf&bxcmsoverwrite=true">This is a link</a>

Этот процесс на диаграмме отмечен как FBF (file binary feed). В этом процессе TBCMSFUT запрашивает массив байтов файла из директории "bxcms_contentfolder" в приложении TBCMSUI либо напрямую (если оба приложения находятся на одном сервере), либо через TBCMSWS. Обратите внимание на параметр "bxcmsoverwrite=true". Этот параметр указывает TBCMSFUT, что файл должен быть доставлен из первоисточника, а не из локального хранилища, в котором он сохраняется после первого запроса. Параметр соответствует нажатию кнопок Publish и Deploy (опубликовать для предварительного осмотра и выпустить в окончательной версии) в пользовательском приложении. При последующих запросах клиента параметр будет автоматически убран из текста контента, что приведет к использованию файлов из локального хранилища.

На диаграммах выше указаны компоненты на базе JavaScript. Однако TBCMS предоставляет возможность использовать серверные компоненты BXCMSCLIENT и BXCMSLITERAL. Такой вариант описан в секции УСТАНОВКА СИСТЕМЫ И КОНФИГУРАЦИИ полной инструкции.

Необходимо отметить, что TBCMSFUT может быть использован в качестве самостоятельного приложения для доставки файлов (в системах с распределенной конфигурацией, когда хранилище и веб сайт находятся на разных серверах, потребуется также TBCMSWS). Это приложение позволяет с легкостью формировать параметры изображения - ширину, высоту, вертикальный и горизонтальные отступы (padding), цвет отступа и так далее через параметры в строке запроса - query string (смотри секцию инструкции ИСПОЛЬЗОВАНИЕ TBCMSFUT В КАЧЕСТВЕ САМОСТОЯТЕЛЬНОГО ПРИЛОЖЕНИЯ в ПОЛНОМ ОПИСАНИИ PDF).

Наконец, время истечения срока контента может быть установлено в TBCMSUI. Это достигается с помощью консольного приложения (executable) BXCMSSCHEDULER. Его следует установить на сервере генерации контента как "windows task" для периодической проверки наличия контента, промаркированного со сроком истечения. Когда такой контент найден, это приложения посылает HTTP запрос на очистку кэша в соответствующий модуль TBCMSFUT.