Отделить код различных методов получения заданий от остальной системы
Originally reported on Google Code with ID 25 ``` Возможно огромное количество методик выдачи индивидуальных заданий.
Для того, чтобы упростить их добавление и реализацию они должны быть выделены как мини-плагины, реализованные в виде наследников от абстрактного класса, чтобы их легко было дополнять...
Начать следует с разработки абстрактного класса и выделения кода существующих методов как его детей. ```
Reported by `oasychev` on 2011-02-15 10:21:16
Comments (11)
-
Account Deleted -
reporter ``` Тут надо думать лучше.
Она может быть связана с разными данными: выбор конкретного задания привязан к отдельному заданию, а случайный выбор - к общему списку например. Иногда (как в случайном выборе с учетом параметра) нужно вводить дополнительные параметры.
Так что я думаю надо дать ей возможность вставлять HTML-код в разные места - заголовок/подвал списка заданий, отдельное задание и т.д. (подумать, какие именно, анализируя текущие варианты) - а если какому-то методу понадобится отдельная страница, нет ничего проще вставить код со ссылкой на нее. Наше дело скорее ГДЕ может понадобится это вставить... ```
Reported by `oasychev` on 2011-02-18 20:12:19
-
reporter ``` Когда пользователь в форме выбирает метод выдачи заданий - надо проанализировать имеющиеся плагины и дать их список (и выработать режим хранения чтобы данные не сбивались при добавлении нового плагина). Как его называть пользователю плагин должен также сообщать сам. ```
Reported by `oasychev` on 2011-03-07 20:42:16
-
Account Deleted ``` Пусть плагины-раздатчики заданий тоже получат таблицу в базе - как плагины ответов. Но как плагин будет сообщать свое имя, если все строки хранятся в lang ? ```
Reported by `oggfire` on 2011-03-11 13:48:23
-
reporter ``` А в чем проблема? Пусть функция вернет имя строки из lang.
Кстати, lang - это php файл и никто ему не мешал делать require/include, в т.ч. в циклах и т.д. ```
Reported by `oasychev` on 2011-03-11 15:50:16
-
Account Deleted Reported by `oggfire` on 2011-03-26 15:45:32 - Status changed: `Fixed`
-
reporter ``` Добавить стратегию, имитирующую выдачу модификации на основании варианта из другого экземпляра. И (совместимую) стратегию выбора уровня сложности при перекрывающихся значениях коэффициента сложности.
Кроме того, возможно данные о том, какие поля использовать при случайном выборе по параметру следует сделать данными стратегии, а не поля, раз уж стратегии стали плагинами - для пользователя будет же логичнее вводить их при стратегии, а не в полях... ```
Reported by `oasychev` on 2011-04-21 18:35:23 - Status changed: `InProgress`
-
Account Deleted ``` Добавить вызов действий плагина выдачи заданий на странице просмотра задания. Возможно, нужно добавить вызов на главную страницу - например случайное задание можно было бы выдавать сразу как студент зашел в модуль. ```
Reported by `oggfire` on 2011-06-21 14:05:39
-
reporter Reported by `oasychev` on 2011-09-14 14:29:47 - Labels added: Milestone-Release2.1
-
Account Deleted Reported by `oggfire` on 2011-11-25 15:15:30 - Status changed: `Fixed`
-
reporter Reported by `oasychev` on 2012-03-20 13:35:12 - Status changed: `Done`
- Log in to comment
``` Выдача заданий тесно связана со страницей заданий. Сделать для выдачи отдельную страницу или пускай остается как было? ```
Reported by `oggfire` on 2011-02-18 13:00:11