TransforMap / data.transformap.co

Here you find a Node.js daemon to serve the public TransforMap web service.
https://data.transformap.co
GNU Affero General Public License v3.0
7 stars 2 forks source link

Delete command implemented #31

Closed species closed 8 years ago

species commented 8 years ago

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.

gandhiano commented 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.

species commented 8 years ago

@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.

species commented 8 years ago

@almereyda would you approve this pull request? It finalizes the transition from "poi" to "place" among other things.

almereyda commented 8 years ago

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

almereyda commented 8 years ago

@species You already made use of the new Merge & Squash functionality, didn't you?

species commented 8 years ago

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