Bunch of my friendly architects chatting over a significant number of beers and spirits, telling rather silly jokes got into a heated discussion on SharePoint Content Deployment. Hrm… Sounds like a punchline building up here – Anyway, it all went a bit like the ‘I went fishing and caught one this big but it got away’ scenario; highly amusing. After recovering I though mmm… sounds like a blog this; so here’s my take…
Before a little chat about what Content Deployment is, lets look at the options available to you:
1: Content Deployment Method
Using the Central Admin, create content deployment jobs to schedule the content that you wish to copy into the production environment.
2: Third Party.
There’s a mass of products for doing this for example Quest , Content Deployment Wizard on Codeplex – the content deployment wizard is good (and its free ):
You could write a web service or delve into the land of SharePoint Object Model coding, that scans the content of your staging environment and maps it into production – this is a big deal and a lot of work. If you’re not a developer be prepared to learn about SPSite, SPList, SPFolder and much more. If this grabs your fancy, and pretty keen to going it alone, check out the below link:
Of course, you may have your own methods, but these ones work well for me!
The problem with Content Deployment – what do you deploy? Whats the scope? From where to where? Whats the reason for Content Deployment.
- Use it to synchronise a Staging Environment with Production. For example, you have some new master pages you want to push into the new environment following a succesfull client test
- You have some stuff on Production but want to test it so you push back that content to Staging
- You want to ensure you have a backup of Production (yes some people do this) so you sync Production to a Backup SharePoint box (which sounds even crazier because that would have to be really really controlled <another blog thought>)
In any case, a lot of careful thought needs to go into the provision of Content Deployment and Best Practice would be to analyse the requirements with the client (even if the client happens to be another tech team), trial it in a test environment then apply it to your staging / production environment.
A Best Practices Blog: http://blogs.technet.com/stefan_gossner/pages/content-deployment-best-practices.aspx