Знакомство с системой
XCMS (eXtensible Content Management System) представляет собой CMS нового поколения, основанную на открытых стандартах и семантической сети в качестве модели хранения данных.
XCMS призвана решать следующие задачи:
- Снижение требований к навыкам прикладных разработчиков, существенное сокращение длительности разработки специализированных CMS;
- Стандартизация процессов разработки, вне зависимости от типа проекта;
- Обеспечение легкой интеграции проектов между собой;
- Автоматизация построения структурированных хранилищ данных с семантической разметкой, облегчающей их использование в контексте нескольких проектов одновременно;
- Автоматизация и стандартизация процессов наполнения контентом и сопровождения его мета-данными;
- Возможность наполнения контентом хранилища сразу после построения онтологии (параллельно с разработкой информационной системы до завершения работ)
- Снижение стоимости владения, легкость сопровождения, модификации модели хранилища, бизнес-логики, дизайна пользовательских интерфейсов;
- Обеспечение масштабируемости - от возможности размещения CMS на публичных хостингах до enterprise решений
XCMS не содержит каких-либо решений с фиксированной бизнес-логикой или структурами данных, она лишь дает возможность эффективного их построения. Стандартные приложения на основе XCMS, реализующие типовые задачи, не являются ее частью, а являются решениями, которые создаются прикладными программистами и оформляются в виде законченных решений или готовых видежтов, из которых можно в короткие сроки собрать новый проект.
О концепции - кратко
Специализированную CMS, реализованную на нашей платформе, логически можно разделить на следующие основные компоненты:
- Ядро XCMS
- Приложение (описание онтологии XODL, описание методов генерации документов XCML, описание шаблонов визуализации XSLT, опционально - пользовательские компоненты)
- Хранилище данных (граф)
Формирование хранилища осуществляется по правилам, описанным в онтологии на языке XODL. Ядро генерирует XML документы на основе данных, находящихся в графовом хранилище и по правилам, описанным на языке XCML. Визуалиация документов осуществляется по правилам, описанным на языке XSLT.
Для построения большинства проектов достаточно знания синтаксиса этих XML-описаний.
Наполнение системы контентом доступно сразу после создания формального описания онтологии на языке XODL с помощью автоматически генерируемого пользовательского интерфейса.
XCMS - расширяемая система. Если выразительных средств XCML недостаточно, чтобы построить ваш проект, имеется возможность расширить базовую функциональность системы пользовательскими компонентами на языке PHP. Как правило, пользовательские компоненты выглядят весьма компактными и понятными, поскольку большинство типовых операций уже формализовано и автоматизировано. Доступ к функциональности пользовательских компонентов осуществляется с использованием XCML описаний, которые могут содержать (наряду со стандартными для XCML) специфические для каждого компонента синтаксические конструкции.
Система может эксплуатироваться в различных средах. Сфера ее применения не ограничена только лишь internet-приложениями.
Схематичное выражение концепции XCMS можно рассмотреть на рисунке. Прикладная часть целиком заключена в блоке XCMS Application, остальные блоки являются компонентами XCMS.
Отличительные особенности
Не нужно кодировать редакторский интерфейс, даже если система управления, которую вы разрабатываете, выглядит узко специализированной и не вписывающейся в рамки традиционных подходов к построению веб-сайтов. Интерфейс редактирования генерируется и видоизменяется автоматически "на лету", исходя из простого описания объектов, которыми должна манипулировать система, а так же логики построения взаимосвязей межу ними. Интерфейс редактирования полностью совмещен с пользовательским, что позволяет избежать большинства ошибок и дает однозначное представление о последствиях тех или иных действий редактора.
Не нужно делать прямых запросов к SQL! Типовые документы генерируются системой автоматически в соответствии с мета-информацией, находящейся в структурированном хранилище и логикой, описываемой на простом XML-языке. Нет необходимости разрабатывать структуры данных в реляционном виде и создавать прямые запросы к SQL базе - система конструирует запросы автоматически. Попутно решается задача стандартизации подхода к хранению данных и снижения уровня требований к навыкам разработчиков. Даже компоненты, выполненные на языке PHP, не содержат прямых SQL запросов и дают возможность эффективно работать с объектами графового хранилища.
Для разработки шаблонов визуализации не нужно изучать какой-либо нестандартный язык - визуализация осуществляется с помощью стандартного XSLT преобразования. Разумеется, можно применять мощный инструментарий для разработки шаблонов XSLT, поставляемый сторонними независимыми разработчиками.
Развертывание системы возможно в условиях стандартного хостинга при соблюдении минимальных требований, которым отвечает большинство современных хостинговых компаний. Если Вы разрабатываете масштабный проект, систему можно развернуть на нескольких серверах, обечпечивая требуемую нагрузочную способность.
Развитие и сопровождение любого проекта, выполненного даже сторонними разработчиками на основе XCMS, не вызовет трудностей, поскольку процесс производства укалдывается в строгие рамки, диктуемые идеологией построения системы.
Библиотека виджетов позволяет быстро собрать проект из элементов, реализующих типовую функциональность. Виджеты поставляются как в составе CMS, так и сторонними производителями.

