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