Просмотр всех неочищенных курсов за определенное время

Просмотр всех неочищенных курсов за определенное время

от Andrey WoW -
Количество ответов: 7

Здравствуйте! Проблема не безызвестная на этом форуме, но по этому вопросу конкретно, информации не нашел...
В данный момент сайт весит 46 гигов. В корзине всего 4.5 гига. Как мне кажется, не все учителя чистят свои курсы..

Скажите пожалуйста, как можно вывести все неочищенные курсы, например, за прошлый год?

Или может быть возможно их сразу отправить в треш...

Заранее благодарю.

Ubuntu

3.5.12+

В ответ на Andrey WoW

Re: Просмотр всех неочищенных курсов за определенное время

от Andrey WoW -
В ответ на Andrey WoW

Re: Просмотр всех неочищенных курсов за определенное время

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Можно воспользоваться плагином "configurable reports".
Есть одна проблема - для каждого модуля нужно писать свой запрос.
Есть плагин "Размер курса" https://moodle.org/plugins/report_coursesize - возможно он частично решит проблему.
В ответ на Виталий Лавров

Re: Просмотр всех неочищенных курсов за определенное время

от Andrey WoW -
Большое спасибо за ответ!) я скачал и скопировал папку configurable_reports в папку mod (кстати, там много папок, а в админке - плагины - всего 1). Пытаюсь как то к нему обратиться или найти в админке, но ничего... В чем может быть проблема?
В ответ на Andrey WoW

Re: Просмотр всех неочищенных курсов за определенное время

от Николай Козловский -
configurable_reports устанавливается (копируется) в папку blocks
В ответ на Николай Козловский

Re: Просмотр всех неочищенных курсов за определенное время

от Andrey WoW -
Спасибо) Скопировал, в админке пусто..
В ответ на Andrey WoW

Re: Просмотр всех неочищенных курсов за определенное время

от Николай Козловский -
Я использую другой плагин. Попробуйте установить custom sql. https://moodle.org/plugins/report_customsql
Его нужно скопировать /report/customsql/ и эту же ссылку открыть.
Потом добавляете отчет ниже или примеры https://docs.moodle.org/310/en/Custom_SQL_queries_report
Отчет ниже выводит количество различных элементов для каждого курса и назначение ролей.
Нам для мониторинга хватает.
SELECT
c.id 'ID курса'
,c.shortname 'Короткое название курса'
,CONCAT('',c.fullname,'') 'Полное название курса'
,(SELECT GROUP_CONCAT(u.firstname,' ', u.lastname SEPARATOR '\n')
FROM {course} ctn
JOIN {context} ct ON ctn.id = ct.instanceid
JOIN {role_assignments} ra ON ra.contextid = ct.id
JOIN {user} u ON u.id = ra.userid
JOIN {role} r ON r.id = ra.roleid
WHERE r.id = 3 AND ctn.id = c.id) 'Преподаватель'
,(SELECT COUNT(*) FROM {role_assignments} raa WHERE raa.roleid = 3 and raa.contextid=cx.id) 'Кол-во преподавателей'
,(SELECT COUNT(*) FROM {role_assignments} raa WHERE raa.roleid = 5 and raa.contextid=cx.id) 'Студентов'
,(SELECT COUNT(*) FROM {course_sections} sec WHERE c.id = sec.course AND sec.sequence!='') 'Разделов'
,(SELECT COUNT(*) FROM {course_modules} cm WHERE cm.course = c.id) 'Модулей'
,(SELECT COUNT(*) FROM {course_modules} res WHERE c.id = res.course
AND res.module IN (
SELECT m.id FROM {course_modules} cm JOIN {modules} m ON cm.module=m.id
WHERE m.name IN ('label','book','page','url','imscp','folder','resource'))
) 'Ресурсов'
,(SELECT COUNT(*) FROM {course_modules} ele WHERE c.id = ele.course
AND ele.module IN (
SELECT m.id FROM {course_modules} cm JOIN {modules} m ON cm.module=m.id
WHERE m.name IN ('assignment','chat','choice','data','forum','glossary','lesson','quiz',
'scorm','survey','wiki','workshop','feedback','lti','assign','questionnaire','subcourse'))
) 'Элементов курса'
,(SELECT Count(*) FROM {question} q INNER JOIN {question_categories} qc ON qc.id = q.category AND q.qtype <> 'random'
AND q.parent = 0 INNER JOIN {context} ctx ON ctx.id = qc.contextid WHERE ctx.instanceid = c.id AND ctx.contextlevel = 50) 'Тестовых вопросов'
FROM {role_assignments} rar
LEFT JOIN {context} cx ON (rar.contextid = cx.id)
RIGHT JOIN {course} c ON cx.instanceid = c.id
LEFT JOIN {user} u ON (rar.userid = u.id)
LEFT JOIN {role} r ON (rar.roleid = r.id)
LEFT JOIN {course_categories} cc ON cc.id = c.category
LEFT JOIN {role_assignments} ra ON ra.userid = u.id
WHERE c.visible = '1' AND c.id > 1
GROUP BY c.id
ORDER BY c.fullname ASC
В ответ на Николай Козловский

Re: Просмотр всех неочищенных курсов за определенное время

от Andrey WoW -
Благодарю! Попробую для начала обновиться и поставить https://moodle.org/plugins/report_coursesize. Если с помощью его не выйдет, буду пробовать с помощью запросов. Всем спасибо!