Унаследоваться от класса plugininfo
Issue #275
wontfix
Originally reported on Google Code with ID 275
По-моему нужно объявить унаследованный класс от класса plugininfo, в котором описываются
свойства плагина (как минимум, что плагин является удаляемым).
Иначе невозможно удалить ни supervisedblock ни supervisedcheck со страницы администрирования.
http://screencast.com/t/Dp3bz0zE0
Это нововведение последних версий Moodle - 2.5/2.6. На старой версии Moodle я мог удалить
плагин.
http://docs.moodle.org/dev/Subplugins#plugininfo_class
Да и наверное логично было бы удалять ВСЕ таблицы и связанные с плагином данные при
его деинсталляции.
Reported by ushakov.andrey.34
on 2014-03-30 13:02:26
Comments (8)
-
Account Deleted -
Account Deleted Хотя вообще это относится к subplugins, а не к плагинам и написано Sub-plugins are supported in following plugin types: - activity modules - html editors (since 2.4) - local plugins (since 2.6) - admin tools (since 2.6) Т.е. по идее к блокам и accessrules отношения это не имеет... Конкретно для supervisedcheck вызывается метод is_uninstall_allowed из абстрактного класса base - lib\classes\plugininfo\base.php, возвращающий false (весь метод - одна строчка return false). Поэтому плагин не удаляется. Не пойму - нужно ли для плагинам наследоваться от plugininfo и переопределять метод или нет... Проверьте пожалуйста на деплое - есть ли напротив наших плагинов Uninstall на странице администрирования? Может это у меня глюк такой.. Скачал рандомный блок под 2.6 с moodle.org, не вижу в нем никакого наследования, но удалить его можно...
Reported by
ushakov.andrey.34
on 2014-03-30 13:41:48 -
repo owner Посмотреть смогу на следующий вечер - сегодня не за тем компом; но раньше кнопки удаления (uninstall) находились в перечнях конкретных видов плагинов (блоков, и т.д.) - а не в общем их списке. quiz access rule это определенно subplugin, блок - нет.
Reported by
oasychev
on 2014-03-30 15:40:13 -
repo owner А о каком классе идет речь - о классе правила или отдельный класс надо создавать? И все-таки создается он в каждом плагине или для вида плагинов как такового? Попробуйте установить какое-нибудь уже выложенное access rule - их там два есть - оно будет удаляться? Вроде было такое, у кого maintainer - Tim Hunt - это точно будет сделано все, что можно. Потому что если надо это для вида плагинов делать, то это мудловские проблемы, надо Тиму будет писать баг на трекере.
Reported by
oasychev
on 2014-03-30 17:19:05 -
Account Deleted Насколько я понял, создается для вида плагинов. Для всех quiz access rules есть mod\quiz\classes\plugininfo\quizaccess.php. В нем: class quizaccess extends base { public function is_uninstall_allowed() { return false; } } Исправить на true - будет можно удалять эти самые правила... Устанавливал Honesty check, он также не удаляется.
Reported by
ushakov.andrey.34
on 2014-03-30 18:07:31 -
Account Deleted Что-то странное ответил Тим... https://moodle.org/mod/forum/discuss.php?d=257346
Reported by
ushakov.andrey.34
on 2014-03-30 18:20:17 -
repo owner Тим то ли не включился, то ли заморачиваться не хочет. Я задал ему вопрос прямым текстом - увидим. Но в любом случае раз не в плагине, а для вида - это не наша проблема. В рамках правила она не решается.
Reported by
oasychev
on 2014-03-30 19:30:13 -
repo owner Проблема не наша
Reported by
oasychev
on 2014-04-03 10:13:28 - Status changed:WontFix
- Log in to comment
Reported by
ushakov.andrey.34
on 2014-03-30 13:02:54 - Labels added: Component-UnderSupervision