Разработка информационного web-сайта на основе системы «1С-Битрикс: Управление сайтом»

Автор работы: Пользователь скрыл имя, 29 Апреля 2014 в 17:16, дипломная работа

Краткое описание

Web-приложение – клиент-серверное приложение, в котором сервером выступает web-сервер, клиентом программа или устройство, способное получить доступ к web-серверу. Логика web-приложения распределена между сервером и клиентом, хранение данных осуществляется преимущественно на сервере, обмен информацией происходит по сети.
Web - сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
CMS (Content management system) – компьютерная система или программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления текстовыми и мультимедиа документами.

Содержание

Обозначения и сокращения 6
Определения 7
Введение 9
1. Описание основных используемых технологий и языков программирования 10
1.1. Общие сведения 10
1.2. Язык программирования PHP 10
1.3. Web-сервер Apache 11
1.4. СУБД MySQL 12
1.5. Язык программирования JavaScript 12
1.6. Технология AJAX 13
1.7. Таблица стилей CSS 14
1.8. Общая схема работы web-приложения 14
2. Описание системы «1С – Битрикс: Управление сайтом» 16
2.1. Общие сведения 16
2.2. Преимущества и недостатки системы 16
2.3. Целесообразность использования системы 18
2.4. Сравнение с другими системами 19
3. Описание API системы «1С – Битрикс: Управление сайтом» 21
3.1. Общие сведения 21
3.2. API модуля «Главный модуль» 21
3.3. API модуля «Информационные блоки» 23
4. Формирование требований к сценариям работы web-приложения 26
4.1. Общие сведения 26
4.2. Список требований 26
5. Диаграмма информационных блоков 29
5.1. Общие сведения 29
5.2. ER – диаграмма данных web-приложения 29
5.3. Определение информационных блоков 31
6. Описание программных компонентов 34
6.1. Создание общей структуры страниц web-приложения 34
6.2. Реализация структуры страниц web-приложения, физическая структура 36
6.3. Список программных компонентов 39
6.3.1. Компонент «Список всех игр» 39
6.3.2. Компонент «Список новых и выходящих игр» 40
6.3.3. Компонент «Список лучших игр» 42
6.3.4. Компонент «Список 100 лучших игр» 43
6.3.5. Компонент «Фильтр по играм» 44
6.3.6. Компонент «Поиск по играм» 45
6.3.7. Компонент «Автоподсказки в поиске» 46
6.3.8. Компонент «Список обзоров к игре» 47
6.3.9. Компонент «Детальная страница игры» 48
6.3.10. Компонент «Форма поиска» 48
6.3.11. Компонент «Страница разработчика игры» 49
6.3.12. Компонент «Список лучших игр за год» 50
6.4. Диаграмма связей между страницами web-приложения и компонентами 51
6.5. Особенности реализации сценариев работы web-приложения. 51
6.5.1. Общие сведения 51
6.5.2. Сохранение состояния страниц при использовании AJAX – запросов 52
6.5.3. Обработка событий панели управления. 55
7. Резервное копирование данных web-приложения. Система управления версиями 59
7.1. Общие сведения 59
7.2. Реализация резервного копирования 59
7.3. Система управления версиями 62
7.3.1. Описание системы Subversion 62
7.3.2. Настройка Subversion для работы с web-приложением 64
8. Нагрузочное тестирование 69
8.1. Общие сведения 69
8.2. Техника проведения нагрузочного тестирования 69
8.3. Оценка результатов тестирования 71
Заключение 76
Список использованных источников 77
Приложение A. Принцип работы системы «1С – Битрикс: Управление сайтом» 78
А.1. Общие сведения 78
А.2. Модульная структура системы 78
А.2.1. Главный модуль 79
А.2.2. Модуль «Управление структурой» 79
А.2.3. Модуль «Информационные блоки» 80
А.3. Компоненты 81
А.3.1. Общие сведения 81
А.3.2. Файловая структура компонента 81
А.3.3. Схема обмена данными между файлами компонента 85
А.3.4. Публичный раздел системы 87
А.3.4.1. Порядок загрузки страницы web-приложения 87
А.3.4.2. Подключение модулей системы 87
А.3.4.3. Подключение шаблонов web-приложения 88
А.3.4.4. Подключение компонентов web-приложения 88
Приложение Б. Требования заказчика к работе web-приложения и дизайн-концепция 90
Приложение В. Исходные коды программных компонентов 95
В.1. Компонент games.calendar 95
В.2. Компонент games.raiting 99
В.3. Компонент games.filter 102
В.4. Компонент games.search 113
В.5. Компонент games.detail 117
В.6. Компонент search_autocomplete 121
В.7. Компонент reviews.list 126

