Thursday, October 14, 2010

SharePoint 2010 Warm up script comparison

After SharePoint 2010 upgrade and many new features added, we have Sprint release every two weeks to provide new functions and it’s more common users complain it takes more time to load my site. Well, people add more web parts, more lists, and items to their sites. After IISReset or app pool reset or worker process cycle, all site pages will need to be compiled and cached again.  As a result, the first hit will be slower but the following hits goes much faster.

Buy looking into the available 2010 compatible script to "warm up" the SharePoint, we could categorize into three types. Here are the three types of the scripts.

1.      SharePoint API based script as console application
Two typical examples are SPWakeUp - Wake up your Sharepoint and WSS Sites and SpSiteWakeUp – Wake up your SharePoint Sites and their sub sites. Since the script is a wrapper around the API call to open the sites, it’s flexible to exclude the sites not need to be warmed up. However, in our case the people normally run this on production would be infrastructure administrators, it would be hard to convince them to run any .exe executable file on production without seeing the code and logic behind it.

2.      VB script based window script
Warm up your SharePoint servers is example for such type of the scripts used for SharePoint 2007 originally way back for Microsoft couse in 2006. This script is still working against SharePoint 2010 and in fact is used by all SharePoint 2010 Microsoft MSDN virtual labs. The script is flexible and you could use it for multiple purpose. While we are moving to C# and Powershell on our development side, this is not our preferred way due to the maintainability.

3.      Powershell based scripts
You could review such script from This script was also used for SharePoint 2007 originally and it’s also work for 2010. The person who runs this could review the content of the script and the script is more maintainable. There are some enhancement you might do on this script to improve the efficiency and maintainability. Here are some thoughts.
·         Update the stsadm to Powershell since it has been deprecated.
·         Add filter so the script could exclude some webapps or some sites

If anyone has time to update the script to enhance the functionality, please share with us.

Wednesday, October 13, 2010

SharePoint 2010 upgrade real world exception handling

After about four month struggling to find workaround to several major SharePoint 2010 upgrade issues and solution to third party software 2010 compatibility issues, we have successfully upgraded to SharePoint 2010 from 2007 on August 2010. Consider we just implemented SharePoint 2007 in November 2009, we were already on 64 bit servers and database SQL server on 2008 R2. We also have limited amount of customizations and data need to be migrated. However, we are surprised by the number of different issues we were facing and the knowledge we are lacking from Microsoft product team and support during the upgrade.

After Microsoft production team on site visit on September 2010, we all believe it would be beneficial for both sides that we share our strategy, experience, and solution for our SharePoint 2010 upgrade so Microsoft production team could better prepare for future upgrade and support. I’m hoping it would be even beneficial for users who are planning to update their SharePoint to 2010.

This blog will highlight our overall scope of the upgrade and summary issues we were facing. I’ll provide details on each issue and the workaround or solutions we applied in the following topics. Since we are on SharePoint 2010 already, I’ll also share some tips and tricks on 2010 version.

Here is the high level of our SharePoint 2007 to 2010 upgrade.

1.       Scope of the upgrade from 2007 – We have single farm, five webApps, close to 300 site collections, over 14,000 sites, more than ten third party software, several customized site definitions, half dozen customized web parts, dozen customized features, and close to 300 GB database, over 10,000 end users, and Microsoft project server upgrade at same farm.

2.       Upgrade approaches – We evaluated different upgrade options and decided to use database attached approach with customized automation scripts and reports to minimize the downtime and verify system. Thank God we made the right decision since we were able to keep the 2007 SharePoint as read only so we could debug and resolve several major issues after 2010 go-live. More details to follow in the following blogs.

3.       “Clean up” 2007 system before upgrade and report are key for the success of the upgrade. More details to follow in the following blogs.

4.       Major issues during upgrade – I have listed some major issue here and will provide additional issues with details on each issue the following blogs.

a.       Fab 40 template site especially knowledge base site migration upgrade issues
b.      Deprecated template site including collaboration portal site upgrade issues
c.       Incompatible web parts upgrade issues
d.      Incompatible open source components such as site delete capture solution
e.      Could not delete customized master pages on root webs on each webApp
f.        Some sites migrated but with empty contents
g.       Extra sites created after upgrade
h.      Email enabled list could not receive emails after upgrade
i.         Owners could not edit default.aspx page with error access denied
j.        Contributor could not add/update items for some list with calculated Title
k.       Broken navigation tree for some sites
l.         Could not see the ‘Open with access’ option in the List tool ribbon
m.    Could not save site as template
n.      Could not display user profile pictures in three different sizes in my profile page
o.      Upgrade take long time and no out of box automation scripts
p.      Could not create web part page

5.       Major challenges after upgrade – After 2010 upgrade and users are requesting new features to be available immediately. It’s challenge to plan the capacity and performance with upgrade. Some new features need some planning include metadata services, PerfromancePoint feature, web analytics services, and MySites social capabilities. More details to follow in the following blogs.

As you could see there are lots of tricks to have accurate SharePoint 2010 upgrade with minimized downtime. More  detailed explanation will follow up on each topic.

Good luck for your upgrade.