Question

We have following environment to create a publishing fully branded portal.

  1. Three developers each one have sharepoint 2010 installed on their workstation.
  2. One Server so that when each dev finish its work, deploy things here. One
  3. Team foundation server used as source control.

My question is how do we sync up work on each developer machines and on server, for e.g. x dev create custom content type on its machine using Web interface then how to sync up all work.

We tried, creating Site definition (to make everything in Visual studio source safe) but its way to complex and increasing our development time.

What is the easiest or best approace... is there a way to create Web template and restore/upgrade on each dev machine or any other approach to sync custom master page, lists, content types e.t.c

Please help, thanks in advance.

Was it helpful?

Solution

The general approach is to use features that provide almost all functionality required upon activation (webparts, lists, content type, fields, application & site pages, custom actions, master pages, css, images). Thus it'll be enough to get the latest version and activate it on dev's machine.

Also you can create a policy that after any modification of test server it's required to create a backup of it. That backup can be restored using a powershell script by any dev to get latest version locally (from TFS for example).

For more complex situations you need to create powershell scripts that will configure environment - create service applications (User Profiles, Search, Managed Metadata) with required settings to avoid headache with manual configuration for each server.

Also I recommend to setup a build process (ideally automatic) with responsible person and a list of functionality to be installed. That will help avoiding situations when for everyone it's easier to fix manually on server that on own environment. It can lead to situations when the whole team works on the server at the same time cause it's considered to be simpler and faster that is not. Also it can optimize the deployment process before going live and none knows how functionality should be correctly configured.

OTHER TIPS

I would like to suggest getting an overview of the Application Lifecycle Management in Microsoft SharePoint 2010. This includes a section on 'Team Development Environment' (using TFS) which will be helpful in the development and deployment of app solutions across the stages (dev, testing & production). Other tools that can expedite the development process can incude SharePoint Designer & Office Visio. There is also a Developer Best Practices Resource Center for SharePoint 2010 which can be resourceful for your development.

If you don't want to package your customizations into deployable features that can be incrementally upgraded (using Visual Studio), you have to either manually redo all changes across all existing dev machines, script the changes using PowerShell, or get one of those site configuration and content migration/sync tools such as from MetaLogix or AvePoint.

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top