Skip to content

Пример технического задания для создания доски объявлений на платформе BBSPlatform

1.1. Термины и определения

 

Система управления содержимым сайта  (англ. Content management system, CMS) — компьютерная программа, используемая для управления содержимым чего-либо (обычно это содержимое рассматривается как неструктурированные данные предметной задачи в противоположность структурированным данным, обычно находящимися под управлением СУБД) . Обычно такие системы используются для хранения и публикации большого количества документов, изображений, музыки или видео.

 

Авторизация – процесс определения прав и ограничений, назначенных пользователю для работы с системой.

 

Аутентификация процесс определения идентичности пользователя и обеспечения гарантий этой идентичности. Этот процесс сопровождается передачей пользователем ключевых данных (имени и пароля) на сервер для последующей сверки этих данных с ключевыми данными хранящимися в БД на стороне сервера.

 

Form Based авторизация позволяет использовать передачу логина и пароля через http (https) протокол с помощью "окна логина" - обычной страницы с формой ввода логина/пароля.

 

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

 

Модератор (англ. moderor – умеряю, сдерживаю) персона (пользователь), имеющая более широкие права по сравнению с обычными пользователями на общественных сетевых ресурсах, в частности, хотя бы одно из прав: право удаления публикаций, право редактировать публикации иных пользователей, право размещения публикации иных пользователей на сетевых ресурсах.

 

Веб-службы — это программы, доступ к которым осуществляется через Веб (то есть протокол HTTP), а обмен данными происходит в формате XML. В результате, программное обеспечение может использовать веб-службы вместо сложных вычислений (например, чтобы узнать по IP-адресу из какой страны посетитель).

 

AJAX (Asynchronous JavaScript and XML) — подход к построению пользовательских интерфейсов веб-приложений, при котором веб-страница, не перезагружаясь, асинхронно загружает нужные пользователю данные.

 

jQuery библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Подробно можно прочитать на сайте www.jquery.com.

 

DIV-Окно – окно реализованное по технологии AJAX с функцией загрузки HTML-кода по требованию клиента.

 

Юзаби́лити  (англ. usability — дословно «пользуемость», «возможность быть используемым») — понятие в микроэргономике, обозначающее общую степень удобства предмета при использовании; термин схож с термином «эргономичность», однако, имеет иную область распространения и отличается нюансами определения. Применительно к компьютерной технике термином юзабилити называют концепцию разработки пользовательских интерфейсов программного обеспечения, ориентированную на максимальное психологическое и эстетическое удобство для пользователя.

 

XML (англ. eXtensible Markup Language — расширяемый язык разметки; произносится [экс-эм-э́л]) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML) иногда называемых словарями.

 

SDK (от англ. Software Development Kit) — набор из средств разработки, утилит и документации, который позволяет программистам создавать приложения по определённой технологии или для определённой платформы (программной или программно-аппаратной).

CAPTCHA (от англ. «Completely Automated Public Turing test to tell Computers and Humans Apart» — полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей) — торговая марка Университет Карнеги-Меллона, компьютерный тест, используемый для того, чтобы определить кем является пользователь системы: человеком или компьютером. Термин появился в 2000 году. Основная идея теста: предложить пользователю такую задачу, которую может решить человек, но которую крайне трудно научить решать компьютер.

WYSIWYG (сокращение от англ. What You See Is What You Get, что видишь, то и получишь, произносится как «ви-зи-виг») — способ редактирования, при котором редактируемый материал в процессе редактирования выглядит в точности так же, как и конечный результат. Обычно этот термин используется в отношении текстовых редакторов.

Ку́ки (от англ. cookie — печенье) — небольшой фрагмент данных, созданный веб-сервером и хранимый на компьютере пользователя в виде файла, который веб-клиент (обычно веб-браузер) каждый раз пересылает веб-серверу в HTTP-запросе при попытке открыть страницу соответствующего сайта. Применяется для сохранения данных на стороне пользователя, на практике обычно используется для:

§  аутентификации пользователя;

§  хранения персональных предпочтений и настроек пользователя;

§  отслеживания состояния сессии доступа пользователя;

§  ведения статистики о пользователях.

1.    Постановка задачи.

 

1.1.  Введение.

 

Требуется создание веб-портала на платформе CMS с реализацией функционала модерируемой электронной доски объявлений для публикации рекламных объявлений различной тематики и размещения как на платной, так и на бесплатной основе.

 

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

 

Название проекта: DNN BBSPlatform  (далее Проект)

Имя портала (название домена): ________________ (далее Портал).

Язык: Поддержка пакетов локализации (мультиязычный)

Поддержка браузеров: MS Internet Explorer 9 и выше, Mozilla FireFox 30.x и выше, Opera 12.x и выше, Google Chrome 35.x и выше.

 

2.    Программно-аппаратные требования Проекта.

 

2.1. Требования к серверной платформе.

 

Проект должен базироваться на программно-серверных технологиях Microsoft. В качестве серверной операционной системы необходимо использовать MS Windows Server версии 8 (MS Windows Server 2012) и выше.

 

2.2. Требования к веб-серверу.

 

В качестве веб-сервера использовать MS Internet Information Services (IIS).

 

2.3. Требования к программному серверу Баз Данных (БД).

 

В качестве сервера Баз Данных следует использовать программный продукт MS SQL версии 10 (SQL Server 2012) и выше.

 

2.4. Требования к производительности Портала.

 

Считать нормальной производительностью работы Портала при условии размещения веб-приложения проекта на одной выделенной серверной аппаратной единице и размещения SQL сервера баз данных на другой выделенной серверной аппаратной единице со следующими показателями:

§  Наличия не менее 1 000 000 объявлений в БД.

§  Безотказного обслуживания 15 000 посетителей в день.

§  С каналом связи сети Интернет не менее 100 мбит/с.

§  С внутренним каналом связи не менее 10 гбит/с.

§  Выдачи результата поиска по базовым полям  не менее _______ сек.

§  Выдача результата в виде списка анонсов объявлений не менее _______ сек.

 

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

 

ПРИМЕЧАНИЕ: Данная возможность предоставляется после приобретения дополнительной лицензии для использования коммерческой редакции CMS DNN, а также использования специализированного хостинга с применением соответствующего серверного обеспечения программного.

 

2.5. Требования к технологии разработки веб-приложения.

 

При создании Проекта необходимо базироваться на технологии построения веб-приложений MS ASP.NET версии 4.0 и выше. В качестве среды разработки веб-приложений использовать MS Visual Studio.  Cоздание веб-приложения Проекта должно базироваться на платформе готового программного продукта, обладающего спецификацией CMS, которая должна покрывать базовый функционал Портала.

 

2.6. Требования к CMS

 

К требованиям относится:

§  CMS должна иметь модульную архитектуру с наличием большого выбора готовых модулей, а так же доступной технологией разработки и установки новых, силами поставщиков решений. 

§  Способность адаптироваться к любым условиям его применения для решения разнообразных задач. CMS должна максимально упростить создание, внедрение и поддержку  Проекта. 

§  Иметь  интуитивно понятный пользовательский веб-интерфейс.

§  Иметь подконтентную службу Справки (Помощи).

§  Совместим с браузерами MS Internet Explorer 9 и выше, Mozilla FireFox 30.x и выше, Opera 12.x и выше, Google Chrome 35.x и выше.

§  В ядре CMS должен быть заложен принцип мультипортальности для создания Администратором Портала новых корневых и дочерних веб-сайтов в рамках одной инсталляции. 

§  Наличие механизма создания страниц веб-сайта и управление их содержимым пользователями без специальной подготовки в области веб-программирования.

§  Наличие механизма индексации и поиска опубликованного контента на веб-сайте по ключевым словам.

§  Online регистрация посетителей веб-сайта.

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

§  Наличие механизма ведения учетных записей зарегистрированных пользователей. Иметь полноценный пользовательский интерфейс для управления списками и параметрами аккаунтов пользователей.

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

§  Наличие механизма безопасного взаимодействия с серверной файловой системой через веб-интерфейс (download, upload) и наличием полноценного пользовательского интерфейса для управления файлами и разграничения прав доступа к ним.

§  Наличие механизма создания структуры сайта с автоматическим построением и публикацией карты сайта.

§  Наличие надежного механизма резервного копирования и доступного способа восстановления данных, введенных в систему, в случае аварийной потери данных.

 

Кроме этого, предъявляются следующие требования к CMS со стороны технической поддержки:

§  Предпочтительно, чтобы CMS распространялась на условиях открытого кода и являлась бесплатным продуктом для пользователей и разработчиков решений.

§  Продукт должен иметь многолетнюю эволюцию развития.

§  Продукт должен постоянно совершенствоваться командой разработчиков, основываясь на отзывах пользователей и опыте своих создателей.

§  Иметь большое число успешных внедрений и быть распространенной (популярной) у многочисленных пользователей, с развитой сетью online конференций и не вызывать сложностей со стороны технической поддержки.

§  Продукт должен иметь стандартизированную и хорошо описанную структуру компонентов, из которых он состоит.

 

В качестве программной платформы CMS, которая удовлетворяет всем требованиям для создания веб-приложений, можно использовать продукт компании DNN Corp – CMS DNN Platform.

 

3.    Требования к архитектуре веб-приложения.

 

Архитектура веб-приложения Портала должна быть реализована с учетом принципов объектно-ориентированного программирования. Система должна быть набором иерархически-зависимых библиотек:

§  Библиотека ядра системы (Framework)

§  Библиотека для работы с веб-страницами.

§  Библиотека для работы с модулями.

§  Библиотека для работы с пользовательскими контролами управления.

 

В конструкции должен быть заложен модульный принцип компоновки. В ядре системы (Framework) должны быть реализованы базовые процедуры, которые доступны через программные интерфейсы для управления веб-страницами Портала, взаимодействия с БД, службами безопасности и индексации. Внутри ядра должна быть реализована подчиненная библиотека для работы веб-страниц. Программная библиотека для работы веб-страниц должна включать в себя процедуры и программные интерфейсы для работы модулей. Программная библиотека для работы модулей является подчиненной библиотеки веб-страниц и должна включать в себя процедуры и программные интерфейсы для работы с контролами пользовательского интерфейса.

 

Framework

Веб-страница

 

Модуль

Контролы веб-интерфейса

 

 

 

 

 

 

 

 

 

 

 


В качестве платформы для системы электронных досок объявлений выбрано готовое программной решение от компании Леман технолоджи (DNNSITE.RU) – DNN BSS (далее BSS), которое реализовано в виде надстройки для CMS DNN.

 

 

4.    Требования к разработчику Проекта.

 

Для реализации Проекта разработчик решения должен иметь опыт создания крупных веб-порталов. В составе команды разработчиков необходимо наличие специалистов, которые должны обладать:

