Получение прогресса в выражениях xApi
Я ищу информацию о запущенных пакетах xApi.
Если я запускаю пакет из своего собственного приложения и прослеживаю курс до конца, в моем LRS я вижу заявление, подробно описывающее, что я начал, пытался, испытал и прошел действие, но ничего не касалось хода курса / действия.
Под этим я подразумеваю общий прогресс (в процентах), видимый пользователю, проходящему курс, поэтому для каждого утверждения, будь то "опыт", "попытка" или что-то еще, я хотел бы вернуть этот процент завершенным.
** РЕДАКТИРОВАТЬ **
нашел эту информацию, хотя не уверен, как и где ее использовать:
"Если вы хотите отслеживать прохождение курса, добавьте эти два действия на уровне заголовка:" При отображении - Заявление xAPI - попытка - VAR(CurrentPageName)"При скрытии - Заявление xAPI - выполнено - VAR(CurrentPageName)"
Что я замечаю, так это то, что утверждения записываются следующим образом: Дамион Дейли попытался выполнить действие (без имени), что заставляет меня думать, что я неправильно передал действие в строке запроса, и поэтому не могу получить всю информацию об этом действии, это будет правильно?
Если это поможет, я запускаю свой пакет, как показано ниже.
protected async void OpenIndexWithQryString1(object sender, EventArgs e)
{
string _course = await s.GetCourseTitle();
string content = "[url to where our content is]" + _course + "/index.html";
string endpoint = "[LRS endpoint]";
string auth = "Basic (auth key)";
string actor = "{\"objectType\":\"Agent\",\"name\":[\"user name\"],\"mbox\":[\"test@mail.com\"]}";
string registration = "(reg token)";
string activity = "http://example.cpm/my-activity3/";
string querystring = content + "?endpoint=" + endpoint + "&auth=" + auth + "&actor=" + actor + "®istration=" + registration + "&activity_id=" + activity;
bool b = ResponseHelper.Redirect(Uri.EscapeUriString(querystring), "_blank", "menubar=0,width=100,height=100");
}
1 ответ
Это звучит как специфическая проблема инструмента создания контента и не является ключевым для xAPI. Запись прогресса через контент может быть выполнена любым количеством способов и, как правило, не зависит от того, как этот контент запускается. Обычно в xAPI определенная часть утверждения или заявление в целом записывают прогресс для опыта. Например, в cmi5 прогресс AU записывается через расширение, см. https://github.com/AICC/CMI-5_Spec_Current/blob/quartz/cmi5_spec.md#result_extensions_progress для получения дополнительной информации о нем. (Обратите внимание, что это содержимое не основано на cmi5, поэтому может быть иначе).
Что касается "имени" действия, оно обычно происходит из определения действия и не предоставляется как часть процесса запуска, который вы используете. LRS должно было бы получить это определение либо как часть заявления, либо его нужно было бы интегрировать в систему запуска, которая обрабатывает пакет, возможно, через tincan.xml
пакет, который может включать в себя элементы определения внутри него. Обратите внимание, что также может быть необходимо передать canonical
параметр строки запроса при извлечении операторов для получения, по возможности, полностью заполненных определений.