- Основные понятия
- Основы функционирования
- Схема организации прав доступа к настройке и информационному заполнению сайта через бэк-офис и просмотру его через фронт-офис
- Требования по совместимости
- Обеспечиваемая производительность и надёжность системы
- Требования к безопасности данных
- Концептуальный дизайн
- Применяемые элементы и средства графики и анимации
- Настройки экрана
Основные понятия
Объектная модель. В основе программирования системы “Scrofa Magna” лежит объектно-ориентированный подход. Несмотря на то, что MS SQL Server не является объектной базой, нам удалось создать стройную систему хранения данных разных типов в виде объектов в базе данных и использовать плюсы, предоставляемые этим подходом.
Система состоит из ядра, модулей, интерфейсов настройки, сервисных функций.
Организация системы прав доступа. Существует широкий спектр возможностей организации прав доступа и удобные интерфейсы для управления ими. Система построена на основе атомарных прав. Часть из этих прав относится к объектам (права на добавление, изменение, публикацию и пр.), а часть к администрированию системы (администрирование групп, изменение шаблонов и пр.). Для удобства использования введено понятие роли — определенная комбинация атомарных прав.
Любой пользователь системы может входить в несколько групп. Каждой группе поставлена в соответствие определенная роль. Кроме того, для выбранной группы можно для данной страницы сайта поставить другую роль, например, на всех страницах — корреспондент, а на странице с новостями фирмы — редактор. Возможна настройка прав доступа к отдельным объектам и даже частям объекта. Например, в Интернет-магазине товар имеют право редактировать менеджеры, а устанавливать на него цену может только администратор.
Ядро заведует определением прав доступа, подключением модулей к страницам и выбором шаблонов страниц и модулей.
Модули занимаются обработкой и отображением информации данного типа на страницах сайта (говоря языком программистов, это методы). Каждый модуль имеет в виде данных объекты определённых типов. Например, в Интернет-магазине это товары, а в новостях — это отдельные новости. Подробный список модулей можно посмотреть ниже.
Обработчики. У многих модулей есть несколько вариантов отображения и функционирования во фронт-офисе. Например, для модуля файл (любой файл допустимого типа, присланный на сервер и внесённый в базу данных) есть обработчик, показывающий фотографии в виде фотоальбома, а есть обработчик, показывающий изображения в виде рекламных баннеров. Это позволяет добиться большой гибкости и упростить программирование при сохранении небольшого числа классов.
Параметры. У многих модулей есть настройки, реализуемые через бэк-офис. Эти настройки задают особенности внешнего вида и алгоритмов функционирования. Например, в модуле «Новости» при помощи настройки задаётся, где будет отображаться подробный текст новости — в том же окне, или в новом. Для магазина существует метод заказа товара, вид навигации по каталогу товаров и др. В результате многие настройки, которые в других аналогичных продуктах производятся только вручную, путём изменения программного кода специалистом, у нас можно произвести средствами бэк-офиса.
Дополнительные интерфейсы. Кроме того, в бэк-офисе имеются интерфейсы, предназначенные для настройки прав доступа, групп пользователей, шаблонов и модулей, параметров и обработчиков для типов объектов — для настройки режимов функционирования и реализации сервисных функций. В состав бэк-офиса включена мощная система рассылки писем по группам адресов.
Шаблоны страниц. HTML-страницы, содержащие дизайн сайта, но без конкретного информационного наполнения. В каждом шаблоне задаются Области отображения (далее ОО) — это области на шаблоне, куда выводится HTML-код с результатами работы модулей, имеющих в качестве области вывода данную ОО.
Рубрикатор сайта. Выступает в конструкторе в двух ипостасях:
В виде логической оси, на которую нанизаны все страницы сайта. Их свойства (права доступа к странице, шаблон дизайна) зависят от рубрики и в этой связи обрабатываются ядром системы.
В виде отдельного модуля, который отвечает за отображение и алгоритмы работы визуального представления рубрикатора — системы навигации по сайту.
В базе данных рубрикатор соответствует таблице, реализующей тип «Дерево».
Для каждой страницы сайта можно задать:
- Название страницы.
- Шаблон дизайна страницы.
- Права доступа к этой странице и допустимые действия на этой странице каждой группы пользователей. Если этот параметр для данной страницы не задан, то берутся значения по умолчанию.
- Допустимые к отображению модули и местоположение на странице результатов их работы.
- Всевозможные параметры страницы, необходимые для прописки в поисковых системах (title, keyword и пр.).
Портальная модель обмена информацией. На одной базе данных можно сделать неограниченное число сайтов, при этом, в зависимости от прав доступа, эти сайты могут быть либо полностью независимы, либо иметь банк для обмена информацией. При разрешённом обмене менеджер одного сайта может выбрать некоторые объекты со своего сайта и положить в банк. Менеджер другого сайта, зайдя в банк, может взять из банка либо ссылку на объект, либо скопировать его себе. Для осуществления внутрипортального обмена информацией существует специальная служба сообщений для менеджеров сайта, автоматически отслеживающая изменения исходных объектов, а также добавление и удаление объектов в банк. С помощью этой системы можно легко организовать обмен баннерами, новостями, приглашениями и пр.
Кроме того, можно настроить общую базу зарегистрированных посетителей для некоторых (или всех) сайтов, входящих в портал. Т.е., посетитель, регистрируясь на одном сайте, получает возможность заходить и на другие сайты под данным аккаунтом.
Персонализация информации. Для любой (или всех) страниц сайта можно задать признак — персонализация информации. В этом случае посетитель, зайдя на страницу, увидит информацию, предназначенную лично ему, если таковая была введена.
Основы функционирования
Рассмотрим процесс функционирования системы с момента поступления в ядро запроса на отображение страницы во фронт-офисе.
Определяется, авторизован ли данный посетитель, и имеет ли он права на просмотр данной страницы. Если таких прав нет — пользователю предлагается либо заполнить форму авторизации, либо выдаётся сообщение о недостаточности прав данной авторизации.
Определяется, какой шаблон соответствует данной странице.
Определяется количество областей отображения, и для каждой из них — список модулей, выводящих результаты работы в данную область отображения.
Вызывается каждый из модулей с установленным для этой страницы обработчиком и передачей соответствующих прав и параметров.
Каждый модуль определяет список объектов, которые необходимо вывести (в зависимости от прав доступа и настроек), особенности отображения и алгоритмов функционирования модуля.
Результаты работы каждого модуля в виде XML-кода передаются для преобразования соответствующим XSLt-шаблоном в XHTML-код.
Результирующий XHTML-код выводится в соответствующую область отображения.
Компонуется результирующая страница и передаётся запросившему клиенту.
Подробную информацию о методах управления сайтом с помощью системы “Scrofa Magna” можно получить из инструкции по системе и в обучающих видеоматериалах, предоставляемой заказчику при обучении.
Схема организации прав доступа к настройке и информационному заполнению сайта через бэк-офис и просмотру его через фронт-офис
Права в бэк-офисе предоставляются пользователю или группе не напрямую, а путём отведения ему определённой роли, которая составлена из атомарных прав.
Заранее определен следующий список ролей:
Название категории | Права по умолчанию | |
---|---|---|
Бэк-офис | Фронт-офис | |
Посетитель | Нет доступа | Общие права |
Зарегистрированный посетитель | Нет доступа | Общие права + доступ к персональным разделам |
Корреспондент | Ввод информации, редактирование своих записей | Общие права + доступ к персональным разделам |
Редактор | Ввод информации, редактирование всех записей | Общие права + доступ к персональным разделам |
Выпускающий редактор | Ввод информации, редактирование всех записей, размещение информации на сайте | Общие права + доступ к персональным разделам |
Менеджер | Ввод информации, редактирование всех записей, размещение информации, определение некоторых настроек функций. Создание новых пользователей с правами до менеджера. Факультативно — изменение рубрикатора. | Полный доступ |
Администратор | То же, что и менеджер + определение всех настроек, связанных с шаблонами и установками прав доступа | Полный доступ |
Программист | То же, что и администратор + добавление модулей и шаблонов | Полный доступ |
При необходимости список может быть расширен путем добавлением промежуточных значений, и права уже существующих ролей могут быть изменены.
Каждая из ролей собирается из комбинации элементарных прав. Список основных элементарных прав:
- Прочитать свою запись
- Прочитать любую запись
- Создать запись
- Изменить свою запись
- Редактировать любую запись
- Удалить свою запись
- Удалить любую запись
- Разрешить публикацию записи на сайте
- Блокировка объекта для изменений
- Оповещение по объекту
- Установка и изменение прав на объект
- Установка функции в раздел
- Редактирование рубрикатора сайта
- Редактирование шаблонов
- Управление опциями и настройками
- Управление пользователями
- Управление группами пользователей
- Редактирование ролей
Каждому пользователю сайта предоставляется одна из ролей. Пользователь может входить в произвольное число групп, права которых также определяются ролями. Выбранной группе пользователей или отдельному пользователю можно предоставить индивидуальные права доступа к данной странице или объекту. Например: по всему сайту — корреспондент, а в новостях отрасли — редактор.
Требования по совместимости
Аппаратное и программное обеспечение сервера должно гарантировать надёжную и устойчивую работу сайта и доступ посетителей к разделам и материалам в соответствии с теми правами доступа, которые владелец сайта определяет для различных групп пользователей. Конкретные средства организации серверной части сайта определяются провайдером хостинга.
Аппаратное и программное обеспечение клиентских мест посетителя и администратора сайта должны удовлетворять перечисленным ниже требованиям по совместимости.
Серверная часть
Аппаратные требования
Оптимально использование отдельных машин для сервера баз данных и web-сервера. Использование отдельного компьютера для обеспечения фильтрации пакетов и пр. выходит за рамки данного документа, хотя и является желательным для обеспечения безопасной работы системы.
Минимальные требования:
- Web-сервер: процессор Pentium III или Athlon с тактовой частотой 1000 MHz, память 512 Mb, жёсткий диск 5 Gb.
- Сервер баз данных: двухпроцессорная MB, 2 процессора Pentium III или Atlon с тактовой частотой 750 MHz, память 512 Mb, жёсткий диск 20 Gb 7200 rpm.
Минимально необходимое программное обеспечение
- Операционная система: Windows 2003 + необходимые патчи (заплатки), список которых определяется по рекомендациям Microsoft.
- Web-сервер IIS версии 6.0 + необходимые патчи (заплатки), список которых определяется по рекомендациям Microsoft.
- Система Управления Базой Данных MS SQL Server 2000+ SP4 (или 2005) + необходимые патчи (заплатки), список которых определяется по рекомендациям Microsoft.
Рекомендуется иметь два компьютера — на одном запускать web-сервер, а на другом Систему Управления Базой Данных при наличии на хостинге более 50 сайтов.
Очевидно, требования к аппаратной и программной части достаточно невысокие. Реально стоящее на нашем хостинге оборудование, конечно же, во много раз мощнее и современнее. Оно отвечает самым высоким стандартам надёжности и качества.
Клиентская часть
Бэк-офис (интерфейс менеджера сайта)
Аппаратное и программное обеспечение клиентского места администратора сайта (какой технической базой должен обладать администратор сайта для просмотра, изменения информации, изменения настроек, добавления разделов и других видов работ по администрированию сайта).
Аппаратное обеспечение
- Компьютер: IBM-PC-совместимый, минимальная конфигурация: Pentium III-600, 512 Mb RAM.
- Аппаратура подключения к Интернету: скорость не менее 28 800 бит/с. Желательна выделенная линия.
- Дополнительные аппаратные средства: не требуются.
Программное обеспечение
- Операционная система: любая, поддерживающая необходимый интернет-браузер, Java-скрипты и Cookie-файлы.
- Интернет-браузер: любой, в достаточной мере отвечающий стандартам W3C (например, Firefox, Opera, Safari и т.д., современных версий), или Microsoft Internet Explorer версии 7.0 и выше.
- Дополнительное ПО: графические редакторы, поддерживающие форматы GIF и JPEG; Word, Excel.
Фронт-офис (интерфейс посетителя сайта)
Аппаратное и программное обеспечение клиентского места посетителя (какой технической базой должен обладать посетитель сайта для просмотра информации и пользования функциональными возможностями).
Аппаратное обеспечение
- Компьютер: любой, поддерживающий необходимый интернет-браузер.
- Аппаратура доступа в Интернет: без ограничений по скорости.
- Дополнительные аппаратные средства: не требуются.
Программное обеспечение
- Операционная система: любая, поддерживающая необходимый интернет-браузер, Java-скрипты и Cookie-файлы.
- Интернет-браузер: любой, в достаточной мере отвечающий стандартам W3C (например, Firefox, Opera, Safari и т.д., современных версий), или Microsoft Internet Explorer версии 6.0 и выше.
- Дополнительное ПО: не требуется.
Обеспечиваемая производительность и надёжность системы
В таблице приведён перечень основных характеристик быстродействия и надежности , а также их максимальные значения, которые гарантируются системой, при условии ее размещения на нашем хостинге.
Характеристика | Значение |
---|---|
Количество посетителей в сутки не менее | 10 000 |
Количество просмотров страниц в сутки не менее | 50 000 |
Количество посетителей одновременно не менее | 500 |
Скорость скачивания информации не менее | 2 000 бит/с |
Время формирования страницы не более | 10 сек. |
Время формирования страницы среднее | 1 сек. |
Максимальное время простоя сервера на профилактике в неделю | 20 мин. |
Требования к безопасности данных
Все материалы для сайта сохраняются в базе данных. Архивирование сайта вместе с базой данных производится раз в неделю системным администратором компании хостинг-провайдера. Архивы хранятся у провайдера в течение 1 года.
Доступ к менеджерскому интерфейсу сайта, позволяющему изменять информацию на сайте, осуществляется только после ввода логина и пароля.
Управление доступом посетителей к материалам и разделам (структуре) сайта осуществляется с помощью системных средств управления доступом сервера в соответствии с теми правами доступа, которые владелец сайта определяет для различных групп пользователей.
По всем запросам к материалам и разделам сайта ведётся системный протокол, доступный для просмотра только системным администраторам провайдера. Доступ к просмотру протокола третьих лиц не предполагается политикой безопасности провайдера. Заказчик может представить мотивированный запрос на просмотр сводки посещений, составляемой на основе протокола.
Устойчивость системы обеспечивается аппаратно-программными средствами провайдера на системном уровне, и не подлежит описанию в настоящем документе.
Базы данных хранятся на отдельной машине, доступ к которой из Интернета закрыт. Работа с базой данных идёт только через код программы. Наиболее важные запросы выполняются в виде хранимых процедур.
Для каждой записи хранятся следующие характеристики:
- Кто ввёл
- Когда введено
- Кем изменено
- Когда изменено
Эти меры позволяют отслеживать изменения на сайте.
Концептуальный дизайн
Сайт создаётся в расчёте на минимальное разрешение монитора 1024 x 768. Основные решения по размещению и реализации графических и иных визуальных элементов определяются в соответствии с концепт-макетом.
Применяемые элементы и средства графики и анимации
Применяется графика в форматах PNG, JPEG, GIF. На последующих этапах может применяться технология Flash. Звуковое оформление отсутствует.
Настройки экрана
Фронт-офис | Бэк-офис | |
---|---|---|
Рекомендуемое разрешение экрана (наиболее комфортная работа) | 1024 x 768 | 1280 x 1024 |
Минимальное разрешение экрана | 800 x 600 | 1024 x 768 |