Any plans for an official "trashcan" in Plone?

We've been asked for sometime from users why there isn't a "trashcan" or similar feature built in Plone itself. It's not rare to see a user delete a folder without noticing anyone: imagine a large website, that you clean your ZODB once a week, and after 7 days a user realizes s/he wrongly deleted something: you don't have undo anymore and, even if you have it, it's useless because lot's of content were added to the website.

The solution is to extract a backup of your website somewhere, export the zexp of what was deleted and import it in production. This is really cumbersome.

Searching in Plone community (and specially, we have mainly 4 approaches:

This scenario seems a bit suboptimal, even confusing. Are there any plans to add a trashcan to core and avoid all of this confusion?

For @cewing as well just because @hvelarde called for you in Using ecreall.trashcan :slight_smile:

Better to do backups and use dm.historical to retrieve objects

I like the CastleCMS approach but it has at least one problem: the restored object will stay in private state.

seems easy to extract the related code and create an add-on to implement the feature and add tests to it.

If there's enough interest in this, it does seem like a reasonable and achievable GSoC project. Anyone want to write it up as such?

1 Like

So ideally, it should remember the state that it was in before being "trashed".