cubicweb #620520 Recover deleted content (kind of undo operation) [resolved]
To improve data recovery, CubicWeb should provide a mechanism to retrieve data deleted by careless users. admin should be able to list recently trashed entities and revoke the deletion if need. For now, I will use a dedicated "ghost" attribute on my entities to obtain this undo operation but it seems to be important to have it in the framework by default. | |
priority | important |
---|---|
type | enhancement |
done in | 3.7.0 |
load | 10.000 |
load left | 0.000 |
closed by | <not specified> |
similar entities
- cubicweb #848915 [undelete] not working ? ui seems also confused
- cubicweb-vcsfile component to integrate version control systems data into the CubicWeb framework
- cubicweb #893940 finish undo support
- Building my photos web site with CubicWeb part III: storing images on the file-system
- CubicWeb 3.7 released
[see all]
Comments
-
2010/01/15 17:00, written by acampeas
-
2010/01/15 17:09, written by mailbot
-
2010/02/09 11:40
-
2010/03/02 13:46, written by acampeas
-
2010/02/10 18:02, written by sthenault
-
2010/03/02 13:46, written by acampeas
-
2010/03/04 10:00, written by acampeas
-
2010/03/04 10:25, written by mailbot
add commentThat's a logical delete. Do we really want that in the framework ? Why not some cube ?
I would also prefer a trash cube.
I can see quite straightforward ways of having this at the framework level (and transparently to the user) (adding a boolean column on the entities table, for instance).
What would be a Trash cube : a Trash entity containing lots of stuff, and deleting would be moving to trash ? You'd have to fix the application for it to become trash-aware, and Any X WHERE X is SomeType would return trashed content.
wouldn't that scheme entail significant runtime prices as old cruft accumulates and gets not garbage collected ?
moreover, undeleting entities raises some unanswered questions about their relationship with other (un)deleted entities and the notion of undoing a change on relationship
moreso we might want to version attributes and relations and get access to old versions but again the amount of involved data might be staggering
needed by iliane, set priority to important
this ticket needs a proper description of the required semantics
idea: use a specific life-cycle workflow for this
one would need to have parallel workflows in cw (there is a ticket for this already) OR add a generic 'deleted' state to existing worfklows
might be cleaner than the weird things done with the deleted entities system table that I've seen
FYI, we're moving on a simple solution based on extending the already existing
'deleted_entities' table. The pb with proposed solutions is that it
requires either custom read-perms using rql expr on every entity types (way too
costly vs performances) or tweaking the ui in a lot of place to avoid seeing
deleted entities.