5
votes

I've been developping for SharePoint 2007/2010 for a couple years now. And I realize at this point that no company are using the same deployment method for new sites. I'm wondering what are the "Best Practices" to deploy.

Here is the method I've used :


1 - Avoid using WSP method

  • Create the site in DEV using the SharePoint GUI Interface (create SubSites, Lists, Libraries, Pages, etc.).
  • Customize some minor things through SharePointDesigner.
  • When it's done, we package DEV using stsadm -export and then port it to QA and PROD using stsadm -import.
  • When we need to make modification to an existing site, we create a Console app (.exe) that makes the necessary modifications, test it on QA then run it on PROD (and logs every operations in a separate txt file).
  • We only use WSP to deploy Webparts, EventReceivers or things that would be used on different sites.

2 - Do everything in WSP method

  • Every time we have a new site to create, we use a provisionning WSP that creates all the content (create SubSites, Lists, Libraries, Pages, etc.) through code.
  • We deploy by creating a new empty SiteCollection then install the provisionning WSP and activate it to create everything.
  • When we need to make a modification to the site, we modify the WSP so it checks if things exists in code and modify what needs to change accordingly.

I personnaly (strongly) prefer method #1 because I believe its simpler and faster. But I'd like to know some other opinions, what are the best practices in these situations? I've used method #1 for years and it worked really well actually.

Thank you

1

1 Answers