Разработка режимного/внетурнирного решения задач

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
nuriyevn
Posts:15
Joined:01 December 2014, 01:29
Contact:
Разработка режимного/внетурнирного решения задач

Post by nuriyevn » 11 December 2014, 22:36

Добрый вечер.

Задам довольно серьезный и сложный вопрос: как реализовать режимное решение задач на базе ejudge?
Режимным я называю такое использование системы, когда входишь в систему без привязки к какому-либо соревнованию и решаешь задачи из глобального пула задач, который физически находится например (/home/judges/problems/NNNNNN).

Далее продолжая мысль, можно очень быстро создавать соревнования выбирая задачи и глобального списка имеющихся задач. Информацию о задачах либо полностью хранится в MySQL таблице(problems) либо хранится как есть в XML, а в базе хранятся ссылки на XML файлы из MySQL.

Вторая идея: классификация задач по тегам с возможностью поиска и фильтрация задач. Одно из слабых мест современных проверяющих систем - слабый классификатор задач и возможности поиска. Каждой задаче присваиваются некоторые теги, темы/разделы программирования. Например, хочет студент решать геометрические задачи - пусть решает. Бывает ещё студент заходит в систему и у него возникает вопрос: "что б мне решить?" Чем бы студент/школьник не тешился, лишь бы не маялся.

Опытные олимпийцы знают куда идут но не все - опытные и не всем везет иметь в качестве тренера - директора ACM ICPC Subregional. Нужна массовость. Так можно ускорить темп подготовки олимпийцев и снизить порог вхождения, пусть будет много участников (серверные мощности не жалко).

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

Пытался самостоятельно отвязать все зависимости от соревнования для команды (cmd_login), в итоге написал бесполезные 3 тыс. строк , так, чтобы изменить одну функцию меняю необходимо каскадно проанализировать все вызываемые функции. Ощущение, что все это как-то хаотически получается, работаю с этой системой всего лишь полгода + не отработаны средства отладки.

Александр, есть ли у Вас подобные планы, можем ли совместно работать в общий SVN, если таких планов нет, как бы все это реализовали, если б такая задача стояла.

Заранее огромное спасибо.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Разработка режимного/внетурнирного решения задач

Post by cher » 22 December 2014, 13:58

Да, это все правильно.

Есть большая необходимость в хранилище и каталогизаторе задач. Я как-то это начинал делать, но ресурсов не хватило.

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

В общем, есть желание все это делать, но нет пока хорошего понимания как.

nuriyevn
Posts:15
Joined:01 December 2014, 01:29
Contact:

Re: Разработка режимного/внетурнирного решения задач

Post by nuriyevn » 06 January 2015, 05:12

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

Сколько времени примерно по вашим оценкам, нужно будет эт переделывать?

Post Reply