MyWackoSite: NsuTs/Вам запрещён доступDocumentation/devguide/virtualtours ...

Home Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | Вход:  Пароль:  
Это старая версия NsuTs/Documentation/devguide/virtualtours за 2011-07-15 18:05:27..

Виртуальные туры

Требования

  1. В настройках тура у администратора должна быть галочка для отметки, что тур виртуальный.
  2. У виртуального тура в настройках есть его длительность, по окончании сдавать решения нельзя.
  3. Для конкретного участника виртуальный тур начинается после нажатия кнопки «Начать виртуальный тур».
  4. Нельзя начинать один и тот же виртуальный тур для одного участника до завершения предыдущей сессии виртуального тура.
  5. Рейтинг виртуального тура должен моделировать настоящие соревноваания, то есть попытки участников, решаваших тур ранее, должны отображаться не все сразу, а по мере прохождения времени тура у решающего участника.
  6. Различные сессии вирутального тура у одного участника в рейтинге нужно различать, например, добавляя временную метку начала тура (дата+время).

Вопрос для обсуждения

Для официальных туров нужно сохранять историю: рейтинг, очередь и пр.
Сейчас такие олимпиады и туры просто остаются открытыми для просмотра зарегистрованных участников, а для дорешивания заводятся новые туры в тренировках. Но для имитации соревнований в дорешивании такого тура в режиме виртуального нужно отображать и посылки официального рейтинга.
То есть нужно либо уметь переносить рейтинг в новый тур, либо открывать для дорешивания официальные туры с заведением новой вкладки «Виртуальный рейтинг».

Вопросы


1. Должны ли разные участники одного виртуального тура видеть друг друга в рейтинге?
2. В частности, должен ли участник видеть свои решения из других сессий этого виртуального тура?
3. Может ли участник самостоятельно начинать новые сессии виртуального тура или ему нужна определённая привилегия или администратор должен каждый раз добавлять участника в тур?

Предложения / Варианты реализации

A. Если 1 – да, то по-моему таблица virtualtours должна иметь поля id, tourid (связь с tour.id), duration (длительность тура). Создать таблицу virtualusers с полями id, userid (связь с users.userid), virtualtourid (связь с virtualtours.id), start_time (время начала участия в туре).

Решение

После обсуждения пришли ко мнению, что ответы на вопросы: (1. – да, 2. – да, 3. – может сам).
Вариант реализации будет похож на предложение А.

Необходимые изменения


В таблицы submits И timeshift добавить поле virt_userid типа int(11) может быть NULL, значения по умолчанию NULL.
Таблица virtualtours должна иметь следующие поля:



имя тип NULL? default
virt_tourid int(11) Нет
tourid int(11) Нет
duration int(5) Да NULL
Создать следущую таблицу virtualusers:



virt_userid int(11) Нет
userid int(11) Нет
virt_tourid int(11) Нет
start_time datetime Нет

 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]