Прикрепленные файлы: 1 файл

СОЗДАНИЕ САЙТА.doc

— 1.87 Мб (Скачать документ)

 

Шаблоны:

Идентификатор

Описание

.default

Основной шаблон


 

6.3.9. Компонент «Детальная страница игры»

Имя компонента

games.detail

Реализация требований

15, 18


 

Логика работы:

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

Параметры компонента:

Идентификатор

Множ.

Тип

Описание

IBLOCK_TYPE

Нет

Список

Тип информационного блока

IBLOCK_ID

Нет

Список

ID информационного блока

IBLOCK_SECTION_CODE

Нет

Список

Код раздела (платформы)

ELEMENT_CODE

Нет

Строка

Код элемента игры


 

Шаблоны:

Идентификатор

Описание

.default

Основной шаблон


 

6.3.10. Компонент «Форма поиска»

Имя компонента

search.form

Реализация требований

5


 

Логика работы:

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

Параметры компонента:

Идентификатор

Множ.

Тип

Описание

IBLOCK_TYPE

Нет

Список

Тип информационного блока

IBLOCK_ID

Нет

Список

ID информационного блока

SEARCH_PAGE

Нет

Строка

Страница с результатми поиска


 

Шаблоны:

Идентификатор

Описание

search_page

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

.default

Основной шаблон


 

6.3.11. Компонент «Страница разработчика игры»

Имя компонента

developer.detail

Реализация требований

21


 

Логика работы:

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

Параметры компонента:

Идентификатор

Множ.

Тип

Описание

IBLOCK_TYPE

Нет

Список

Тип информационного блока

IBLOCK_ID

Нет

Список

ID информационного блока

DEVELOPER_NAME

Нет

Список

Наименование разработчика


 

Шаблоны:

Идентификатор

Описание

.default

Основной шаблон


 

6.3.12. Компонент «Список лучших игр за год»

Имя компонента

games.year_top

Реализация требований

22


 

Логика работы:

Компонент выводит список элементов, отсортированных по значениям свойства элемента информационного блока с кодом MAIN_METAMARK по убыванию, отфильтрованных по значениям свойства DATES_DATE_REL_RUS, в которых год соответствует предыдущему или выбранному году. В компоненте предусмотрена возможность переключения между годами. Если в настройках компонента задан код раздела инфоблока, выводится список элементов из конкретного раздела, в противном случае выводится список из пяти элементов для каждого из разделов информационного блока.

Параметры компонента:

Идентификатор

Множ.

Тип

Описание

IBLOCK_TYPE

Нет

Список

Тип информационного блока

IBLOCK_ID

Нет

Список

ID информационного блока

IBLOCK_SECTION_CODE

Нет

Список

Код раздела (платформы)

DETAIL_URL

Нет

Строка

Шаблон пути к детальной странице игры


Шаблоны:

Идентификатор

Описание

search_page

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

.default

Основной шаблон


 

6.4. Диаграмма связей между страницами web-приложения и компонентами

Рисунок 7 – диаграмма связей между компонентами и страницами web-приложения

 

На рисунке 7 изображена диаграмма связей между программными компонентами и страницами web-приложения. Каждый компонент в момент загрузки страницы становится частью страницы, т.е. страница выступает своеобразным контейнером для компонента. В качестве подписей к связям выступают идентификаторы шаблонов компонентов.

Исходный код сценариев component.php, result_modifier.php, script.js компонентов находится в приложении В.

6.5. Особенности реализации сценариев работы web-приложения.

6.5.1. Общие сведения

В общем, реализация логики работы компонента состоит в написании программного кода с использованием требуемых классов и функций API системы, описанных в разделе 3. Главной особенностью при написании программного кода являются обеспечение сохранения состояния страниц при выполнении AJAX - запросов к страницам web-приложения и использование обработчиков событий панели управления.

