Hello
I've been using DNN since 2003 and just loved it (almost) all the time. One great thing that came along in DNN2 was TrashCan and I just came up with an idea how developers and users could use it more extensively.
At the moment TrashCan (TC) only holds information about tabs/pages and modules that can be restored into their original or other places if "oops" happened. I describe here an real life event that where TC functionality INSIDE module's functionality would be just excellent.
Ok, here we go : let's say that I have a module with product listing that views simple list of products and allows me (or others) to edit products. Now, if I go to edit products and accidentally delete one or more products that were not supposed to delete, in most cases the products are also deleted from underlying database and restoring them requires partial or full restore of database - which, of course, could be quite tricky task with live systems.
Now, If TrashCan could use interfaces inside module, the TrashCan would hold the information about deleted products and the products would be deleted only when TrashCan would be purged. I believe this could be done by inheriting TC functionality into module just like Import/Export/Search etc. are done at the moment. So there could be interface that does the "pre-delete" -functionality that is triggered when product is deleted from module - usually this only sets some DAL property like "IsDeleted" to true, that by business logic, would leave this product out of product listing. Then there would be interfaces for "Restore" that only switch "IsDeleted" to false, and "Purge" that would actually delete the product data from underlying database. Also for showing describing information about product that is deleted but not yet purged in TrashCan, there would be interface "GetItemInfo" or something, that shows data like product name, SKU or whatever the module developer wants to show.
Now, could this kind of functionality exist in DNN 5,6,7 or some other future release, what do you think ?