§  Опытом разработки веб-приложений на базе ASP.NET не менее 2-х лет.

§  Опытом разработки веб-служб на базе ASP.NET не менее 2-х лет.

§  Практическим применением технологий на базе языка XML.

§  Опытом разработки приложений Баз Данных (БД) на базе MS SQL Server не менее 2-х лет.   

§  Наработкой опыта и прикладным применением технологий в области Юзаби́лити.

§  Четким пониманием современной архитектуры построения бизнес-процессов на предприятиях.

§  Опытом интеграции разрозненных систем для построения механизма обмена данными.

§  Знаниями уровня «Администратор» использования MS Windows Server, MS IISSQL Server.

 

 

 

5.    Общие требования к функционалу Портала.

 

5.1. Описание процедуры регистрации новых пользователей Портала.

 

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

§  Регистрация учетной записи.

§  Редактирование анкеты учетной записи.

 

Регистрация учетной записи – заполнение пользователем формы на отдельной веб-странице с минимально необходимым набором полей: имя входа (логин), пароль, email, псевдоним. Форма регистрации должна предусматривать процедуру проверки обязательного ввода данных в поля и ловушку от спама в виде технологии CAPTCHA. После отправки веб-формы на сервер Портала данные должны попадать на модерацию Администратором Портала. Должна быть предусмотрена возможность автоматического утверждения регистрации учетной записи системой. Правило модерации регистрации учетной записи должно быть доступно для настройки Администратором Портала. После подтверждения новой учетной записи пользователь должен получить письмо с уведомлением, данными для входа (имя входа, пароль) и кодом подтверждения. Для первого входа на Портал зарегистрированный пользователь должен ввести код подтверждения. После этой процедуры учетная запись считается зарегистрированной и активной.

 

Редактирование анкеты (профайла) учетной записи - редактирование персональных сведений владельцем учетной записи в разделе «Личный кабинет» должна производиться владельцем учетной записи на отдельной веб-странице «Менеджер профиля». Должен быть предусмотрен механизм принудительного заполнения анкеты при первом входе зарегистрированного пользователя под своей учетной записью. Правило принудительного заполнения анкеты должно быть настраиваемым параметром и доступно для настройки Администратором Портала.

 

5.2.  Описание аутентификации пользователей Портала.

 

Для входа на Портал зарегистрированных пользователей под своими учетными записями (логинами) на Портале должна быть предусмотрена процедура Аутентификации пользователя методом Form Base Авторизации. Эта процедура должна проходить на отдельной веб-странице путем заполнения и отправки на сервер Портала веб-формы с указанием параметров: имя входа (логин) и пароля. Веб-форма Аутентификации должна предусматривать процедуру проверки обязательного ввода данных в поля и ловушку от спама в виде технологии CAPTCHA. Правило активации ловушки от спама должно быть настраиваемым параметром и доступно Администратору Портала.

 

5.3. Описание службы поиска контента на Портале.

 

Для поиска опубликованного контента на информационных веб-страницах Портала по ключевым словам должна быть реализована служба индексации и поиска. Поле ввода ключевых слов для поиска должно присутствовать в заголовке всех веб-страниц Портала. Результат поиска должен отображаться на отдельной веб-странице. Служба индексации должна быть адаптирована к морфологии русского языка. Запуск индексации должен производиться по расписанию. Параметры расписания должны быть доступны для настройки Администратору Портала.

 

6.    Требования к функционалу FrontOffice Портала.

 

6.1. Общее описание.

 

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

§  Не зарегистрированные пользователи (анонимные пользователи) – посетители, которые не прошли авторизацию на Портале.

§  Зарегистрированные пользователи – посетители, которые успешно прошли авторизацию на Портале.

 

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

 

FrontOffice Портала будет состоять из следующих разделов:

§  Монитор объявлений

§  Личный кабинет пользователя.

§  Информационные веб-страницы.

 

6.2. Описание базовой структуры веб-страниц.

 

Базовая структура веб-страниц Портала состоит из:

§  Шапки веб-страницы.

§  Левой колонки.

§  Правой колонки.

§  Рабочей области – место в центре страницы, расположенное под шапкой.

§  Подвалом.

 

Левая и правая колонки предназначены для отображения разнообразных модулей и контента по усмотрению Менеджера контента.

 

В шапке веб-страницы должно быть следующее содержание:

§  Логотип Проекта.

§  Поле ввода ключевого слова для поиска контента опубликованного на Портале и кнопка «Поиск» для начала поиска.

§  Ссылки на страницу «Вход пользователя» зарегистрированных пользователей Портала.

§  Ссылка для прохождения регистрации новых пользователей Портала.

§  Наименование пользователя, который прошел процедуру аутентификации.

§  Глобальной мини карты расположения в виде строки ссылок для быстрого перехода на родительские веб-страницы с выделением текущей веб-страницы.

§  Главное меню Портала.

 

Подвал предназначен для отображения разнообразных модулей и контента по усмотрению Менеджера контента.

 

6.3. Описание раздела «Монитор объявлений».

 

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

§  Лента объявлений.

§  Обзор объявления.

§  Закладки объявлений.

§  Карточка пользователя.

 

 

6.3.1.   Описание веб-страницы «Лента объявлений».

 

Веб-страница «Лента объявлений» призвана предоставлять удобный пользовательский интерфейс для просмотра списка опубликованных объявлений и навигации по ним.  К навигации по анонсам объявлений относятся глобальные и локальные фильтры для выборки анонсов из имеющихся объявлений и сортировка.

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1 - Структура страницы "Лента объявлений"

 

«Лента объявлений» должна содержать следующие веб-модули:

§  Рубрикатор.

§  Глобальный фильтр.

§  Настройка представления объявлений.

§  Список анонсов VIP-объявлений.

§  Информер закладок объявлений.

§  Карта расположения.

§  Контентный фильтр объявлений (поиск).

§  Список анонсов объявлений.

 

6.3.2.   Описание веб-страницы «Обзор объявления».

 

Данная веб-страница предназначена для отображения полной информации объявления.

 

Рисунок 2 - Структура страницы "Обзор объявления"

 

Страница «Обзор объявления» должна содержать следующие веб-модули:

§  Рубрикатор.

§  Глобальный фильтр.

§  Настройка представления объявлений.

§  Информер закладок объявлений.

§  Карта расположения.

§  Обзор объявления.

 

6.3.3.   Описание веб-страницы «Закладки объявлений».

 

«Закладки объявлений» - веб-страница, которая доступна всем пользователям Портала и предназначена для просмотра и управления закладками объявлений. Закладки объявлений – это механизм сохранения в «корзину» выбранных пользователем объявлений для последующего обзора и анализа. Для сохранения закладок объявлений используется специальное хранилище в виде таблицы в БД. Для идентификации записей будет использоваться уникальный код, который будет присваиваться пользователю и сохраняться на клиентском компьютере, используя куки.

 

Страница «Закладки объявлений» должна содержать следующие веб-модули:

§  Рубрикатор.

§  Глобальный  фильтр.

§  Настройка представления объявлений.

§  Информер закладок объявлений.

§  Карту расположения.

§  Контентный фильтр объявлений (поиск).

§  Список анонсов закладок объявлений.

 

6.3.4.   Описание веб-страницы «Карточка пользователя».

 

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

 

Страница должна содержать следующие веб-модули:

§  Рубрикатор.

§  Глобальный фильтр.

§  Информер закладок объявлений.

§  Карточку пользователя.

 

 

6.3.5.   Описание модуля «Рубриктор».

 

Модуль «Рубрикатор» – древовидный (иерархический) список с наименованием рубрик в виде ссылок. Каждая опция должна ссылаться на веб-страницу «Лента объявлений» с дополнительным параметром в адресе URL для фильтрации по рубрикам при выборке имеющихся объявлений.  Допускается не более трех дочерних веток, вложенных в корневые ветви. Каждая рубрика в списке должна сопровождаться числом, которое отображает количество  объявлений в рубрике. Набор рубрик в содержании списка должен управляться Менеджером контента в BackOffice части Проекта. Модуль «Рубрикатор» должен быть реализован по технологии «подкачка по требованию», чтобы загружать на клиентскую веб-страницу ограниченный список ссылок и подкачивать требуемую информацию во время раскрытия вложенных ветвей посредствам нажатия кнопки (показать/скрыть). Кроме этого, в конструкции модуля должна быть заложена возможность разных представлений отображения списка – компактный и расширенный. Компактный вид будет использоваться для отображения на всех страницах раздела в виде меню ссылок, как показано на рисунке 1. Расширенный вид может быть использован для публикации на дополнительной странице раздела - «Развернутый список рубрик».

 

6.3.6.   Описание модуля «Глобальный фильтр». 

 

Модуль «Глобальный фильтр» – подгружаемое DIV-окно для отображения интерфейса в виде опций для выбора. Данный модуль должен быть доступен пользователям Портала для определения параметров глобального фильтра выборки списка объявлений для просмотра. Выбранные параметры должны сохраняться в виде переменных на клиентской стороне в КУКАХ.

 

Состав глобальных фильтров:

§  Географический фильтр - древовидный (иерархический) список с наименованием регионов и городов в виде опций выбора. Допускаются не более трех дочерних веток  вложенных в корневые ветви (страна, регион, населенный пункт). Содержание списка должно управляться Менеджером контента в BackOffice части Проекта. «Географический фильтр» должен быть реализован по технологии «подкачка по требованию», чтобы загружать на клиентскую веб-страницу ограниченный список ссылок и подкачивать требуемую информацию во время раскрытия вложенных ветвей путем нажатия кнопки (развернуть). Кроме этого, в конструкции модуля должна быть заложена возможность разных представлений отображения списка – компактный и расширенный. Компактный вид будет использоваться для отображения на всех страницах раздела в виде меню ссылок как показано на рисунке 1. Расширенный вид может быть использован для публикации на дополнительной странице раздела - «Развернутый список регионов».

§  Фильтр по партнерам - список с наименованием партнеров в виде опций выбора для отображения объявлений, принадлежащих выбранному партнеру.

 

6.3.7.   Описание модуля «Настройка представления объявлений». 

 

Модуль «Настройка представления объявлений» – подгружаемое DIV-окно для отображения интерфейса в виде опций для выбора. Данный модуль должен быть доступен пользователям Портала для определения параметров настроек представления объявлений для просмотра. Выбранные параметры должны сохраняться в виде переменных на клиентской стороне в КУКАХ.

 

Состав параметров настроек:

§  Вид валюты – текстовые поля со спускающимся меню (DropDownList) в виде списка валют. Используется для определения параметра валюты при выборке списка объявлений. Содержание списка должно управляться Менеджером контента в BackOffice части Проекта на веб-странице  «Редактор справочников».

 

6.3.8.   Описание модуля «Список анонсов VIP-объявлений». 

 

