параметр cmi.total_time ничего не возвращает - PullRequest
4 голосов
/ 07 июня 2010

Я программирую продукт SCORM 2004. Я могу обновить session_time, это работает. Я могу установить статус (пройден, не пройден и т. Д.) Я также могу получить время cmi.location. Нет проблем!

Но мне не удается получить общее время! (Cmi.total_time). Я проверил на 2 LMS:

  • В Ganesha API.GetValue ('cmi.total_time') представляет собой пустую строку.

  • В Moodle API.GetValue ('cmi.total_time') - это просто "P".

Однако у меня есть правильные журналы с правильным временем сеанса.

У кого-нибудь есть идея?

Спасибо!

EDIT. Я также пробую на cloud.scorm.com и cmi.total_time каждый раз возвращает PT0H0M0S. EDIT2. Упс, я удалил редактирование Донала.

Ответы [ 2 ]

3 голосов
/ 07 июня 2010

Исходя из предоставленной вами информации, я предполагаю, что вы пытаетесь установить cmi.session_time и получить cmi.total_time в той же сессии ученика, которая не даст ожидаемого ответа.

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

Как только вы установите cmi.session_time, закройте текущую сессию учащегося, оставив SCO, в которой вы находитесь, и затем вернитесь к нему. Затем вы должны увидеть, что cmi.total_time теперь заполнено допустимым значением.

Удачи!

0 голосов
/ 09 июня 2010

Когда вы возобновите второй сеанс и попытаетесь получить общее время, сможете ли вы извлечь значение, которое вы сохранили для cmi.location в первом сеансе? Если нет, то вы, вероятно, не приостанавливаете сеанс. Для того чтобы данные были доступны при следующем запуске, вам нужно настроить cmi.exit на приостановку перед завершением первого сеанса.

Mike

...