UPDATE: The Enhanced Document Upload solution is now available! Click here to download.
Our governance guidelines mandate that all documents be tagged with metadata classifying the document and additional fields that provide regional and organizational tagging. The problem we faced was that when you upload multiple documents, they remain checked-out until the user edits the required fields on each document and checks it in. A real waste of time and by far the most requested change when we designed the new Intranet.
So we designed an extension to the native multi-document upload mechanism in SharePoint 2010 that allows users to set the common metadata and properties for a series of documents and then checks the documents in automatically. Let’s take a look…
Highlighted above is our Multi-Document Upload tool – placed in the Documents ribbon right below the standard upload options.
The process uses the same native SharePoint control to perform the upload of the documents to the library.
The files are uploaded checked-out (because we have required fields).
We fill out the common required fields (note that the Document Title and name fields are absent)
And our new documents are added to the library with the specified metadata and checked in. A simple process that saves our users a lot of time when bulk-uploading files.
How it works – the Multi Document Upload project is a series of event handlers and a custom version of the native upload.aspx page. After the upload, we open the properties editor for the first document and hide the unique columns – so only the common fields are present. When the properties are saved, an event handler fires to apply the common properties to the other uploaded files (indexed in a property bag) and then checks them in.
And sure, there are multi document uploaders out there to purchase. Found one for around $600 per front end. I thought we could do better with a custom solution. This one feature has made a huge difference by improving the usability of the Intranet and saving our users time and keystrokes.
We’ve even gone a step further. We also designed another feature that reads the user’s organizational and regional data from their SP/AD profile and auto-populates most of the metadata for them. It performs the lookup to the taxonomy service to get a valid term from the string data in AD and populates the appropriate fields during the upload process. So now, our users only need to fill out the classification and click Save. Awesome.
Want to know more – look for me at the SharePoint Conference next week in Anaheim and chat me up on all things SharePoint. Follow me on twitter for updates from the conference: http://twitter.com/#!/marcrdavis
Hi, Can you please share the code with me.
Hi – sorry, the code in it’s present form is the property of SunGard. If I get around to re-writing it I will share it in some form on my blog. Thanks.
Hi, Do you have any idea how to read the file name from drop and drop tool (STSUpld.UploadCtl), Thaks -Karthik
Hi Marc,
this looks like a really fantastic and useful feature, do you have any more information?
Thanks, Charlie
Hi Charlie – I’ve just released the Enhanced Document Upload solution to the blog – you can download it from here: http://sharepointsnapple.com/enhanced-document-upload/
Thanks for your interest.
Marc
Were you able to rewrite the code referenced above? I am looking for a solution as well.
Thanks-Kat
Still on my list of to-do’s – no ETA yet though.
Can this also pick up metadata from the term store.
If by pickup you mean your library has a managed metadata column as a required field then Yes – you can pick a term and all uploaded/selected items will have the same term value.
Thanks
“When the properties are saved, an event handler fires to apply the common properties to the other uploaded files (indexed in a property bag)…” is this a custom property created from the tool or is this a property SharePoint provides OOTB. If it is an OOTB property, can u please share the name of the property.
The Enhanced Document Upload solution does not use the method described in the SunGard article.
Thanks for the quick response.. we have a similar requirement but it is different than what the tool does.. please let me know if the property referred is OOTB or custom.
As I said – The current version of the EDU does not use a property bag to contain the list of data to change. It is handled internally in the event receiver.
What about the older version of this tool?
No version of the EDU that I published here uses the site property bag method described in the earlier blog post. I’m not sure why this information is relevant.