<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Sanjay Narang&amp;#39;s thoughts on SharePoint</title><subtitle type="html">Enabling people to understand SharePoint better and maximizing its use</subtitle><id>http://blogs.msdn.com/b/sanjaynarang/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/sanjaynarang/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2009-06-19T16:01:01Z</updated><entry><title>Sizing and Capacity Planning for SharePoint 2013 - Resources</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2013/04/06/sizing-and-capacity-planning-for-sharepoint-2013-resources.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2013/04/06/sizing-and-capacity-planning-for-sharepoint-2013-resources.aspx</id><published>2013-04-06T09:30:00Z</published><updated>2013-04-06T09:30:00Z</updated><content type="html">&lt;p&gt;v4:9-May-13, v3:15-Apr-13, v2: 9-Apr-13, v1: 6-Apr-13&lt;/p&gt;
&lt;p&gt;SharePoint 2013 has been out for some time now, and most of new the SharePoint projects are happening on SharePoint 2013. However, when it comes to sizing and capacity planning, there isn't enough information available on TechNet (at the time of writing). Though, for the Search workload, there is very detailed information available, but when it comes to other workloads, you'd need to look into many different places where information is available in bits and pieces. In this post, I've consolidated sizing information from all resources that I could find. I've tried to categorize it based on servers/resource type. Also, in the 'Guidance' column I've provided key sizing related information in that resource. However, I strongly recommend you to go to the particular resource to get complete context of that guidance.&lt;/p&gt;
&lt;p&gt;NOTE: Microsoft is going to publish a lot more information based on its performance testing. I'd try to keep this post updated. At the same time, I recommend, you always look for the latest published information from this TechNet section: &lt;a href="http://technet.microsoft.com/en-us/library/cc261700.aspx"&gt;Capacity management and sizing for SharePoint Server 2013. Also, I have classified resources into two categories: one, Guidance along with performance test results and recommendations; Other, all other resources. &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;NOTE on Formatting: Because of table formatting issues, I couldn't put all columns here. You can download the excel file from the bottom of this post.&lt;/p&gt;
&lt;h1&gt;GUIDANCE BASED ON TEST RESULTS AND RECOMMENDATIONS:&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;table style="border-collapse: collapse;" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 106px;" /&gt;&lt;col style="width: 583px;" /&gt;&lt;col style="width: 180px;" /&gt;&lt;col style="width: 341px;" /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr style="height: 20px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border: solid 0.5pt;"&gt;
&lt;p&gt;&lt;strong&gt;Servers&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;strong&gt;Guidance&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;strong&gt;Remarks&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Web Servers&lt;/p&gt;
&lt;p&gt;and DB Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;ul&gt;
&lt;li&gt;Server Specs: With 4 cores, 12 GB RAM web servers (virtual) and 1 16 core DB, 32 GB RAM&lt;/li&gt;
&lt;li&gt;RPS/server - you can expect more than 40 RPS per server for green zone and more than 70 RPS for red zone&lt;/li&gt;
&lt;li&gt;1 DB server was able to scale upto 10 web servers&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-in/library/ff758657.aspx"&gt;Estimate performance and capacity requirements for enterprise intranet collaboration environments (SharePoint Server 2013)&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;There are many more details in the article. Also it provides comparison of performance of 2010 vs. 2013&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Interestingly, there wasn't any application server in this farm, so there isn't any guidance on that&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;All&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;ul&gt;
&lt;li&gt;Provides results for two types of sites: sites using new features: cross-site publishing along with Content Search web part and managed navigation, sites using classical feature: author-in publishing, content query web part and structured navigation.&lt;/li&gt;
&lt;li&gt;Cross site publishing: Server specs - 16 cores, 24 GB RAM (physical), topology - 3 WFE+Query,1 Crawler, 1 App, 1 DB,&lt;/li&gt;
&lt;li&gt;Cross site publishing results &amp;ndash; 78 page views/sec (with 3 WFEs)&lt;/li&gt;
&lt;li&gt;Author-in-place publishing results &amp;ndash; 57 page views/sec (1 WFE)&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/d819b0d0-aa83-4e40-82d8-7a32195cc669(v=office.15).aspx"&gt;Estimate capacity and performance for Web Content Management (SharePoint Server 2013)&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;There are very important findings and useful guidance in the article that you must go through&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Application&lt;/p&gt;
&lt;p&gt;Servers (MMS)&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;ul&gt;
&lt;li&gt;As it's difficult to translate end user requests to MMS requests, the results provided here are with respect to MMS server response time and VSTS tests completed. Roughly, you can assume number of tests completed same as requests hitting MMS for sizing your MMS servers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-in/library/gg681889.aspx"&gt;Estimate capacity and performance for Managed Metadata Service (SharePoint Server 2013)&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Web Server&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;ul&gt;
&lt;li&gt;1 server (VM, 4 cores, 12 GB RAM) was able to provide acceptable streaming experience up to 400 concurrent users.&lt;/li&gt;
&lt;li&gt;Dataset was about 350 videos, size range 1 MB &amp;ndash; 1 GB (total 14 GB)&lt;/li&gt;
&lt;li&gt;Video stored in SharePoint content db with BLOB cache enabled&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dn169054.aspx"&gt;Estimate capacity and performance for video content management in SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Query Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;ul&gt;
&lt;li&gt;Doesn't provide detailed tests, but provides information on how compliance, and eDiscovery can effect capacity and performance in SharePoint Server 2013&lt;/li&gt;
&lt;li&gt;eDiscovery queries can increase query latencies that users observe by as much as 100 percent. If you run close to capacity for your user search queries, you might consider running eDiscovery queries and exports during non-peak hours to have a smaller effect on user search queries&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dn169053.aspx"&gt;Estimate capacity and performance for compliance and eDiscovery for SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;GENERAL RESOURCES:&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;table style="border-collapse: collapse;" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 105px;" /&gt;&lt;col style="width: 437px;" /&gt;&lt;col style="width: 125px;" /&gt;&lt;col style="width: 265px;" /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr style="height: 20px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border: solid 0.5pt;"&gt;
&lt;p&gt;&lt;strong&gt;Servers&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;strong&gt;Guidance&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;strong&gt;Remarks&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;All Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Minimum hardware specification for each type of server&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc262485.aspx"&gt;Hardware and software requirements for SharePoint 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Provides minimum guidance, but this minimum should NOT be considered as recommended. For which, you need to refer to other resources&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 120px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Web Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;A Web server typically supports 10,000-20,000 users. &lt;br /&gt;For 90,000 users this architecture starts with six Web servers to serve user requests and leaves room for additional Web servers, if needed. &lt;br /&gt;&lt;br /&gt;Two-three Web servers that are dedicated for search crawling is a good starting point, depending on rates of change and freshness requirements.&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=35569"&gt;Enterprise-scale farms for SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Use this guidance just a thumb rule, as no supporting test data has been provided here&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 220px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;All Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;It doesn't provide any specific guidance on number or specifications of server. It provides the following two things:&lt;br /&gt;1. Recommended Topologies based on number of users: &amp;lt; 100, &amp;lt;1000, &amp;lt;10,000, &amp;gt; 10,000&lt;br /&gt;2. Reference Topology for Microsoft Office Division farm that had following workload and dataset:&lt;br /&gt;&lt;br /&gt;15,000 users&lt;br /&gt;2,500 unique users per hour&lt;br /&gt;1.7 million requests per day&lt;br /&gt;1.3 Terabytes total data&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=37000"&gt;Streamlined topologies for SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Most of this guidance is from SharePoint Conference session "SPC192 - SharePoint 2013 Performance and Capacity Management"&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;All Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Generic guidance on how to scale farms as covered in the Streamlined topologies visio&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://www.mssharepointconference.com/Pages/default.aspx"&gt;SPC192 - SharePoint 2013 Performance and Capacity Management&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;If you don't have access to the session recording, refer to streamlined topologies visio, as most of information covered in this session is available there&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 400px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;All Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;As in Streamlined topologies, this diagram also provides generic guidance, and also provide some statements about specific numbers as provided below:&lt;br /&gt;&lt;br /&gt;1. The number of users will affect the requirement for web servers. Factor 10,000 users per web server as a starting point. Adjust the number based on how heavily the servers are utilized. Heavy use of client services will increase the load on web servers.&lt;br /&gt;2. Start with two application servers dedicated to the query processing component and index partitions and place all other service application components on a separate application server. Based on utilization, consider either adding all-purpose application servers that are configured similarly, or adding application servers to dedicate resources to specific service applications.&lt;br /&gt;3. The query role can be combined with the Web server role on a server only if there are enough resources. Running both of these roles on a single virtual machine requires a 6-8-core VM and a physical host that runs Windows Server 2012. A 4-core VM does not provide enough resources for both the query processing component and the Web server role. &lt;br /&gt;4. A detailed table for number of servers for each search component, based on number of items. this is covered in more detail in Enterprise Search diagram.&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30377"&gt;Traditional topologies for SharePoint 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Along with sizing, this diagram is a good reference for topology design principles explained with example topologies.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 120px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Distributed&lt;/p&gt;
&lt;p&gt;Cache Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;The diagram does not provide any information on number of Cache servers, but provides the following information about the memory of cache server e.g. &lt;br /&gt;&lt;br /&gt;The memory allocation for the cache size must be between 8GB and 16GB, and the memory allocation of the cache size must be less than or equal to 40% of the total memory on the server.&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=35557"&gt;Plan and use the Distributed Cache service in SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 120px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Distributed&lt;/p&gt;
&lt;p&gt;Cache Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;This provides little more details about minimum number of cache host servers based on number of total users. Also there's recommendation, upto 10,000 users, you can go with co-located DC servers, beyond that you should go with dedicated server (minimum number 1)&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-in/library/jj219572.aspx"&gt;Plan for feeds and the Distributed Cache service in SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 80px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Search Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;The Search has very detailed description on sizing, which covers lot of things for different number of items (10m, 40m, 100m) such as: RAM, DISK, CPU, Number of Servers.&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30383"&gt;Enterprise search architectures for SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;This diagram covers Search from Intranet perspective. The internet search is different and covered in the other diagram&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 180px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;All&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;It does not provide per role or per component guidance, but provides one topology with predefined performance:&lt;br /&gt;&lt;br /&gt;A medium Internet sites (FIS) topology is optimized for a corpus size of 3,400,000 items, processing approximately 100-200 documents per second, depending on language, and a usage pattern of 85 page views per second, which corresponds to 100 queries per second.&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30464"&gt;Internet sites search architectures for SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;In the associated document (http://technet.microsoft.com/en-us/library/jj219628.aspx) its recommended to use physical servers:&lt;br /&gt;&lt;br /&gt;We recommend that you deploy search topologies for Internet sites on physical hardware.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Search Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;The article covers the details provided in two search visio diagrams&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj219628.aspx"&gt;Scale search for performance and availability in SharePoint Server 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 120px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Provides very detailed information on each search components, which isn't available in the two visios. It also includes important information on IOPS requirements for search&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/16002.capacity-planning-sizing-and-high-availability-for-search-in-sharepoint-2013-spc172-barry-waldbaum-and-olaf-birkeland.aspx"&gt;Capacity Planning, Sizing and High Availability for Search in SharePoint 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;This information is taken from SharePoint Conference 2012 session - SPC172 (Barry Waldbaum and Olaf Birkeland)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 120px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Search Servers&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Most detailed information on every aspect of sizing for enterprise scenarios&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://www.mssharepointconference.com/Pages/default.aspx"&gt;SPC 172 - Capacity Planning, Sizing and High Availability for Search in SharePoint 2013&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;If you don't have access to the session recording, refer to the TechNet Wiki and enterprise search vision, as most of information covered in this session is available there&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 100px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Workflow&lt;/p&gt;
&lt;p&gt;Manager Server&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Minimum three servers are required to provide high availability for Workflow Manager&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj193534"&gt;Configuring a Highly Available Workflow in Workflow Manager 1.0&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;It's because it depends on Windows Server Service Bus, which requires three servers for HA&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 160px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;All&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;For SharePoint 2013 virtual environments, dynamic memory is NOT supported:&lt;br /&gt;&lt;br /&gt;We do not support this option for virtual machines that run in a SharePoint 2013 environment. The reason is that this implementation of dynamic memory does not work with every SharePoint feature. For example, Distributed Cache and Search do not resize their caches when the allocated memory for a virtual machine is dynamically changed. This can cause performance degradation, especially when assigned memory is reduced.&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff621103.aspx"&gt;Use best practice configurations for the SharePoint 2013 virtual machines and Hyper-V environment&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height: 120px;"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Office Web&lt;/p&gt;
&lt;p&gt;Apps Server&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;Based on our performance tests, an Office Web Apps Server, togetherwith two Intel Xeon processors (8 cores), 8 GB of RAM, and a 60 GB hard disk, should support up to 10,000 users where most of the usage is viewing. A server that has a 16 core CPU and 16 GB of Ram should support up to 20,000 users. These results will vary, depending on usage patterns and other factors such as network hardware.&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj219435.aspx"&gt;Plan Office Web Apps Server&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Excel file for view and download: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe src="https://skydrive.live.com/embed?cid=388E940E7959F9EF&amp;amp;resid=388E940E7959F9EF%214237&amp;amp;authkey=AEchx3P0yGfLrqM&amp;amp;em=2&amp;amp;wdAllowInteractivity=False&amp;amp;wdHideGridlines=True&amp;amp;wdHideHeaders=True&amp;amp;wdDownloadButton=True" frameborder="0" scrolling="no" width="600" height="400"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10408196" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="Resources" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Resources/" /><category term="SharePoint 2013" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2013/" /><category term="Sizing" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Sizing/" /><category term="Capacity Planning" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Capacity+Planning/" /></entry><entry><title>SharePoint 2013, 2010, 2007 &amp; Office 365 – Features, Editions and Plans Comparison</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2013/01/20/sharepoint-2013-2010-2007-feature-comparison.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2013/01/20/sharepoint-2013-2010-2007-feature-comparison.aspx</id><published>2013-01-20T10:20:00Z</published><updated>2013-01-20T10:20:00Z</updated><content type="html">&lt;p&gt;Ever since SharePoint 2013 is released, there's increased demand from partners and customers on feature comparison matrix between different versions of SharePoint: 2007, 2010 and 2013. They need it so that they can make informed decision about upgrading their existing SharePoint to the latest version.&lt;/p&gt;
&lt;p&gt;Unfortunately, there isn't any official tabular matrix that provides this kind of comparison. However, I've compiled a list of links that provide you new and changed features. You can use this list and create your own matrix. Feel free to comment if you know additional links in this regard.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Changes from 2010 to 2013&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/support/whats-new-in-microsoft-sharepoint-server-2013-HA102785546.aspx"&gt;What&amp;rsquo;s new in Microsoft SharePoint Server 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sharepoint/fp142374.aspx"&gt;Capabilities and features in SharePoint 2013&lt;/a&gt; &amp;ndash; This article has links to &amp;ldquo;What&amp;rsquo;s New&amp;rdquo; for various feature areas &amp;ndash; that would provide you changes&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/jj163091(v=office.15).aspx"&gt;What&amp;rsquo;s new for developers in SharePoint 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff607742.aspx"&gt;Changes from SharePoint 2010 to SharePoint 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/office365-sharepoint-online-enterprise-help/discontinued-features-and-modified-functionality-in-microsoft-sharepoint-2013-HA102892827.aspx"&gt;Discontinued features and modified functionality in Microsoft SharePoint 2013&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Matrix created by third parties or other bloggers&amp;nbsp;(you might want to verify for comprehensiveness and correctness)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.fpweb.net/sharepoint-hosting/2013/compare-sharepoint-2010-2013/"&gt;Compare SharePoint 2010 vs. SharePoint 2013&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.rharbridge.com/?page_id=966"&gt;SharePoint 2010 vs SharePoint 2013&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Changes from 2007 to 2010&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/what-s-new-in-microsoft-sharepoint-server-2010-HA010370058.aspx"&gt;What's New in Microsoft SharePoint Server 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sharepoint/ee518662.aspx"&gt;What's new in SharePoint Server 2010 (IT Pro oriented)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee557323(v=office.14).aspx"&gt;What's New in SharePoint Server 2010 (Dev oriented)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Matrix created by third parties or other bloggers&amp;nbsp;(you might want to verify for comprehensiveness and correctness)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.rharbridge.com/?page_id=103"&gt;SharePoint 2007 vs SharePoint 2010&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;Comparison between On-premise Editions and Online plans for SharePoint 2013&lt;/h3&gt;
&lt;p&gt;Now, when you are on path to 2013, you would also need comparison between various Editions of SharePoint (Foundation, Standard, Enterprise) and various plans for Office 365 and SharePoint Online. Fortunately, TechNet has provided a very useful and detailed tabular matrix for this comparison.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s just one URL for all such comparisons: &lt;a href="http://technet.microsoft.com/en-us/library/jj819267.aspx"&gt;SharePoint Online&lt;/a&gt;. Each feature in these tables is a hyperlink to another page, which provides your description of that feature. It contains the following sections:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819267.aspx#bkmk_tableo365"&gt;SharePoint features across Office 365 plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819267.aspx#bkmk_tablespo"&gt;SharePoint features across SharePoint Online standalone plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819267.aspx#bkmk_FeaturesOnPremise"&gt;SharePoint feature availability across on-premise solutions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The above page is huge list with a long scroll bar. If you are interested for specific area, there are individual pages also. I&amp;rsquo;ve provided a tabular format for your use&lt;/p&gt;
&lt;table style="width: 396px;" border="1" cellspacing="0" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="104"&gt;Feature Area&lt;/td&gt;
&lt;td valign="top" width="92"&gt;Office 365 Plans&lt;/td&gt;
&lt;td valign="top" width="103"&gt;SPO Standalone Plans&lt;/td&gt;
&lt;td valign="top" width="95"&gt;On-Premise Editions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="105"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819261.aspx"&gt;Developer&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="92"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819261.aspx#bkmk_DevfeaturesO365"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="103"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819261.aspx#bkmk_DeveloperStandalone"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="95"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819261.aspx#bkmk_DeveloperFeatureOnPrem"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="106"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819290.aspx"&gt;IT Professional&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="91"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819290.aspx#bkmk_ITProO365plans"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="103"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819290.aspx#bkmk_ITProStandalone"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="95"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819290.aspx#bkmk_ITProfeaturesOnPrem"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="106"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819301.aspx"&gt;Content&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="91"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819301.aspx#bkmk_ContentfeaturesO365"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="103"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819301.aspx#bkmk_ContentfeaturesStandalone"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="95"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819301.aspx#bkmk_ContentfeatureOnPrem"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="106"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819252.aspx"&gt;Insights&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="91"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819252.aspx#bkmk_InsightsfeaturesO365"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="103"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819252.aspx#bkmk_InsightsfeaturesStandalone"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="95"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819252.aspx#bkmk_InsightsFeaturesOnPrem"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="106"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819291.aspx"&gt;Search&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="91"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819291.aspx#bkmk_SearchfeaturesO365"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="103"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819291.aspx#bkmk_SearchfeatureStandalone"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="95"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819291.aspx#bkmk_SearchfeaturesOnPrem"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="106"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819293.aspx"&gt;Sites&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="91"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819293.aspx#bkmk_SitesfeaturesO365"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="103"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819293.aspx#bkmk_SitesfeaturesStandalone"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="95"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819293.aspx#bkmk_SitesfeaturesOnPrem"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="106"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819256.aspx"&gt;Social&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="91"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819256.aspx#bkmk_SocialfeaturesO365"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="103"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819256.aspx#bkmk_SocialfeaturesStandalone"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="95"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819256.aspx#bkmk_SocialfeaturesOnPrem"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="106"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819308.aspx"&gt;Add-Ons&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="91"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819308.aspx#bkmk_AddOnFeaturesO365"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="103"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819308.aspx#bkmk_AddONFeaturesStandalone"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="95"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj819308.aspx#bkmk_AddOnFeatureOnPrem"&gt;Link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you want it be available in offline excel copy, Andrew Connell has done the good work to compile above information in a spreadsheet with filterable columns. you can find that here: &lt;a href="http://www.andrewconnell.com/blog/archive/2013/01/11/sharepoint-2013-amp-office-365-feature-matrixndashan-easier-way-to.aspx"&gt;SharePoint 2013 &amp;amp; Office 365 Feature Matrix&amp;ndash;An Easier Way to View It&lt;/a&gt;. At the same time, you need to be aware that excel might not be updated always as Office 365 would be adding new features every three months.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;HTH&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10386610" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="SharePoint" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint/" /><category term="SharePoint 2010" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2010/" /><category term="SharePoint 2013" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2013/" /><category term="Office 365" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Office+365/" /></entry><entry><title>Performance Testing Analysis Template for SharePoint Server 2010</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2012/06/05/performance-testing-analysis-template-for-sharepoint-server-2010.aspx" /><link rel="enclosure" type="application/octet-stream" length="57130" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-31-53-69/Performance-Testing-Analysis-template-for-SharePoint-2010.xlsx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2012/06/05/performance-testing-analysis-template-for-sharepoint-server-2010.aspx</id><published>2012-06-05T17:34:00Z</published><updated>2012-06-05T17:34:00Z</updated><content type="html">&lt;p&gt;Continuing my love for performance testing SharePoint and building on my previous posts on performance testing of &lt;a title="SharePoint Server 2010" href="http://blogs.msdn.com/b/sanjaynarang/archive/2010/04/20/sharepoint-2010-performance-stress-load-testing.aspx" target="_blank"&gt;SharePoint 2010&lt;/a&gt; and &lt;a title="MOSS 2007" href="http://blogs.msdn.com/b/sanjaynarang/archive/2009/04/18/sharepoint-performance-stress-load-testing.aspx" target="_blank"&gt;SharePoint 2007&lt;/a&gt;, I created a template for reporting and analyzing performance test results for SharePoint 2010.&lt;/p&gt;
&lt;p&gt;It is an excel workbook. Sharing it here, as I feel, it could be useful to many others who need to do performance or load testing on SharePoint 2010.&lt;/p&gt;
&lt;p&gt;This workbook provides templates for performance testing reporting and analysis for SharePoint Server 2010.&lt;/p&gt;
&lt;p&gt;Many times, when IT Professionals do performance testing for some application, they are not sure what many things such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What performance counters to capture from servers&lt;/li&gt;
&lt;li&gt;What key configurations/counters to capture from VSTS&lt;/li&gt;
&lt;li&gt;How to record or report test results&lt;/li&gt;
&lt;li&gt;How to create create test mix&amp;nbsp;&lt;/li&gt;
&lt;li&gt;When they should consider a value as problem and what should they do to troubleshoot the problem&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This workbook helps IT professionals in these tasks by providing templates as well as examples. Two worksheets (Test Results, Global Settings) had been created for Publishing sites, but can easily be extended to cover other workloads&lt;/p&gt;
&lt;p&gt;Some of the material available here is available in Technet or in other resources also, but this document provides single point reference for everything required for reporting and analysing performance tests for SharePoint Server 2010. &lt;strong&gt;Also, this&amp;nbsp;workbook should ONLY be used as a reference document (or as a template) and MUST be customized as per your requirements. &lt;/strong&gt;Would love to hear to improve it further.&lt;/p&gt;
&lt;p&gt;The workbook contains the following worksheets:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Performance Targets - For validating success of failure of application in the performance testing, you need to set some performance targets. This worksheet provies typical performance targets.&lt;/li&gt;
&lt;li&gt;Test Results - template for how test results can be captured and compared in different runs. The worksheet also have most common counters that are required for analysing performance results. You can add/remove counters based on your requirement. The is written based on Visual Studio 2010. This worksheet can cover only 1 type of load test. For additional load tests, you need to create copies of this worksheet.&lt;/li&gt;
&lt;li&gt;Performance Counters - This worksheet provides list important performance counter that you should monitor during performance Testing. It also provides when that counter value can be taken as problem and what should be resolution steps.&lt;/li&gt;
&lt;li&gt;Test Mix Example 1 and 2 - The worksheets provide examples of how to define a test mix for a performance test&lt;/li&gt;
&lt;li&gt;Server Configs - It is very important that server configuration is recorded completely for any performance test. This worksheet provides an example of how it can be recorded.&lt;/li&gt;
&lt;li&gt;Global Settings - There are many settings (infrastructure or application or farm level) that remain constant for all performance test runs. However, if these are changed, these can change the performance test results greatly. Hence it very important to record these settings. This worksheet provides examples of such global settings&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10315369" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="VSTS" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/VSTS/" /><category term="Performance" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Performance/" /><category term="Testing" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Testing/" /><category term="Load Testing" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Load+Testing/" /><category term="SharePoint 2010" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2010/" /></entry><entry><title>Feature Upgrade, Adding fields to Content Types, and SharePoint Application Lifecycle Management</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2012/02/06/feature-upgrade-adding-fields-to-content-types-and-sharepoint-application-lifecycle-management.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2012/02/06/feature-upgrade-adding-fields-to-content-types-and-sharepoint-application-lifecycle-management.aspx</id><published>2012-02-06T02:03:00Z</published><updated>2012-02-06T02:03:00Z</updated><content type="html">&lt;p&gt;UPDATE: The bug covered in this post has been fixed in June 2012 CU. So if you are on June 2012 or more CU, you need not follow the workaround mentioned in this post.&lt;/p&gt;
&lt;p&gt;Recently, I got into issues with using feature upgrade mechanism for adding a new field to a content type. We have been using &lt;a href="http://msdn.microsoft.com/en-us/library/ff595314.aspx" target="_blank"&gt;AddContentTypeField Element&lt;/a&gt; inside &lt;a href="http://msdn.microsoft.com/en-us/library/ff595308.aspx" target="_blank"&gt;UpgradeActions Element&lt;/a&gt; successfully for some releases and it was adding new content type fields to existing sites properly. However, so far, we did not get into scenario where the same feature was also required to be activated on new sites. When we got into the scenario, we realized this approach was not working at all. The approach we have been using was as per SharePoint Application Lifecycle Management (ALM) guidelines that feature upgrade should take care of both the scenarios:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Existing Sites: Whenever the existing features are upgraded, the new functionality should get added to the site&lt;/li&gt;
&lt;li&gt;New Sites: Whenever the features are activated, the site should get both: the functionality in the previous versions of features as well as that in the current version of the features.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;&lt;span style="text-decoration: underline;"&gt;The approach that we used was as given below:&lt;/span&gt;&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Define new field in new elements2.xml&lt;/li&gt;
&lt;li&gt;For New Sites we do this:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;In feature manifest. refer to elements2.xml&amp;nbsp; (in addition to exiting elements.xml)&lt;/li&gt;
&lt;li&gt;In existing elements.xml (which has content type definition), add additional field to exiting content type definition using new &amp;lt;FieldRef&amp;gt; element for new column&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;For existing sites, for Feature Upgrade. We do the following in&amp;nbsp; &amp;lt;UpgradeActions&amp;gt;,&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;add field definition with new elements2.xml using &amp;lt;ApplyElementManifests&amp;gt; and then&lt;/li&gt;
&lt;li&gt;add that new field to existing content type using&amp;nbsp; &amp;lt;AddContentTypeField&amp;gt; element and with PushDown=&amp;rdquo;TRUE&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;The above approach is in line with the approach suggested in the MSDN article: &lt;a href="http://msdn.microsoft.com/en-us/library/gg604045.aspx" target="_blank"&gt;Application Lifecycle Management in SharePoint 2010&lt;/a&gt;. Under the section &amp;ldquo;Upgrading SharePoint 2010 Features: A High-Level Walkthrough&amp;rdquo;, the article gives an example of adding a new field to existing content type and mentions the following in step 2:&lt;/p&gt;
&lt;p&gt;&amp;ldquo;&lt;em&gt;Update the existing definition of the content type in the existing feature element file. This update will apply to all sites where the feature is newly deployed and activated.&lt;/em&gt;&amp;rdquo;&lt;/p&gt;
&lt;h5&gt;&lt;span style="text-decoration: underline;"&gt;However, the approach never worked, and we had various issues with the approach:&lt;/span&gt;&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;We tried SPFeature.Upgrade(false). We got exception - &lt;span style="font-family: Courier New; font-size: x-small;"&gt;The object has been updated by another user since it was last fetched&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;When we tried SPFeature.Upgrade(true) , the upgrade went through (at least no visible exception). After feature upgrade:&amp;nbsp;&amp;nbsp;
&lt;ul&gt;
&lt;li&gt;On existing site collection, All new columns for the exiting content types are visible in site collection content type gallery. But not on any list/library either in root or sub sites. New columns are not getting reflected for any inherited content type which is associated with list or library.&lt;/li&gt;
&lt;li&gt;For New site collections, latest content type definition is available in content type gallery as well as on any list/lib at root or subsite levels.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;We also tried other approach of removing the new &amp;lt;FieldRef&amp;gt; from the existing content type type definition in existing element.xml. In this case, feature upgrade on existing site collection worked fine. But this time, on the new site collections, the new columns are not available. Here feature upgrade can&amp;rsquo;t be used as the feature version of the new site collection is already the latest version.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After a lot of troubleshooting and trying various options, we finally could find an approach that works.&lt;/p&gt;
&lt;h5&gt;&lt;span style="text-decoration: underline;"&gt;The working approach is:&lt;/span&gt;&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Define new field in new elements2.xml&lt;/li&gt;
&lt;li&gt;For New Sites we do this:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;In feature manifest. refer to elements2.xml&amp;nbsp; (in addition to exiting elements.xml)&lt;/li&gt;
&lt;li&gt;DO NOT do this: &lt;s&gt;In existing elements.xml (which has content type definition), add additional field to exiting content type definition using new &amp;lt;FieldRef&amp;gt; element for new column&lt;/s&gt;&lt;/li&gt;
&lt;li&gt;Add code in feature activation to add columns, which have NOT been added in elements.xml. USE CSV or excel for columns and content type mapping&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;For existing sites, for Feature Upgrade. We do the following in&amp;nbsp; &amp;lt;UpgradeActions&amp;gt;,&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;add field definition with new elements2.xml using &amp;lt;ApplyElementManifests&amp;gt; and then&lt;/li&gt;
&lt;li&gt;add code in feature upgrading through custom upgrade action to add new columns. This code would be same as what you used for activation. (&lt;em&gt;You can also add that new field to existing content type using &amp;lt;AddContentTypeField&amp;gt; element and with PushDown=&amp;rdquo;TRUE&amp;rdquo;. However, we resorted to code approach as anyway code was being written for feature activation.&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;h5&gt;&lt;span style="text-decoration: underline;"&gt;What we figured out for adding new columns to existing content type is this: &lt;/span&gt;&lt;/h5&gt;
&lt;p&gt;Whether we use code (custom upgrade action) OR declarative (using&amp;nbsp; &amp;lt;AddContentTypeField&amp;gt;) &amp;ndash; it&amp;rsquo;ll never work (sometime throws error, or sometime doesn&amp;rsquo;t update content types without any error) if we change the existing content type definition xml file.&lt;/p&gt;
&lt;p&gt;Later we also realized that Official documentation also states the same thing, however, it was never documented in connection with feature upgrade. Hence, there is confusion across community on this area. Here are the references that state that we should never update content type definition file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Updating Content Types &lt;/strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa543504.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa543504.aspx&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Do not, &lt;strong&gt;under any circumstances, update the content type definition file for a content type after you install and activate that content type&lt;/strong&gt;. SharePoint Foundation does not track all the changes that are made to the content type definition file. Therefore, you have no reliable method for pushing down all the changes made to site content types to the child content types.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Updating Child Content Types&lt;/strong&gt; &lt;a href="http://msdn.microsoft.com/en-us/library/ms442695.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms442695.aspx&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;You cannot add columns to an existing site content type declaratively, in other words, by updating the Feature XML files&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The similar issues are also documented by Charles Chen in his blog &lt;a href="http://charliedigital.com/2011/05/03/sharepoint-content-type-lifecycle-management/" target="_blank"&gt;SharePoint Content Type Lifecycle Management&lt;/a&gt;, however, the approach suggested there is to update the original content type definition manifest file, and add a CustomUpgradeAction as well in addition to the AddContentTypeField. I&amp;rsquo;m not sure what&amp;rsquo;s official recommendation here, however, personally I am not in favor of this approach for two reasons: first, it updates original content type definition, which is not recommended in official documentation. Second, it is adding two instructions for upgrade &amp;ndash; which can cause issue in some later updates. At the same time, the blog has been written well and there&amp;rsquo;s a lot of sample code in that which applies to the approach suggested here also.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Update (25-Mar-2012)&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Sample Code&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;As there are plenty other resources available for the samples, I am not providing sample code for this particular approach. &lt;a title="Vesa" href="http://blogs.msdn.com/b/vesku/"&gt;Vesa&lt;/a&gt; has provided a detailed &lt;a title="post" href="http://blogs.msdn.com/b/vesku/archive/2011/07/29/webtemplate-training-materials-lab-4-upgrading-existing-sites-with-feature-versioning.aspx"&gt;post&lt;/a&gt; on this. Check out section "Task 2 &amp;ndash; Updating features and content types". He has also provided zip file containing the complete source code &lt;a title="here" href="http://blogs.msdn.com/b/vesku/archive/2011/07/29/webtemplate-training-materials-introduction-to-reusable-labs.aspx"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10264238" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="SharePoint 2010" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2010/" /><category term="Feature Upgrade" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Feature+Upgrade/" /><category term="Application Lifecycle Management" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Application+Lifecycle+Management/" /></entry><entry><title>List of Site Templates in SharePoint 2010</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2011/09/30/list-of-site-templates-in-sharepoint-2010.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2011/09/30/list-of-site-templates-in-sharepoint-2010.aspx</id><published>2011-09-30T06:03:59Z</published><updated>2011-09-30T06:03:59Z</updated><content type="html">&lt;p&gt;Many times we come across the question that what site template we should use for a particular required. Whether we can use out-of-the-box template or do we need to create a custom site template? We can answer these questions only when we know about all the site templates provided by SharePoint 2010 out-of-the-box. For that I was searching for some available resources and got some good resources, I thought it, it would be useful for others also to have these resources listed in one single place – and hence sharing here:&lt;/p&gt;  &lt;p&gt;1. Which SharePoint 2010 Site Template Is Right For Me? (&lt;a href="http://toddbaginski.com/blog/which-sharepoint-2010-site-template-is-right-for-me/"&gt;http://toddbaginski.com/blog/which-sharepoint-2010-site-template-is-right-for-me/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;A blog post from “Todd Baginski”. He provides an overview of site templates and sub-site templates that are available with SharePoint 2010. Todd also discusses templates that are new to SharePoint 2010, the various kinds of lists that are available for particular templates.&lt;/p&gt;  &lt;p&gt;2. A preview of the SharePoint Server 2010 site templates (&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/a-preview-of-the-sharepoint-server-2010-site-templates-HA101907564.aspx"&gt;http://office.microsoft.com/en-us/sharepoint-server-help/a-preview-of-the-sharepoint-server-2010-site-templates-HA101907564.aspx&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;The page provides videos for different site templates. The videos provide a quick preview of these templates, what they look like, what’s included, and how you might use them in your organization. Each video is less than a minute long so that you can go through them quickly and decide which template is best for you.&lt;/p&gt;  &lt;p&gt;3. Sites and site collections overview (SharePoint Server 2010) (&lt;a href="http://technet.microsoft.com/en-us/library/cc262410.aspx"&gt;http://technet.microsoft.com/en-us/library/cc262410.aspx&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;This TechNet page provides a table that lists every site template, describes the purpose of each, and indicates whether the template is available at the site collection level, site level, or both. It also provides the category that is used to group the templates. As the category might be different, depending on the level at which a site is created, it provides category at both the levels.&lt;/p&gt;  &lt;p&gt;4. SharePoint 2010 Site Template (&lt;a href="http://wellytonian.com/2010/08/sharepoint-2010-site-template-screenshots-2/"&gt;http://wellytonian.com/2010/08/sharepoint-2010-site-template-screenshots-2/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;As the name suggests, this blog post provide you quick overview of site templates by providing the screen shots of their home pages.&lt;/p&gt;  &lt;p&gt;Hope you find this useful!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10218455" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="Resources" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Resources/" /><category term="SharePoint 2010" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2010/" /><category term="Site Templates" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Site+Templates/" /></entry><entry><title>Custom Note Board web part, SocialCommentManager, social security trimming and Search</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2011/06/12/custom-note-board-web-part-socialcommentmanager-social-security-trimming-and-search.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2011/06/12/custom-note-board-web-part-socialcommentmanager-social-security-trimming-and-search.aspx</id><published>2011-06-12T11:11:21Z</published><updated>2011-06-12T11:11:21Z</updated><content type="html">&lt;p&gt;If you have used My Sites in SharePoint 2010, you would have seen the new Note Board web part. The Note Board web part is a generic web part and can be used in other sites also such as publishing portals, team sites etc. It enables users to leave short, publicly-viewable notes or comments about the page, where the web part exists. &lt;/p&gt;  &lt;p&gt;There are scenarios, where you’d like to customize the out-of-the-box (OOB) Note Board web part. For example, you might want to show dates in different format, or you want to provide ‘report abuse’ feature on each note. You might want to show the total number of notes within the web part. Unfortunately, the OOB web part offers very limited flexibility to customize its UI or provide other features on top of it. So, you would need to write your own custom Notes or Comments web part. &lt;/p&gt;  &lt;p&gt;How to write a custom Notes or Comments web part? First option would be to extend the class used by OOB Note Board web part – SocialCommentWebPart class. Unfortunately again, the class is sealed and you can’t inherit from it. The only option left is to use SharePoint object model (OM) to view/add/delete/edit comments and write the whole UI from scratch. The OM provides a class&amp;#160; &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.server.socialdata.socialcommentmanager.aspx"&gt;SocialCommentManager&lt;/a&gt;, which provides extensive methods to do work with social comments or notes. For example: &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.server.socialdata.socialcommentmanager.addcomment.aspx"&gt;AddComment&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.server.socialdata.socialcommentmanager.getcomments.aspx"&gt;GetComments&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.server.socialdata.socialcommentmanager.getcount.aspx"&gt;GetCount&lt;/a&gt;. However, if you want to provide all features provided by OOB web part, you are going to face some challenges. In the following section, I would would explain those challenges and how to overcome them.&lt;/p&gt;  &lt;h6&gt;Social Security Trimming and Search&lt;/h6&gt;  &lt;p&gt;Most of social data in SharePoint (tag, comment, rating) is controlled by social security trimming. Before SocialCommentManager returns comments for a page, it uses a component called the &lt;em&gt;security trimmer&lt;/em&gt; to determine whether the current user has permission to view that Web page. If the user is not permitted to view the Web page, SocialCommentManager does not returns the comment.&lt;/p&gt;  &lt;p&gt;As the search service crawls Web pages, it records the permissions that are required to view each Web page. The security trimmer uses this information to determine whether a given user has permission to view a specific Web page. If the security trimmer has insufficient information to determine whether a user has permission to view a Web page, it errs on the side of caution and reports that the user does &lt;em&gt;not&lt;/em&gt; have permission to view the Web page. You can read more about social security trimming here: &lt;a href="http://technet.microsoft.com/en-us/library/ff608006.aspx"&gt;Privacy and security implications of social tagging&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As a result, if the search service has not crawled a Web page, SocialCommentsManager returns only current user’s comments on that page and does not return comments added by other users. So if you don’t have SharePoint Search in your environment, you would not be able to show comments by all users in your custom web part. Also, if your Search incremental crawl is scheduled every night (which happens most of the cases), when a new page is created, users would not be able to see other’s comments until the page is crawled in the night. &lt;/p&gt;  &lt;p&gt;There are two ways to overcome this issue. SocialCommentsManager has an internal method overload for GetComments that takes a Boolean argument whether to consider security trimming or not. OOB web part also uses this method. &lt;/p&gt;  &lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 12px"&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt; SocialComment[] GetComments(Uri url, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; maximumItemsToReturn, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; startIndex, DateTime excludeItemsTime, &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; needSecurityTrim)&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;You can use reflection to call this method to get comments. If you don’t want to use reflection, you can resort to the other method, which is to disable social security trimming. This can also help you with OOB web parts that are controlled through social security trimming such as&amp;#160; What’s New web part that shows user’s colleagues activities. &lt;/p&gt;

&lt;p&gt;Be aware that by disabling security trimming, you override the SharePoint privacy controls. You disable social security trimming by using the following PowerShell&amp;#160; &lt;/p&gt;

&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 12px"&gt;$upaProxyId = (Get-SPServiceApplicationProxy |? {$_.DisplayName -eq &amp;quot;&lt;span style="color: #8b0000"&gt;&amp;lt;Name of your user profile SA proxy&lt;/span&gt;&amp;quot;}).Id
&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 12px"&gt;Remove-SPPluggableSecurityTrimmer -UserProfileApplicationProxyId $upaProxyId -PlugInId 0
&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;Remember the social security trimming is enabled or disabled at the level of Proxy and NOT at the level of whole service application.&amp;#160; &lt;/p&gt;

&lt;h1&gt;&lt;/h1&gt;

&lt;h6&gt;Delete and Edit Comments&lt;/h6&gt;

&lt;p&gt;There is no method exposed by SocialCommentManager to Delete comments or Edit comments. Actually there are methods DeleteComment and UpdateComment, but those are internal. But, we have an asmx web service &lt;a href="http://msdn.microsoft.com/en-us/library/websvcsocialdataservice.socialdataservice.aspx"&gt;SocialDataService&lt;/a&gt; that exposes both of these methods: &lt;a href="http://msdn.microsoft.com/en-us/library/websvcsocialdataservice.socialdataservice.deletecomment.aspx"&gt;DeleteComment&lt;/a&gt;, and &lt;a href="http://msdn.microsoft.com/en-us/library/websvcsocialdataservice.socialdataservice.updatecomment.aspx"&gt;UpdateComment&lt;/a&gt;. So, we can use SocialCommentManager for adding and getting comments and use SocialDataService for deleting and editing comment. Otherwise, we can use SocialDataService for everything. However, there is still a catch. With OOB Notes web part, owner of comment as well as site owners can delete any comment on the web part. Whereas, the SocialDataService DeleteComment method deletes the social comment associated with the current user only. How do you provide the capability to site owners to delete any comment? Even if you try impersonation or try running code with RunWithElevatedPrivileges, it doesn’t allow to delete a comment of a user other than the current logged on user. &lt;/p&gt;

&lt;p&gt;The only solution I could find for this is to use reflection and execute internal methods of SocialCommentManager. The internal method DeleteComment, is used for deleting comments. It takes an argument as commentID. The SocialComment class has a property CommentID that returns an ID of a comment, but that also is internal. So, you would need reflection for getting value of this property also. The code looks like this:&lt;/p&gt;

&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public void &lt;/span&gt;DeleteComment(&lt;span style="color: blue"&gt;string &lt;/span&gt;userAccountName, &lt;span style="color: blue"&gt;string &lt;/span&gt;pageUrl)
{

    &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SPSite &lt;/span&gt;site = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;(pageUrl))
    {
        &lt;span style="color: #2b91af"&gt;SPServiceContext &lt;/span&gt;serviceContext = &lt;span style="color: #2b91af"&gt;SPServiceContext&lt;/span&gt;.GetContext(site);
        &lt;span style="color: #2b91af"&gt;UserProfileManager &lt;/span&gt;upm = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;UserProfileManager&lt;/span&gt;(serviceContext);
        &lt;span style="color: #2b91af"&gt;UserProfile &lt;/span&gt;user = upm.GetUserProfile(userAccountName);

        &lt;span style="color: #2b91af"&gt;SocialCommentManager &lt;/span&gt;scManager = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SocialCommentManager&lt;/span&gt;(serviceContext);

        &lt;span style="color: #2b91af"&gt;Uri &lt;/span&gt;currUri = FixupPageUrl(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Uri&lt;/span&gt;(pageUrl));

        &lt;span style="color: #2b91af"&gt;SocialComment&lt;/span&gt;[] scList = scManager.GetComments(user, currUri);
        &lt;span style="color: green"&gt;// get the latest comment in the list, comments list is returned in 
        // descending order of modified date
        &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SocialComment &lt;/span&gt;sc = scList[0];

        &lt;span style="color: #2b91af"&gt;PropertyInfo &lt;/span&gt;propertyInfo = &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SocialComment&lt;/span&gt;).GetProperty(&lt;span style="color: #a31515"&gt;&amp;quot;CommentID&amp;quot;&lt;/span&gt;,
            &lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.NonPublic | &lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Instance);

        &lt;span style="color: blue"&gt;object &lt;/span&gt;o = propertyInfo.GetValue(sc, &lt;span style="color: blue"&gt;null&lt;/span&gt;);

        &lt;span style="color: blue"&gt;if &lt;/span&gt;(o != &lt;span style="color: blue"&gt;null&lt;/span&gt;)
        {
            &lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;type = scManager.GetType();

            &lt;span style="color: #2b91af"&gt;MethodInfo &lt;/span&gt;mi = &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SocialCommentManager&lt;/span&gt;).GetMethod(&lt;span style="color: #a31515"&gt;&amp;quot;DeleteComment&amp;quot;&lt;/span&gt;,
                &lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.NonPublic | &lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Instance,
                &lt;span style="color: blue"&gt;null&lt;/span&gt;,
                &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Type&lt;/span&gt;[] { &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: blue"&gt;long&lt;/span&gt;) },
                &lt;span style="color: blue"&gt;null&lt;/span&gt;);

            &lt;span style="color: blue"&gt;long &lt;/span&gt;id = &lt;span style="color: #2b91af"&gt;Convert&lt;/span&gt;.ToInt64(o.ToString());
            mi.Invoke(scManager, &lt;span style="color: blue"&gt;new object&lt;/span&gt;[] { id });
        }

    }
}&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;I’ve already explained most of the code above except method FixupPageUrl, which brings us to our next challenge.&lt;/p&gt;

