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

Объектная модель включает в себя следующие ключевые компоненты:

  • Система типов данных

  • Объекты данных

  • Страницы структуры сайта

  • Базовые типы

Поверх этих компонентов реализованы: системы прав доступа, связывание данных с методами модулей, система поиска, система бэкапов и проч..

Система типов данных

Тип данных — это каркас для создания объектов. Он описывает, какой набор свойств сможет иметь объект, и состоит из групп полей и полей, которые входят в эти группы. Непосредственно у типа есть свойства: название, родитель, базовый тип и набор групп полей. Группа полей это объединенные в определенном порядке поля. Порядок следования групп полей можно изменять, в этом случае у всех объектов этого типа изменится порядок групп свойств.

Поле описывает поведение и тип значения, которое может содержать соответствующее свойство объекта. Например, тип поля строка означает, что в качестве значения свойства может быть использована любая символьная последовательность; поле типа файл означает, что значением может являться только ссылка на файл в локальной файловой системе, и т.д.