Главная > Документация > Архитектура
Архитектура

Система CuteSITE разделена на две части: интерфейс разработки и администрирования веб-сайта и система запуска и генерации страниц сайта.


Система управления структурой

Система управления структурой и разделами является основой создания логической структуры веб-сайта. Имеется возможность создавать, перемещать, копировать и редактировать ветви структуры. Основными узлами структуры являются папки - объекты типа Folder. В CuteSITE объекты разделяются на две категории: контейнерные типы (папка, или пользовательский контейнер) которые могут содержать в себе произвольное число других объектов любого типа, а также объекты, предназначенные для хранения и работы с содержимым, объекты такого типа не могут содержать в себе другие объекты.


Система управления шаблонами

Шаблоны в CuteSITE являются основой работы системы, структура определяет за расположение объектов, шаблоны в свою очередь управляют этими объектами. Шаблоны содержат в себе HTML разметку страниц, при этом имеется возможность динамически генерировать результат работы шаблона. Достигается это путем вставки в шаблоны инструкций на языке PHP. Логика работы шаблонов ограничивается только возможностями языка PHP, таким образом можно сказать, что ограничений как таковых нет.

Производительность работы шаблонов очень высока, определяется скоростью исполнения таких PHP функций как eval() или include().


Система управления объектами

Система управления сайтом CuteSITE обладает продвинутым интерфейсом для работы с объектами сайта, средства добавления, редактирования и удаления объектов, cut-copy-paste и т.п. Здесь можно ознакомится с внешним видом менеджерской части системы.


Система управления пользователями

Управление пользователями в CuteSITE сделало по принципу «пользователь – права доступа». Мы не стали усложнять систему вводом такого понятия как «группы пользователей», потому как, как правило, число пользователей занимающихся созданием и обновлением одного веб-сайта не превышает 2-3 человека. Каждый пользователь получает определенные права доступа, которые ограничивают его в своих действиях: «чтобы-лазил-только-там-где-надо».

Существуют две категории прав пользователя: права на создание/редактирование/удаление объектов каждого из типов, и права на доступ к разделам сайта (path permissions).


Система журналирования
Система CuteSITE имеет средства контроля над изменением и работой веб-сайта. В разделе Control / History ведется запись всех действий осуществляемых пользователями, а также критические ошибки и предупреждения, происходящие при работе сайта.

Система кэширования

Для ускорения генерации страниц сайта и уменьшения нагрузки на сервер, CuteSITE может использовать два уровня кэширования. Первый уровень это кэширование результатов работы шаблонов в базе системы, и, в случае удачного кэширования документа, отдача его клиенту. Второй уровень – кэширование на стороне браузера клиента, которое также управляется системой кэширования, основано на использовании директив HTTP протокола.


Система импорта-экспорта

Система CuteSITE имеет возможность быстрого импорта-экспорта структуры и данных сайта. Результатом импортирования сайта является архив, содержащий все необходимое для ввода развертывания этого сайта в другое время и в другом месте.


Система резервного копирования

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


Система поиска

CuteSITE обладает встроенной системой поиска текстовой информации по объектной структуре сайта, предназначенной для реализации поиска по сайту. Имеется возможность создания нескольких поисковых индексов, что позволит реализовать такую задачу как, к примеру, раздельно искать в: «новостях», «статьях», «по сайту».


Система быстрого редактирования

Это то, что некоторые разработчики систем управления сайтом ставят на первое место, большими буквами: «вы можете редактировать содержимое веб-сайта, просто просматривая его». Ничего особенного, из системы управления сайтом (manage) в структуре сайта находите нужную страницу, заходите по закладке Edit и просматриваете страницу, найдя нужный объект, кликаете по иконке рядом с ним и попадаете на страницу редактирования этого объекта.