Учёт времени в курсе

Учёт времени в курсе

от Maksim Port -
Количество ответов: 5

Добрый день! 

Перед нами стоит задача учета времени проведенного студентом в курсе (в любой теме/модуле).

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

Подскажите, пожалуйста, есть ли возможность вести учет времени для всего курса с возможностью просмотра остатка времени в любой момент?

В ответ на Maksim Port

Re: Учёт времени в курсе

от Alexandre Scherbyna -
Про учет времени работы пользователя в системе Moodle на этом форуме писалось очень много. Общий вывод такой, что, как и на многих производствах, здесь лучше применять не повременную, а сдельную "оплату труда": сколько заданий выполнил или проверил и с каким качеством, а не сколько времени на это потратил.
Но если вам приказывают таки время оценивать, то можете посмотреть и другие указанные ниже плагины. На мой взгляд, основная проблема в подсчете времени заключается в том, какие паузы в деятельности пользователя включать в затраченное им время, а какие исключать. Например от клика до клика прошло 20 минут. Что в это время делал пользователь: обдумывал ход решения задачи, кофе пил или смотрел в окно никто не знает и не узнает.
Здесь достоверным может быть только отрицательный результат: если плагин показывает, что пользователь на сайте слишком мало времени провел, то из этого можно сделать однозначный отрицательный вывод. А вот если он много времени провел, то однозначного положительного вывода из этого сделать нельзя.
В ответ на Alexandre Scherbyna

Re: Учёт времени в курсе

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
https://moodle.org/plugins/block_dedication - интересный блок.
Если есть локальный плагин session_keepalive, то точность будет выше.

А нет ли плагина для сбора статистики по всем курсам и всем аккаунтам за 1 день? Реалтайм не интересует.
В ответ на Maksim Port

Re: Учёт времени в курсе

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle
Чтобы говорить об учете времени пользователя, нужно понимать следующее:
Moodle "работает" только в тот момент, когда браузер пользователя делает запрос к серверу (через интернет). Только в этот момент запускается Moodle, генерирует страницу и выключается. В остальное время Moodle обслуживает других пользователей.
Остальное время пользователь работает со страницей, сформированной серверов. Это можно сравнить с газетой - редакция напечатала газету и читатель получил свой экземпляр. Он может ее читать, может не читать, может вертеть в руках. Может завернуть в нее селедку - редакция об этом никогда не узнает, если пользователь не отправит ей "письмо" - запросив "новую газету" или написав "свое мнение".

Поэтому на сервере хранятся только запросы пользователя, когда он запрашивает новую страницу. Что пользователь делает со своей страницей в остальное время сервер "не знает".
Поэтому никакого "полное время работы со страницей" не существует. Вместо этого выполняется подсчет: сумма интервалов времени, когда пользователь делал запрос хотя бы раз в 10 минут считаются продолжением его работы, а остальное время считается, что пользователь с сайтом не работал.
Можно пойти на трюк, и встроить в веб-страницу JavaScript, который будет раз в минуту делать запрос к серверу, чтобы показать, что страница все-еще открыта у данного пользователя. Мы в своем плагине так и поступили. Но у этого подхода есть два недостатка: увеличивается нагрузка на сервер (ощущается только на высоко-нагруженных системах) и пользователь должен оставаться подключенным к интернет (если пользователь живет в 1995-ом году и у него все-еще модемное соединение через телефонную линию, он вполне может отключиться после загрузки страницы и ваша система "не узнает", что он все-еще ее читает).