Блок для вызова инструмента авторинга отдельно от вопроса
Originally reported on Google Code with ID 204
Это легко сделать, это нужно для внедрения в учебный процесс осенью и для использования
другими людьми. Резко повышает полезность разработанных инструментов авторинга.
Я думаю, нужно сделать две вещи:
* блок, который просто открывает инструменты и позволяет поиграться с регексом для
их сохранения
* модуль, в котором преподаватель задает тесты, оригинальный регекс (и всякие штрафы),
а студенты пытаются составить аналогичный регекс и получают оценку.
Сделать легко - я введу в курс того, кто этим займется, Валерий поможет с бэкап/рестор.
Reported by oasychev
on 2013-06-21 15:19:36
Comments (18)
-
reporter -
Account Deleted Скажите, чем модуль принципиально отличается от вопроса? Если студенты на что-то будут отвечать, то наверняка это вопрос. Просто я не знаю для чего нужны модули. По поводу настроек окошка: что за связь с полем в главном окне? На мой взгляд, ЕСЛИ делать вопрос, то всплывающее окошко будет лишним. Удобнее было бы "expanders" использовать. Например, студенту нужна подсказка в виде графа - он нажимает кнопку (или совершает какое-то иное действие) и раскрывается новая область с картинкой. При этом взимается штраф (если нужно). В таком ключе можно выделить следующие настройки для преподавателя: 1) количество попыток; 2) штраф за попытку; 3) штраф за использование графа; 4) штраф за использование словесного описания.
Reported by
ZluMYO
on 2013-06-30 18:26:10 -
reporter Я думаю будет вопрос типа ConstructRegex Только там через раскрытие не пойдет, там надо отдельно делать - у вопросов своя система запросов на сервер, но как подсказки делать я подскажу... Посмотрите пока на то, какие настройки в preg - в т.ч. по подсказкам. И прикиньте свои. Каждый тест это вид ответа я думаю, но так чтобы оценки за все тесты складывались к 100%.
Reported by
oasychev
on 2013-07-01 16:00:12 -
Account Deleted ContructRegex это существующий тип вопроса? Я в меню выбора типа вопроса из списка установленных не нашёл такого...
Reported by
ZluMYO
on 2013-07-01 18:57:55 -
reporter ContructRegex это вопрос, который нам предстоит написать вместо модуля. Но начать надо с блока. А еще лучше с тестов и отладки существующего кода...
Reported by
oasychev
on 2013-07-02 11:06:25 -
reporter Reported by
oasychev
on 2013-09-05 20:21:53 -
reporter Тут основные вопросы будут связаны со скриптом, в котором - если я правильно понимаю - больше всех разбирается Пахомов. Дмитрий, отвечайте только оперативно. Во-первых, скрипт в poasquestion_text_and_button.js насколько легко будет присобачить к ссылке? Или ему сейчас надо непременно кнопку? Нам (как только вы доделаете стили от Moodle и перенос выделения на сервер) - было бы нужно выделить из него в отдельный файл универсальную часть, чтобы запускать диалог со ссылки или кнопки; а уж из poasquestion_text_and_button эту универсальную часть вызывать. Базисно для блока мне нужен код, вызывающий этот диалог по обычной ссылке...
Reported by
oasychev
on 2013-10-03 20:54:17 -
reporter Вытолкнул основу блока - см. blocks/regex_constuctor. Дмитрий - теперь вам надо натравить ссылку так, чтобы она вызывала диалог авторинга и проверить его работоспособность в отсутствие формы: а) вместо кнопок "save" ("save changes" в другом месте) и "cancel" должна быть одна кнопка "Close" б) никаких попыток сохранить регекс, опции матчинга и тесты предприниматься не должно - некуда в) сигналом для диалога авторинга что он вызывается из блока должна служить не странный параметр isblock (мало ли откуда еще вызывается эта форма), а отсутствие в запросе данных из формы - куда сохранять регекс и т.д., они же как-то передаются когда диалог вызывает кнопка при одном из ответов... Это все надо отладить в 2-х недельный период до релиза - блок то мы можем выпустить позднее, а вот весь код в preg и poasquestion должен быть выверен до их релиза, иначе блок отложится до следующего релиза preg - это очень надолго...
Reported by
oasychev
on 2013-10-15 21:45:29 -
reporter Да - чтобы не искали - основной код генерируется функцией get_content, в ней можно использовать $this->page для доступа к объекту $PAGE (глобалку не использовать!) - включая использование его для подключения и вызова javascript. Общая информация по разработке блоков - http://docs.moodle.org/dev/Blocks
Reported by
oasychev
on 2013-10-15 21:48:09 -
reporter С некоторыми надписями в заголовках из блока - проблема: заголовок диалога; сворачивание/разворачивание всего. Кнопка внизу диалога осталась Cancel, а не Close Надписи на кнопках я так понимаю захардкодены, потому непереводимы. В то время как их надо брать из lang файлов (только не надо добавлять туда Close или Cancel - они в мудловских файлах есть). Вроде был способ добраться до lang-строк прямо из яваскрипта, но найти сходу не смог - но можно же передать их как параметры из серверной части, это уж точно сработает.
Reported by
oasychev
on 2013-10-22 21:19:51 -
http://phpdocs.moodle.org/HEAD/core/lib/page_requirements_manager.html#string_for_js
Reported by
vostreltsov
on 2013-10-23 03:38:38 -
reporter Я думаю, что проблема с отображением надписи на ссылке "все свернуть/все развернуть" вверху справа - в том, что при вызове из блока эти строки не были сделаны доступными для яваскрипт через string_for_js. При вызове из формы вопроса это было не нужно, т.к. сама форма вопроса уже делала это - а из блока нужно. Также есть предложение переименовать на всех заголовках authoring tools в Regex Constructor - название более подходит и блоку и диалогу. Пахомов - нужно бы еще сделать что-то со ссылкой, чтобы мышь на нее реагировала как на обычную, и чтобы если нет яваскрипта то она вела бы на страницу с надписью типа "Извините, без яваскрипта regex constructor не работает".
Reported by
oasychev
on 2013-10-23 17:48:53 -
Сделал все кроме последнего пункта. Вижу только одно решение: вместо "open regex constructor" сделать вашу надпись, прямо в самом блоке.
Reported by
vostreltsov
on 2013-10-25 08:49:12 - Status changed:InProgress
-
reporter Можно и так, скорее всего так даже проще. Можно было сделать отдельную страницу с надписью внутри каталога блока, куда будет вести ссылка без перехвата ее javascript - это мое начальное предложение.
Reported by
oasychev
on 2013-10-25 11:25:35 -
Reported by
vostreltsov
on 2013-10-25 13:35:17 - Status changed:Fixed
-
reporter Там еще проблема с другими строками есть - посмотрите на Changeset: 152562f2ca74 В poasquestion_text_and_button.js надписи на кнопках (Cancel и т.д.) - захардкодены. А не получены через string_for_js. Поэтому не переводятся....
Reported by
oasychev
on 2013-10-25 14:18:21 - Status changed:InProgress
-
Reported by
vostreltsov
on 2013-10-26 14:57:16 - Status changed:Fixed
-
reporter Всем спасибо!
Reported by
oasychev
on 2013-10-28 19:34:16 - Status changed:Done
- Log in to comment
Reported by
oasychev
on 2013-06-26 14:47:32