Данный модуль служит для отображения выборки в результате глобальной фильтрации объявлений, которые опубликованные автором с пометкой VIP-объявление. Он представлен в виде списка с отображением фото-анонса и наименования. Каждый элемент списка представляет собой ссылку для перехода на веб-страницу «Обзор объявления» для просмотра полной информации объявления.

 

6.3.9.   Описание модуля «Информер закладок объявлений».

 

Модуль «Информер закладок объявлений» предназначен для отображения общего количества сделанных пользователем закладок объявлений на Портале в виде списка с переходом на страницу «Закладки объявлений».

 

6.3.10.               Описание модуля «Карта расположения».

 

Модуль «Карта расположения» предназначен для информирования пользователя о месте его нахождении в структуре установленных глобальных фильтров. Информация должна состоять из:

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

§  Отображения наименования географического фильтра в виде ссылок для быстрого перехода и применения нового фильтра выборки объявлений из географического региона предка.

 

6.3.11.               Описание модуля «Контентный фильтр объявлений».

 

«Контентный фильтр объявлений» (поиск) - модуль для ввода пользователем параметров для фильтрации выборки объявлений  из общего списка имеющихся в БД. Параметры для ввода подразделяются на два типа – общие и специфические. К общим параметрам относятся те, которые будут определяться Администратором Портала  при настройке структуры полей для отображения в любых рубриках объявлений (например: стоимость, дата публикации). Специфические параметры будут определяться Администратором Портала при настройке структуры полей  объявлений для каждой рубрики. В качестве полей ввода будут использоваться стандартные элементы управления: текстовые поля (TextBox), текстовые поля со спускающимся меню (DropDownList), флажки (CheckBox), радиокнопки (RadioButton) и нестандартные элементы, которые будут участвовать в отображении параметра для задания диапазонных параметров фильтра (например: стоимость, даты), географического место положения или станций метро.

 

Нестандартные элементы управления должны строиться на базе клиентского JavaScript кода из библиотеки JQUERY или быть написаны самостоятельно Исполнителем.  

 

6.3.12.               Описание модуля «Список анонсов объявлений».

 

«Список анонсов объявлений» -– модуль для отображения выборки в результате фильтрации объявлений в виде списка с кратким содержанием публикаций. В структуре краткого анонса объявлений будет отображаться информация из двух типов полей -  глобальные и специфические. К глобальным данным относятся поля, которые будут присутствовать во всех шаблонах структур данных объявлений (наименование рубрики, регион, фотография лота, наименование лота в виде ссылки быстрого перехода на веб-страницу «Обзор объявления» для просмотра полной информации объявления, цена). К специфическим данным относятся поля, которые  будут присутствовать только в конкретном шаблоне структуры данных объявлений выбранной рубрики. Набор данных полей для отображения в модуле «Список анонсов объявлений» должен определяться Менеджером контента в BackOffice части Проекта. В модуле должен присутствовать механизм постраничного вывода списка.  Для перемещения по страницам должна использоваться навигационная панель в виде ссылок с номерами страниц для быстрого перехода на начальную и последнюю страницу. Количество объявлений на странице должно быть настраиваемым параметром и управляться Администратором Портала. Кроме этого, обязательно наличие сортировки объявлений по дате публикации объявлений и стоимости лотов.

 

В элементе отображения анонса объявлений должны присутствовать интерактивные кнопки:

§  Кнопка «Обзор объявления» - быстрый переход на страницу «Обзор объявления» для просмотра полной информации объявления.

§  Кнопка «Сохранить в закладках» - сохранение объявления в «корзине».

§  Кнопка «Отправить сообщение» - открытие DIV-окна с формой для заполнения и кнопкой «Отправить» - отсылка внутрипортального сообщения  автору объявления.

§  Кнопка «Отправить ссылку» - открытие DIV-окна с формой для указания адресата, заполнения темы, краткого пояснительного текста и кнопкой «Отправить» - отсылка  сообщения со ссылкой на выбранное объявление через email-сервис Портала.  

 

6.3.13.               Описание модуля «Обзор объявления».

 

Модуль «Обзор объявления» предназначен для просмотра полной информации объявления. В структуре обзора объявления будет отображаться информация из двух типов полей -  глобальные и специфические. К глобальным данным относятся поля, которые будут присутствовать во всех шаблонах структур данных объявлений (наименование рубрики, регион, фотография лота, наименование лота, цена). К специфическим данным относятся поля, которые  будут присутствовать только в конкретном шаблоне структуры данных объявления, определяющего принадлежностью к рубрики. Набор данных полей для отображения в модуле должен определяться Менеджером контента в BackOffice части Проекта.

 

Для отображения данных о географическом расположении лота необходимо использовать программный объект «Интерактивные карты»  из библиотеки Google Maps API с автоматическим позиционированием адреса на карте.  

 

В элементе отображения  объявлений должны присутствовать интерактивные кнопки:

§  Кнопка «Отправить сообщение» - открытие DIV-окна с формой для заполнения и кнопкой «Отправить» - отсылка внутрипортального сообщения  автору объявления.

§  Кнопка «Отправить ссылку» - открытие DIV-окна с формой для указания адресата, заполнения темы, краткого пояснительного текста и кнопкой «Отправить» - отсылка  сообщения со ссылкой на выбранное объявление через email-сервис Портала.

§  Кнопка «Сохранить в закладках» - сохранение объявления в «корзине».

§  Ссылка «Другие объявления автора» - ссылка для перехода на веб-страницу с отображением анонсов объявлений принадлежащих автору выбранного объявления.

 

6.3.14.  Описание модуля «Список анонсов закладок объявлений».

 

«Список анонсов закладок объявлений» -– модуль для отображения выборки в результате фильтрации объявлений по признаку принадлежности объявлений к сохраненным в закладках. Информация представляется в виде списка с кратким содержанием публикаций. В структуре краткого анонса объявлений будет отображаться информация из двух типов полей -  глобальные и специфические. К глобальным данным относятся поля, которые будут присутствовать во всех шаблонах структур данных объявлений (наименование рубрики, регион, фотография лота, наименование лота в виде ссылки быстрого перехода на страницу «Обзор объявления» для просмотра полной информации объявления, цена). К специфическим данным относятся поля, которые  будут присутствовать только в конкретном шаблоне структуры данных объявлений выбранной рубрики. Набор данных полей для отображения в модуле «Список анонсов закладок объявлений» должен определяться Менеджером контента в BackOffice части Проекта. В модуле должен присутствовать механизм постраничного вывода списка.  Для перемещения по страницам должна использоваться навигационная панель в виде ссылок с номерами страниц с возможностью быстрого перехода на начальную и последнюю страницу. Количество объявлений на странице должно быть настраиваемым параметром и управляться Администратором Портала. Кроме этого, обязательно наличие сортировки объявлений по дате публикации объявлений и стоимости лотов. В элементе отображения анонса объявлений должны присутствовать интерактивные кнопки:

§  Кнопка «Обзор объявления»  - переход на веб-страницу «Обзор объявления» для просмотра полной информации объявления.

§  Кнопка «Отправить сообщение» - открытие DIV-окна с формой для заполнения и кнопкой «Отправить» - отсылка внутрипортального сообщения  автору объявления.

§  Кнопка «Отправить ссылку» - открытие DIV-окна с формой для указания адресата, заполнения темы, краткого пояснительного текста и кнопкой «Отправить» - отсылка  сообщения со ссылкой на выбранное объявление через email-сервис Портала.  

§  Кнопка «Удалить» - удаление объявлений из «корзины» закладок объявлений.

 

6.3.15.               Описание модуля «Карточка пользователя».

 

Данный модуль отображает информацию о пользователе, который прошел регистрацию на Портале и открыл для обзора поля персональных сведений о себе в настройках раздела «Личный кабинет». Представление персональных данных осуществляется путем отображения в вертикальной последовательности пары наименования поля и его параметр (например, ФИО: Иванов Петр Александрович). Кроме этого, должна быть в наличии кнопка для отправки внутрипортального сообщения. В качестве идентификатора пользователя для выборки отображения необходимо использовать уникальный код учетной записи (ID) пользователя в системе, который должен поставляться в URL в качестве параметра.

 

6.4.  Описание раздела «Личный кабинет».

 

Раздел «Личный кабинет» доступен только зарегистрированному и прошедшему авторизацию пользователю. Он предназначен для управления клиентскими сервисами. 

 

Раздел состоит из следующих сервисов:

§  Менеджер профиля.

§  Менеджер объявлений.

§  Финансовый менеджер.

§  Менеджер внутрипортальных сообщений.

 

6.4.1.   Описание сервиса «Менеджер профиля».

 

Сервис предназначен для просмотра и управления пользователем (владельцем кабинета) персональными сведениями о себе и персонифицированными настройками для работы с Порталом.

 

Сервис состоит из следующих веб-страниц:

§  Менеджер профиля.

§  Менеджер пароля.

§  Менеджер логотипов.

 

6.4.1.1.       Описание веб-страницы «Менеджер профиля».

 

Данная веб-страница предназначена для просмотра и редактирования персональных данных о пользователе. Функционал должен предусматривать возможность динамического добавления и удаления Администратором Портала в BackOffice части Портала полей, описывающих персональные данные пользователя. Кроме этого, должен быть предусмотрен механизм для настройки пользователем (владельцем профиля) возможности скрывать или отображать поля персональных данных, которые будут публиковаться на странице «Карточка пользователя».

 

«Менеджер профиля» должен содержать следующие веб-модули:

§  Менеджер профиля.

§  Ссылки на веб-страницы раздела.

 

6.4.1.2.      Описание веб-страницы «Менеджер пароля».

 

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

 

«Менеджер профиля» должен содержать следующие веб-модули:

§  Менеджер пароля.

§  Ссылки на веб-страницы раздела.

 

6.4.1.3.      Описание веб-страницы «Менеджер логотипов».

 

Данная веб-страница предназначена для просмотра и редактирования логотипов пользователем (владельцем кабинета). Логотип – графическое изображение для рекламы коммерческой деятельности пользовтаеля.

 

«Менеджер логотипов» должен содержать следующие веб-модули:

§  Менеджер логотипов.

§  Ссылки на веб-страницы раздела.

 

6.4.1.4.      Описание модуля «Менеджер профиля».

 

Модуль «Менеджер профиля» предназначен для просмотра и редактирования персональных данных о пользователе. Интерфейс модуля должен быть представлен путем отображения в вертикальной последовательности пары наименования поля и контрола для редактирования параметра. Все поля должны быть сгруппированы по логическому признаку с указанием названия группы в начале группы. Кроме этого, напротив полей должны быть отображены опции для управления  атрибутом видимости данных поля. Атрибут видимости будет использоваться для показа или сокрытия данных параметра поля на странице «Карточка пользователя»

 

