DocMetaMan : Bulk document Upload and MetaData (Taxonomy) Setter


In one of the blogs on SharePoint  I came across a request for a tool which in addition to uploading multiple documents to doc library in SharePoint, would also provide a intuitive way for the end users to associate Taxonomy to them. A quick search in Internet, I could find some commercial tools which provided a nice GUI. The free ones on the other hand provided the ability to use files to store metadata but with no GUI support.

Click here for the source/executables. 

1.    Errata

This is an initial beta version with basic unit testing. Please send any suggestion/errors to  OR mention them in the comments section. This version is solely intended to hear about exciting features fellow sharepoint people would like to see in it, and for those who need this desperately....

The author is not liable to any damage caused due to the use of the tool. The software is given under Creative common license.

 2.    Summary

DocMetaMan is a tool which lets user to select a root folder and upload the documents to any document library in SharePoint 2010.
GUI prompting the user to select the taxonomy to be associated with the documents before uploading them to SharePoint.

3.    System Requirement

The tool needs MOSS 2010 preconfigured on the server.

4.    Installation

Copy the executable directory and run it on a MOSS 2010 environment..

5.    Execution Modes

Execution Modes 

The tool works in two modes...

Normal Mode

By default, the user can select the library and the root folder where the documents are located. The tool then pings the document library and shows the metadata associated with the library.  User can select the taxonomy for the documents and once done upload the documents.

Remote Mode
For large number of documents, selecting the taxonomy can be taxing on time. In that case, the user would like to set the metadata over a period of time with different iterations before uploading the docs to SharePoint. Also, there can be cases when the user does not want to be on the Server all this while.

In these case the tool lets you work in a disconnected/multiple iterative  mode. Following is the sequence of events for this:

Note tha

t step 1 and 4 needs to be executed on a MOSS server  but 2 and 3 can be executed on a non Moss Machine, as long as the .Net framework is 3.5

Step 1:  Create Property Map.

Click on  File > Save Property Map file  and follow the instructions on the GUI. This creates a Property Map file. This file stores all the  information regarding the Website, document library and Metadatacolumns etc..

Step 2: Load the Property Map

User can copy this Property map file and run the tool on a non SharePoint machine. User Loads the property map file  and selects the root folder. The file can be loaded by Selecting Load >Property Map File.

Step 3: Save Property Value file

Once the root folder is selected in step 2, the GUI shows all the taxonomy associated with the fields. User sets the taxonomy for all the documents. To save the file  select File>Save Property Value file

Step 4: Load Property Value file

User now takes the property value file on the server  and loads it again. Once the file is loaded , press Upload to start uploading the documents.

Bulk Metadata Updates

DocMetaMan supports bulk metadata updates for the documents. If the docs have the same metadata for each column/row this option is quite handy. 

    Bulk Column Update

    Set the value of the Column metadata for the first documnet. After this, click on the Column Header. This will set the same metadata  property value for all the documents.

    Row Column Update

    On clicking Row header, all the docs will be set with exactly the same metadata as that of the first document. This is done for all the metadata columns. 

Property Value File

By default a new property value is cre fileated every time documents are uploaded to SharePoint ( i.e. on click of Upload button ). In case of a crash/exception the selected taxonomy can be retrieved by using the last PropertyValue file created.


Every unsuccessful file upload is documented with timestamp in the Log file created at the working folder. In case tool was not able to upload /set metadata for the document, the exception is written oi the log files.