Sharepoint Team Development & Continuous Integration

August 30, 2007

Coming from a .Net development background I am used to and promote the Continuous Integration paradigm. The benefits are just worth the intial effort, especially so in team development projects.
There are lots of benefits but the main one is the encourage users to develop solutions that work more than just "on their machine", so that when the build server builds the solution and deploys it to an preview environment we know it's all documented and there isn't any manual tweaks or hidden steps. You can go overboard on how far you take this automation and how far you go across automating these builds to clean fresh environments, rather than just redeploying but that's another story.
 
Ari has made some great comments on Mark Jones technical article on developing and engineering processes.
 
At the bootcamp with Clayton James the other week I highlighted the concern of the seperation of development work being done in Sharepoint Designer (e.g. editing master pages) and the versioning being held within Sharepoint versioning AND the work being done in Visual Studio for producing Site Templates, Web Parts, Event Listeners etc. and these being deployed using Features and being versioned inside SourceSafe/Team Foundation Server.
Sezai has gone to the scary point of pulling all master pages and changes made in Sharepoint Designer into Feature deployment and scripting absolutely everything so you can just delete a Site Collection and recreate everything from a script. This has some huge overhead and some serious headaches in XML editing for various files required! At this stage, short of comparing Site Collections that everyone is working on and scripting the differences I don't see a way around this step.
 
Sooner or later you will become unstuck and a setting will get omitted...or it'll become a real pain to keep creating new environments for developers and in the long run it's better to get these things setup at the start and build from these.
 
I'm predicting someone will write a tool pretty soon that will just point at a Site Collection and do all this scripting automatically. Until that point, typing in XML manually could be the only true answer.

diigo itdeliciousdiggfacebookreddit

Comments

blog comments powered by Disqus