Saitistika 4.0.Руководство разработчика.2005
.pdfДанные о документе
Предназначение: техническая документация Последнее изменение: 14 апреля 2005 г.
Конфиденциальность
Поставляется в составе дистрибутива
Saitistika 4.0.
Руководство разработчика.
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
1 из 1 |
|
|
Оглавление |
|
Оглавление...................................................................................................................................................................................... |
2 |
Общие положения........................................................................................................................................................................... |
4 |
Архитектура системы ..................................................................................................................................................................... |
5 |
Базовые понятия, уровни ............................................................................................................................................................ |
5 |
Работа нескольких копий системы ............................................................................................................................................. |
7 |
Доменная структура.................................................................................................................................................................... |
8 |
Директорно-файловая структура................................................................................................................................................ |
9 |
Ключевые сущности системы................................................................................................................................................... |
11 |
Объектная модель ..................................................................................................................................................................... |
13 |
База данных................................................................................................................................................................................... |
18 |
Общие принципы ...................................................................................................................................................................... |
18 |
Бэкофис......................................................................................................................................................................................... |
19 |
Общие принципы ...................................................................................................................................................................... |
19 |
Интерфейс................................................................................................................................................................................. |
21 |
Фронтофис .................................................................................................................................................................................... |
32 |
Общие принципы ...................................................................................................................................................................... |
32 |
Структура HTML ...................................................................................................................................................................... |
34 |
Структура CSS .......................................................................................................................................................................... |
37 |
Навигация.................................................................................................................................................................................. |
39 |
Быстрое освоение системы........................................................................................................................................................... |
41 |
Создание нового фронтофиса................................................................................................................................................... |
42 |
Разработка нового модуля ........................................................................................................................................................ |
61 |
Перевод фронтофиса на другие языки ..................................................................................................................................... |
62 |
Подсистемы .................................................................................................................................................................................. |
64 |
Подсистема управления структурой......................................................................................................................................... |
64 |
Подсистема управления шаблонами ........................................................................................................................................ |
70 |
Подсистема управления пользователями ................................................................................................................................. |
73 |
Подсистема регистрации и авторизации .................................................................................................................................. |
77 |
Подсистема персонализации .................................................................................................................................................... |
80 |
Подсистема прав доступа ......................................................................................................................................................... |
82 |
Подсистема безопасности......................................................................................................................................................... |
85 |
Подсистема журналирования ................................................................................................................................................... |
88 |
Подсистема статистики............................................................................................................................................................. |
95 |
Подсистема кэширования ......................................................................................................................................................... |
98 |
Подсистема обработки ошибок ............................................................................................................................................... |
100 |
Подсистема поиска .................................................................................................................................................................. |
101 |
Подсистема конфигурирования............................................................................................................................................... |
103 |
Подсистема Workflow.............................................................................................................................................................. |
108 |
Подсистема быстрого редактирования.................................................................................................................................... |
112 |
Контентные модули..................................................................................................................................................................... |
115 |
Новости .................................................................................................................................................................................... |
115 |
Контент .................................................................................................................................................................................... |
119 |
Буклет....................................................................................................................................................................................... |
125 |
Интерактивные модули ............................................................................................................................................................... |
127 |
Голосования ............................................................................................................................................................................. |
127 |
Форумы .................................................................................................................................................................................... |
130 |
Чаты ......................................................................................................................................................................................... |
133 |
Тесты........................................................................................................................................................................................ |
138 |
Формы ...................................................................................................................................................................................... |
142 |
Списки рассылки...................................................................................................................................................................... |
147 |
Баннерная система ................................................................................................................................................................... |
155 |
e-Business ..................................................................................................................................................................................... |
161 |
Задачи....................................................................................................................................................................................... |
161 |
Проекты.................................................................................................................................................................................... |
167 |
Магазин.................................................................................................................................................................................... |
170 |
Классы, функции и хранимые процедуры................................................................................................................................... |
180 |
Общие правила по работе с классами и функциями ............................................................................................................... |
180 |
Справочник классов................................................................................................................................................................. |
181 |
Справочник функций............................................................................................................................................................... |
253 |
Справочник хранимых процедур............................................................................................................................................. |
261 |
Системные компоненты и внешние модули ............................................................................................................................... |
267 |
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
2 из 2 |
Визуальный редактор............................................................................................................................................................... |
267 |
Загрузчик изображений для визуального редактора............................................................................................................... |
268 |
Программа установки .............................................................................................................................................................. |
269 |
Обработчик MAE ..................................................................................................................................................................... |
272 |
Загрузчик мультипартовых форм ............................................................................................................................................ |
273 |
Компонент отображения картинок из базы данных................................................................................................................ |
277 |
Компонент интеграции с Windows Task Scheduler.................................................................................................................. |
278 |
ISAPI-расширение для доступа к файлам................................................................................................................................ |
281 |
Несистематизированные наработки ............................................................................................................................................ |
283 |
Импорт данных ........................................................................................................................................................................ |
284 |
Глобальная замена контента в БД ........................................................................................................................................... |
296 |
Процедуры ............................................................................................................................................................................... |
298 |
Функции и приемы .................................................................................................................................................................. |
300 |
Глоссарий..................................................................................................................................................................................... |
302 |
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
3 из 3 |
|
|
Общие положения
Руководство предназначено как для разработчиков компании-производителя Saitistika, так и для конечных Покупателей системы. Однако принцип использования документа для этих категорий пользователей может отличаться на основании «Лицензионного соглашения» к продукту Saitistika.
Стиль и сложность описания рассчитаны на программиста с опытом разработки веб-систем на платформе Windows/IIS/SQL не менее 1 года.
Для более наглядного описания в некоторых местах используется вымышленный проект «Project». Поэтому, применять названия путей, переменных и т.п. следует с соответствующими исправлениями относительно Вашего проекта.
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
4 из 4 |
|
|
Архитектура системы
Архитектура системы описывает общие принципы работы и демонстрирует основные компоненты и составляющие системы.
Базовые понятия, уровни
Сайты, работающие на Saitistika состоят из трех взаимосвязанных частей:
1.База Данных (БД, Database)
2.Бэкофис (Интерфейс управления, BackOffice)
3.Фронтофис (Внешнее представление веб-системы, FrontOffice)
Рисунок 1. Уровни системы
База Данных
Для разработчика ключевым элементом в этой схеме является база данных. В ней сходятся все запросы и потоки данных со всех составляющих системы. В базе данных хранится структура и материалы сайта, а также служебная информация, необходимая для работы системы. Информация попадает в БД через бэкофис (а также частично через фронтофис), там она накапливается и обрабатывается, и затем при помощи фронтофиса доставляется пользователям. База данных – единая для всех веб-сайтов, работающих под управлением одной копии Saitistika.
Бэкофис
Основной инструмент администраторов и операторов всех типов веб-системы. Представляет собой веб-сайт, доступ к которому осуществляется через браузер Internet Explorer. Все операции, которые осуществляются через бэкофис, визуализированы в виде веб-форм на веб-страницах. Бэкофис, как правило, является неизменным как по своей структуре и функционалу, так и по внешнему виду. Эволюционирует от версии к версии, не претерпевая при этом коренных изменений.
Основные функции бэкофиса:
1.Изменения структуры или информационного наполнения сайта
2.Работа с темами (шаблонами)
3.Модерирование интерактивов всех типов
4.Управление пользователями
Бэкофис по результатам действий пользователей:
1.Изменения в БД
2.Изменения в файловой структуре.
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
5 из 5 |
|
|
В файловой структуре хранятся большие объемы информации, которые с различных точек зрения (исторически сложившихся традиций, совместимости, производительности и т.п.) разумнее хранить в виде файлов. К такой информации относятся изображения, файлы, присоединенные к объектам системы, файлы, загруженные пользователями фронтофиса, и т.п.
Фронтофис
По сути своей представляет внешнее представление веб-сайта, предназначенное для целевой аудитории пользователей. Под управлением одной копии системы может работать несколько веб-сайтов (несколько фронтофисов на один бэкофис), каждый из которых должен располагаться на отдельном домене. Каждый веб-сайт работает с одной и той же БД, но со своим набором шаблонов, которые обеспечивают вывод структуры и содержания в определенном дизайне, с уникальной логикой отображения и взаимодействия страниц и т.п.
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
6 из 6 |
|
|
Работа нескольких копий системы
На одной физической машине могут присутствовать несколько копий Saitistika (или несколько ее фрагментов). При этом соответствующие уровни (например, «База данных») могут работать в рамках одной копии сервера (MS SQL Server).
Рисунок 2. Работа нескольких копий системы
Веб-сайты и базы данных разных копий Saitistika с точки зрения IIS и SQL Server между собой равнозначны и не зависят друг от друга.
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
7 из 7 |
|
|
Доменная структура
Домены системы делятся на 3 группы:
1.Домен бэкофиса (всегда 1)
2.Домены фронтофисов (1 или несколько)
3.Домены отладочных версий сайтов (по 1 на каждый домен фронтофиса)
Рисунок 3. Схема логической организации доменов
Названия доменов внутри каждой группы и между группами никак не зависят друг от друга. Использование приставки «satistika.» к началу домена для обозначения фронтофиса является лишь рекомендацией для общей унификации, но не требованием.
Технически каждый домен может иметь несколько алиасов, но при организации связей между доменами (например, генерации ссылки на страницы фронтофисов из бэкофиса) для каждого сервера используется 1 конкретный домен.
На практике домены отладочных версий фронтофисов используются редко (см. описание «Подсистемы управления шаблонами»).
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
8 из 8 |
|
|
Директорно-файловая структура
Для каждого домена (как бэкофиса, так и фронтофисов) существует своя корневая физическая директория. Эти директории не являются вложенными.
Рисунок 4. Схема структуры файлов системы
Описание
1.Значительная часть файлов является общей (например, картинки одного материала могут выводиться на нескольких доменах, если материал опубликован сразу на нескольких фронтофисах)
2.На практике 90-99% общего объема файлов сосредоточена в «Общих файлах»
3.Для того, чтобы общие файлы не храниться по несколько раз, все они хранятся только в директорной структуре бэкофиса, а на фронтофисах средствами IIS созданы виртуальные директории, ссылающиеся на соответствующие директории бэкофиса.
Таким образом, например, одна и та же физическая картинка материала для системы из N фронтофисов имеет (N+1) http- адресов:
http://saitistika.project.ru/common/data/pub/images/articles/1456/122.gif http://www.project.ru/common/data/pub/images/articles/1456/122.gif http://www.project2.ru/common/data/pub/images/articles/1456/122.gif
…
Описание директорий
Бэкофис
|
Директория |
|
Описание |
|
|
/ |
|
Корневая папка бэкофиса. |
|
|
/aspscripts/ |
|
ASP-скрипты и XSL-шаблоны интерфейса управления функциональностями |
|
|
|
|
Saitistika. |
|
|
/common/ |
|
Общая директория для бэкофиса и фронтофисов. Подробное описание см. ниже. |
|
|
/auth/ |
|
Файлы NTLM аутентификации. |
|
|
/config/ |
|
Общие конфигурационные файлы. |
|
|
/data/ |
|
Данные, которые управляются из бэкофиса и используются во фронтофисе. |
|
|
/PreviewThemes/ |
|
Темы для предварительного просмотра. |
|
|
/pub/ |
|
Данные, которые должны возвращаться при непосредственном запросе от |
|
|
|
|
браузера. Например, баннеры. Там же хранятся файлы, загружаемые |
|
|
|
|
пользователем. |
|
|
/Themes/ |
|
Темы (шаблоны). |
|
|
|
|
|
|
|
|
Copyright © 2005 Individ company |
Страница |
|
|
|
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
9 из 9 |
/include/ |
|
|
Файлы с общими функциями. |
/scripts/ |
|
|
Общие скрипты для всех фронтофисов |
/Configurator/ |
|
|
Системная функциональность «Конфигуратор». |
/errors/ |
|
|
Страницы ошибок, настраиваемые в IIS |
/images/ |
|
|
Здесь хранятся картинки для «Визуального Редактора». |
/include/ |
|
|
Файлы с общими функциями бэкофиса. |
/ISAPI/ |
|
|
ISAPI-расширения сайта. |
/Pictures/ |
|
|
Картинки. Исключение из общего правила. Исторически сложилось, что они |
|
|
|
хранятся здесь. |
/Scripts/ |
|
|
MAE-скрипты для интерфейса. |
/vbscripts/ |
|
|
Скрипты для функциональности «Scheduler». |
/VR/ |
|
|
Функциональность «Визуальный Редактор». |
/w3c/ |
|
|
Файлы, обеспечивающие совместимость сайта со стандартом P3P |
Фронтофис - физические директории |
|||
Директория |
Описание |
||
/ |
Корневая папка фронтофиса |
||
/errors/ |
Страницы ошибок, настраиваемые в IIS |
||
/images/ |
Стандартная директория для картинок (изображения дизайна, шаблонов и т.п.). Изображения |
||
|
объектов системы хранятся в другом месте - /common/data/pub/ |
||
Фронтофис – виртуальные директории |
|||
Директория |
|
|
Описание |
/common/ |
|
|
Линкуется на /common/ бэкофиса |
|
|
|
Через нее запрашиваются все файлы объектов системы, выводимые на |
|
|
|
фронтофисе |
/files/ |
|
|
Линкуется на /common/data/pub/files/ бэкофиса |
|
|
|
Сокращенный путь для общих неисполняемых файлов на всех фронтофисах |
/pubimages/ |
|
|
Ассоциируется с ISAPI-расширением. |
|
|
|
Через нее выводятся изображения, хранящиеся в базе данных |
/Themes/ |
|
|
Линкуется на /common/data/Themes бэкофиса |
|
|
|
Через нее осуществляется подключение скриптов фронтофиса |
Copyright © 2005 Individ company |
Страница |
Контакты: www.saitistika.ru | support@saitistika.ru | (0852) 321464 |
10 из 10 |
|
|