Hello everyone,
I work for a company that uses SharePoint 2010 and is planing to migrate to 2013 very soon.
This company has 3 environments: TEST, ACCEPTATION, PRODUCTION
Most of the sites they are asking are very straight forward (no customizations needed) but they have the following requirements:
- The site needs to be developed on the TEST environment according to their requirements
- The site needs then to be transferred to the ACCEPTATION environment and then to PRODUCTION
- Every update to the site needs to be done the same way without loosing existing PRODUCTION data of course
As a matter of fact point 1 and 2 can be achieved by a simple backup / restore strategy; point 3 though can't since it would erase PRODUCTION data.
I see three ways to achieve the process for the moment:
- Create PowerShell scripts in order to do the modifications on the site
- Create a solution with feature event receivers to do the modifications on the site
- Create a console application to do the modifications on the site
I have been using method 1 for a year. It lets the provisioning custom code outside the SharePoint farm but it is not C# and I am much more efficient in C# and Visual Studio.
I like method 2 because it is written in C# with Visual Studio. The issue I have with is that it puts the provisioning custom code inside the SharePoint Farm and it is not very convenient for migrations.
I am considering method 3 because it lets all the provisioning code outside the SharePoint farm and gives the benefit of being in C#.
In case of sites with coded customization (WebPart, EventReceiver, ...) I am also wondering:
- Should I leverage the fact I have to create a SharePoint solution and embed in it the provisioning code? (and so complexity my solution)
- Should I keep in the SharePoint solution only the customization and use solution 1 or 3 for the provisioning code?
What do you think? Do you have another (better) method to do this release management process? I would like to make the migration to 2013 as painless as possible of course.
Thanks in advance for your insights.
Regards
Carlos