Nebo group
Главная Главная Карта сайта Карта сайта
НовостиСобытияКупитьCMS MorexПортфолиоВакансии
ice
Бесплатно
Функциональная схема системы
Концепция системы
Описание модуля управления
Краткое руководство
Требования к хостингу сайтов, разработанного на CMS Morex

Балкум
Кухни «Свой Проект»
Волга-НН
Юта-НН
ТрансТелеКом-НН
Валентин. Сеть магазинов.
Купи в НН.
Dental Studio. Дизайн сайта.
Все работы
Балкум
Вход для пользователей
Регистрация
Веб-сайт Веб-сайт
Обслуживание проектов Обслуживание проектов
Дизайн Дизайн
Презентацию Презентацию
Главная / CMS Morex / Концепция системы
Концепция системы

Иерархия объектов
Система представляет из себя древовидную иерархию объектов с единственным корнем.

Любой объект имеет уникальный идентификатор и должен быть доступен по адресу: http://<адрес сайта>/?id=<идентификатор объекта>

Каждый объект сайта имеет одного и только одного «родителя» и может иметь бесконечное количество «дочерних» объектов.

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

Классы
Каждый объект принадлежит определенному классу и реализует определенную функциональность, присущую этому классу.

Принадлежность объекта к какому-либо классу напрямую не связана со значением его атрибутов и параметров.

Классы также являются объектами сайта.

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

Параметры также являются объектами сайта.

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

Система позволяет создавать связи между объектами дополнительно к связям «предок» — «потомки». Это могут быть связи типа 1:n и типа m:n. Система автоматически отслеживает целостность этих связей.

Разделение логики и визуализации
Система должна позволять разделять логику обработки информации от ее представления настолько, насколько это возможно.

Низкоуровневую часть(поддержка целостности, основные операции над объектами и деревом) берет на себя ядро системы;

Бизнес-логика должна быть реализована пользовательскими классами;

Вся работа по визуализации выполняется системой шаблонов;

Универсальный административный интерфейс для всех типов объектов

Административный интерфейс системы должен позволять производить изменения структуры и логики работы проекта.

Фактически, все изменения выполняются с помощью 4-х основных действий над объектами дерева(копирование, изменение, удаление, перемещение).

С точки зрения интерфейса не должно быть большой разницы в редактировании объекта класса «пользователь» или объекта класса «статья».

Принцип универсального административного интерфейса не должен исключать возможности подстройки внешнего вида форм и логики изменения для различных типов объектов.

Три уровня реализации
В системе есть три различных уровня реализации специфичной для проекта логики:

  • Добавление в проект новых классов
  • Создание новых параметров
  • Расширение набора типов параметров

Разделение доступа к объектам
Система изначально поддерживает многопользовательский режим; различные пользователи могут иметь разные права в разных разделах сайта.

Основной принцип системы разделения прав доступа — никто и никогда не должен иметь возможность совершить действие, на которое у него нет прав.

Пользователь может быть включен в одну или несколько групп.

Все объекты имеют параметр «владелец» — т.е. пользователь «владеющий» этим объектом.

На объект задаются права доступа отдельно для каждой группы пользователей.

Cуществует 4 типа доступа — чтение, изменение, добавление и удаление.

У каждого объекта есть параметр «права доступа», представляющий собой матрицу c 4 столбцами и N строками, где N - количество групп пользователей в проекте.

Пользователь имеет право читать(изменять, добавлять дочерние, удалять) объект, если он включен хотя-бы в одну из групп, у которой есть право на чтение(изменение, удаление, добавление) для этого объекта, или он является владельцем объекта.

При старте системы определяется всегда определяется текущий пользователь, если пользователь неавторизован, то считается, что это «nobody» — «посетитель», включенный только в одну группу «nogroup» — «посетители».

Пользователи и группы пользователей также являются объектами дерева проекта.

Разделение доступа к параметрам объекта
Кроме контроля доступа к объектам, в системе поддерживается механизм разделения прав доступа на уровне параметров. Это означает, можно задать режим изменения любого параметра для каждой группы пользователей отдельно.
Пользователь имеет право читать(изменять, добавлять, удалять) параметр в объекте, если он включен хотя-бы в одну из групп, у которой есть право на чтение(изменение, удаление, добавление) для этого параметра.

Портал «Западная Россия» Зеленый город Вист Корпорация F1 Союз Правых Сил
© NeboGroup 2007
info@nebo-group.com