6.4.1.5.      Описание модуля «Менеджер пароля».

 

Модуль «Менеджер пароля» предназначен для редактирования пароля, который используется для Аутентификации (входа на Портал) зарегистрированного пользователя.  Интерфейс модуля должен быть представлен полями с наименованием для ввода нового пароля и подтверждения ввода нового пароля с последующей проверкой на совпадения введенных данных. В работе модуля должна быть предусмотрена проверка на требуемую длину пароля и соблюдения правила стойкости пароля к взлому. Эти параметры должны быть доступны для настройки Администратору Портала. 

 

6.4.1.6.      Описание модуля «Менеджер логотипа».

 

Данный модуль предназначен для просмотра и редактирования логотипов пользователем (владельцем кабинета). Представление логотипов должно быть в виде списка. Содержание каждого элемента списка должно отображать изображение графического файла логотипа и его наименование. В модуле должен присутствовать механизм постраничного вывода списка.  Для перемещения по страницам должна использоваться навигационная панель в виде ссылок с номерами страниц для быстрого перехода на начальную и последнюю страницу. Количество логотипов на странице должно быть настраиваемым параметром и управляться Администратором Портала. Кроме этого, в элементах списка должны присутствовать следующие интерактивные кнопки:

§  Кнопка «Удалить» - удаление логотипа из списка с всплывающим окном для подтверждения операции.

§  Кнопка «Редактировать»  - отображение DIV-окна редактора.

 

Для редактирования логотипа необходимо использовать всплывающее  DIV-окно с формой, состоящей из полей для редактирования параметров логотипа. В данном окне должен присутствовать контрол для выбора графического файла на диске веб-клиента и механизм его загрузки в хранилище файлов веб-сервера.  При загрузке модуль должен проверять принимаемый файл на соответствие параметрам. К параметрам относятся: размер файла, размер картинки в пикселях, формат файла (GIF, JPEG). Эти параметры должны быть доступны для настройки Администратору Портала.  

 

6.4.1.7.      Описание модуля «Ссылки на веб-страницы раздела».

 

Модуль предназначен для отображения ссылок для быстрого перехода на веб-страницы раздела. Также модуль должен предоставлять Администратору возможность редактирования этих ссылок.

 

6.4.2.   Описание сервиса «Менеджер объявлений».

 

Сервис предназначен для просмотра и управления пользователем (владельцем кабинета) принадлежащими ему объявлениями.

 

Сервис состоит из следующих веб-страниц:

§  Список объявлений пользователя.

§  Обзор объявления пользователя.

§  Редактор рубрики объявления.

§  Редактор содержания объявления.

§  Редактор фото-галереи  объявления.

 

6.4.2.1.      Сценарий работы сервиса «Менеджер объявлений».

 

Сценарий сервиса «Менеджер объявлений» подразделяется на два типа: обзор объявлений и их управление.

 

Обзор объявлений начинается с посещения пользователем веб-страницы «Список объявлений пользователя», которая должна отображать список объявлений принадлежащих владельцу кабинета. Внутри веб-страницы пользователь должен использовать навигационный инструментарий для просмотра анонсов опубликованных им объявлений. Для получения детальной информации объявления, пользователь должен воспользоваться интерактивной кнопкой в элементе списка объявлений с переходом на страницу «Обзор объявления пользователя».

 

Под управлением объявлениями следует понимать процедуры:

§  редактирования содержания объявления;

§  удаления объявления.

 

Процедура редактирования содержания объявления состоит из трех шагов:

§  ШАГ 1: Редактирование рубрики объявления.

§  ШАГ 2: Редактирование содержания объявления.

§  ШАГ 3: Редактирование фото-галереи.

 

В структуре данных объявления должен присутствовать параметр статуса объявления, который может принимать следующие значения:

§  Черновик – объявление находиться в режиме редактирования автором.

§  Не опубликованное и не утвержденное – объявление находиться в режиме утверждения модератором и не доступно для обзора посетителями веб-сайта.

§  Опубликованное, но не утвержденное – объявление находиться в режиме утверждения модератором, но доступно для обзора посетителями веб-сайта.

§  Отвергнутое – объявление не получило одобрения Модератором и не доступно для обзора посетителями веб-сайта.

§  Утвержденное и опубликованное – объявление получило одобрение модератором и доступно для обзора посетителями веб-сайта.

§  Утвержденное, но не опубликованное - объявление получило одобрение модератором, но не доступно для обзора посетителями веб-сайта.

 

Для редактирования содержания объявления автором, пользователь должен воспользоваться интерактивной кнопкой «Редактировать» в элементе списка объявлений с переходом на страницу первого шага редактирования объявления – «Редактор рубрики объявления».  После прохождения первого шага пользователь переходит на следующую страницу второго  шага – «Редактор содержания объявления». По завершению второго шага пользователь переходит на страницу третьего, заключительного,  шага – «Редактор фото-галереи объявления».

 

В алгоритме работы с редактором объявления должна быть заложена следующая логика в случае, если  автор создает новое или редактирует существующее объявление:

 

§  Статус объявления принимает значение «Черновик» до момента завершения редактирования путем нажатия кнопки «Опубликовать». После этого статус может принять три значения: «Не опубликованное и не утвержденное», «Опубликованное, но не утвержденное», «Утвержденное и опубликованное», в зависимости от метода модерирования рубрики, к которой принадлежит объявление. Если статус принимает значение «Не опубликованное и не утвержденное», оно  становится не доступно для обзора посетителями веб-сайта и появляется на странице раздела «Модерирование объявлений» BackOffice части Портала для рассмотрения и утверждения Модератором. Если статус принимает значение «Опубликованное, но не утвержденное», оно  становится доступно для обзора посетителями веб-сайта и появляется на странице раздела «Модерирование объявлений» BackOffice части Портала для рассмотрения и утверждения Модератором. Если статус принимает значение «Утвержденное и опубликованное», оно  становится доступно для обзора посетителями веб-сайта. В случае, если объявление поступает на утверждение Модератором и получает одобрение, статус принимает значение  «Утвержденное и опубликованное» и объявление становится доступно для обзора посетителями веб-сайта. В противном случае  статус принимает значение  «Отвергнутое» и объявление становится не доступно для обзора посетителями веб-сайта.

 

Для удаления объявления автором, пользователь должен воспользоваться интерактивной кнопкой «Удалить» в элементе списка объявлений с подтверждением операции путем нажатия кнопки «ОК» в сплывающем окне с текстовой информацией о необходимости подтверждения операции удаления.

 

В работе службы «Электронной доски объявлений» должен быть заложен механизм, позволяющий автору «поднимать» собственные объявления на первые позиции в общем списке веб-страницы «Лента объявлений». Или размещать анонсы в списке VIP-объявлений. Это должно быть реализовано в виде платной услуги.

 

6.4.2.2.      Описание веб-страницы «Список объявлений пользователя».

 

Данная веб-страница предназначена для отображения объявлений, которые принадлежат владельцу кабинета в виде списка с кратким содержанием публикаций.

 

На веб-странице должны использоваться следующие модули:

§  Контентный фильтр списка объявлений (поиск).

§  Список анонсов объявлений пользователя.

§  Ссылки на веб-страницы раздела.

 

6.4.2.3.      Описание веб-страницы «Обзор объявления пользователя».

 

Данная веб-страница предназначена для отображения полной информации объявления, которая принадлежит владельцу кабинета.

 

На веб-странице должны использоваться следующие модули:

 

§  Обзор объявления пользователя.

§  Ссылки на веб-страницы раздела.

 

6.4.2.4.      Описание веб-страницы «Редактор рубрики  объявления».

 

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

 

Веб-страница должна содержать следующие веб-модули:

§  Редактор рубрики объявления.

§  Ссылки на веб-страницы раздела.

 

 

6.4.2.5.      Описание веб-страницы «Редактор содержания объявления».

 

Данная веб-страница предназначена для редактирования содержания объявления пользователем-автором.

 

Веб-страница должна содержать следующие веб-модули:

§  Редактор содержания объявления.

§  Ссылки на веб-страницы раздела.

 

6.4.2.6.      Описание веб-страницы «Редактор фото-галереи  объявления».

 

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

 

Веб-страница должна содержать следующие веб-модули:

§  Редактор фото-галереи объявления.

§  Ссылки на веб-страницы раздела.

 

6.4.2.7.      Описание модуля «Контентный фильтр списка объявлений (поиск)».

 

«Контентный фильтр списка объявлений (поиск)» - модуль для ввода пользователем параметров для фильтрации выборки объявлений  из  списка принадлежащих ему. Параметры для ввода подразделяются на два типа – статические и динамические. К статическим параметрам относятся те, которые будут отображаться для  всех рубрик объявлений (Например: стоимость, дата публикации).  Динамические параметры будут определяться Менеджером контента при настройке структуры полей  объявлений для каждой рубрики. В качестве полей ввода будут использоваться стандартные элементы управления: текстовые поля (TextBox), текстовые поля со спускающимся меню (DropDownList), флажоки (CheckBox), радиокнопки (RadioButton) и нестандартные, которые будут участвовать в отображении параметра для задания диапазонных параметров фильтра (например: стоимость, даты).

 

Нестандартные элементы управления должны строиться на базе клиентского JavaScript кода из библиотеки JQUERY.  

 

6.4.2.8.      Описание модуля «Список анонсов объявлений пользователя».

 

«Список анонсов объявлений пользователя» – модуль для отображения выборки объявлений, принадлежащих пользователю (владельца кабинета) в результате фильтрации объявлений в виде списка с кратким содержанием публикаций. В структуре краткого анонса объявлений будет отображаться информация из двух типов полей -  глобальные и специфические. К глобальным данным относятся поля, которые будут присутствовать во всех шаблонах структур данных объявлений (наименование рубрики, регион, фотография лота, наименование лота в виде ссылки быстрого перехода на веб-страницу «Обзор объявления пользователя» для просмотра полной информации объявления, цена). К специфическим данным относятся поля, которые  будут присутствовать только в конкретном шаблоне структуры данных объявлений выбранной рубрики. Набор данных полей для отображения в модуле «Список анонсов объявлений» должен определяться Менеджером контента в BackOffice части Проекта. В модуле должен присутствовать механизм постраничного вывода списка.  Для перемещения по страницам должна использоваться навигационная панель в виде ссылок с номерами страниц для быстрого перехода на начальную и последнюю страницу. Количество объявлений на странице должно быть настраиваемым параметром и управляться Администратором Портала. Кроме этого, обязательно наличие сортировки объявлений по дате публикации объявлений и стоимости лотов.

 

В элементе отображения анонса объявлений должны присутствовать интерактивные кнопки:

§  Кнопка «Обзор объявления» - быстрый переход на веб-страницу «Обзор объявления пользователя» для просмотра полной информации объявления.

