Skip to content
This repository has been archived by the owner on Jan 17, 2019. It is now read-only.

Latest commit

 

History

History
25 lines (17 loc) · 2.2 KB

23_statement_lifecycle.md

File metadata and controls

25 lines (17 loc) · 2.2 KB

2.3. Statement Lifecycle {#2-3-statement-lifecycle}

With no applicable conformance requirements in this section of the xAPI Specification, this section is intentionally blank.

2.3.1. Statement Immutability {#2-3-1-statement-immutability}

With no applicable conformance requirements in this section of the xAPI Specification, this section is intentionally blank.

2.3.2. Voiding {#2-3-2-voiding}

Definitions

  1. A Voided Statement is defined as a Statement that is not a Voiding Statement and is the Target of a Voiding Statement within the LRS
  2. A Voiding Statement is defined as a Statement whose "verb" property's "id" property's IRI ending with "voided"
  3. A Voiding Statement's Target is defined as the Statement corresponding to the "object" properties "id" property's UUID

Requirements

ID Requirement
XAPI-00016 A Voiding Statement cannot Target another Voiding Statement. LRS behavior this new VOIDING statement MAY be rejected. If the LRS accepts that statement, the violating VOIDING statement SHOULD be ignored.
XAPI-00017 An LRS rejects a Voiding Statement with 400 Bad Request if the "objectType" field does not have a value of "StatementRef"
XAPI-00018 An LRS MUST consider a Statement it contains voided if the Statement is not itself a voiding Statement and the LRS also contains a voiding Statement referring to the first Statement. Test: Void a statement and then send a GET for that statement which uses “statementId” instead of “voidedStatementId.” The statement should then not be returned in the GET request, which should return a 404.
XAPI-00019 A Voiding Statement is defined as a Statement whose "verb" property's "id" property's IRI ending with "voided"
XAPI-00020 A Voiding Statement's "objectType" field has a value of "StatementRef"