Closed species closed 8 years ago
Great work @species !
Could you please add a description on what the delete command actually does to the objects and how you implemented this in this PR code?
As I understood, no data objects are effectively destroyed, just receives a deleted attribute. How to do when data should actually be destroyed, e.g. due to mistaken disclosure of private data in some object? Shouldn't publishers of data (and/or specific user roles) not be allowed to effectively erase history?
Would be good to hear more opinions from the community on this aspect of data preservation.
@gandhiano I've updated the pull request comment with a description of the DELETE command.
It is not possible to mangle with history by using the API. (Don't rewrite history!) I would suggest, when we really receive a DMCA request or similar, to modify the objects directly in the database with a DB administrator account.
@almereyda would you approve this pull request? It finalizes the transition from "poi" to "place" among other things.
Yes, go ahead and merge to master. Will have to merge into dokko either way. Or send a PR from there.
On 30 March 2016 at 21:21, Michael Maier notifications@github.com wrote:
@almereyda https://github.com/almereyda would you approve this pull request? It finalizes the transition from "poi" to "place" among other things.
— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/TransforMap/data.transformap.co/pull/31#issuecomment-203593603
@species You already made use of the new Merge & Squash functionality, didn't you?
On 02/04/16 15:44, jon r wrote:
@species https://github.com/species You already made use of the new /Merge & Squash/ functionality, didn't you?
That feature is not know to me, so I cannot provide a correct answer.
— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/TransforMap/data.transformap.co/pull/31#issuecomment-204719551
DELETE works this way: A new status flag "deleted=true" is introduced on each version object in its new "status" attribute object. The "status" object is copied to the journal object the same way as the data of the version. When invoking the 'delete' api-call, a new version object (a copy of the last one) is generated, and its flag set to deleted.
When you GET a deleted object, you get the object, but with an included status-flag "_deleted=true" in its data body.
To undelete an object, simply UPDATE with a new object with the 'deleted'-flag not set.
In this workflow, a thing can be deleted and restored multiple times, and its history will fully reflect these changes.