Резюме в артикуле с tin-can api

Я пытаюсь реализовать эту конечную точку activity/state/?method=GET в своем LRS, но не могу заставить работать функцию возобновления. У меня есть все данные, но я не уверен, что Articulate ожидает возврата LRS, чтобы возобновить работу с того места, на котором остановился пользователь. Я также пытался заглянуть на страницу поддержки Articulate, но пока ничего полезного. Любая помощь будет оценена по достоинству.


person bazz    schedule 14.01.2015    source источник
comment
Это запрос режима IE или запрос CORS, и вы также можете посмотреть github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#cors. Нам нужно увидеть тело запроса, чтобы знать, что должно произойти.   -  person Brian J. Miller    schedule 14.01.2015


Ответы (3)


Он ищет возвращаемую строку состояния. Это просто длинная строка, которая отправляется при сохранении состояния (закладки).

person Trip    schedule 25.03.2015

Я рекомендую провести тестирование с помощью Golf Prototype по адресу http://tincanapi.com/prototypes/?utm_source=tincanapi_com&utm_medium=stack_overflow&utm_term=andrew&utm_content=page&utm_campaign=prototypes?pmc=em-1 сначала, чтобы вы знали, что проблема связана с LRS. Попробуйте прототипы как в Internet Explorer, так и в другом браузере, таком как Chrome; любая разница в поведении может быть подсказкой.

Пожалуйста, также посмотрите на вкладку вашей сети в инструментах разработчика Chrome и сообщите нам, если какие-либо запросы не выполняются и что сохраняется и извлекается из состояния.

Полная информация о том, как должен работать State API, содержится в спецификации. Вот соответствующий раздел в версии 1.0.2: https://github.com/adlnet/xAPI-Spec/blob/a752217060b83a2e15dfab69f8c257cd86a888e6/xAPI.md#stateapi

Также стоит отметить, что создать LRS сложно. Существует число коммерческой LRS с открытым исходным кодом, что, вероятно, будет дешевле, чем самостоятельное создание.

person Andrew Downes    schedule 14.01.2015

Мне удалось заставить это работать. Я использовал веб-API .NET.

Мне пришлось явно установить для заголовка content-type значение octet-stream — по умолчанию он был равен text/html.

Следующий код сделал свое дело:

HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK);
httpResponseMessage.Content = new StringContent(studentModuleName.SuspendData);
httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
person bazz    schedule 16.05.2015