When it comes to identifying the thing I like most about SharePoint 2010, it’s hard to choose between managed metadata and document sets. We recently implemented the first phase of a project to manage and archive engineering inspection reports. In the project, we use both of these new features, but I am leaning toward calling document sets my new favorite feature.
Document sets act like folders, but carry none of the evil connotation that SharePoint enthusiasts have tarred folders with over time. Document sets can hold documents, they can have metadata columns, they can be versioned, and they appear as a single row in a document library. In addition, it is fairly easy to use and update the metadata associated with documents and the set they belong to, either directly or from a workflow. There are probably many situations when you want to consider using a document set, but I am going to describe three.
Multi-Document Project – Anyone who has worked with ECM is familiar with the concepts of document management, but sometimes we aren’t managing individual documents. In our current project, the end product will be an inspection report that gets moved to a records repository, but we are trying to manage the production process, not just the result. In the simplest inspection, we have a confirmation letter that is sent to our customer when an inspection is scheduled, and we produce an inspection report. It may seem like overkill to create a document set for two documents, but consider that a more typical inspection would include an agenda that is prepared and reviewed prior to writing the confirmation letter, and a cover letter that is prepared before distributing the report. In addition, there may be many documents that are received from the customer to be reviewed prior to the inspection. All of these documents become part of an Inspection Set, a Content Type we derived from Document Set, and that uniquely describes an inspection.
Omnibus Metadata – As you can guess, a block of time has to exist between scheduling an inspection and sending a final report. During that time, the VP Engineering would like to know when “an inspection is scheduled”, “a report is ready for review“, and “a report has been issued”. Depending on the nature of the inspection and the people involved, there may be additional distinct status points. Creating a document set not only lets us keep the documents together, but metadata associate the set can be used to indicate the status of the inspection. The set can have a status value of “Confirmation Letter Sent” whereas that wouldn’t make as much sense if it was associated with an inspection report. Also, consider that the inspection set metadata can exist on an empty set. An initial status can be indicated when the inspection is scheduled, before any documents have been written. That gives the VP Engineering the ability to see a broad array of status information regarding inspections, without anyone having to do any additional work.
Project Versioning – The third cool thing about document sets is that they can have a version that is independent of the version of the documents they contain. I have the perfect use for this feature, and I can’t wait to use it. Beginning in December, we start assembling the text, graphics and charts required to produce our Annual Report. About six people contribute sections to this document, and a slightly larger group edits the combined document. When we get happy, we get a designer involved and he lays out the first draft of the report. In the past, I would have to either create a major version of every document, or add a version comment like “associated with draft #1”. Now, we can simply create a version of the document set that will include the current version of each document. It doesn’t matter that the individual documents may have gone through a different number of revisions; the set will keep track of them. When we create a version the set, we can decide whether we want to include the major published versions of the documents or the current minor version. Then, if we have to roll back to the collection of documents that made up the first draft of the report, it’s as easy as restoring a version of the document set.
Setting up a document set for a complex report that you are going to write, tracking project progress separate from document status and using versions to create snapshots of composite documents are all powerful features. More importantly, they are features that are analogous to the way people work. When ECM forces people to change the way they work, it meets resistance. When ECM mirrors and compliments the way people work, it might just be embraced.