Вопрос по импорту оценок из moodle во внешнюю систему

Вопрос по импорту оценок из moodle во внешнюю систему

by Andrey Penin -
Number of replies: 8

Добрый день!

У меня следующая ситуация: есть 2 сайта. Один сайт на основе moodle, второй написан на asp.net. Задача состоит в том, чтобы получить с первого сайта оценки  за тесты и отобразить их на втором сайте.

В данной ситуации, на сколько я сейчас понимаю, мне лучше на прямую обращаться к таблицам БД Moodle и получать из них нужную информацию? Может быть есть какой-то другой способ более удобного получения информации об оценках?

Sum of ratings: -
In reply to Andrey Penin

Re: Вопрос по импорту оценок из moodle во внешнюю систему

by Alexandre Scherbyna -

В Moodle уже встроены средства для экспорта оценок теста, причем в разных форматах. Воспользуйтесь в первую очередь ими. Если что-то вас не устроит, тогда можно будет рассмотреть другие возможности.

In reply to Alexandre Scherbyna

Re: Вопрос по импорту оценок из moodle во внешнюю систему

by Виталий Лавров -
Picture of Эксперт по Moodle

Но там нужно экспортировать отдельно для каждого курса, а если нужно все сразу, то придется писать запросы. А grade API прямым назвать нельзя.

In reply to Alexandre Scherbyna

Re: Вопрос по импорту оценок из moodle во внешнюю систему

by Andrey Penin -

Под встроенными средствами экспорта оценок вы имеете ввиду экспорт оценок в файл Excel например? 

Я возможно не совсем полно описал свою задачу.

Сайт, написанный на ASP.NET - это классический электронный журнал по сути. И стоит задача импорта оценок тестов с сайта, построенного на Moodle, в автоматическом режиме. Т.е. представим ситуацию: преподаватель заходит на сайт эл-го журнала. Изначально  у преподавателя нет доступа к сайту с тестами. Однако на сайте эл-го журнала есть кнопочка "Обновить оценки", которая как раз  и выполняет импорт оценок с сайта Moodle. Т.о. при импорте отсутствуют какие-либо промежуточные файлы.

Я понимаю, что с точки зрения удобства программирования, с файлами проще работать. Но, желательно, проблему решить без лишних телодвижений со стороны пользователя.

Возможно есть какие-то API по работе с Moodle или какие-то другие инструменты? На данный момент другого способа, кроме как обращения на прямую к БД Moodle в этой ситуации, я не знаю.

In reply to Andrey Penin

Re: Вопрос по импорту оценок из moodle во внешнюю систему

by Виталий Лавров -
Picture of Эксперт по Moodle

Найдите программера на php. Напишите ему ТЗ. дождитесь выполнения работы и заплатите программеру денег.

Полностью завершенная работа понянет на курсовик по программированию/базам данных.

В коде moodle есть готовые примеры по извлечению оценок ( grade/export/*), Написать блок, который по cron что-то делает не сложно ( да и примеров достаточно).

Grade API достаточно тяжелый, но простой в использовании. Получать все оценки по всем курсам каждый раз слишком накладно, так что без промежуточной таблицы не обойтись. Извлекать данные самостоятельно из таблиц - _очень_ не просто. Я только что дописывал просмотр оценок закончивших курс  и пришел к выводу, что без использовать grade API гарантировать правильность результатов тяжело.

Дальше нужно знать, что умеет принимать дотнетовская поделка.

кнопка "обновить оценки" вроде как и не нужна.

In reply to Виталий Лавров

Re: Вопрос по импорту оценок из moodle во внешнюю систему

by Vadim Dvorovenko -
Picture of Developers Picture of Майнтейнер перевода

ДА не надо никакого php программера. Есть же .ASP. В moodle есть втроенный механизм жля экспорта оценок во внешнюю систему, генерируется секретный url по которому можно получить .csv или .xml с оценками и обрабатывать их чем угодно.

Чуть позже появилась LTI - интеграция с образовательными инструментами. Принцип тот же, всё на http запросах. Вроде даже есть какая-то спецификация. Moodle умеет быть как источником, так и приёмником данных. Подробнее не разбирался

In reply to Andrey Penin

Re: Вопрос по импорту оценок из moodle во внешнюю систему

by Alexandre Scherbyna -

Штатными средствами Moodle можно создать URL, по которому любой робот или человек, вовсе на сайте не зарегистрированный, может загрузить с сайта Moodle файл с текущими оценками теста и потом делать с ними что угодно.

In reply to Andrey Penin

Re: Вопрос по импорту оценок из moodle во внешнюю систему

by Andrey Penin -

Всем спасибо за помощь! В итоге я выбрал получение оценок на прямую из  базы данных. Как оказалось, разобраться в устройстве бд не сложно. По крайней мере с получением оценок я разобрался бысто.

Может кому пригодится: для подключения к бд использовал MySQL Connector.

In reply to Andrey Penin

Re: Вопрос по импорту оценок из moodle во внешнюю систему

by Виталий Лавров -
Picture of Эксперт по Moodle

Учтите, что формат хрнения оценок меняется от версии к версии.

Особенно большие изменения были при переходе на 2.0 и на 2.4