Deleting Statements
Hello lrsql-Tream,
Are there any plans in adding a non xAPI-Standard defined route to delete Statements by StatementID, similar to the implementation of LearningLocker?
I know that it is currently possible to access the DB directly, but it would be a lot easier and safer to user an REST-Call
Thanks for your effort, Greetings Julian
Hi Julian,
Thanks for your interest in SQL LRS. Direct delete is an interesting idea which we haven't really thought about due to the immutable nature of xAPI data. Generally we would consider solving that through void statements (which the spec indicates) OR in an extreme case (like seed data, etc) through the DB as you mentioned. Direct DB deletion is relatively unsafe though as you would have to maintain relationships and deal with cascades, etc, so if direct delete is a common use case I can see where you're coming from wanting the operation canned.
Would you mind describing the use case which brought about this need? Perhaps if we understood the context better it might help illuminate the need for similar functionality, or we might have an alternative approach.
Thanks, Cliff
Hello Cliff,
Thanks for the quick reply!
Ideally, of course, it would make sense not to delete any LRS statements and keep the data unchanged as stated in the specification.
However in reality this is a bit difficult. For a use case with a lot of data, it is useful to be able to delete old and stale Data to ensure that the database doesn't grow to an unmanageable size, which could also negatively impact the performance.
Another problem with not changing data is data protection. Here in Europe, we have strict regulations for handling user data. For example, we have to be able to delete all data linked to a user if the user deletes his/her account.
A rest call with, for example /statement/delete/{statementId} would make these Edge Cases a lot easier and saver to handle.
Thanks a lot, have a nice day, Greetings from Germany Julian
Julian,
You bring up a great point with the GDPR use case! We have encountered similar situations in the past and are discussing internally what the best way to solve for this is. We will be in touch if/when we come up with a roadmap to address it.
Thanks, Cliff
Thanks Cliff!
Julian,
We are actually implementing this feature finally. We will keep you posted as it goes through the dev process.
Thanks, Cliff
@julianfbeck,
It's been a long time coming but our engineer @invaliduser has just released an actor delete feature. You can get it in the latest release here: https://github.com/yetanalytics/lrsql/releases/tag/v0.6.4
Thanks, Cliff
Thank you :) you are the best :)