In-Portal offers these basic functions in every list of db records:
In this discussion we'll talk only about deleting.
Deleting might seem a trivial task, however it can create a lot of problems when:
- many records needs to be deleted at once (can result in out of memory problem)
- many related data (e.g. links in a categories, categories in a categories) exists, that also needs to be deleted along with deleted items
Instead of deleting records right now we need to do:
- mark record as deleted
- don't show records marked as deleted
- safely delete records in a small portions via scheduled task
This not only creates an impression (to end user), that data was instantly deleted, but also allows to keep deleted data for later usage if scheduled task mentioned before will be disabled.
This is sort-of recycle bin in "Structure & Data" section, but it:
- keeps record where it was, just don't show it
- is system-wide