§  Кнопка «Редактировать» - переход на веб-страницы редактирования объявления.

§  Кнопка «Удалить» - удаление объявления.

§  Кнопка «Поднять объявление» -  временное размещение объявления на первых позициях в общем списке веб-страницы «Лента объявлений».

§  Кнопка «VIP-объявление» - размещение в анонсах списка VIP-объявлений.

 

Также модуль должен иметь кнопку «Добавить объявление» перехода на страницу «Редактор объявления» для создания нового объявления.

 

В Проекте должен быть предусмотрен механизм ведения статистики по каждому объявлению. Система должна вести подсчет количества показов анонсов и полной информации объявления, а так же рассчитывать соотношение этих показов (CTR) . Статистика должна вестись отдельно по показам обычных объявлений и VIP-объявлений. Кроме этого, Администратор Портала должен иметь возможность отключать ведение статистики в BackOffice-части Проекта.

Вся статистическая информация должна быть доступна для просмотра автору объявления в списке модуля.

 

6.4.2.9.      Описание модуля «Обзор объявления пользователя».

 

Модуль «Обзор объявления пользователя» предназначен для просмотра полной информации объявления владельцем. В структуре обзора объявления будет отображаться информация из двух типов полей -  глобальные и специфические. К глобальным данным относятся поля, которые будут присутствовать во всех шаблонах структур данных объявлений (наименование рубрики, регион, фотография лота, наименование лота, цена). К специфическим данным относятся поля, которые  будут присутствовать только в конкретном шаблоне структуры данных объявления, определяющего принадлежностью к рубрики. Набор данных полей для отображения в модуле должен определяться Менеджером контента в BackOffice части Проекта.

 

Для отображения данных о географическом расположении лота необходимо использовать программный объект «Интерактивные карты»  из библиотеки Google Maps API с автоматическим позиционированием адреса на карте.  

 

В элементе отображения  объявлений должны присутствовать интерактивные кнопки:

§  Кнопка «Редактировать» - переход на веб-страницы для редактирования объявления.

§  Кнопка «Удалить» - удаление объявления.

 

6.4.2.10.   Описание модуля «Редактор рубрики объявления».

 

Модуль предназначен для редактирования автором параметра принадлежности объявления к рубрике. Представление формы редактирования включает в себя контрол древовидного (иерархического) списка наименований рубрик с возможностью выбора и кнопки «Далее» для подтверждения выбора и перехода на страницу «Редактор содержания объявления».

 

6.4.2.11.   Описание модуля «Редактор содержания объявления».

 

Этот модуль предназначен для редактирования содержания объявления. Представление формы редактирования включает в себя поля, включая их наименование, из двух типов -  глобальные и специфические. К глобальным данным относятся поля, которые будут присутствовать во всех шаблонах структур данных объявлений (регион, наименование лота, цена). К специфическим данным относятся поля, которые  будут присутствовать только в конкретном шаблоне структуры данных объявления, определяющего принадлежностью к рубрики. Набор состава полей и их позиционное размещение на форме должно определяться Администратором портала в редакторе «Шаблонов объявлений» BackOffice части Проекта. Кроме этого,  Форма редактирования должна предусматривать процедуру проверки обязательного ввода данных в поля, которые определяются Администратором портала в редакторе «Шаблонов объявлений» BackOffice части Проекта.

 

6.4.2.12.   Описание модуля «Редактор фото-галереи  объявления».

 

Данный модуль предназначен для редактирования автором фото-галереи объявления. Представление фото должно быть в виде списка. Содержание каждого элемента списка должно отображать изображение графического файла фото и его наименование. В модуле должен присутствовать механизм постраничного вывода списка.  Для перемещения по страницам должна использоваться навигационная панель в виде ссылок с номерами страниц для быстрого перехода на начальную и последнюю страницу. Количество фото на странице должно быть настраиваемым параметром и управляться Администратором Портала. Кроме этого в элементах должны присутствовать следующие интерактивные кнопки:

§  Кнопка «Удалить» - удаление фото из списка с всплывающим окном для подтверждения операции.

§  Кнопка «Редактировать» - отображение DIV-окна редактора.

 

Для редактирования фото необходимо использовать всплывающее  DIV-окно с формой, состоящей из полей для редактирования параметров логотипа. В данном окне должен присутствовать контрол для выбора графического файла на диске веб-клиента и механизм его загрузки в хранилище файлов веб-сервера.  При загрузке модуль должен проверять принимаемый файл на соответствие параметрам. К параметрам относятся: размер файла, размер картинки в пикселях, формат файла (GIF, JPEG). Эти параметры должны быть доступны для настройки Администратору Портала.  

 

6.4.3.   Описание сервиса «Финансовый менеджер».

 

Сервис предназначен для просмотра и управления состоянием финансового счета пользователем (владельцем кабинета).

 

                  Сервис состоит из следующий веб-страниц:

§  Финансовый менеджер.

§  Пополнение счета.

 

6.4.3.1.      Описание веб-страницы «Финансовый менеджер».

 

Данная веб-страница предназначена для просмотра остатка и выписки по операциям зачисления и списания денежных средств на персональном финансовом счету пользователя. 

 

Веб-страница должна содержать следующие веб-модули:

§  Контентный фильтр списка операций (поиск).

§  Список операций.

§  Информер остатка на счету.

§  Ссылки на веб-страницы раздела.

 

6.4.3.2.      Описание веб-страницы «Пополнение счета».

 

Данная веб-страница предназначена для проведения операций пополнения финансового счета пользователя через внешние платежные системы.

 

Веб-страница должна содержать следующие веб-модули:

§  Касса.

§  СМС

§  Ссылки на веб-страницы раздела.

 

6.4.3.3.      Описание модуля «Контентный фильтр списка операций (поиск)».

 

«Контентный фильтр списка операций (поиск)» - модуль для ввода пользователем параметров для фильтрации выборки операций по финансовому счету пользователя из списка принадлежащих ему. Параметры для ввода  определяются текстовыми полями со спускающимся меню (DropDownList): диапазон периода совершения операций, вид операций (пополнение, списание).

 

6.4.3.4.      Описание модуля «Список операций».

 

«Список операций» – модуль для отображения выборки операций по финансовому счету из числа принадлежащих пользователю (владельцу кабинета) в результате фильтрации в виде списка с содержанием наименования, даты и суммы.  В модуле должен присутствовать механизм постраничного вывода списка.  Для перемещения по страницам должна использоваться навигационная панель в виде ссылок с номерами страниц для быстрого перехода на начальную и последнюю страницу. Количество объявлений на странице должно быть настраиваемым параметром и управляться Администратором Портала. Кроме этого, обязательно наличие сортировки списка по дате и стоимости операций.

 

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

 

6.4.3.5.      Описание модуля «Информер остатка на счету».

 

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

 

6.4.3.6.      Описание модуля «Касса».

 

Модуль «Касса» предназначен для начала операции перевода денежных средств с внешних платежных систем на финансовый счет пользователя. Он представлен в виде формы с полем для указания суммы, радио кнопок выбора платежной системы и кнопки «Оплатить» для подтверждения начала операции перевода.

 

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

 

6.4.4.   Описание сервиса «Менеджер внутрипортальных сообщений».

 

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

 

Сервис состоит из следующих веб-страниц:

§  Менеджер сообщений.

 

6.4.4.1.      Описание веб-страницы «Менеджер сообщений».

 

Веб-страница «Менеджер сообщений» предназначена для просмотра и управления внутренними сообщениями между пользователями Портала, адресованные пользователю или отправленные им иному пользователю Портала.

 

Данная веб-страница должна содержать следующие веб-модули:

§  Контентный фильтр списка сообщений (поиск).

§  Список сообщений.

 

6.4.4.2.      Описание модуля «Контентный фильтр списка сообщений».

 

«Контентный фильтр списка сообщений (поиск)» - модуль для ввода пользователем параметров для фильтрации выборки внутрипортальных сообщений, из числа принадлежащих ему. Параметры для ввода определяются текстовыми полями со спускающимся меню (DropDownList): диапазон периода получения или отправки сообщения и типом сообщений (входящие, исходящие).

 

6.4.4.3.      Описание модуля «Список сообщений».

 

Модуль «Список сообщений» предназначен для отображения выборки в результате фильтрации внутрипортальных сообщений, принадлежащих пользователю (владельцу кабинета) в виде списка. Содержание каждого элемента списка должно отображать заголовок темы, автора сообщения в виде ссылки на карточку пользователя и даты получения. В модуле должен присутствовать механизм постраничного вывода списка.  Для перемещения по страницам должна использоваться навигационная панель в виде ссылок с номерами страниц для быстрого перехода на начальную и последнюю страницу. Количество сообщений на странице должно быть настраиваемым параметром и управляться Администратором Портала. Кроме этого, в элементах списка должны присутствовать следующие интерактивные кнопки:

§  Кнопка «Читать сообщение» - отображение DIV-окна для обзора полученного или отправленного сообщения.

§  Кнопка «Удалить» - удаление полученного или отправленного сообщения из списка с всплывающим окном для подтверждения операции.

 

Также модуль должен иметь кнопку «Новое сообщение» открытие редактора нового сообщения с последующей отправкой.

 

Для редактирования нового сообщения необходимо использовать всплывающее  DIV-окно с формой, состоящей из текстовых полей для ввода: адресата (логин пользователя, кому будет адресовано письмо), темы сообщения, текст сообщения и кнопки «Отправить» для подтверждения отправки сообщения. Форма должна предусматривать процедуру проверки обязательного ввода данных в поля.

 

6.5. Описание раздела «Информационные веб-страницы».

 

Данный раздел условно относится к категории «Разделы». Речь идет о возможности CMS предоставлять инструментарий для создания информационных веб-страниц с последующей публикацией на них информационного контента Редактором контента Портала. К обязательным требованиям относится:

§  Наличие WYSIWYG-редактора для работы с HTML контентом.

§  Управление правами доступа посетителей Портала.

 

7.    Требования к функционалу BackOffice Портала.

 

7.1. Общее описание.

 

BackOffice – часть Портала, предназначенная для управления и настроек всеми службами, которые доступны на Портале. Его функционал должен состоять из набора сервисов, которые должны быть в составе его разделов. Каждый раздел BackOffice части Портала доступен пользователю в зависимости от его принадлежности к той или иной Роли прав доступа. Таких Ролей несколько:   

§  Администратор портала. Члены этой Роли имеют полные права доступа ко всем службам и настройкам Портала.

§  Менеджер контента. Члены этой Роли имеют права доступа к службам создания и управления веб-страницами Портала, установки на них модулей и редактированию публикуемого контента.

§  Модератор объявлений. Члены этой Роли имеют права доступа к службе управления объявлениями.

 

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

 