&lt;h6&gt;Welcome Page Comments&lt;/h6&gt;

&lt;p&gt;SharePoint stores each social comment in social DB against the URL of the page, on which comment has been given. However, if the page is welcome page of the site, it stores the URL of site instead of the actual page. For example, if you have some comments on the welcome page of your site: &lt;a href="http://sitename/pages/default.aspx"&gt;http://sitename/pages/default.aspx&lt;/a&gt; and you pass this URL to GetComments method, it would not return any result, because SharePoint would have stored those comments against the site URL: &lt;a href="http://sitename"&gt;http://sitename&lt;/a&gt;. The method FixupPageUrl addresses this issue. It returns the site URL if the passed URL is a welcome page. OOB Note Board web part also uses the same method. It is available in an internal class SocialItemUrlNormalizer. You can either use reflection to call this method or paste the method code into your calls using reflector. The code look like this:&lt;/p&gt;

&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Uri &lt;/span&gt;FixupPageUrl(&lt;span style="color: #2b91af"&gt;Uri &lt;/span&gt;url)
{
    &lt;span style="color: #2b91af"&gt;SPSecurity&lt;/span&gt;.&lt;span style="color: #2b91af"&gt;CodeToRunElevated &lt;/span&gt;secureCode = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
    &lt;span style="color: blue"&gt;string &lt;/span&gt;strWelcomePage;
    &lt;span style="color: blue"&gt;if &lt;/span&gt;(url != &lt;span style="color: blue"&gt;null&lt;/span&gt;)
    {
        strWelcomePage = &lt;span style="color: blue"&gt;string&lt;/span&gt;.Empty;
        &lt;span style="color: blue"&gt;try
        &lt;/span&gt;{
            &lt;span style="color: blue"&gt;if &lt;/span&gt;(secureCode == &lt;span style="color: blue"&gt;null&lt;/span&gt;)
            {
                secureCode = &lt;span style="color: blue"&gt;delegate
                &lt;/span&gt;{
                    &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SPSite &lt;/span&gt;site = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SPSite&lt;/span&gt;(url.AbsoluteUri))
                    {
                        &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SPWeb &lt;/span&gt;web = site.OpenWeb())
                        {
                            strWelcomePage = web.RootFolder.WelcomePage;
                            &lt;span style="color: blue"&gt;if &lt;/span&gt;(!&lt;span style="color: blue"&gt;string&lt;/span&gt;.IsNullOrEmpty(strWelcomePage))
                            {
                                strWelcomePage = &lt;span style="color: #2b91af"&gt;SPHttpUtility&lt;/span&gt;.UrlPathDecode(strWelcomePage, &lt;span style="color: blue"&gt;false&lt;/span&gt;);
                                strWelcomePage = &lt;span style="color: #2b91af"&gt;SPHttpUtility&lt;/span&gt;.UrlPathEncode(strWelcomePage, &lt;span style="color: blue"&gt;false&lt;/span&gt;, &lt;span style="color: blue"&gt;true&lt;/span&gt;);
                            }
                        }
                    }
                };
            }
            &lt;span style="color: #2b91af"&gt;SPSecurity&lt;/span&gt;.RunWithElevatedPrivileges(secureCode);
        }
        &lt;span style="color: blue"&gt;catch
        &lt;/span&gt;{
        }
        &lt;span style="color: blue"&gt;if &lt;/span&gt;(!&lt;span style="color: blue"&gt;string&lt;/span&gt;.IsNullOrEmpty(strWelcomePage))
        {
            &lt;span style="color: blue"&gt;string &lt;/span&gt;absoluteUri = url.AbsoluteUri;
            &lt;span style="color: blue"&gt;int &lt;/span&gt;startIndex = absoluteUri.LastIndexOf(strWelcomePage, &lt;span style="color: #2b91af"&gt;StringComparison&lt;/span&gt;.OrdinalIgnoreCase);
            &lt;span style="color: blue"&gt;if &lt;/span&gt;(startIndex != -1)
            {
                url = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Uri&lt;/span&gt;(absoluteUri.Remove(startIndex));
            }
        }
    }

    &lt;span style="color: blue"&gt;return &lt;/span&gt;url;
}&lt;/pre&gt;&lt;/pre&gt;

