Document Sets for the Enterprise
Posted by Patrick Boom on April 16, 2010
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.
Document Sets
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.
Default content
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!
Unique ID
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.
Search
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.
Linking
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.
Limitations
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!





Alan Wrong said
Great info, Patrick.
If the metadata changes on the document set, does it also change on the documents within? Ie, is it really dynamic, or it’s just a default that’s assigned to contents as you add them, and changing the metadata on the doc set results in no change to the metadata on the contained docs.
Thanks
Patrick Boom said
Hi Alan,
This depends on your configuration of the document set. If you have configured the column to be shared with the documents that reside in it, all the changes to the document set columns will also be transfered to the documents in it.
So to answer your question, if the document set is configured properly, it is really dynamic and all changes will be pushed down.
Thanks for your comment and keep on reading
Kind regards,
Patrick
Kamesh Bora said
Thanks Patrick, Good Information.
Is there a way to update the default values set to the Document Set Content Type. I am trying to move a document from a Document Library to a Document Set which is tied up to a content type and some default values set to manage metadata/People picker fields. When I am trying to assign new values to these fields, these fields are not getting updated. Is there a different approach to achieve this?
Thanks,
Kamesh
TM said
How do you get the actual name of the document set to appear in the search results? We are using FAST Search on SP2010 and when a document set is returned in the results, instead of showing the name of the document set, like “Request for Project” in your example above, it only displays “Document Set.” Thanks