BackOffice  Портала будет состоять из следующих разделов:

§  Менеджер службы объявлений

§  Менеджер учетных записей и ролей безопасности.

§  Менеджер баннерной рекламы.

§  Настройки портала.

§  Служба мониторинга работы портала.

 

7.2. Описание раздела «Менеджер службы объявлений».

 

Раздел «Менеджер службы объявлений» предназначен для модерирования и настройки сервиса электронной доски объявлений. Раздел доступен для членов Роли безопасности «Администраторы портала» и «Модераторы объявлений».

 

Раздел состоит из следующих сервисов:

 

§  Менеджер рубрик.

§  Модератор объявлений.

§  Менеджер шаблонов.

 

7.2.1.   Описание сервиса «Менеджер рубрик».

 

Сервис предназначен для просмотра и управления рубриками объявлений.

 

Сервис состоит из следующих веб-страниц:

§  Редактор рубрик.

§  Редактор HTML контента рубрик.

 

7.2.1.1.      Описание веб-страницы «Редактор рубрик».

 

   Веб-страница «Редактор рубрик» предназначена для редактирования рубрик объявлений Модератором.

 

Страница состоит из следующих модулей:

§  Редактор рубрик.

§  Ссылки на веб-страницы раздела.

 

7.2.1.2.      Описание веб-страницы «Редактор HTML контента рубрик».

 

   Веб-страница «Редактор HTML контента рубрик» предназначена для редактирования HTML контента, который будет публиковаться на веб-странице «Лента объявлений».

 

В Проекте следует использовать готовое решение в рамках CMS DNN Platform. Подробную информацию об этом можно прочитать в документации описания CMS DNN Platform.

 

 

7.2.1.3.      Описание модуля «Редактор рубрик».

 

Модуль «Редактор рубрикатор» – древовидный (иерархический) список с наименованием рубрик. Допускается не более трех дочерних веток, вложенных в корневые ветви.

 

В элементе отображения рубрик должны присутствовать интерактивные кнопки:

§  Кнопка «Удалить» - удаление рубрики из списка с всплывающим окном для подтверждения операции.

§  Кнопка «Редактировать» - отображение DIV-окна редактора.

 

DIV-окно для создания или редактирования рубрик представлено в виде  формы, состоящей из полей для редактирования параметров. К параметрам рубрики относится:

§  Наименование рубрики – текстовое поле.

§  Краткое описание – текстовое поле.

§  Выбор места положения рубрики в иерархии списка в виде древовидного списка - текстовое поле со спускающимся меню (DropDownList).

§  Выбор заголовка темы HTML контента  - текстовое поле со спускающимся меню (DropDownList).

§  Выбор схемы полей структуры данных объявлений - текстовое поле со спускающимся меню (DropDownList).

§  Выбор шаблона форм объявлений - текстовое поле со спускающимся меню (DropDownList).

§  Выбор метода модерирования - текстовое поле со спускающимся меню (DropDownList). Список опций меню метода модерирования состоит из: «Не модерируемый», «Премодерация» и «Постмодерация».

§  Опция для отображения/сокрытия рубрики в списке - флажок (CheckBox).

 

Кроме этого, форма редактирования должна предусматривать процедуру проверки обязательного ввода данных. Для сохранения заполненной формы или отмены режима редактирования должны присутствовать кнопки «Сохранить» и «Отменить». 

 

7.2.1.4.      Описание модуля «Ссылки на веб-страницы раздела».

 

Модуль предназначен для отображения ссылок для быстрого перехода на веб-страницы раздела. Также модуль должен предоставлять Администратору возможность редактирования этих ссылок.

 

7.2.2.   Описание сервиса «Модератор объявлений».

 

Сервис предназначен для просмотра и управления объявлениями, которые поступают на утверждение Модератору объявлений.

 

Сервис состоит из следующих веб-страниц:

§  Список объявлений для модерирования.

§  Обзор объявлений модератором.

 

7.2.2.1.      Сценарий работы сервиса «Модератор объявлений».

 

Сценарий сервиса «Модератор объявлений» заключается в регулярном мониторинге Модератором списка объявлений, которые поступают ему на утверждение. Для этого предусмотрена веб-страница «Список объявлений для модерирования». Внутри веб-страницы, пользователь должен использовать навигационный инструментарий для просмотра анонсов поступивших объявлений. Для получения детальной информации объявления, пользователь должен воспользоваться интерактивной кнопкой в элементе списка объявлений с переходом на страницу «Обзор объявления модератором».  Для утверждения или отклонения объявления Модератор, с помощью интерактивных кнопок в элементах списка, меняет параметр статуса объявления, который должен быть предусмотрен в структуре данных объявления. В зависимости от параметра статуса объявления система отображает или скрывает объявления на веб-странице «Лента объявлений».

 

Параметр статуса объявления может принимать следующие значения:

§  Черновик – объявление находиться в режиме редактирования автором.

§  Не опубликованное и не утвержденное – объявление находиться в режиме утверждения модератором и не доступно для обзора посетителями веб-сайта.

§  Опубликованное, но не утвержденное – объявление находиться в режиме утверждения модератором, но доступно для обзора посетителями веб-сайта.

§  Отвергнутое – объявление не получило одобрения Модератором и не доступно для обзора посетителями веб-сайта.

§  Утвержденное и опубликованное – объявление получило одобрение модератором и доступно для обзора посетителями веб-сайта.

 

Объявления поступают на утверждение Модератору только в том случае, если установлен метод «Премодерации» или «Постмодерации» рубрики, к которой принадлежат объявления.  

 

Кроме этого, должен быть предусмотрен механизм автоматического отслеживания дубликатов объявлений по ключевым словам с последующим пометкой их, как  «дублирование» и сохранением в отдельной таблице БД идентификаторов объявлений, которые были ранее опубликованы со схожим содержанием. Для этого в структуре данных объявления должен быть предусмотрен отдельный параметр.  Этот параметр должен быть доступен для обзора в элементах списка объявлений на веб-страницы «Список объявлений для модерирования» . В случае, если системой было выявлено «дублированное» объявление, оно должно также поступать на рассмотрение Модератором независимо от того установлен метод «Премодерации» или «Постмодерации» рубрики, к которой принадлежат объявление.  

 

7.2.2.2.      Описание веб-страницы «Список объявлений для модерирования».

 

Данная        веб-страница предназначена для обзора объявлений для утверждения Модератором в виде списка с кратким содержанием информации.

 

На веб-странице должны использоваться следующие модули:

§  Контентный фильтр списка объявлений для модерирования (поиск).

§  Список анонсов объявлений для модерирования.

§  Ссылки на веб-страницы раздела.

 

7.2.2.3.      Описание веб-страницы «Обзор объявления модератором».

 

Данная веб-страница предназначена для отображения полной информации объявления, которая поступила на утверждение Модератору.

 

На веб-странице должны использоваться следующие модули:

 

§  Обзор объявления модератором.

§  Ссылки на веб-страницы раздела.

 

7.2.2.4.      Описание модуля «Контентный фильтр списка объявлений для модерирования (поиск)».

 

«Контентный фильтр списка объявлений (поиск)» - модуль для ввода пользователем параметров для фильтрации выборки объявлений  из  списка принадлежащих ему. В качестве параметра ввода для фильтации выборки используется обобщающее поле, которое используется для интексации контента объявления.

 

7.2.2.5.      Описание модуля «Список анонсов объявлений для модерирования».

 

«Список анонсов объявлений для модерирования» – модуль для отображения выборки объявлений, предназначенных для утверждения модератором в результате фильтрации объявлений в виде списка с кратким содержанием публикаций. В структуре краткого анонса объявлений будет отображаться информация из двух типов полей -  глобальные и специфические. К глобальным данным относятся поля, которые будут присутствовать во всех шаблонах структур данных объявлений (наименование рубрики, регион, фотография лота, наименование лота в виде ссылки быстрого перехода на страницу «Обзор объявления для модерирования» для просмотра полной информации объявления, цена). К специфическим данным относятся поля, которые  будут присутствовать только в конкретном шаблоне структуры данных объявлений выбранной рубрики. Набор данных полей для отображения в модуле «Список анонсов объявлений» должен определяться Менеджером контента в BackOffice части Проекта. В модуле должен присутствовать механизм постраничного вывода списка.  Для перемещения по страницам должна использоваться навигационная панель в виде ссылок с номерами страниц для быстрого перехода на начальную и последнюю страницу. Количество объявлений на странице должно быть настраиваемым параметром и управляться Администратором Портала. Кроме этого, обязательно наличие сортировки объявлений по дате публикации объявлений и стоимости лотов.

 

В элементе отображения анонса объявлений должны присутствовать интерактивные кнопки:

§  Кнопка «Обзор объявления» - переход на веб-страницу «Обзор объявления для модерирования» для просмотра полной информации объявления.

§  Кнопка «Утвердить» - утверждение объявления Модератором с последующей публикацией объявления на веб-страницах раздела «Монитор объявлений» FrontOffice части проекта.

§  Кнопка «Отклонить» - отображение DIV-окна процедуры отклонения объявления.

 

Также в элементе списка должен присутствовать флаг признака дублирования. Если объявление помечено, как «дублирование», то в элементе списка должна появиться интерактивная кнопка (показать/скрыть) для подзагрузки дочернего списка объявлений со схожими данными, не зависимо от того, были они утверждены Модератором раннее или нет. Элемент дочернего списка должен содержать наименование объявления в виде ссылки для перехода на веб-страницу «Обзор объявления для модерирования» для просмотра полной информации объявления.

 

Кроме этого, в элементе списка должен отображаться статус объявления, который описан в пункте ТЗ «Менеджер управлений».

 

Для отклонения объявления модератором необходимо использовать всплывающее  DIV-окно с формой, состоящей из полей для редактирования параметров. К параметрам относится:

§  Описание причины отклонения – текстовое поле.

 

Для отклонения объявления с последующей отправкой описания причины или отмены режима отклонения объявления должны присутствовать кнопки «Отклонить» и «Закрыть». 

 

7.2.2.6.      Описание модуля «Обзор объявления модератором».

 

Модуль «Обзор объявления модератором» предназначен для просмотра полной информации объявления Модератором. В структуре обзора объявления будет отображаться информация из двух типов полей -  глобальные и специфические. К глобальным данным относятся поля, которые будут присутствовать во всех шаблонах структур данных объявлений (наименование рубрики, регион, фотография лота, наименование лота, цена). К специфическим данным относятся поля, которые  будут присутствовать только в конкретном шаблоне структуры данных объявления определяющего принадлежностью к рубрике. Набор данных полей для отображения в модуле должен определяться Менеджером контента в BackOffice части Проекта.

 

В элементе отображения  объявлений должны присутствовать интерактивные кнопки:

§  Кнопка «Утвердить» - утверждение объявления Модератором с последующей публикацией объявления на веб-страницах раздела «Монитор объявлений» FrontOffice части проекта.

§  Кнопка «Отклонить» - отображение DIV-окна процедуры отклонения объявления.

§  Кнопка «Отменить» - переход на страницу «Список анонсов объявлений для модерирования»

 

Для отклонения объявления модератором необходимо использовать всплывающее  DIV-окно с формой, состоящей из полей для редактирования параметров. К параметрам относится:

§  Описание причины отклонения – текстовое поле.

 

Для отклонения объявления с последующей отправкой описания причины или отмены режима отклонения объявления должны присутствовать кнопки «Отклонить» и «Закрыть». 

 

7.2.3.   Описание сервиса «Менеджер шаблонов объявлений».

 

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

 

Сервис состоит из следующих веб-страниц:

§  Редактор схем общих полей объявления.

§  Редактор схем частных полей объявления.

§  Редактор шаблонов форм объявлений.

§  Редактор справочников.

 

7.2.3.1.      Описание веб-страницы «Редактор схем общих полей объявлений».

 

Данная веб-страница предназначена для управления схемами общих полей объявлений Администратором Портала.

 

Веб-страница должна содержать следующие веб-модули:

 

§  Менеджер схем общих полей объявления.

§  Ссылки на веб-страницы раздела.

 

7.2.3.2.      Описание веб-страницы «Редактор схем частных полей объявлений».

 

Данная страница предназначена для управления схемами частных полей объявлений Администратором Портала.

 

Веб-страница должна содержать следующие веб-модули:

 

§  Менеджер схем частных полей объявления.

§  Ссылки на веб-страницы раздела.

 

7.2.3.3.      Описание веб-страницы «Редактор шаблонов форм объявлений».

 

Данная веб-страница предназначена для управления шаблонами форм представления объявлений, которые должны использоваться для отображения анонсов публикаций на веб-страницах «Лента объявлений» и «Обзор объявления».

 

Веб-страница должна содержать следующие веб-модули:

§  Редактор шаблонов форм объявлений.

§  Ссылки на веб-страницы раздела.

 

7.2.3.4.      Описание веб-страницы «Редактор справочников».

 

Данная веб-страница предназначена для управления справочниками, которые должны использоваться как при построении форм редактирования объявлений, так и для построения фильтров.

 

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

 

В Проекте следует использовать готовое решение в рамках CMS DNN Platform. Подробную информацию об этом можно прочитать в документации описания CMS DNN Platform.

 

7.2.3.5.      Описание модуля «Менеджер схем общих полей объявлений».

 

«Менеджер схем общих полей объявлений» – модуль для отображения списка имеющихся схем общих полей объявлений с зависимым дочерним подгружаемым списком версий.

 

Элементы списка должны содержать:

§  Наименование схемы.

§  Номер версии схемы, которая установлена по умолчанию.

§  Интерактивную кнопку (показать/скрыть) для подзагрузки дочернего списка.

§  Кнопка «Создать версию» - отображение DIV-окна с формой для редактирования состава полей и их свойств новой версии схемы.

§  Кнопку «Удалить» - удаление схемы из списка со всплывающим окном для подтверждения операции. Удаление происходит с условием отсутствия зависимых объектов.

 

Элементы дочернего списка версий схем должны содержать:

§  Наименование версии (Версия 1, Версия 2 и т.д.).

§  Кнопку «Обзор» - отображение DIV-окна с формой для просмотра состава схемы.

§  Кнопку «Копировать» - создание новой версии схемы с первоначальным набором полей и их свойств от текущей (выбранной) версии схемы из списка.

§  Кнопку «Установить по умолчанию» - выбор текущей версии схемы для использования ее по умолчанию.

§  Кнопку «Удалить» - удаление версии схемы из списка со всплывающим окном для подтверждения операции. Удаление происходит с условием отсутствия зависимых объектов.

 

В модуле не предусмотрено создание новых схем и в списке будет содержаться только одна схема под названием «Схема общих полей объявлений», которая будет являться системной и ее невозможно будет удалить. 

 

DIV-окно для просмотра в виде списка состава набора полей и их свойств. Элементы списка должны содержать следующие свойства поля:

§  Наименование поля.

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

§  Тип данных.

§  Размер.

§  Флаг признака обязательного ввода.

§  Правило регулярного выражения для проверки корректного ввода данных.

 

DIV-окно редактирования состава полей версии схемы должно быть разделено на две части. Верхняя часть  - список для отображения набора полей. Элементы списка должны быть интерактивными. При выборе (указателем мыши) элемента в нижней части окна должны отображаться свойства поля. Элементы списка должны содержать следующие свойства поля:

§  Наименование поля.

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

§  Тип данных.

§  Размер.

§  Флаг признака обязательного ввода.

§  Правило регулярного выражения для проверки корректного ввода данных.

 

Нижняя часть – форма для редактирования свойств полей, которые отображаются в контролах для редактирования при  выборе поля в верхней части окна. На форме должны присутствовать кнопки «Добавить» - создание нового поля и «Заменить» - редактирование свойств выбранного поля. Форма  должна предусматривать процедуру проверки обязательного ввода данных в поля.

 

7.2.3.6.      Описание модуля «Менеджер схем частных полей объявлений».

 

«Менеджер схем частных полей объявлений» – модуль для отображения списка имеющихся схем общих полей объявлений с зависимым дочерним подгружаемым списком версий.

 

Элементы списка должны содержать:

§  Наименование схемы.

§  Номер версии схемы, которая установлена по умолчанию.

§  Интерактивную кнопку (показать/скрыть) для подзагрузки дочернего списка.

§  Кнопку «Создать версию» - отображение DIV-окна с формой для редактирования состава полей и их свойств новой версии схемы.

§  Кнопку «Редактировать» - отображение DIV-окна с формой для редактирования наименования схемы.

§  Кнопку «Удалить» - удаление схемы из списка со всплывающим окном для подтверждения операции. Удаление происходит с условием отсутствия зависимых объектов.

 

Элементы дочернего списка версий схем должны содержать:

§  Наименование версии (Версия 1, Версия 2 и т.д.).

§  Кнопку «Обзор» - отображение DIV-окна с формой для просмотра состава схемы.

§  Кнопку «Копировать» - создание новой версии схемы с первоначальным набором полей и их свойств от текущей (выбранной) версии схемы из списка.

§  Кнопку «Установить по умолчанию» - выбор текущей версии схемы для использования ее по умолчанию.

§  Кнопку «Удалить» - удаление версии схемы из списка со всплывающим окном для подтверждения операции. Удаление происходит с условием отсутствия зависимых объектов.

 

В модуле должна быть предусмотрена кнопка «Создать схему» - отображение DIV-окна с формой для редактирования схемы.

 

DIV-окно для редактирования схемы – форма с набором параметров для создания новой или редактирования существующей схемы.  На форме должны отображаться поле «Наименование схемы» и кнопки «Сохранить» для подтверждения сохранения введенной информации и «Отменить» для отмены режима редактирования. Форма  должна предусматривать процедуру проверки обязательного ввода данных в поля.

 

DIV-окно для просмотра должно быть представлено в виде списка состава набора полей и их свойств. Элементы списка должны содержать следующие свойства поля:

§  Наименование поля.

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

§  Тип данных.

§  Размер.

§  Флаг признака обязательного ввода.

§  Правило регулярного выражения для проверки корректного ввода данных.

 

DIV-окно редактирования состава полей версии схемы должно быть разделено на две части. Верхняя часть  - список для отображения набора полей. Элементы списка должны быть интерактивными. При выборе указателем мыши элемента в нижней части окна должны отображаться свойства поля. Элементы списка должны содержать следующие свойства поля:

§  Наименование поля.

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

§  Тип данных.

§  Размер.

§  Флаг признака обязательного ввода.

§  Правило регулярного выражения для проверки корректного ввода данных.

 

Нижняя часть – форма для редактирования свойств полей, которые отображаются в контролах для редактирования при  выборе поля в верхней части окна. На форме должны присутствовать кнопки «Добавить» - создание нового поля и «Заменить» - редактирование свойств выбранного поля. Форма  должна предусматривать процедуру проверки обязательного ввода данных в поля.

 

7.2.3.7.      Описание модуля «Редактор шаблонов форм объявлений».

 

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

 

Элементы списка должны содержать:

§  Наименование шаблона.

§  Номер версии шаблона, которая установлена по умолчанию.

§  Интерактивную кнопку (показать/скрыть) для подзагрузки дочернего списка.

§  Кнопка «Создать версию» - отображение DIV-окна с формой для редактирования новой версии шаблона.

§  Кнопку «Редактировать» - отображение DIV-окна с формой для редактирования наименования шаблона.

§  Кнопку «Удалить» - удаление шаблона из списка со всплывающим окном для подтверждения операции. Удаление происходит с условием отсутствия зависимых объектов.

 

Элементы дочернего списка версий шаблона должны содержать:

§  Наименование шаблона (Версия 1, Версия 2 и т.д.).

§  Кнопку «Обзор» - отображение DIV-окна с формой для просмотра шаблона.

§  Кнопку «Установить по умолчанию» - выбор текущей версии шаблона  для использования ее по умолчанию.

§  Кнопку «Удалить» - удаление версии шаблона из списка со всплывающим окном для подтверждения операции. Удаление происходит с условием отсутствия зависимых объектов.

 

В модуле должна быть предусмотрена кнопка «Создать шаблон» - отображение DIV-окна с формой для редактирования шаблона.

 

DIV-окно для редактирования шаблона – форма с набором параметров для создания нового или редактирования существующего шаблона.  На форме должны отображаться поле «Наименование шаблона» и кнопки «Сохранить» для подтверждения сохранения введенной информации и «Отменить» для отмены режима редактирования. Форма  должна предусматривать процедуру проверки обязательного ввода данных в поля.

 

DIV-окно для просмотра содержания версии шаблона должно быть представлено в виде формы с двумя заблокированными для редактирования полями (Textarea): шаблон анонсов объявлений и шаблон обзора объявлений и кнопки «Закрыть» - отмена режима просмотра.

 

DIV-окно для редактирования версии шаблона должно быть представлено в виде формы с тремя полями (Textarea): шаблон анонсов объявлений, шаблон обзора объявлений и шаблон редактора объявлений. А также кнопками «Сохранить» для подтверждения сохранения введенной информации и «Отменить» для отмены режима редактирования. Форма  должна предусматривать процедуру проверки обязательного ввода данных в поля.

 

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

 

Ниже приведен пример кода шаблона, где описывается форма для ввода двух параметров – Email (задействована проверка корректности ввода данных с использованием правила ввода на базе стандарта регулярных выражений) и выбор параметра из списка, который запрашивается из БД.

 