&lt;h6&gt;Paging&lt;/h6&gt;

&lt;p&gt;You would have to use your own logic for paging also. The SocialCommentManager exposes a &lt;a href="http://msdn.microsoft.com/en-us/library/ee578375.aspx"&gt;GetComments&lt;/a&gt; overloaded method, which takes arguments that would enable you to build paging: Number of Items to be displayed on the page and the start index. &lt;/p&gt;

&lt;p&gt;The key thing to remember here is that use &lt;a href="http://msdn.microsoft.com/en-us/library/ee581579.aspx"&gt;SocialCommentManager.GetCount()&lt;/a&gt; method to get total number of comments to calculate number of pages required to display all comments. If you use Length property of SocialComment[] returned by GetComments to get total number of pages, you might get into the issue, which is discussed in the next challenge. &lt;/p&gt;

&lt;h6&gt;Deleted User Profiles&lt;/h6&gt;

&lt;p&gt;When a user profile gets deleted from the user profile database (for example, after a user leaves the company), social comments added by that user are not deleted from the Social DB. However, the object model, does not return any comments added by such deleted profiles. Hence, Length property of SocialComment[] returned by GetComments can be lesser than that value returned by GetCount method. This happens because GetCount value also contains the comments by deleted user profiles whereas GetComments does not.&amp;#160; If you has used GetComments method to get total comments for paging, your Next button can get disabled even before showing all the comments. At the time of writing this was a bug in OOB Note Board web part, and is expected to get fixed soon. &lt;/p&gt;

