/
Delayed data removal

Delayed data removal

Imported From: http://groups.google.com/group/in-portal-dev/browse_thread/thread/a0dec1487a97d17c#

In-Portal offers these basic functions in every list of db records:

  • view
  • add
  • edit
  • delete

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