<!--   JavaScript обработки события нажатия кнопки «Сохранить»  -->

<script type="text/javascript" language="javascript">      

function Save(){if ((typeof(Page_SmartValidate) == 'function') && (Page_SmartValidate() == true))  {lxFetch(lxReport,0,'Action=SaveData');}}

</script>

 

<table width="100%" border="0" cellpadding="5" cellspacing="0">

      <tr>

      <td valign="top" >

       <!--   код для описания механизма проверки корректности ввода данных пользователем -->

      <div class="bss_errpanel">

   <span id="vtxtParm1_BBS1" name="vtxtParm1_BBS1" controltovalidate="txtParm1_BBS1" errormessage="Email указан некорректно." display="None" evaluationfunction="RegularExpressionValidatorEvaluateIsValid" validationexpression="^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$" initialvalue=""></span>

<span id="vtxtParm2_BBS1" name="vtxtParm2_BBS1" controltovalidate="txtParm2_BBS1" errormessage="Не указан элемент из справочника." display="None" evaluationfunction="RequiredFieldValidatorEvaluateIsValid" initialvalue=""></span>                       

<span showsummary="True" displaymode="BulletList" headertext="<img alt='Предупреждение!' title='Предупреждение!'src='/images/bss/att_16.gif' border='0' align='left'/>Внимание! При заполнении формы были обнаружены следующие ошибки:"></span>

      </div>

<table width="95%" border="0" cellpadding="0" cellspacing="3" class="bss_editpanel_body">

      <tr><td width="100%" style="padding-bottom:10px;">

      <table border="0" cellpadding="3" cellspacing="0" width="100%" class="bss_editpanel_body">

      <tr><td width="250px" align="left" nowrap><span class="bss_editpanel_rqw">Пример ввода Email с проверкой регулярных выражений:</span></td>

<!--   пример заполнения полей параметрами полученными из  БД -->

      <td align="left" nowrap><input  name="txtParm1_BBS1" id="txtParm1_BBS1" type="text" maxlength="50" class="NormalTextBox" style="width:120px" value="[Email]"/></td></tr>                         

<tr><td width="250px" align="left" nowrap><span class="bss_editpanel_rqw">Выбор данных из справочника:</span></td>

<td align="left" nowrap>

<!--   код построения  текстового поля со спускающимся меню (DropDownList). Данные списка получаем из хранимой процедуры «bss_Dic_SelectList»  БД -->

<select id="txtParm2_BBS1" name="txtParm2_BBS1" class="NormalTextBox" style="width:90%;">

@FigBegin@SUBQUERY, Name="qryDic", Query="bss_Dic_SelectList", Format="<option value='[Value]'>[Item]</option>",Header="<option value=''></option>", NoResultFormat="<option value=''></option>"@FigEnd@

</select>

</td></tr>                                                    

</table></td></tr></table>

<table width="100%" border="0" cellpadding="10" cellspacing="0">

<tr><td width="100%" nowrap align="center">

<img id="tbiSave" name="tbiSave" border=0 style="CURSOR: hand; CURSOR: pointer;" src='/images/bss/STBI_Save.gif' onclick="Save()">

<img id="tbiCancel" name="tbiCancel" border=0 style="CURSOR: hand; CURSOR: pointer;" src='/images/bss/STBI_Cancel.gif' onclick="closeReportEditor()">

</td></tr></table>

 

Шаблон храниться в БД в виде текстовой информации, и используется интерпретатором для динамического преобразования кода на стороне сервера и передачи его на клиентский браузер в виде HTML.

 

Интерпретатор – надстройка над CMS, которая несет в себе все необходимые программные библиотеки, включая технологию AJAX, и инструментарий для полноценной работы с формами, таблицами и БД. 

 

В качестве редактора шаблонов форм, для непосредственного написания кода, можно использовать любые HTML-редакторы:

§  Microsoft Office FrontPage

§  Microsoft SharePoint Designer

§  Microsoft Visual Studio.

§  И т. д.

 

 

8.    Описание раздела «Менеджер учетных записей и ролей безопасности».

 

Раздел «Менеджер учетных записей» предназначен для управления учетными записями пользователей Портала и ролями безопасности.

 

Раздел состоит из следующих сервисов:

§  Менеджер учетных записей.

§  Менеджер ролей безопасности.

 

8.1. Описание сервиса «Менеджер учетных записей».

 

Данный сервис предназначен для управления учетными записями пользователей Портала.

 

Сервис состоит из веб-страниц:

§  Список учетных записей.

§  Редактор параметров учетной записи.

§  Редактор пароля.

§  Редактор ролей безопасности учетной записи.

§  Редактор профиля учетной записи.

 

В Проекте следует использовать готовое решение в рамках CMS DNN Platform. Подробную информацию об этом можно прочитать в документации описания CMS DNN Platform.

 

8.2. Описание сервиса «Менеджер ролей безопасности».

 

Данный сервис предназначен для управления ролями безопасности учетных записей пользователей Портала.

 

Сервис состоит из веб-страниц:

§  Список ролей безопасности.

§  Редактор роли безопасности.

§  Редактор состава учетных записей.

 

В Проекте следует использовать готовое решение в рамках CMS DNN Platform. Подробную информацию об этом можно прочитать в документации описания CMS DNN Platform.

 

9.    Описание раздела «Менеджер баннерной рекламы».

 

Раздел «Менеджер баннерной рекламы» предназначен для управления рекламными кампаниями рекламодателей на веб-страницах Портала. Этот раздел должен позволять Администратору Портала размещать баннеры рекламодателей, вести их учет, подсчитывать статистику кликов и стоимость размещения.

 

В Проекте следует использовать готовое решение в рамках CMS DNN Platform. Подробную информацию об этом можно прочитать в документации описания CMS DNN Platform.

 

10. Описание раздела «Настройка Портала».

 

Раздел предназначен для управления параметрами работы Портала.

 

В Проекте следует использовать готовое решение в рамках CMS DNN Platform. Подробную информацию об этом можно прочитать в документации описания CMS DNN Platform.

 

11. Описание раздела «Служба мониторинга работы Портала».

 

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

 

В Проекте следует использовать готовое решение в рамках CMS DNN Platform. Подробную информацию об этом можно прочитать в документации описания CMS DNN Platform.

 

 

12. Описание структур данных службы объявлений.

 

При создании службы объявлений необходимо разработать архитектуру таблиц БД для сохранения и последующего использования необходимых параметров. Структура данных должна подразделяться на:

§  Структура данных объявлений.

§  Структура данных схем динамических полей объявлений.

§  Структура данных шаблонов форм.

12.1.            Описание структуры данных объявлений.

 

Рисунок 3 – Структура данных объявлений

Описание таблиц:

§  BBS_Announcements_Categories – Реестр рубрик.

§  BBS_Announcements – Реестр объявлений.

§  BBS_Announcements_DealTypies – Справочник типов сделок.

§  BBS_Announcements_Photos – Реестр фотографий объявлений.

§  BBS_Announcements_Duplications – Реестр кандидатов на признак  совпадения для дублированного объявления.

12.2.            Описание структуры данных схем динамических полей объявлений.

 

Рисунок 4 - Структура данных схем динамических полей объявлений.

Описание таблиц:

§  BBS_Announcements_Categories – Реестр рубрик.

§  BBS_Announcements_DataSchemies – Реестр схем динамических полей объявлений.

§  BBS_Announcements_DataSchemes_Versions – Реестр версий схем динамических полей объявлений.

§  BBS_Announcements_DataProperties_Definitions – Реестр набора динамических полей в версии схемы.

§  BBS_Announcements_DataLists – Реестр списков (справочников).

§  BBS_Announcements_DataLists_Values – Реестр опций списка.

 

В архитектуре динамических полей объявлений должен быть заложен механизм автоматического создания динамических таблиц и последующей синхронизацией со структурой, которая описана в реестре версий схем (таблица BBS_Announcements_DataProperties_Definitions). Эти таблицы будут являться хранилищем данных содержания объявлений.  Таблицы должны подразделяться на два типа:  таблицы для содержания общих параметров и таблицы для содержания специфических параметров объявлений.  Это позволит оптимизировать нагрузку и добиться хорошей производительности БД.

 

12.3.            Описание структуры данных шаблонов форм.

 

Рисунок 5 - структуры данных шаблонов форм

 


 

Описание таблиц:

§  BBS_Announcements_Categories – Реестр рубрик.

§  BBS_Announcements_FormTemplates – Реестр шаблонов форм.

§  BBS_Announcements_FormTemplates_Versions – Реестр версий шаблонов форм.

 

 

13.   Биллинговая система

 

13.1.Общие сведения работы биллинга

 

Каждый пользователь системы владеет виртуальным счетом, который пополняется наличными денежными средствами с помощью платежный систем. В базовой поставке разработчиком системы BSS предлагается два провайдера платежей – агрегатор платежей ROBOKASSA и COMEPAY – провайдер приема платежей через сеть терминалов Кампей.

Для проведения платежей используется уникальный номер ID пользователя.

В системе BSS предусмотрен бонусный счет пользователя для обеспечения функции начисления бонусов при выполнении условий акции в автоматическом режиме. Денежные средства списываются в первую очередь с Бонусного счета. Только при его нулевом балансе происходит оплата услуг с основного счета.

13.2.             Пример сценария настройки биллинговой системы

 

Публикация объявления или «поднятие» объявления:

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

§  Плата взимается сразу в момент публикации объявления.

§  Плата за уже размещенное объявление должна взиматься ровно в 00:00 по Мск. Плата взимается вперед за сутки.

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

Размещение «VIP-объявления»

§  На главной странице результатов выборки отображается только 5 первых  объявлений из данной базы (данный параметр должен настраиваться). Максимум VIP-объявлений = 100 шт.

§  На первую строку попадает каждое новое объявление, помеченное пользователем как VIP. При добавлении в данный раздел нового объявления все объявления сдвигаются на 1 позицию вниз, а объявление под №100 пропадает из данного раздела VIP, соответственно, у данного объявления снимается пометка «VIP» и объявление уже может отображаться в общих результатах поиска.

§  Под таблицей «VIP-объявления» располагается ссылка, которая ведет на страницу обзора всех VIP-объявлений.

§  Чтобы объявление попало в раздел VIP, пользователь должен в личном кабинете напротив данного объявления нажать кнопку, «Выделить объявление» и применить параметр «VIP». Происходит списание денежных средств за данную операцию. Пользователь в любой момент времени может снова применить данную функцию, чтобы его объявление поднялось на 1-ую строку в разделе VIP. Замечание: объявление с предыдущей позиции (со 2 по 100) пропадает и попадает на первую строку. Объявления не должны дублироваться.

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

§  Поднятие объявления: объявление в результатах поиска отображается выше, чем предыдущие, но постепенно опускается.