When developing a new xAPI integration, we always recommend that you send data to Sandbox so that your Production account is kept free of any ‘bad statements’ (xAPI statements are are improperly formed or contain incorrect information). Bad statements do still sometimes slip through the net, however, and occasionally Watershed clients have a need to remove xAPI statements from their account. It is possible to remove these statements using a combination of Watershed’s CSV download and CSV upload functionality In a three step process.
- User Types
- Only Global Admins can void xAPI data.
- Pricing
- Available on all plans (Essentials, Analyst, CLO, and Enterprise).
- Expertise
- Only experts can use this feature.
Step 1: Identify the Data to Remove
The first step is to identify exactly which xAPI statements need to be removed. This is done by configuring a report with filters such that it includes just the statements to be removed.
Create a new Interactions report filtered to show only the data you want to remove. Take great care to ensure that the report includes all of the statements to remove and no statements that should not be removed.
Step 2: Set Up The Statement Voiding Template
In xAPI, statements are removed from circulation by sending another xAPI statement that marks the original statement as voided. This is done instead of just deleting the original statement because in scenarios where you have multiple connected LRSs, all LRSs need to know that the statement is void, rather than just deleting the statement in one LRS.
You can use Watershed’s Data Conversion Engine to generate the xAPI statements that will void the statements that you want to remove. Go to Data / CSV Data / Manage Import Templates. If the ‘Statement Void’ template does not already exist, click Add Import Template to add it.
Call the template ‘Statement Void’ and click Next until you get to the final step. Paste in the following statement template and Click Save:
{ "statements": [ { "actor" : { "mbox" : "mailto:void@watershedlrs.com" }, "verb" : { "id":"http://adlnet.gov/expapi/verbs/voided" }, "object" : { "objectType":"StatementRef", "id" : "{{columns.[id]}}" } } ] }
Step 3: Download and Upload the CSV
You're now ready to remove the statements. Return to the report you created and choose Download interaction statements. Check the CSV file you download very very carefully to ensure that these are in fact the statements that you want to remove. Once you upload this file to remove the statements, there’s no turning back!
Armed with your carefully checked CSV file, return to Data / CSV Data, select the Statement Void template and drag and drop the file to upload.
Once the import is complete, the statements will be voided and there will be no way to unvoid them. Clicking the ‘Void’ button next to the import to void the voiding will not work as xAPI does not allow voiding statements to be voided themselves.
Please note: While Voided and voiding statements do not appear in reports at all, if you void a large amount of data (tens of thousands of statements or more) then it’s possible that the voided and voiding statements could have a negative impact on the performance of some features of your Watershed account. Please let us know if you void a large number of statements (either in one go or over a period of time) so that we can clear the voided and voiding statements out of your account.