One of the most commonly asked questions by customers was whether it would be possible to assign metadata to a folder within a document library and have the documents within that folder inherit these properties. A second question was whether it would be possible to pre-fill a document library with a fixed folder structure, for example for projects and default documents. In 2007, we could assign metadata to folders, but these would not be inherited by the documents residing in it. The answer to the second question was that this could be done, but involved custom code. And changes forced a redeployment of the code.
In SharePoint 2010, Microsoft introduces the concept of Document Sets. Document Sets are content types that can contain other content types and are displayed as a folder in the document library. As with all content types, it can contain metadata and this could even be external data. All of the normal options with content types apply, so some very cool combinations can be made. One can choose which of the metadata of the document set should be shared with the documents residing in it. Document sets can also fully utilize the new Managed Meta data service.
When opening a document set, the welcome page of the set is shown. This shows the properties we have configured to be shown on the welcome page, as well as a list of the documents residing in the set. One of the things we can do with a document set is configuring that the set should be populated with default content (documents) upon creation. If we then assign document templates to the content types that should be created by default, we can easily set up a complete project repository including templates with just a click of a button! How cool is that!
Just like documents can receive a unique identifier when created, so can document sets. When enabled on the site collection, document sets receive a unique identifier just like normal documents. This ensures that the set can be found through the /_layouts/docidredir.aspx page at any time, regardless of its location within the site collection.
Remember that I mentioned you could share (or inherit) document set metadata on the documents residing in the document set? This also shows in the search experience. When searching on a term that is a property of the document set, the documents residing in that set are also returned, along with the set itself. For example, I created a document set for a department in my team site and added a property on the set called Department. I shared that property with all the documents in the set by setting it in the document set settings and voila: all documents in the set can now also be found through the contents of the department property, for example procurement.
One of the limitations is that a document set can only contain documents that reside in the same document library, because of the folder like resemblance. One of the practical uses I thought of was creating case based sets using documents stored in different document libraries (or even sites), like within large organizations where multiple departments work together on a single case. If we edit the document set content type to allow the Link to Document content type, we can add links to documents residing in different libraries within the site collection (or even outside). If we also utilize the unique document ID link to the document, that document could even be moved and still found. And the coolest part? The linked document inherits the properties by the set, so that it can be found through Search! Clicking on the search result automatically redirects to the correct location of the document.
There are some limitations though, unfortunately. For instance, it is not possible to add another document set in a document set, removing the possibility of nesting. Secondly, it is also not possible to add folders to a document set, although reversely, document sets could be added to folders. This prevents project like folder structures within a document set, for example large case based repositories. Also, document sets cannot contain documents that reside in other document libraries. They are physically bound to the same location. Final remarks, in earlier versions (betas), it was possible to to download multiple documents and documents sets as a zip file. In the RC and the final version, this functionality is skipped unfortunately.
But without any doubt, it is a good step in the right direction!
Have fun playing around with this!