One of the most frequent questions I get from customers is around a recycle bin for SharePoint.  This is not functionality that you get Out of the Box (OOB).  OOB you need to go back to a backup to retrieve a deleted document (this is being sorted out in the next version by the way).

There have been some third party solutions that have helped with this issue :

- Smart Library from Nintex 

- MSDN post : Add a Recycle Bin to Windows SharePoint Services for Easy Document Recovery.

However, both of these solutions are built using Document Library Event handlers.  Anyone who has had to work with these will know that the events that you can catch are all asynchronous, meaning they fire after the fact.  This is not very helpful if you are trying to capture the fact that a document has just been deleted! (this is also being sorted in the next version).

So ... to get around this issue ... both of the above solutions store a second copy of the document in a mirror document library when it is added/updated in the primary library.  This means when a document is deleted there is a backup copy that can be restored.

Pretty cunning really ... however! ... as you have probably already realised this means that you end up storing 2x the amount of data as there is really two copies of each document.  Not cool!, especially if you are storing a lot of data.

Here at Microsoft we have a huge number of WSS sites, somewhere in the order of >200,000 sites and something like 6-7TB of data (not sure on the exact numbers these days).  So this means that both of the above solutions are really not an option for us as doubling the amount of storage would be quite costly.

So ... the smart guys in MS IT have come up with an alternate way of providing document recovery without going to a SharePoint backup.  They have also decided that it is so useful that they are providing it to the world via GotDotNet.

This solution uses an ISAPI filter that sits in front of the WSS ISAPI filter.  It watches for requests from users to delete documents.  When it sees one, it grabs the document and copies it down to a file share first, then allows WSS to delete the document.  This means that when someone rings the helpdesk with a deleted document issue the helpdesk can grab the document from the file share, and either send it to them or put it back in the WSS site for them!

Unfortunately, this does not allow users to restore their own documents ... however it does make the process of recovering a document much simpler.  This should significantly improve IT’s ability to meet SLAs or reduce them.  Great for IT and great for users.

You can get it here:

- SharePoint Recycle Bin 1.0

Thanks to Joel Oleson from MS IT for this one.