&lt;p&gt;The above issue won’t happen if you use GetCount method to get total comments. However, you might have other issue here. For example, if you are showing 5 comments on each page, you might have intermediate pages which would display less than 5 comments. This would happen because the comments not displayed would be the comments from delete user profiles. As this is still better than not showing all comments, I prefer this one.&amp;#160;&amp;#160; &lt;/p&gt;

&lt;p&gt;
  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8940a425-9ff2-4499-af54-3089ee62a368" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Note+Board" rel="tag"&gt;Note Board&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SocialCommentManager" rel="tag"&gt;SocialCommentManager&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Social+Security+Trimming" rel="tag"&gt;Social Security Trimming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint+2010" rel="tag"&gt;SharePoint 2010&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10173707" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="SharePoint 2010" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2010/" /><category term="Social Security Trimming" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Social+Security+Trimming/" /><category term="Note Board" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Note+Board/" /><category term="SocialCommentManager" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SocialCommentManager/" /></entry><entry><title>Media Web Part in SharePoint 2010 - FAQ</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2010/05/26/media-web-part-in-sharepoint-2010-faq.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2010/05/26/media-web-part-in-sharepoint-2010-faq.aspx</id><published>2010-05-26T12:10:00Z</published><updated>2010-05-26T12:10:00Z</updated><content type="html">&lt;p&gt;Media Web Part (MWP) is new Silverlight based web part that can be used to play videos and audios. As it’s a new web part, there have been many doubts/questions around this web part. I plan to clear those doubts in this post using a Frequently Asked Questions (FAQ) format. Here we go.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. How do I use Media Web Part?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can do this through&amp;#160; Video and Audio button on the Ribbon interface on Insert tab. For step-by-step details look at &lt;a href="http://www.chakkaradeep.com/post/SharePoint-2010-Media-Web-Part.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;SharePoint 2010: Media Web Part&lt;/span&gt;&lt;/a&gt; blog post by Chakkaradeep&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. What file formats are supported or can be played in Media Web Part?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Media Web Part is a Silverlight control. So, all the formats supported by Silverlight can be played using MWP. Look at this article for details on that: &lt;a title="Silverlight - Supported Media Formats, Protocols, and Log Fields" href="http://msdn.microsoft.com/en-us/library/cc189080(VS.95).aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Supported Media Formats, Protocols, and Log Fields&lt;/span&gt;&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Can I used Media Web Part to play flash Videos?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;No. As Silverlight does not support flash, hence, you can’t play flash videos.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. Then how can I play flash videos in SharePoint?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You’d need to embed the HTML &amp;lt;object&amp;gt; tag in your pages. There are number of ways you can do that. You can either use out-of-the-box Content Editor web part to embed your &amp;lt;object&amp;gt; tag. If you don’t want to play with HTML, you can use some of open source or third party web parts such as &lt;a title="Custom Web Part to play flash videos in SharePoint" href="http://www.devexpert.net/blog/pt/blog/SharePoint-2007-Flash-Animation-Web-Part.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Flash Animation Web Part&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5. Can I play videos/audios from other web sites OR I need to store video in local SharePoint site?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can play videos from external sites (including streaming videos) as well videos in local SharePoint site. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6. Can I use Media Web Part in SharePoint Foundation 2010?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;No, Media Web Part is included in Publishing feature, which is only available in SharePoint Server 2010.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;7. Can I used Media Web Part in SharePoint 2007?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;No, it’s only available in SharePoint Server 2010.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;8. Why can’t I embed videos in SharePoint blog site using Media Web Part?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As mentioned above, Media Web Part is included in Publishing feature, which is only available in SharePoint Server 2010. Whereas the blog site template is included in SharePoint Foundation and hence can’t used publishing features.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;9. If if have SharePoint Server license, can I use Media Web Part in blog site template?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Yes, you can do this with some bit of extra work with JavaScript. For details. see &lt;a title="SharePoint 2010 - Video Blogging with Javascript and the Media Web Part" href="http://blogs.msdn.com/sharepointdesigner/archive/2009/12/11/video-blogging-with-javascript-and-the-media-web-part.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Video Blogging with Javascript and the Media Web Part&lt;/span&gt;&lt;/a&gt; blog post by &lt;a title="SharePoint Designer Team blog" href="http://blogs.msdn.com/sharepointdesigner/" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;SharePoint Designer Team&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;10. Can I change URL of the video being played by Media Web Part dynamically at client side?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Yes. Media Web Part exposes JavaScript object model that you can use to manipulate the behavior of Media Web Part in the browser. One example of this is shown in Video Blogging post mentioned in Q 9. For details, see &lt;a href="http://msdn.microsoft.com/en-us/library/ee558890.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;How to: Configure the MediaWebPart Object Using ECMAScript&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;11. Can I use Media Web part to make complex video sharing web sites in SharePoint?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Yes, You can use Media Web Part and digital asset management (DAM) features in Microsoft SharePoint Server 2010&amp;#160; to create a customized social media sharing site. As an example of a video page, you can look at &lt;a title="Sample Page for using videos in SharePoint" href="http://sharepoint.microsoft.com/en-us/Pages/Videos.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Videos&lt;/span&gt;&lt;/a&gt; page at &lt;a href="http://sharepoint.microsoft.com/" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;SharePoint Official web site&lt;/span&gt;&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;MSDN has published a series of walkthroughs to describe the whole process:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff394513.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Walkthrough: Creating a Video Site&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff464368.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Walkthrough: Adding the MediaWebPart and Video Site Features&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff394411.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Walkthrough: Customizing the Video Upload Experience&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff394560.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Walkthrough: Creating a Customized Home Page and Content By Query Web Part XSL&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff464455.aspx" target="_blank"&gt;&lt;span style="color: #0000cc"&gt;Walkthrough: Creating and Customizing a Channel Page&lt;/span&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;12. Can I use Media Web part to play any size of video?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;No, you should carefully plan the use of Media Web Part or digital content in general. Playing large files can affect the performance of your application drastically, if not planned properly. You need to look at factors such as available bandwidth between clients and server, server configurations (RAM, CPU, Disk Speeds) and advanced features provided be IIS and SharePoint – Bit Rate Throttling and BLOB cache. Bit Rate Throttling is an IIS 7.0 extension that meters the download speeds of media file types and data between a server and a client computer. Based on these factors, you should decide the maximum size of your videos and audios. Details discussion on these factors is beyond the scope of this. However, you should look at the following resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="Learn about BLOB, Bit Rate Throttling and Max File size" href="http://technet.microsoft.com/en-us/library/ee424404.aspx" target="_blank"&gt;Caching and performance planning&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.iis.net/download/BitRateThrottling" target="_blank"&gt;Bit Rate Throttling&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;13. What is &amp;quot;Play media links in browser&amp;quot; option in Content Query Web Part (CQWP) ? OR I don’t want to use MWP as I need to set preview image URL and Media URL for every video that I need to show. Isn’t there something that can show me list of all media content available and I can play any of those by just clicking on those?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;When you upload a video as OOB Video content type or some content type inheriting from Video content type, you get additional Video playing features OOB. For example, if you have an Asset Library showing some digital content (Video, Audio or Image) in Thumbnails view, when you hover over or click an item, it pops up a small window showing the properties of digital item and with relevant links (such as Play, View Item etc.). When you click “Play” it plays the video in the browser itself, through a Silverlight overlay player. You need not use any Media Web Web part for this.&lt;/p&gt;  &lt;p&gt;CQWP also behaves in the same way, when you select &amp;quot;Play media links in browser&amp;quot; option in web part properties, presentation section.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a6a5f74b-3603-4d1e-a094-a3b35d5d9a5c" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint+2010" rel="tag"&gt;SharePoint 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Media+Web+Part" rel="tag"&gt;Media Web Part&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Videos" rel="tag"&gt;Videos&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10015539" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="SharePoint 2010" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2010/" /><category term="Videos" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Videos/" /><category term="Media Web Part" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Media+Web+Part/" /></entry><entry><title>SharePoint 2010 Performance (Stress, Load) Testing</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2010/04/20/sharepoint-2010-performance-stress-load-testing.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2010/04/20/sharepoint-2010-performance-stress-load-testing.aspx</id><published>2010-04-19T20:52:00Z</published><updated>2010-04-19T20:52:00Z</updated><content type="html">&lt;p&gt;Update on 2-Oct-2010&lt;/p&gt;
