Можем ли мы обновить данные, которые уже были отправлены в xApi
1 ответ
Обычно ответ - нет. Данные выписки xAPI должны быть неизменными. Но поскольку это поток данных, он действительно должен потребителю оператора указать, как значения могут изменяться для его целей. Таким образом, есть несколько способов достичь той же концепции...
1) В зависимости от системы потребления это может быть так же просто, как просто отправить еще одну выписку с новым счетом. Некоторые системы потребления увидят новый счет (как правило, для той же активности, object
и / или registration
) и считаю это обновлением. В этом случае будет несколько утверждений с указанием балла, но на основе timestamp
мы можем знать, какой последний результат был получен.
2) Другой способ, который больше похож на "обновление" или "редактирование", состоит в том, чтобы указать, что первоначальное утверждение никогда не должно было существовать в первую очередь путем его аннулирования. Аннулирование оператора эффективно выводит его из потока данных, так что система-потребитель не должна считать, что он когда-либо существовал. После аннулирования вы бы отправили новую выписку с обновленным счетом и, вероятно, оставили бы все остальное таким же, особенно timestamp
значение. Важно понимать, что более простые системы (такие как описанные в #1) могут неправильно обрабатывать случай аннулирования, так как мы видели относительно небольшое его использование в дикой природе (на сегодняшний день). Кроме того, может быть важно понять нюансы различий между timestamp
а также stored
значения свойств и порядок, в котором системы-потребители будут обрабатывать данные. Для получения дополнительной информации об аннулировании см.: https://www.ht2labs.com/void-xapi-statement/