Выдавать осмысленные сообщения об ошибках в регексах в инструментах авторинга
Issue #214
closed
Originally reported on Google Code with ID 214
Как-то мы об этом не подумали - а простые пользователи оказались в полной уверенности,
что дерево и граф просто не работают...
Возможно что строка для самого сообщения уже есть в Moodle - надо грепнуть где еще
используется настройка пути к DOT, которая у нас есть, и посмотреть что там делается,
если настройки нет - возможно можно будет найти подходящий get_string. Если нет - надо
написать самим со ссылками, где скачать и описанием того, как настроить...
Валерий, вы с этой настройкой DOT работали - сделаете?
Reported by oasychev
on 2013-08-12 18:28:13
Comments (8)
-
-
reporter Так вполне возможно, что этот админский скрипт какую-то статистику через DOT рисует... И что там нет сообщения? Тогда надо сделать самим. Тем более вы когда-то начинали делать архитектуру инструментов авторинга и предусматривали там возможность ошибки - вот оно и понадобилось, вам будет удобно. Что нужно: два отдельных сообщения об ошибке а) настройка DOT пустая - сообщение что инструмент (его имя подставить) не работает по причине отсутствия Graphviz. Необходимо установить Graphviz и указать путь к нему в Moodle в параметре таком-то. Сообщение должно содержать две ссылки - на скачивание Graphviz и на страницу сервера, на которой находится настройка - последнюю надо генерировать динамически через $CFG->wwwroot и передавать как одной из свойств $a - см. аналогичную ситуацию в сообщении о слишком большом автомате как пример кода, там дается ссылка на нашу страницу настроек. б) настройка DOT не пустая, но запустить dot не удается - сообщение о том, что путь к утилите Dot (из пакета Graphviz) неверный. Из самой функции отрисовки в DOT я бы в такой ситуации выбрасывал исключения, чтобы показать, в чем именно проблема. А - я давно говорил о полезности абстрактного класса для инструмента, работающего через DOT - инструмент может это исключение перехватить и выдать сообщение.
Reported by
oasychev
on 2013-08-14 19:42:21 -
Со стороны php: теперь если есть ошибки (любые - кривой pathtodot, плохой регекс) - json содержит строку с сообщением об ошибке. Дело за javascript'ом. Отличить сообщение от картинки можно соответственно тем, что оно начинается не с 'data:'. Надо div'ки что ли для текста сделать и скрывать картинки... И посмотреть, что кэшируется всё нормально. И еще - инструментам авторинга нужно добавить нормальные строки в lang файл.
Reported by
vostreltsov
on 2013-08-16 20:40:36 -
reporter Валерий - в последнем предложении имеются ввиду строки с их названиями?
Reported by
oasychev
on 2013-08-17 12:35:00 -
Ну да. Там сейчас захардкодены сообщения об ошибках, нужен get_string. Кстати, мне кажется можно было бы разбить lang файл на части - сообщения об ошибках, другие интерфейсные строки, описания узлов и т.д. А то там уже кошмар какой-то.
Reported by
vostreltsov
on 2013-08-17 12:41:27 -
reporter Сообщения об ошибках надо привести в приличный вид, хотя там должно быть только непринятие (которое и так генерируется) и проблемы dot - что еще может быть в инструментах авторинга? Про разбиение надо спрашивать на GDF - Валерий спросите или мне это сделать? И я бы разбивал уже после релиза. А вот унификация к релизу нужна, чтобы работало все нормально.
Reported by
oasychev
on 2013-08-17 14:01:34 -
reporter Сделал получение информации о наличии ошибки в регексе в инструменте тестирования - был не самый тривиальный момент. Теперь надо переправить эту информацию в скрипт как-то так, чтобы не перепутать с нормальным вариантом развития событий - и отобразить в скрипте...
Reported by
oasychev
on 2013-08-23 20:12:17 -
reporter Спасибо Валерию :) А вот кто-то так и не напрягся...
Reported by
oasychev
on 2013-09-03 21:01:21 - Status changed:Done
- Log in to comment
Reported by
vostreltsov
on 2013-08-13 17:52:24