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 https://community.plone.org/t/using-ecreall-trashcan), we have mainly 4 approaches:
- Use https://pypi.python.org/pypi/adi.trash, that customizes delete buttons in interface, and all excluded files are moved to a specific folder instead of deleted;
- Use https://pypi.python.org/pypi/ecreall.trashcan/: it creates a new action to move to the trashcan and patches
portal_catalog
; - Extract what castle.cms (https://github.com/castlecms/castle.cms/blob/master/castle/cms/trash.py) does and create a standalone trashcan;
- Use "Content Rules" to mimic this behavior (https://stackoverflow.com/questions/33009839/is-there-a-metod-to-have-a-trash-can-in-plone/33026043#33026043);
- Create a new workflow to add a
trash
transition (https://stackoverflow.com/a/33016003).
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