6.5.2. Сохранение состояния страниц при использовании AJAX – запросов

Возможности web-браузера и языка JavaScript.

Основным недостатком технологии AJAX является невозможность стандартными средствами браузера обеспечить сохранение состояния страниц web-приложения при использовании AJAX - запросов. Так как технология AJAX реализуется посредством языка JavaScript, путь к странице, отображаемый в адресной строке браузером пользователю, не меняется. То есть, даже не смотря на то, что пользователь, находясь на странице с адресом, например, www.metagames.ru/index/top/index.php, посредством элементов web-страницы инициировал несколько запросов к компьютеру web-приложения, в адресной строке по-прежнему будет указанный выше путь, и при перезагрузке страницы все действия пользователя будут сброшены. Не все пользователи готовы повторить выполненные ранее процедуры и могут покинуть web-сайт.

Чтобы разработать решение данной проблемы, необходимо проанализировать возможности JavaScript. В первую очередь интересует возможность работы с адресной строкой браузера. Также следует проанализировать поведение браузера при изменении адресной строки.

После анализа возможностей браузера сделан вывод, что изменить адресную строку, не вызывая перезагрузки страницы, отображенной в браузере, возможно только с помощью дописывания к пути, указанному в адресной строке, произвольного набора символов после знака “#”, т.е. изменение пути в адресной строке браузера с www.metagames.ru/index/top/index.php

на, например, www.metagames.ru/index/top/index.php#filter:up не приведет к перезагрузке страницы. Этой особенностью поведения браузера можно воспользоваться, чтобы фиксировать в адресной строке имена и значения переменных, характеризующих состояние страниц web-приложения при работе пользователя с ними.

Анализ возможностей JavaScript позволяет определить объекты и свойства объектов, позволяющие изменить адресную строку браузера. Ключевым объектом в данном случае является объект window. Объект window сочетает в себе 2 направления работы с кодом страницы: window является глобальным объектом JavaScript и объектом окна браузера. Объект window среди полей имеет объект location, который  и позволяет получить доступ к пути, указанному в адресной строке браузера, и изменить этот путь.

window.location += “#some_text”;

Таким образом, благодаря указанным выше возможностям браузера и языка JavaScript, можно изменить путь, указанный в строке браузера, отметив в этом пути текущее состояние страницы web-приложения. Остается предусмотреть возможность восстановления состояния страницы из пути в адресной строке перед загрузкой страницы. Эта возможность опять же реализуется использованием объекта location, описанного в предыдущем абзаце. С помощью этого объекта можно получить доступ к пути в адресной строке браузера, разбить на части и восстановить имена и значения переменных, характеризующих состояние страницы.

Непосредственная реализация

Данный механизм необходим, прежде всего, в компоненте games.filter, т.к. действия пользователя по фильтрации списка различных игр инициируют большое количество AJAX-запросов к серверу. Но следует предусмотреть универсальный механизм восстановления состояния страниц, чтобы иметь возможность использования на различных страницах web-приложения независимо от компонентов. Напишем на языке JavaScript функцию, которая будет формировать строку, характеризующую состояние страницы web-приложения:

function ajax_state_string(url, exclude_array){}

Данная функция принимает в качестве первого параметра путь к странице web-приложения, которая была бы загружена по действию пользователя, если бы не использовалась технология AJAX. Предполагается, что в данном пути указаны все переменные и их значения, которые будут определять состояние страницы web-приложения после выполнения запроса. exclude_array – дополнительный параметр, содержащий массив параметров, которые необходимо исключить из списка переменных, указанных в параметре url, может быть пустым. Функция возвращает массив из двух элементов, первый из которых с индексом 0 содержит сформированную строку запроса к компьютеру web-приложения с помощью технологии AJAX; второй, с индексом 1, содержит строку состояния, которая будет помещена в адресную строку браузера.

Array([0] => “строка_запроса_AJAX”, [1] => “строка_состояния_страницы”)

Таким образом, эта функция может быть вызвана до момента выполнения AJAX-запроса, строка запроса может быть использована в момент запроса, строка состояния – после выполнения запроса для помещения в адресную строку браузера. Ниже приведен типичный пример:

Информация о работе Разработка информационного web-сайта на основе системы «1С-Битрикс: Управление сайтом»