Самая важная часть системы это ее объектная модель, на которой построено все взаимодействие с базой данных. Основная задача объектной системы состоит в предоставлении унифицированного, БД-независимого уровня абстракции, который позволит конечному пользователю расширять структуры данных, а разработчикам предоставит прозрачный интерфейс для взаимодействия с этими структурами.
Объектная модель включает в себя следующие ключевые компоненты:
-
Система типов данных
-
Объекты данных
-
Страницы структуры сайта
-
Базовые типы
Поверх этих компонентов реализованы: системы прав доступа, связывание данных с методами модулей, система поиска, система бэкапов и проч..
Тип данных — это каркас для создания объектов. Он описывает, какой набор свойств сможет иметь объект, и состоит из групп полей и полей, которые входят в эти группы. Непосредственно у типа есть свойства: название, родитель, базовый тип и набор групп полей. Группа полей это объединенные в определенном порядке поля. Порядок следования групп полей можно изменять, в этом случае у всех объектов этого типа изменится порядок групп свойств.
Поле описывает поведение и тип значения, которое может содержать соответствующее свойство объекта. Например, тип поля строка означает, что в качестве значения свойства может быть использована любая символьная последовательность; поле типа файл означает, что значением может являться только ссылка на файл в локальной файловой системе, и т.д.