SharePoint Content Deployment Manifest Reader

Note: This post was made for SharePoint 2007 pre-Infrastructure Update -- while I did use it after the IU, I did not try it on SP2010.

 

I ran into some more Content Deployment issues lately and I was going through the manifest (see https://blogs.msdn.com/maximeb/archive/2008/02/19/debugging-content-deployment-issues.aspx for more examples) with some difficulties.

First of all, let me give you a quick background.  When you use Content Deployment, it will create a series of CAB files that will contain a file called manifest.xml.  This is the file that drives the show.  Unfortunately, especially with Incremental deployments, the file is deleted at the end of the deployment, even if it failed.

Basically, right after the "transporting" phase, the "importing" phase kicks in.  This is the best time to go, with Windows Explorer, on the destination server and make a copy of the Content Deployment's files (that are in the last modified folder).

If you open ExportedFiles.cab (not ExportedFiles1.cab or any other cab files), you will be able to get the Manifest.xml file.

What this tool will require is simply that file as well as the last number of imported objects that you have in the Content Deployment report.  Type in the same number and it will show you the next object that was trying to be deployed and failed.

ObjectsImported

ManifestReader

As you can see, I simply get the right object and create an Xml document with only that object.  You can then navigate it as if you would in Internet Explorer.  The 2nd tab contains the actual text only of the object and you can do a 'select all / copy' if you need:

ManifestReaderText

 

Note that the manifest location and number of objects imported are saved in the application configuration so that you don't have to enter them all the time.

 

Last, the 'Solution Helper' tab will be the one that I update over time (or you can send me manifest samples with solutions so that I can test + develop + document the solution in the tab for others.

 

The first example of this is that I had an issue in an environment where all columns were being deleted and recreated.  The Incremental deployment was failing with a message stating that you cannot delete a column that's in use.  The Solution Helper, when it sees that the object is of 'DeploymentFieldTemplate' (a field), it will attempt to get all the document libraries that uses the field (according to the manifest) and show them there.  (In our case, it turned out that a RetractSolution + AddSolution had occured and was deleting + recreating the same columns.  A Full Content Deployment will 'fix' the error.

 

While it's in no way a complete solution, I hope it may help you see which objects are failing and give you ideas on what to fix.  You can download it here :

 

 

Maxime