I’ve released an updated version of the Content Deployment Wizard to Codeplex (version 2.8) – this version supports SharePoint 2010. The Content Deployment Wizard is my reasonably popular tool for moving content around in your SharePoint environment(s) – if you haven’t come across this before, you can select site collections, webs, lists, folders, files or list items to export to a file for import somewhere else:
There are two purposes of this release:
- Fix the ‘Object reference’ error commonly experienced with the previous version (2.7)
It took me some time to realize, but this happened very frequently and if you used 2.7 often you may well have seen this issue - apologies. It seems this was introduced by Alex in the code he contributed to that release, but it was an unusual threading bug and frankly I’m sure if I’d have written the code it would probably have hit me too! Thanks again for your contribution Alex.
- SharePoint 2010 support
OK so I bent the truth somewhat at the beginning of the article – in fact all versions of the tool already support SharePoint 2010. This is because there are no breaking changes in Microsoft’s API which my code uses between 2007-2010, so all that’s required is a couple of entries in the .exe.config file to redirect the assemblies which are picked up. However it’s difficult to convey that message in the title or first sentence of this article, and I’m finding that folks who don’t understand the concept of .Net assembly redirection just don’t believe I didn’t have to ‘create a new version with support for 2010’ :) That said, I have made a couple of improvements to make it easier:
- the 2.8 installer adds the appropriate BindingRedirect entries into the config file for you, but commented out. Simply uncomment these if you are installing on SP2010
- the 2.8 installer correctly installs the stsadmcommands.COB.SPDeploymentWizard.xml file to the 14\CONFIG directory if it exists (i.e. because SharePoint 2010 is installed) to ensure the STSADM commands work
For reference, the .exe.config file entries which are required for SP2010 are:<!-- Uncomment this section to use the Wizard with SharePoint 2010 - this will ensure the SharePoint 2010 assemblies are used. -->
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="Microsoft.SharePoint" publicKeyToken="71e9bce111e9429c" culture="neutral" />
<bindingRedirect oldVersion="11.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
<dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="Microsoft.SharePoint.Publishing" publicKeyToken="71e9bce111e9429c" culture="neutral" />
<bindingRedirect oldVersion="11.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
11 comments:
So... Is it possible use this tool to migrate from 2007 to 2010. From one server/installation to another? I am looking for a way to do this without rebuilding everything.
@Joshua,
No - you won't be able to use Content Deployment (either with my front-end or the out-of-the-box screens) to go from 2007-2010. As you might expect, there are lots of schema changes between the two releases.
You need to be looking at the standard approaches (e.g. database attach) to upgrade from 2007-2010.
HTH,
Chris.
We have been testing your tool extensively and are wondering if there is a size limitation on the amount of data being transferred. We have noticed the content types are not all being correctly assigned to the data being transferred from one part of the site to another are we missing something? Thanks love the tool, just some questions
@Richard,
No, I'm not aware of any size limits with Content Deployment, you are only constrained by the amount of memory and disk space (for the temporary files generated during compression) I believe. I've certainly heard of people deploying 20GB with the tool.
If the issue you're seeing is that site content types are not fully replicated on the destination, be aware that that's just how SharePoint's Content Deployment feature works - it isn't something specific to my tool. What happens is that the list content types are successfully hooked up, but the parent site content types are not deployed - consider that the hard requirement is only on the list content types for the site to 'function' on the destination. (Consider also that Content Deployment was primarily conceived for "authoring to read-only production" scenarios.)
FWIW I also wish their API deployed site content types. I actually can't think of too many reasons why it doesn't.
HTH,
Chris.
A bug?! Sorry Chris... Glad you could sort it out.
Is it possible to use this tool thru the command line for e.g. stsadm to import content with the No Compression?
@Al,
Yes - see Command-line support for Content Deployment Wizard now available for details.
Hope that helps,
Chris.
Hi Chris,
I do have a specific requirement of excluding hidden libraries like "Master Page Gallery", "Web Part Gallery" while exporting whole site collection including all descendents in the content migration package.
Would SPExportObject.ExcludeChildren be an useful property to achieve this ? Or any other suggestions / comments ?
Thanks,
Vishwajit
@Vishwajit,
Unfortunately there's no real support for this scenario in the tool at the moment - you'd have to select individual lists you DO want to export instead.
HTH,
Chris.
Hi Again,
Stefan has suggested a possible solution for this : to delete the entries from Manifest.xml file during SPImport.Started Event.
Please refer the link : http://blogs.technet.com/b/stefan_gossner/archive/2007/08/30/deep-dive-into-the-sharepoint-content-deployment-and-migration-api-part-2.aspx?PageIndex=7&CommentPosted=true#comments
I've given it as a try and its working for me, the only issue I may lose the data in these Galleries as I'm removing these libraries with all its descendents.
Thanks,
Vishwajit
@Vishwajit,
Ah perfect - for some reason I thought you were looking for a "no code" solution. If you're comfortable making the odd change to the Content Deployment Wizard's source code, then you can absolutely add support for nice extras like this.
Great to hear you got sorted :)
Chris.
Post a Comment