&lt;p&gt;Last year I had written a post on &lt;a href="http://blogs.msdn.com/sanjaynarang/archive/2009/04/18/sharepoint-performance-stress-load-testing.aspx"&gt;SharePoint 2007 Performance Testing&lt;/a&gt; that had a consolidated list of various types of resources available for performing load or performance testing on SharePoint 2007. Now, as the SharePoint 2010 is RTM, I though it would be good to have similar list for SharePoint 2010 also. &lt;/p&gt;
&lt;p&gt;One thing to note is that many tools that you were using earlier such as VSTS, Fiddler, HttpWatch &amp;ndash; they would remain same even now. However, what would change mainly is the bench marks (results) that have been collected based on real life tests. Like my earlier post, this post is not about planning capacity and performance. If you are looking for those resources, you can visit &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/cc262971(office.14).aspx" title="SharePoint 2010 - Performance and capacity management"&gt;Performance and capacity management&lt;/a&gt; page at TechNet and find various resources available. This post is about performance testing of SharePoint 2010 &amp;ndash; how to do, tools available, bench marks and analyzing results&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll keep updating this post as and when I find new stuff in this area. &lt;/p&gt;
&lt;h2&gt;Performance Testing Guidelines specific to SharePoint 2010&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="title"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff758659.aspx" title="Performance Testing for SharePoint 2010"&gt;Performance testing for SharePoint Server 2010&lt;/a&gt;&amp;nbsp;- The technet article provides comprehensive guidelines on how to go about planning to executing performance testing on SharePoint 2010. It provides useful information, pointers and guidelines on different aspects of performance testing - creating test plan, creating test environment, creating tests and tools. It has tips on some of important aspects such as whether to use think time or not, whether to enable parse dependent requests or not, whether to track virtual users or RPS etc.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="title"&gt;
&lt;div class="title"&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff758658.aspx" title="Monitoring and maintaining SharePoint Server 2010"&gt;Monitoring and maintaining SharePoint Server 2010&lt;/a&gt;&amp;nbsp;- Though the article is about general monitoring, but you can also use it to monitor your servers while performance testing. It provides useful information on what performance counters you should monitor, and what should be reasonable values. However, be aware that list of counters provided here is not the complete list of counters that you would need to analyse SharePoint 2010 performance. For example, the article does not provide info about very important counters about different kinds of cache - output, blob, object cache.&lt;!----&gt;&lt;/!----&gt;&lt;/div&gt;
&lt;!----&gt;&lt;/!----&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;References of Real life performance testing to get the bench mark results&lt;/h2&gt;
&lt;p&gt;There are many times when you do performance testing in your environment, but don&amp;rsquo;t know if your results are good or not. The links in this section would help you in finding that.&lt;/p&gt;
&lt;ul sizset="0" sizcache="19"&gt;
&lt;li sizset="0" sizcache="19"&gt;&lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/ff608068(office.14).aspx"&gt;Performance and capacity test results and recommendations&lt;/a&gt; section provides a series of white papers describing the performance and capacity impact of specific feature sets included in Microsoft SharePoint Server 2010. These white papers include information such as: Test farm characteristics, Test results, Recommendations and Troubleshooting performance and scalability. The papers released at present are available for &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fd1eac86-ad47-4865-9378-80040d08ac55&amp;amp;displaylang=en" title="Download SharePoint 2010 performance test results and recommendations"&gt;download here&lt;/a&gt; and are about these areas: 
&lt;table cellpadding="2" cellspacing="0" border="0" style="width: 600px;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="299" valign="top"&gt;
&lt;ul&gt;
&lt;li&gt;Access Services &lt;/li&gt;
&lt;li&gt;Business Connectivity Services &lt;/li&gt;
&lt;li&gt;Caches &lt;/li&gt;
&lt;li&gt;Excel Services &lt;/li&gt;
&lt;li&gt;InfoPath Forms Services &lt;/li&gt;
&lt;li&gt;Large Lists &lt;/li&gt;
&lt;li&gt;Large-scale document repositories &lt;/li&gt;
&lt;li&gt;My Sites and social computing &lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td width="299" valign="top"&gt;
&lt;ul&gt;
&lt;li&gt;Office Web Apps &lt;/li&gt;
&lt;li&gt;PerformancePoint Services &lt;/li&gt;
&lt;li&gt;Search &lt;/li&gt;
&lt;li&gt;Visio Services &lt;/li&gt;
&lt;li&gt;Web Analytics&lt;/li&gt;
&lt;li&gt;Web Content Management &lt;/li&gt;
&lt;li&gt;Word Automation Services &lt;/li&gt;
&lt;li&gt;Workflows &lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;More to come &amp;hellip;. &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Testing Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ff823736.aspx" title="Load Testing Kit (SharePoint Server 2010)"&gt;Load Testing Toolkit (LTK)&lt;/a&gt; &amp;ndash; Microsoft has released this kit to assist an administrator to certify that an existing Microsoft Office SharePoint Server 2007 topology running on specific hardware can sustain an upgrade to a Microsoft SharePoint Server 2010 farm, with the same load. Hence, it&amp;rsquo;s NOT something that you can use for a new installation of SharePoint 2010, but you can always use the webTests created for another implementation as reference for a new implementation. Also, it uses VSTS 2008 and NOT 2010. This comes as part of &lt;a href="http://technet.microsoft.com/en-us/library/cc508851.aspx"&gt;SharePoint 2010 Administration Toolkit&lt;/a&gt; and you&amp;rsquo;ll need to &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=718447d8-0814-427a-81c3-c9c3d84c456e&amp;amp;displaylang=en" title="Download Details: Microsoft SharePoint 2010 Administration Toolkit v1.0"&gt;download the admin toolkit&lt;/a&gt; to get the LTK.&amp;nbsp; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Related Tools/Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://h71019.www7.hp.com/activeanswers/Secure/548230-0-0-0-121.html"&gt;HP Sizer for SharePoint 2010&lt;/a&gt; &amp;ndash; Microsoft had a sizing tool for 2007, but the tool is not available for 2010. However, there&amp;rsquo;s tool available from HP. &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;hellip;. would keep updating with more resources&lt;/p&gt;
&lt;p&gt;Sanjay&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9998685" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="VSTS" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/VSTS/" /><category term="Resources" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Resources/" /><category term="Performance" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Performance/" /><category term="Testing" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Testing/" /><category term="Load Testing" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Load+Testing/" /><category term="SharePoint 2010" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint+2010/" /></entry><entry><title>Beginning SharePoint development from zero</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2009/06/24/beginning-sharepoint-development-from-zero.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2009/06/24/beginning-sharepoint-development-from-zero.aspx</id><published>2009-06-23T21:54:43Z</published><updated>2009-06-23T21:54:43Z</updated><content type="html">&lt;p&gt;Recently, I got a request from one of my friend who had never worked on SharePoint to provide him resources to quickly get on speed with SharePoint. It was really tough to tell about SharePoint technologies (WSS 3.0 and MOSS 2007), which is such huge and expansive area, to someone who hasn’t seen it is really challenging. I tried to provide him some resources with context. Sharing it here also as there could be many others like my friend.&lt;/p&gt;  &lt;h2&gt;Getting to Know&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;ONE STOP SHOP&lt;/strong&gt;: where you’d find most of the resources is this portal: &lt;a href="http://sharepoint.microsoft.com/" target="_blank"&gt;http://sharepoint.microsoft.com/&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Again, the portal has so many resources that one can get lost easily. So here’s the order that you can start with&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;High Level Overview&lt;/b&gt;: To get a very high level overview and know what kind of product you are heading to, read this article: &lt;a title="Introduction to Microsoft Office SharePoint Server 2007" href="http://office.microsoft.com/en-us/sharepointserver/HA101732171033.aspx" target="_blank"&gt;Introduction to Microsoft Office SharePoint Server 2007&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;End User Training&lt;/strong&gt;:&amp;#160; To start with you should know how to “use” SharePoint. How does SharePoint looks like. For this, you should go through end user training. One of the great resource is End User Training from Microsoft:&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointserver/HA102488011033.aspx"&gt;http://office.microsoft.com/en-us/sharepointserver/HA102488011033.aspx&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;You can download the standalone edition and go through some of the trainings available here.&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Environment&lt;/strong&gt;: To learn how to “use” or develop in SharePoint, it’s very important that you have working environment, where you can try hands-on! For this, you can either download &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1beeac6f-2ea1-4769-9948-74a74bd604fa&amp;amp;DisplayLang=en"&gt;pre installed VPC&lt;/a&gt; or download &lt;a href="http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb400747.aspx"&gt;WSS&lt;/a&gt; or &lt;a href="http://technet.microsoft.com/en-us/evalcenter/bb727242.aspx"&gt;evaluation version of MOSS 2007&lt;/a&gt; and install it on your server.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Evaluation Guides&lt;/strong&gt;: Once you get a little hang of SharePoint, get a quick look at all features available in WSS and MOSS from their respective evaluation guides: &lt;a href="http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb400753.aspx"&gt;WSS&lt;/a&gt;, &lt;a href="http://technet.microsoft.com/en-us/library/cc262881.aspx"&gt;SharePoint&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Developing&lt;/h2&gt;  &lt;p&gt;Once you have gone through the above resources, there are plenty of places where you can start learning about the development. Here are a few of resources that can get you up to speed quickly:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/click/SharePointDeveloper/" target="_blank"&gt;SharePointDeveloper Portal&lt;/a&gt;: A lot of 100-200 level resources to get you started&lt;/li&gt;    &lt;li&gt;Ramp Up Portal: It has modules for many technologies. There are two modules on SharePoint – &lt;a title="Track: SharePoint for Developers – Part 1" href="http://msdn.microsoft.com/en-us/rampup/dd221355.aspx" target="_blank"&gt;part 1&lt;/a&gt; and &lt;a title="Track: SharePoint for Developers – Part 2" href="http://msdn.microsoft.com/en-us/rampup/dd320759.aspx" target="_blank"&gt;part 2&lt;/a&gt;&amp;#160;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;After going through above resources you are ready to venture anywhere in the world of SharePoint! It’s huge, you can start from anywhere and go anywhere! Any list of resources would not do justice to available resources on the net. &lt;/p&gt;  &lt;p&gt;In any case, I’m providing a few Pages that provide links to other resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/kaevans/archive/2009/02/17/free-sharepoint-developer-resources.aspx"&gt;http://blogs.msdn.com/kaevans/archive/2009/02/17/free-sharepoint-developer-resources.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.intranetjournal.com/sharepoint/"&gt;http://www.intranetjournal.com/sharepoint/&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Cheers! &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9800034" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="SharePoint" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint/" /><category term="WSS" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/WSS/" /><category term="Resources" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/Resources/" /><category term="MOSS" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/MOSS/" /></entry><entry><title>Should I Build my application in SharePoint vs. ASP.net</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/sanjaynarang/archive/2009/06/19/should-i-build-my-application-in-sharepoint-vs-asp-net.aspx" /><id>http://blogs.msdn.com/b/sanjaynarang/archive/2009/06/19/should-i-build-my-application-in-sharepoint-vs-asp-net.aspx</id><published>2009-06-19T13:01:01Z</published><updated>2009-06-19T13:01:01Z</updated><content type="html">&lt;p&gt;Many times, I get question from my customers if they should build a new application in SharePoint or ASP.net. For certain kind of applications such as Collaboration or KM Portal, Internet facing web site, intranet social networking site, applications requiring browser enabled forms or Enterprise Search, SharePoint is THE option to go for. &lt;/p&gt;  &lt;p&gt;However, it’s not a straight forward answer for all types of applications. You need to look at different aspects before deciding. I’ve put a high level list of questions that I use to make such decisions. Hopefully, the questions should help you also.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;What are the features that you are going to use out-of-the-box (OOB) from SharePoint (site provisioning, search, version control, roles/groups, easy forms (list edit, new, view pages), collaboration, workflows, content deployment, alerts ) )      &lt;ol&gt;       &lt;li&gt;The list of feature is huge, have a look at evaluation guides for complete list: &lt;a title="Windows SharePoint Services 3.0 Evaluation Guide" href="http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb400753.aspx" target="_blank"&gt;WSS&lt;/a&gt;, &lt;a title="White paper: Evaluation guide for Office SharePoint Server 2007" href="http://technet.microsoft.com/en-us/library/cc262881.aspx" target="_blank"&gt;SharePoint&lt;/a&gt; and &lt;a title="SharePoint Search Evaluation Guide" href="http://office.microsoft.com/download/afile.aspx?AssetID=AM102140171033"&gt;Search&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;If you are not using any of these features what’s it that you’d gain from SharePoint? &lt;/li&gt;        &lt;li&gt;If you need these features, why are you thinking of not going with SharePoint? What’s the effort if you custom build those features? &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;What are the features that I’m going to build custom (for example, reports for some applications would be custom and need relational tables with transactional support)      &lt;ol&gt;       &lt;li&gt;How much effort is required for custom development in ASP.net vs. in SharePoint? Is the difference huge? &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;What kind of application it is? Is it one off application, or this is going to replicated across many teams. SharePoint is an excellent platform where you need to replicate one type of site to many teams. &lt;/li&gt;    &lt;li&gt;What are the required Scale and Performance objectives of your application      &lt;ol&gt;       &lt;li&gt;SharePoint has &lt;a title="Plan for software boundaries (Office SharePoint Server)" href="http://technet.microsoft.com/en-us/library/cc262787.aspx"&gt;some boundaries&lt;/a&gt;, most of these can be avoided with adjusted design or workaround. Would the adjusted design or workaround be acceptable to your users? Examples:           &lt;ol&gt;           &lt;li&gt;2000 list items at a single level – a well know limitation &lt;/li&gt;            &lt;li&gt;2000 security principles for a securable object – a lesser known limitation, but this can create problems when users in a site collection grows more than 2000 – there are workarounds for this (such as using AD security groups) – are those acceptable? &lt;/li&gt;         &lt;/ol&gt;       &lt;/li&gt;        &lt;li&gt;SharePoint may not be able to match the performance of a plain ASP.net application as it does a lot more work (security trimming, getting files from database etc.) Can your performance targets be met using SharePoint?          &lt;ol&gt;           &lt;li&gt;You can check benchmarks published by Microsoft or other vendors (such as HP, Intel) to see if SharePoint can meet your requirements. Links to most of the benchmarks are available in this blog post: &lt;a title="Sanjay Narang Blog Post on SharePoint load testing" href="http://blogs.msdn.com/sanjaynarang/archive/2009/04/18/sharepoint-performance-stress-load-testing.aspx"&gt;SharePoint (Performance, Stress ) Load Testing&lt;/a&gt;&amp;#160; &lt;/li&gt;         &lt;/ol&gt;       &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;How many employees would be using these application? How many requests you can expect for customization from different teams. Remember, SharePoint provides a pretty good platform for customization and personalization. &lt;/li&gt;    &lt;li&gt;How much time do you have to build such apps? Can you use some off-the-shelf solutions? For examples, there are many custom applications which be deployed in no time by using WSS Application Templates (&lt;a href="http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb407286.aspx"&gt;http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb407286.aspx&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;What’s the cost you can afford. Remember, you need not buy any separate license, if you are only using Windows SharePoint Services. Have a look at difference of features between WSS and MOSS in the &lt;a title="Differences between WSS 3.0 and MOSS 2007" href="http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/Post.aspx?List=8d9e2a99-f288-47c2-916b-2f32864f7b82&amp;amp;ID=4" target="_blank"&gt;comparison Excel spreadsheet&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;What skills your developers have? Though SharePoint is based on ASP.net, but you need have additional knowledge to develop SharePoint applications. Also, development is SharePoint is not like normal .NET development (for example, you don’t get WYSWYG designer to develop web parts for SharePoint). You also need to take extra care to follow same build and source control process that you do for .Net code. Have a look at &lt;a href="http://msdn.microsoft.com/en-us/office/cc990283.aspx" target="_blank"&gt;Application Lifecycle Management Resource Center for SharePoint Server&lt;/a&gt; for more details. &lt;/li&gt; &lt;/ol&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9784481" width="1" height="1"&gt;</content><author><name>Sanjay.Narang</name><uri>http://blogs.msdn.com/sanjaynarang/ProfileUrlRedirect.ashx</uri></author><category term="SharePoint" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/SharePoint/" /><category term="WSS" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/WSS/" /><category term="MOSS" scheme="http://blogs.msdn.com/b/sanjaynarang/archive/tags/MOSS/" /></entry></feed>