Знакомство с Cairo

Cairo — система управления структурированным контентом, ориентированная на профессиональных веб-разработчиков. Основная задача Cairo — организация работы со структурированным контентом в рамках единого объектно-ориентированного подхода. При таком подходе разнородные данные представляются в виде связанных друг с другом объектов. Каждый объект относится к определенному типу. В качестве примеров можно привести такие типы объектов как: «Новость», «Статья», «Категория каталога» «Товар» и т.д. Разработчик самостоятельно решает, какие типы объектов ему необходимы для конкретного веб-ресурса.

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

На кого ориентирована Cairo

В то время как многие продукты предлагают решить задачу создания сайта собственными силами (либо силами IT-отдела организации), платформа Cairo предназначена для профессионалов. Использование Cairo позволяет разработчикам получить качественный результат, укладываясь в поставленные сроки.

В каких случаях применение Cairo будет эффективным

Функциональные возможности продукта могут быть эффективно использованы при реализации проектов различного масштаба и степени сложности: от корпоративных сайтов и интернет-магазинов до внутренних информационных ресурсов организации.

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

В качестве примера можно привести сайт туристического агентства. На сайте оперативно обновляется информация о турах, присутствует каталог гостиниц, данные об авиаперелетах. При детальном анализе можно выделить более 10 типов объектов связанных друг с другом: «Страна», «Курорт», «Отель», «Номер отеля», «Категория каталога туров», «Тур», «Авиаперелет», «Новость», «Туристу на заметку» и т.д. По количеству типов объектов можно сделать вывод о целесообразности применения Cairo при реализации указанного веб-ресурса.

Схема главной страницы сайта туристического агентства

На примере схематично изображен вывод структурированного контента на главной странице сайта туристического агентства.

Подходы к управлению структурированным контентом

Существует два подхода к работе со структурированным контентом: «модульный» и «универсальный».

Распространенный подход к управлению структурированным контентом основан на «контентных модулях» (отсюда название — «модульный»). При таком подходе отдельный модуль отвечает за определенный тип контента, например: «Новости», «Каталог товаров», «Файловый архив» и т.п. Устройством модуля строго определено, какие параметры имеет новость, статья, товар, категория каталога, а также то, каким образом эти объекты связаны друг с другом. Совокупность таких модулей является набором готовых решений, ориентированных на стандартные ситуации. Если потребности веб-разработчика выходят за рамки стандартной ситуации, ему предлагается решить задачу самостоятельно — написать собственный модуль, или модифицировать существующий. Поэтому, при использовании модульного подхода разработчик решает поставленную перед ним задачу в той степени, в которой она соответствует имеющемуся в его распоряжении набору модулей.

Альтернативой модульному подходу является универсальный подход к управлению структурированным контентом сайта. Такой подход используется в Cairo. Он предполагает представление данных в виде множество объектов разного типа. Каждый такой объект имеет набор параметров, соответствующий его типу. Объекты могут быть связаны друг с другом согласно установленными правилам. При этом универсальный интерфейс администратора позволяет управлять объектами любого типа и связями между ними.

Структурированный контент в виде связанных объектов Cairo

Набор типов объектов и возможные связи между ними зависят от каждого конкретного сайта. В виде объектов может быть представлен контент таких типичных разделов как «Каталог товаров», «Новости», «Гостевая книга» и прочие.

Распространенные примеры структурированного контента

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

Cairo состоит из трех ключевых компонент:

  • Cairo API — набор библиотек функций, классов и утилит, обеспечивающих взаимодействие веб-приложения со структурой данных Cairo.
  • Веб-интерфейс администратора Cairo обеспечивает управление данными и правами доступа к данным; структурой данных; пользователями и группами пользователей ресурса; справочниками и связями справочников. Кроме того, в рамках единого веб-интерфейса реализован доступ к утилитам, например, к утилите импорта данных.
  • Cairo Framework — набор вспомогательных средств веб-разработчика.
Архитектура Cairo Архитектура Cairo

Данные в Cairo организованы по ресурсам. Ресурс данных это три составляющие: данные, структура данных, пользователи и группы, которые работают с данными. Под управлением одного экземпляра системы может функционировать несколько ресурсов данных.

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