<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2915476237107881415</id><updated>2011-11-27T16:27:51.671-08:00</updated><category term='Custom Column'/><category term='MOSS 2007'/><category term='BDC in moss'/><category term='MOSS 2007 VPC'/><category term='Custom Alert'/><category term='AJAX'/><category term='Permissions'/><category term='SystemUpdatem'/><category term='SharePoint API'/><category term='SiteColumns'/><category term='Creating Sites/Lists/List Items under Current User Context in SharePoint By Using SPUserToken'/><category term='SharePoint and asp.net'/><category term='ContentTypes in MOSS 2007'/><category term='ListItem Permissions'/><category term='SharePoint VM'/><category term='DoumentLibrary'/><category term='Google Chrom with SharePoint'/><category term='ColleageTracke'/><category term='MOSS API'/><category term='MOSS 2007 Virtual Machine'/><category term='ProfileManager'/><category term='MOSS'/><category term='STP Files'/><category term='sharepoint Coding Techniques'/><category term='ListItemUpdate'/><category term='disposing sharepoint objects'/><category term='ContextMenu'/><category term='MOSS 207'/><category term='Override Alert'/><category term='SharePoint VPC'/><category term='SPGroup'/><category term='Virtual Machine'/><category term='MOSS Tools'/><category term='AJAXToolKit'/><category term='Caching Data and sharepoint Objects'/><category term='Sharepoint 2007'/><category term='ColleageTracker in SharePoint'/><category term='ItemUpdated'/><category term='Share Point VM'/><category term='ListManager'/><category term='Javascript'/><category term='BDC features in sharepoint'/><category term='moss search'/><category term='ContentTypes'/><category term='MasterPages'/><category term='SPUser'/><category term='Groups'/><category term='EventHandler in MOSS 2007'/><category term='MOSS Best Practices'/><category term='VPC'/><category term='ListItem'/><category term='Master Page In MOSS 2007'/><category term='Google Chrome'/><category term='SiteTemplate'/><category term='BDC search integration with asp.net'/><category term='business data search'/><category term='SiteCoulmns In MOSS 2007'/><category term='integrating asp.net with moss'/><category term='Google Chrom and SharePoint'/><category term='ListTemplate'/><category term='Sharepoint'/><category term='Google Chrome and SharePoint'/><category term='Tools'/><category term='SharePoint Tools'/><category term='EventHandler'/><category term='Coding Techniques'/><title type='text'>E X P L O R I N G   S H A R E P O I N T</title><subtitle type='html'>Yet another Sharepoint Blog :)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sharepointism.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-8827099713639443047</id><published>2008-11-10T17:54:00.000-08:00</published><updated>2008-11-10T18:32:22.042-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integrating asp.net with moss'/><category scheme='http://www.blogger.com/atom/ns#' term='BDC search integration with asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='BDC in moss'/><category scheme='http://www.blogger.com/atom/ns#' term='moss search'/><category scheme='http://www.blogger.com/atom/ns#' term='business data search'/><category scheme='http://www.blogger.com/atom/ns#' term='BDC features in sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint and asp.net'/><title type='text'>Using SharePoint Search feature in ASP.Net Application</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="color: rgb(61, 133, 198);"&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Using SharePoint Search feature in ASP.Net Application&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;Integrating ASP.Net application in to MOSS 2007 to utilize SharePoint Enterprise Search Feature can &lt;/span&gt;&lt;span style="font-size:130%;"&gt;be done by using Business Data Search.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p class="MsoNormal"  style="margin-bottom: 10pt; color: rgb(61, 133, 198);font-family:Arial;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;We can enable full text search for our .Net application in following steps:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="margin-bottom: 10pt; color: rgb(61, 133, 198);font-family:Arial;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:Times New Roman;font-size:130%;"  &gt;Create Business Data Catalog metadata model for our .Net application, which basically defines contract between MOSS and the .Net business application data.  The BDC contract includes data connection information, business entities, and methods to access business data. Additionally you may specify security information.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Import BDC metadata model (XML file from step above) using SharePoint SSP Admin&lt;br /&gt;site and create a business data catalog (BDC). We can also define full&lt;br /&gt;&amp;amp; incremental crawl schedule for your business data.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Define search scope to include our BDC crawl data. This makes crawled business data to&lt;br /&gt;searchable.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Once SharePoint crawl business data, SharePoint automatically create profile web pages. Profile pages are used by MOSS to display Business data details when a result row in search result page is clicked.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal" style="margin-bottom: 10pt; color: rgb(61, 133, 198);"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 10pt; color: rgb(61, 133, 198);"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;MSDN suggested Procedure to configure Business Data&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=";font-family:Times New Roman;font-size:130%;"  &gt;For line-of-business applications, register the application in the Business Data Catalog and set the number of connections.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Create a content source for the business application data.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Crawl the content source for the application data to add its properties as new crawled properties in the portal site schema.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Select the relevant properties in the &lt;b&gt;Configure Search&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt; section of the Business Data Catalog and map them to managed properties for search.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Create ACLs for business data types in the Business Data Catalog.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Crawl the content source for the business data source again to update managed properties and ACLs.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Create search scopes for business data.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Configure keywords for business data.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p  style="color: rgb(61, 133, 198);font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Business data search results can be displayed in four distinct ways:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="color: rgb(61, 133, 198);font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:Times New Roman;"&gt;When a search scope that includes business data is used to search, the search&lt;br /&gt;results include business data results. A business data search scope is not&lt;br /&gt;provided by default, but administrators can create search scopes that include&lt;br /&gt;business data.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Users can refine initial search results by selecting the option to search business&lt;br /&gt;data sources.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;Users can select a business data tab provided in the Search Center&lt;br /&gt;site, and the search will include all business data for the tab. A tab for all&lt;br /&gt;business data is not included by default, but administrators can add tabs for&lt;br /&gt;searching all business data or for searching data from specific business&lt;br /&gt;applications.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Arial;font-size:130%;"  &gt;&lt;span style="font-family:Times New Roman;"&gt;If the search term in a standard search query matches a keyword phrase selected by an administrator, the business data result appears in recommended results.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p class="MsoNormal"  style="margin-bottom: 10pt; color: rgb(61, 133, 198);font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;We can search the .Net business data in following ways&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="margin-bottom: 10pt; color: rgb(61, 133, 198);font-family:Times New Roman;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul  style="font-family:Times New Roman;"&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;SharePoint portal &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;Expose it as SharePoint list &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;Create Business Data Web Parts and&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;Use SharePoint Search Web service and create your own custom search application&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="background-color: rgb(255, 255, 255); color: rgb(61, 133, 198);"&gt;Note:&lt;/b&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255); color: rgb(61, 133, 198);font-size:130%;" &gt; &lt;/span&gt;&lt;span style="font-size:130%;"&gt;The integration of business data is available only in the enterprise version of Office SharePoint Server 2007.Deployments of the standard version of Office SharePoint Server 2007 cannot register business data applications or search for business data by using &lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;i&gt;enterprise search.&lt;/i&gt;&lt;/span&gt;&lt;p class="MsoNormal"  style="font-family:Times New Roman;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:Times New Roman;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" face="Times New Roman"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" face="Times New Roman"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" face="Times New Roman"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-8827099713639443047?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/8827099713639443047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/8827099713639443047'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/11/using-sharepoint-search-feature-in.html' title='Using SharePoint Search feature in ASP.Net Application'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-4137050959371540699</id><published>2008-11-03T11:05:00.000-08:00</published><updated>2008-11-03T11:11:11.104-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint Coding Techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding Techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='disposing sharepoint objects'/><category scheme='http://www.blogger.com/atom/ns#' term='Caching Data and sharepoint Objects'/><title type='text'>MOSS Best Practices &amp; Coding Guidelines</title><content type='html'>&lt;h1 style="MARGIN: auto 0in"&gt;&lt;span style="font-family:Times New Roman;font-size:7;"&gt;MOSS Best Practices &amp;amp; Coding Guidelines&lt;/span&gt;&lt;/h1&gt;&lt;p class="MsoSubtitle" style="MARGIN: 0in 0in 3pt"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman;font-size:7;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;span style="font-family:Cambria;font-size:130%;color:#4f81bd;"&gt;1. &lt;/span&gt;&lt;a name="_Toc213482271"&gt;&lt;/a&gt;&lt;a name="_Toc213479669"&gt;&lt;/a&gt;&lt;a name="_Toc213477219"&gt;&lt;/a&gt;&lt;a name="_Toc213477109"&gt;&lt;span style="font-family:Cambria;font-size:130%;color:#4f81bd;"&gt;Common development Issues in SharePoint objects:&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt; A Bad SharePoint code can be one of the key factors for degrading the performance. We should be careful on the following areas when we write the custom code…&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style="LINE-HEIGHT: 115%;font-family:Symbol;" &gt;·         &lt;/span&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;Disposing of SharePoint objects  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style="LINE-HEIGHT: 115%;font-family:Symbol;" &gt;·         &lt;/span&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;Caching data and objects  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style="LINE-HEIGHT: 115%;font-family:Symbol;" &gt;·         &lt;/span&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;Writing code that is scalable &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.25in"&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;h3 style="MARGIN: 10pt 0in 0pt 0.3in"&gt;&lt;a name="_Toc213482272"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;1.1.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-family:Cambria;"&gt;Disposing &amp;shy;&amp;shy;&amp;shy;SharePoint objects&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Cambria;color:#4f81bd;"&gt; &lt;/span&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;We all know that &lt;b&gt;&lt;i&gt;SPSite&lt;/i&gt;&lt;/b&gt; class and &lt;b&gt;&lt;i&gt;SPWeb&lt;/i&gt;&lt;/b&gt; class objects are created as managed objects. However, these objects use unmanaged code and memory to perform the majority of their work. Unfortunately the managed part of the object is small; the unmanaged part of the object is much larger. We should not rely on the garbage collector to release objects from memory automatically. Because the smaller managed part of the object does not put memory pressure on the garbage collector, the garbage collector does not release the object from memory in a timely manner. The object's use of a large amount of unmanaged memory can cause some of the unusual behaviors.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;h2 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482273"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;font-size:130%;"&gt;1.1.1.&lt;/span&gt;   &lt;span style="font-family:Cambria;font-size:130%;"&gt;Problems in not disposing SharePoint object&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;In the SharePoint object model, the Microsoft.SharePoint.SPSite and Microsoft.SharePoint.SPWeb objects are created in managed code as a small wrapper (approximately 2 KB in size). This wrapper then creates unmanaged objects, which can average approximately 1–2 MB in size. If your code resembles the following code example, and if you assume that the SPWeb.Webs collection has 10 subsites, a total of 10 items are created, each with an average of 2 MB of memory (&lt;b&gt;for a total of 20 MB&lt;/b&gt;).&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;Sample code &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 1in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;public void GetNavigationInfo()&lt;br /&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 1in"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;   SPWeb oSPWeb = SPContext.Web;&lt;br /&gt;    // .. Get information oSPWeb for navigation ..&lt;br /&gt;   foreach(SPWeb oSubWeb in oSPWeb.GetSubWebsForCurrentUser())&lt;br /&gt;   {&lt;br /&gt;      // .. Add subweb information for navigation ..&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%;color:black;" &gt;&lt;span style="font-size:78%;"&gt;Table 1. Best and worst case memory usage as number of users increases &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 159.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;Users &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;Best Case &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;Worst Case &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;10 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;100 MB &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;200 MB &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;50 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;500 MB &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;1000 MB &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;100 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;1000 MB &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;2000 MB &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;250 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;2500 MB &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 159.6pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="213" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;5000 MB &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;The following unusual behaviors can happen because of non-disposing objects  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.35in"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Frequent recycles of the Microsoft Windows SharePoint Services application pool, especially during peak usage&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Application crashes that appear as heap corruption in the debugger&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;High memory use for Microsoft Internet Information Services (IIS) worker processes&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Poor system and application performance &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;h2 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482274"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;font-size:130%;"&gt;1.1.2.&lt;/span&gt;   &lt;span style="font-family:Cambria;font-size:130%;"&gt;Coding Techniques to follow:&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoSubtitle" style="MARGIN: 0in 0in 3pt"&gt;&lt;b&gt;&lt;span style="font-family:Times New Roman;"&gt;Power of Using Clause: &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoSubtitle" style="MARGIN: 0in 0in 3pt"&gt;&lt;b&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Using clause automatically disposes the SharePoint objects. It implements the IDisposable interface.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.35in"&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt; String str;&lt;br /&gt;using(SPSite oSPsite = new SPSite("http://server"))&lt;br /&gt;{ &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.85in"&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;  using(SPWeb oSPWeb = oSPSite.OpenWeb()) &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.85in"&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt; {&lt;br /&gt;       str = oSPWeb.Title;&lt;br /&gt;       str = oSPWeb.Url;&lt;br /&gt; } &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.35in"&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;}  &lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoSubtitle" style="MARGIN: 0in 0in 3pt"&gt;&lt;b&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoSubtitle" style="MARGIN: 0in 0in 3pt"&gt;&lt;b&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoSubtitle" style="MARGIN: 0in 0in 3pt"&gt;&lt;b&gt;&lt;span style="font-family:Times New Roman;"&gt;Make sure that the following objects are properly disposed either by using Using Clause or by uinsg Dispose method: &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.35in"&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;a.&lt;/span&gt;       &lt;/b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;SPSite.OpenWeb - &lt;/b&gt;creates new items and should be disposed of.&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;b.&lt;/span&gt;      &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;SPSite.RootWeb  and SPWeb.ParentWeb - &lt;/b&gt;creates new objects and assign them to a local member variable. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;c.&lt;/span&gt;       &lt;/b&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSite() constructors &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;a.&lt;/span&gt;       &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSite (Guid) Initializes a new instance of the SPSite class based on the specified GUID for a site collection.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;b.&lt;/span&gt;      &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSite (String) Initializes a new instance of the SPSite class based on the specified absolute URL.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;c.&lt;/span&gt;       &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSite (Guid, SPUrlZone) Initializes a new instance of the SPSite class based on the specified site collection GUID and URL zone.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;d.&lt;/span&gt;      &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSite (Guid, SPUserToken) Initializes a new instance of the SPSite class based on the specified site collection GUID and user token.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;e.&lt;/span&gt;      &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSite (String, SPUserToken) Initializes a new instance of the SPSite class based on the specified absolute URL and user token.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;f.&lt;/span&gt;        &lt;span style="font-family:Calibri;font-size:100%;"&gt;SPSite (Guid, SPUrlZone, SPUserToken) Initializes a new instance of the SPSite class based on the specified site collection GUID, URL zone, and user token.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;d.&lt;/span&gt;      &lt;/b&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSiteCollection Class &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;e.&lt;/span&gt;      &lt;/b&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSiteCollection.Add method - It creates and returns a new SPSite object &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;f.&lt;/span&gt;        &lt;/b&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSiteCollection [ ] Index Operator - It returns a new SPSite object for each access &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;Bad Practice: &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;i&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/i&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.75in"&gt;&lt;i&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;a.&lt;/span&gt;      &lt;/i&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPGlobalAdmin oSPGlobalAdmin    = new SPGlobalAdmin();&lt;br /&gt;SPSiteCollection aSites         = oSPGlobalAdmin.VirtualServers[0].Sites;&lt;br /&gt;SPSite oSPSite = aSites.Add( ... );&lt;br /&gt; ... Process the site info ...&lt;br /&gt;oSPSite.Dispose();&lt;br /&gt;oSPGlobalAdmin.Dispose(); &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;i&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/i&gt; &lt;/p&gt;&lt;p class="MsoListParagraph" style="MARGIN: 0in 0in 10pt 0.75in"&gt;&lt;i&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;b.&lt;/span&gt;      &lt;/i&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPGlobalAdmin oSPGlobalAdmin    = new SPGlobalAdmin();&lt;br /&gt;SPSiteCollection aSites         = oSPGlobalAdmin.VirtualServers[0].Sites;&lt;br /&gt;foreach(SPSite oSPSite in aSites)&lt;br /&gt;{&lt;br /&gt; BuildTableRow(oDisplayTable, "Site", oSPSite.Url);&lt;br /&gt;}&lt;br /&gt;oSPGlobalAdmin.Dispose(); &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;Good Practice:  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.75in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;i&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;a.&lt;/span&gt;      &lt;/i&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;int i;&lt;br /&gt;SPSite oSPSite;&lt;br /&gt;SPGlobalAdmin oSPGlobalAdmin    = new SPGlobalAdmin();&lt;br /&gt;SPSiteCollection aSites   = oSPGlobalAdmin.VirtualServers[0].Sites;&lt;br /&gt;for(i = 0;i &amp;lt; aSites.Count;i++)&lt;br /&gt;{&lt;br /&gt;   oSPSite = aSites[i];&lt;br /&gt;   BuildTableRow(oDisplayTable, "Site", oSPSite.Url);&lt;br /&gt;   oSPSite.Dispose();&lt;br /&gt;}&lt;br /&gt;oSPGlobalAdmin.Dispose(); &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 2.25in"&gt;&lt;i&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/i&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 1in"&gt;&lt;i&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;b.&lt;/span&gt;      &lt;/i&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;int i;&lt;br /&gt;SPGlobalAdmin oSPGlobalAdmin    = new SPGlobalAdmin();&lt;br /&gt;SPSiteCollection aSites         = oSPGlobalAdmin.VirtualServers[0].Sites;&lt;br /&gt;for(i = 0;i &amp;lt; aSites.Count;i ++)&lt;br /&gt;{&lt;br /&gt;   using(SPSite oSPSite = aSites[i])&lt;br /&gt;   {&lt;br /&gt;      BuildTableRow(oDisplayTable, "Site", oSPSite.Url);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;oSPGlobalAdmin.Dispose(); &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;g.&lt;/span&gt;       &lt;/b&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSite.AllWebs Property (SPWebCollection) - SPSites.AllWebs.Add Method&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;h.&lt;/span&gt;      &lt;/b&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPSite.OpenWeb&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;i.&lt;/span&gt;        &lt;/b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;SPSite. SelfServiceCreateSite Methods - &lt;/b&gt;Creates a SPWeb object and return it to the caller&lt;br /&gt;&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;j.&lt;/span&gt;        &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;SPSite.LockIssue, SPSite.Owner, and SPSite.SecondaryContact Properties &lt;/b&gt;- All these properties reference data from the top-level Web site and use the SPSite.RootWeb property&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;k.&lt;/span&gt;       &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;SPSite.RootWeb property – &lt;/b&gt;This property determines whether a member variable is assigned with a non-null value. If the member variable is null, a new SPWeb object is created by calling SPSite.OpenWeb method.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;l.&lt;/span&gt;        &lt;/b&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPWeb Objects&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;m.&lt;/span&gt;    &lt;/b&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;SPWeb.ParentWeb Property&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;n.&lt;/span&gt;      &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;Area.Web property&lt;/b&gt; - It returns a new SPWeb object each time it is accessed&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.25in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;o.&lt;/span&gt;      &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;WebPartPage.RootWeb Property&lt;/b&gt; - The WebPartPage.RootWeb property is similar to the SPSite.RootWeb property in that the first time the property&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;h2 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482275"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;font-size:130%;"&gt;1.1.3.&lt;/span&gt;   &lt;span style="font-family:Cambria;font-size:130%;"&gt;Dispose Vs Close:&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Though Dispose and close dose the same thing, Microsoft recommends to use Displose for the following reason…&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;SPWeb and SPSite objects implement the IDisposable interface, and the standard .NET Framework process calls the Dispose method to free from memory any resources associated with the object.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Future releases of your code are ensured to be called properly.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;h2 style="MARGIN: 10pt 0in 0pt 0.3in"&gt;&lt;a name="_Toc213482276"&gt;&lt;/a&gt;&lt;a name="_Toc213479670"&gt;&lt;/a&gt;&lt;a name="_Toc213477220"&gt;&lt;/a&gt;&lt;a name="_Toc213477110"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;font-size:130%;"&gt;1.2.&lt;/span&gt; &lt;span style="font-family:Cambria;font-size:130%;"&gt;Caching Data and Objects&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Many of us are using Microsoft .NET Framework caching objects (for example, System.Web.Caching.Cache) to help make better use of memory and increase overall system performance. But, many objects are not "thread safe" and caching those objects can lead to application crashes and unexpected or unrelated user errors. &lt;/span&gt;&lt;/p&gt;&lt;h3 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482277"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;1.2.1.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;span style="font-family:Cambria;"&gt;Caching SharePoint Objects That Are Not Thread Safe&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;We are trying to increase performance and memory usage by caching SPListItemCollection objects that are returned from queries. In general, this is a good practice but &lt;b&gt;the SPListItemCollection object contains an embedded SPWeb object that is not thread safe&lt;/b&gt; and should not be cached. For example, assume the SPListItemCollection object is cached in thread A. Then, as other threads try to read it, the application can fail or behave strangely because the object is not thread safe.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;h3 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482278"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;1.2.2.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;span style="font-family:Cambria;"&gt;Not Using Thread Synchronization&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Sometimes we are not aware that we are running in a multi-threaded environment (by default, Internet Information Services is multi-threaded) or how to manage that environment. The following code example shows the caching Microsoft.SharePoint.SPListItemCollection objects.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.25in"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;Sample code &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.25in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;public void CacheData()&lt;br /&gt;{&lt;br /&gt;   SPListItemCollection oListItems;&lt;br /&gt;   oListItems = (SPListItemCollection)Cache["ListItemCacheName"];&lt;br /&gt;   if(oListItems == null)&lt;br /&gt;   {&lt;br /&gt;      oListItems = DoQueryToReturnItems();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;      Cache.Add("ListItemCacheName", oListItems, ..);&lt;br /&gt;&lt;/b&gt;   }&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;In the previous code example, the problem is that if the query to get the data takes 10 seconds, our could have many users hitting that page at the same time, all running the same query and trying to update the same cache object at the same time. This can cause performance issues because the same query might be running 10, 50, or 100 times and can cause crashes because multiple threads are trying to update the same object at the same time, especially on multi-process, hyper-threaded computers. To fix this, we must change the code as follows.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Sample Code&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;public void CacheData()&lt;br /&gt;{&lt;br /&gt;   SPListItemCollection oListItems;&lt;br /&gt;   lock(this)&lt;br /&gt;   {&lt;br /&gt;      oListItems = (SPListItemCollection)Cache["ListItemCacheName"];&lt;br /&gt;      if(oListItems == null)&lt;br /&gt;      {&lt;br /&gt;         oListItems = DoQueryToReturnItems();&lt;br /&gt;         Cache.Add("ListItemCacheName", oListItems, ..);&lt;br /&gt;     }&lt;br /&gt;   }&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;It is possible to increase performance slightly by placing the lock inside the if(oListItems == null) code block. When we do this, we do not need to suspend all threads while checking to see if the data is already cached. Depending on how long it takes the query to return the data, there is still the possibility that more than one user might be running the query at the same time.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;h3 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482279"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;1.2.3.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;span style="font-family:Cambria;"&gt;Caching an object which is thread safe&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;Sample code&lt;/b&gt;: Using DateTable object which is thread safe&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.3in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;public void CacheData()&lt;br /&gt;{&lt;br /&gt;   DataTable oDataTable;&lt;br /&gt;   SPListItemCollection oListItems;&lt;br /&gt;   lock(this)&lt;br /&gt;   {&lt;br /&gt;      oDataTable = (DataTable)Cache["ListItemCacheName"];&lt;br /&gt;      if(oDataTable == null)&lt;br /&gt;      {&lt;br /&gt;         oListItems = DoQueryToReturnItems();&lt;br /&gt;         oDataTable = oListItems.GetDataTable();&lt;br /&gt;         Cache.Add("ListItemCacheName", oDataTable, ..);&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.3in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.3in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;h2 style="MARGIN: 10pt 0in 0pt 0.3in"&gt;&lt;a name="_Toc213482280"&gt;&lt;/a&gt;&lt;a name="_Toc213479671"&gt;&lt;/a&gt;&lt;a name="_Toc213477221"&gt;&lt;/a&gt;&lt;a name="_Toc213477111"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;font-size:130%;"&gt;1.3.&lt;/span&gt; &lt;span style="font-family:Cambria;font-size:130%;"&gt;Writing Code That Is Scalable&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Writing scalable code is very important when we handle multiple users at the same time. &lt;/span&gt;&lt;/p&gt;&lt;h3 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482281"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;1.3.1.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;span style="font-family:Cambria;"&gt;A few things that we need to take into consideration when asking how to make code more scalable&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Is the data static (seldom changes), somewhat static (changes occasionally), or dynamic (constantly changing)?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Is the data the same for all users, or does it change? For example, does it change depending on the user who is logged on, the part of the site being accessed, or the time of year (seasonal information)?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Is the data easily accessible or does it require a long time to return the data? For example, is it returning from a long-running SQL query or from remote databases that can have some network latency in the data transfers?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Is the data public or does it require a higher level of security?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;What is the size of the data?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.25in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Is the SharePoint site on a single server or on a server farm?&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;A good example of this is creating custom navigation information for all sites and subsites on each page or as part of a master page. For example, if we have a SharePoint site on a corporate intranet and each department has its own site with many subsites, our code might resemble the following.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;i&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;public void AddAllWebs(SPWeb oSPWeb)&lt;br /&gt;{&lt;br /&gt;   foreach(SPWeb oSubWeb in oSPWeb.Webs)&lt;br /&gt;   {&lt;br /&gt;      //.. Code to add items ..&lt;br /&gt;      AddAllWebs(oSubWeb);&lt;br /&gt;      oSubWeb.Dispose();&lt;br /&gt;   }&lt;br /&gt;} &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt; While the previous code disposes of objects properly, it still causes problems because the code is going through the same lists over and over. For example, if we have 10 site collections and an average of 20 sites or subsites per site collection, we would iterate through the same code 200 times. For a small number of users this might not cause bad performance. But, as we add more users to the system, the problem gets worse. Table 2 shows this.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;Table 2. Iterations increase as the number of users increase &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="bottom" width="319"&gt;&lt;p class="MsoNormal" style="MARGIN: 3.75pt 0in; LINE-HEIGHT: normal"&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;Users  &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="bottom" width="319"&gt;&lt;p class="MsoNormal" style="MARGIN: 3.75pt 0in; LINE-HEIGHT: normal"&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;Iterations  &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="319" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;10 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="319" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;2000 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="319" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;50 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="319" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;10000 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="319" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;100 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="319" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;200000 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="319" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;250 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solidcolor:transparent;" valign="top" width="319" &gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0.75pt 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:85%;"&gt;500000 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;The above code executes for each user that hits the system, but the data remains the same for everyone. The impact of this can vary depending on what the code is doing. The above code creates a lot of performance overhead. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;There are several ways we can make our code more scalable and handle multiple users.They are...&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;Caching Raw Data &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;Building Data Before Displaying It &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.5in"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style="font-size:100%;"&gt;·&lt;/span&gt;         &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;Caching for a Single Server or Server Farm &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;h3 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482282"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;1.3.2.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;span style="font-family:Cambria;"&gt;Caching Raw Data&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;we can cache our data by using the System.Web.Caching.Cache object. This object requires that we query the data one time and store it in the cache for access by other users. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;If our data is static, we can set up the cache to load the data once and not expire until the application is restarted or to load once a day to ensure data freshness. We can create the cache item when the application starts, when the first user session starts, or when the first user tries to access that data.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;If our data is somewhat static, we can set up the cached items to expire within a certain number of seconds, minutes, or hours after it is created. This enables us to refresh your data within a timeframe that is acceptable to our users. Even if the data is cached for only 30 seconds, under heavy loads we will still see an increase of performance because we are running the code only once every 30 seconds instead of multiple times a second for every user hitting the system.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Be sure to take into consideration the issues outlined previously in Caching Data and Objects.&lt;/span&gt;&lt;/p&gt;&lt;h3 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482283"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;1.3.3.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;span style="font-family:Cambria;"&gt;Building Data before Displaying It&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;We should think how our cached data will be used. If this data is used to make run-time decisions, putting it into a DataSet or DataTable object might be the best way to store it. We can then query those objects for the data to make run-time decisions. If the data is being used to display a list, table, or formatted page to the user, consider building a display object and storing that object in the cache. At run time, we need only to retrieve the object from the cache and call its render function to display its contents. We could also store the rendered output, but this can lead to security issues and the cached item could be quite large, causing a lot of page swapping or memory fragmentation. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;h3 style="MARGIN: 10pt 0in 0pt 0.35in"&gt;&lt;a name="_Toc213482284"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;"&gt;1.3.4.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;     &lt;/span&gt;&lt;span style="font-family:Cambria;"&gt;Caching for a Single Server or Server Farm&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;Depending on how our SharePoint site is set up, we might have to address some caching issues differently. If our data must be the same on all servers at all times, then we must ensure that the same data is cached on each server. One way to ensure this is to create the cached data and store it on a common server or in an SQL database. Again, we must consider how long it takes to access the data and any security issues of the data being stored on a common server. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 13.5pt 0in 6pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 120%"&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT: 120%;color:black;" &gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;h2 style="MARGIN: 10pt 0in 0pt 0.25in"&gt;&lt;a name="_Toc213482285"&gt;&lt;/a&gt;&lt;a name="_Toc213479672"&gt;&lt;/a&gt;&lt;a name="_Toc213477222"&gt;&lt;/a&gt;&lt;a name="_Toc213477112"&gt;&lt;/a&gt;&lt;a name="_Toc213476834"&gt;&lt;span style="color:#4f81bd;"&gt;&lt;span style="font-family:Cambria;font-size:130%;"&gt;2.&lt;/span&gt;     &lt;span style="font-family:Cambria;font-size:130%;"&gt;Things to check before check in the code&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; &lt;/h2&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 7.5pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 140%"&gt;&lt;span style="LINE-HEIGHT: 140%;color:black;" &gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 7.5pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 140%"&gt;&lt;span style="LINE-HEIGHT: 140%;color:black;" &gt;&lt;span style="font-size:78%;"&gt;To ensure that our SharePoint system performs at its best, we need to check the following points &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style="MARGIN-TOP: 0in" type="disc"&gt;&lt;li class="MsoNormal" style="MARGIN: 0in 0in 7.5pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 140%color:black;" &gt;&lt;span style="LINE-HEIGHT: 140%"&gt;&lt;span style="font-size:78%;"&gt;Does our code properly dispose of SharePoint objects?  &lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li class="MsoNormal" style="MARGIN: 0in 0in 7.5pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 140%color:black;" &gt;&lt;span style="LINE-HEIGHT: 140%"&gt;&lt;span style="font-size:78%;"&gt;Does our code cache objects properly? &lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li class="MsoNormal" style="MARGIN: 0in 0in 7.5pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 140%color:black;" &gt;&lt;span style="LINE-HEIGHT: 140%"&gt;&lt;span style="font-size:78%;"&gt;Does our code cache the correct types of objects? &lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li class="MsoNormal" style="MARGIN: 0in 0in 7.5pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 140%color:black;" &gt;&lt;span style="LINE-HEIGHT: 140%"&gt;&lt;span style="font-size:78%;"&gt;Does our code use thread synchronization when necessary? &lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li class="MsoNormal" style="MARGIN: 0in 0in 7.5pt; VERTICAL-ALIGN: top; LINE-HEIGHT: 140%color:black;" &gt;&lt;span style="LINE-HEIGHT: 140%"&gt;&lt;span style="font-size:78%;"&gt;Does our code work as efficiently for 1000 users as it does for 10 users?  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;b&gt;&lt;span style="font-family:Calibri;font-size:100%;"&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-4137050959371540699?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/4137050959371540699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/4137050959371540699'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/11/moss-best-practices-coding-guidelines_03.html' title='MOSS Best Practices &amp; Coding Guidelines'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-2615217927254329534</id><published>2008-10-14T10:34:00.000-07:00</published><updated>2008-11-10T18:35:10.306-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Creating Sites/Lists/List Items under Current User Context in SharePoint By Using SPUserToken'/><title type='text'>Creating Sites/Lists/List Items under Current User Context in SharePoint By Using SPUserToken</title><content type='html'>&lt;span style="color: rgb(51, 102, 255);font-size:180%;" &gt;&lt;br /&gt;&lt;br /&gt;Creating Sites/Lists/List Items under Current User Context in SharePoint By Using SPUserToken&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We might have come across the situation where we need to perform a certain action on a particular user context in MOSS 2007.&lt;br /&gt;&lt;br /&gt;Usually we do this by performing the action under RunWithElevatedPrivileges method and updating the listitem using SPListItem.SystemUpdate() method (see here). but this approach has its own flaws like (RunWithElevatedPrivileges will run under system account, we cannot use SystemUpdate for SPSite,SPWeb,SPList, since it runs under system we will "CreatedBy" by as SystemAccount).&lt;br /&gt;&lt;br /&gt;by using SPUserToken we can achive this without RunWithElevatedPrivileges method. All we need to do is create SPSite by passing SPUserToken of a particular user.&lt;br /&gt;&lt;br /&gt;In below example i'm creating SPUserToken object by calling GetUserToken method.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;string siteUrl = "Ur Site Url Goes Here";&lt;br /&gt;string username = "YourUsername";&lt;br /&gt;SPUserToken spusertoken = GetUserToken(siteUrl, username);&lt;br /&gt;SPSite spsite = new SPSite(siteUrl, spusertoken);&lt;br /&gt;SPWeb spweb = spsite.OpenWeb().Webs["WebName"];&lt;br /&gt;SPList list = spweb.Lists["MyList"];&lt;br /&gt;SPListItem item = list.Items.Add();&lt;br /&gt;item["Title"] = "TestTitle";&lt;br /&gt;item.Update();&lt;br /&gt;spsite.OpenWeb().Dispose();&lt;br /&gt;spweb.Dispose();&lt;br /&gt;spsite.Dispose();&lt;br /&gt;&lt;br /&gt;private static SPUserToken GetUserToken(string siteUrl, string userName)&lt;br /&gt;{&lt;br /&gt;SPUserToken userToken = null;&lt;br /&gt;using (SPSite site = new SPSite(siteUrl))&lt;br /&gt;{&lt;br /&gt;foreach (SPUser user in site.RootWeb.AllUsers)&lt;br /&gt;{&lt;br /&gt;string siteUserName = user.LoginName;&lt;br /&gt;if (user.LoginName.IndexOf(':') != -1)&lt;br /&gt;{&lt;br /&gt;string[] DomainAndUser = user.LoginName.Split(new char[] { ':' });&lt;br /&gt;siteUserName = DomainAndUser[1];&lt;br /&gt;}&lt;br /&gt;else if (user.LoginName.IndexOf('\\') != -1)&lt;br /&gt;{&lt;br /&gt;string[] DomainAndUser = user.LoginName.Split(new char[] { '\\' });&lt;br /&gt;siteUserName = DomainAndUser[1];&lt;br /&gt;}&lt;br /&gt;if (siteUserName == userName)&lt;br /&gt;{&lt;br /&gt;userToken = user.UserToken;&lt;br /&gt;Console.WriteLine("User token found");&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return userToken;&lt;br /&gt;}&lt;/strong&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-2615217927254329534?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/2615217927254329534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/2615217927254329534'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/10/creating-siteslistslist-items-under.html' title='Creating Sites/Lists/List Items under Current User Context in SharePoint By Using SPUserToken'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-6225082792294893518</id><published>2008-09-03T06:19:00.000-07:00</published><updated>2008-09-05T05:42:14.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrom with SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrom and SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome and SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome'/><title type='text'>Google Chrome with SharePoint - First decent step for Google Chrome</title><content type='html'>&lt;br&gt;&lt;/br&gt;&lt;br /&gt;Today I installed the just released Google Chrome browser and tested it with my SharePoint application.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So far it looks ok, it renders links, menus, sites and application pages correctly. but sucks while dragging and dropping the webpart in edit mode.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__pkVC84uIA4/SL6kSmwGi6I/AAAAAAAABg8/GTA7DfMELms/s1600-h/t.JPG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/__pkVC84uIA4/SL6kSmwGi6I/AAAAAAAABg8/GTA7DfMELms/s400/t.JPG" alt="" id="BLOGGER_PHOTO_ID_5241807655852739490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There is one more issue With document library, while editing the document it gave me "'Edit Document' requires a Windows SharePoint Services-compatible application and Microsot Internet Explorer 6.0 or greater."  error message.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For normal browsing it works great! Its a decent release for google chrome, expecting that all above issues will be fixed in next version.&lt;br /&gt;&lt;br /&gt;Download the Google Chrome from &lt;a style="color: rgb(51, 51, 255); font-weight: bold;" href="http://www.google.com/chrome/index.html?hl=en&amp;amp;brand=CHMG&amp;amp;utm_source=en-hpp&amp;amp;utm_medium=hpp&amp;amp;utm_campaign=en"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;/br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-6225082792294893518?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/6225082792294893518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/6225082792294893518'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/09/google-chrome-with-sharepoint-first.html' title='Google Chrome with SharePoint - First decent step for Google Chrome'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__pkVC84uIA4/SL6kSmwGi6I/AAAAAAAABg8/GTA7DfMELms/s72-c/t.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-949579088260771353</id><published>2008-07-23T08:18:00.000-07:00</published><updated>2008-09-03T14:25:36.749-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS API'/><category scheme='http://www.blogger.com/atom/ns#' term='ColleageTracker in SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='ListItem'/><category scheme='http://www.blogger.com/atom/ns#' term='ColleageTracke'/><category scheme='http://www.blogger.com/atom/ns#' term='SPUser'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint API'/><category scheme='http://www.blogger.com/atom/ns#' term='ProfileManager'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='ListItem Permissions'/><title type='text'>How to track the changes of user contacts(colleagues) by using SharePoint API</title><content type='html'>&lt;br&gt;&lt;/br&gt;&lt;br /&gt;We might have seen colleague tracker web part which keep tracks the changes made in our contacts/colleagues details like profile/lists/sites. The same tracking mechanism can be implemented by using MOSS API in any custom web part/ web control/ feature/web service...&lt;br /&gt;&lt;br /&gt;UserProfile.GetColleagueChanges is the method which returns all changes happened with the contacts, this method also accepts a Query (UserProfileChangeQuery) where we can specify different parameters to filter the changes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have given below the example to use GetColleagueChanges method&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         UserProfileManager userProfileManager = new UserProfileManager(ServerContext.Default);&lt;br /&gt;           UserProfile userProfile = userProfileManager.GetUserProfile("MyLoginName");&lt;br /&gt;         &lt;br /&gt;           //Change the start date to get the changes from certain date&lt;br /&gt;           DateTime startDate = DateTime.Today;&lt;br /&gt;&lt;br /&gt;           UserProfileChangeQuery userProfileChangeQuery = new UserProfileChangeQuery(true, true);&lt;br /&gt;           UserProfileChangeToken userProfileChangeToken = new UserProfileChangeToken(startDate);&lt;br /&gt;           userProfileChangeQuery.ChangeTokenStart = userProfileChangeToken;&lt;br /&gt;           userProfileChangeQuery.UserProfile = true;&lt;br /&gt;           userProfileChangeQuery.PersonalizationSite = true;&lt;br /&gt;           userProfileChangeQuery.Update = true;&lt;br /&gt;           userProfileChangeQuery.Add = true;&lt;br /&gt;           userProfileChangeQuery.Delete = true;&lt;br /&gt;           userProfileChangeQuery.SingleValueProperty = true;&lt;br /&gt;           userProfileChangeQuery.MultiValueProperty = true;&lt;br /&gt;           userProfileChangeQuery.Colleague = true;&lt;br /&gt;           userProfileChangeQuery.SiteMembership = true;&lt;br /&gt;           userProfileChangeQuery.Anniversary = true;&lt;br /&gt;&lt;br /&gt;           UserProfileChangeDictionary userProfileChangeDictionary = userProfile.GetColleagueChanges(userProfileChangeQuery);&lt;br /&gt;&lt;br /&gt;           Dictionary&lt;long, userprofilechangecollection=""&gt;.Enumerator userProfileChangeCollection = userProfileChangeDictionary.GetEnumerator();&lt;br /&gt;           while (userProfileChangeCollection.MoveNext())&lt;br /&gt;           {&lt;br /&gt;               UserProfileChangeCollection userProfileChanges = userProfileChangeCollection.Current.Value;&lt;br /&gt;               foreach (UserProfileChange userProfileChange in userProfileChanges)&lt;br /&gt;               {&lt;br /&gt;                   if (userProfileChange is UserProfileSingleValueChange)&lt;br /&gt;                   {&lt;br /&gt;                       UserProfileSingleValueChange propertyChange = (UserProfileSingleValueChange)userProfileChange;&lt;br /&gt;                       //propertyChange will have the new and old value of profile fileds&lt;br /&gt;                   }&lt;br /&gt;                   else if (userProfileChange is UserProfileMultiValueChange)&lt;br /&gt;                   {&lt;br /&gt;                       UserProfileMultiValueChange propertyChange = (UserProfileMultiValueChange)userProfileChange;&lt;br /&gt;                       //propertyChange will have the new and old value of profile fileds&lt;br /&gt;                   }&lt;br /&gt;                   else if (userProfileChange is UserProfileWebLogChange)&lt;br /&gt;                   {&lt;br /&gt;                       UserProfileWebLogChange listChange = (UserProfileWebLogChange)userProfileChange;&lt;br /&gt;                       //listChange will have the newly added/modifed list item url&lt;br /&gt;                   }&lt;br /&gt;               }&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Above code will return all the changes happened in profiles/lists/sites for all contacts/colleagues....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/long,&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-949579088260771353?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/949579088260771353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/949579088260771353'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/07/how-to-track-changes-of-user.html' title='How to track the changes of user contacts(colleagues) by using SharePoint API'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-8166378917578114192</id><published>2008-07-12T12:15:00.000-07:00</published><updated>2008-08-28T12:22:52.230-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS API'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint API'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Power of using Clause in SharePoint</title><content type='html'>&lt;span id="ixoo21" style=";font-family:Arial;font-size:85%;"  &gt;&lt;b id="kjdz"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Power of &lt;/span&gt;&lt;i style="font-family: verdana;" id="kjdz0"&gt;using &lt;/i&gt;&lt;span style="font-family:verdana;"&gt;Clause in SharePoint&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span style="font-family:verdana;"&gt;The &lt;/span&gt;&lt;b style="font-family: verdana;" id="crfb1"&gt;&lt;i id="crfb2"&gt;Using &lt;/i&gt;&lt;/b&gt;&lt;span style="font-family:verdana;"&gt;Clause will help to avoid memory leaks in SharePoint by automatically Disposing  the MOSS objects.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;For example when we create SPSite and SPWeb objects, if we don't dispose it explicitly it might create memory leaks,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;the given below code is not a good practice as it might trigger memory leakage...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;div id="vty51"  style="margin-left: 40px;font-family:verdana;"&gt;&lt;span id="vty52"  style="font-size:85%;"&gt;&lt;i id="ay1y"&gt;&lt;b id="ay1y0"&gt;SPSite spSite = new SPSite("http://mysharepointserver");&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="vty53"  style="font-size:85%;"&gt;&lt;i id="vty54"&gt;&lt;b id="vty55"&gt;SPWeb spWeb = spSite.OpenWeb();&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="vty56"  style="font-size:85%;"&gt;&lt;i id="vty57"&gt;&lt;b id="vty58"&gt;SPUser spUser = spSite.SystemAccount;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt; &lt;span id="vty59" style=";font-family:Arial;font-size:85%;"  &gt;&lt;b id="crfb3"&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;the same code can be written with &lt;i id="f0j-1"&gt;&lt;b id="f0j-2"&gt;using&lt;/b&gt;&lt;/i&gt; clause like below to avoid memory leakage...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;div id="vty510"  style="margin-left: 40px;font-family:verdana;"&gt;&lt;span id="vty511"  style="font-size:85%;"&gt;&lt;i id="vty512"&gt;&lt;b id="vty513"&gt;using (SPSite spSite = new SPSite("http://mysharepointserver"))&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="vty515"  style="font-size:85%;"&gt;&lt;i id="vty516"&gt;&lt;b id="vty517"&gt;{&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i id="vty519"&gt;&lt;b id="vty520"&gt;&lt;span id="vty521"  style="font-size:85%;"&gt;    SPWeb spWeb = spSite.OpenWeb();&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i id="vty523"&gt;&lt;b id="vty524"&gt;&lt;span id="vty525"  style="font-size:85%;"&gt;    SPUser spUser = spSite.SystemAccount;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt; &lt;div id="vty527"  style="margin-left: 40px;font-family:verdana;"&gt;&lt;div id="vty528"&gt;&lt;span id="vty529"  style="font-size:85%;"&gt;&lt;i id="vty530"&gt;&lt;b id="vty531"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;div  id="balw" style="font-family:verdana;"&gt; &lt;div id="balw0"&gt;&lt;span style="font-family:verdana;"&gt;more details on avoiding memory leak on different situations can be found &lt;/span&gt;&lt;b id="guk1"&gt;&lt;a style="color: rgb(0, 0, 153); font-family: verdana;" title="here" target="_blank" href="http://msdn.microsoft.com/en-us/library/aa973248.aspx" id="e7vz"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-8166378917578114192?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/8166378917578114192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/8166378917578114192'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/07/power-of-using-clause-in-sharepoint.html' title='Power of using Clause in SharePoint'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-5114765806946344850</id><published>2008-06-24T21:25:00.000-07:00</published><updated>2008-08-28T12:21:02.541-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Visual Studio 2008 Extensions for Windows SharePoint Services 3.0</title><content type='html'>&lt;span style="font-family: verdana;font-size:130%;" id="eh8o" &gt;&lt;span id="eh8o0"&gt;&lt;br /&gt;Visual Studio 2008 Extensions for Windows SharePoint Services 3.0 (Version 1.2)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;The much awaited VSeWSS Version 1.2 has been released in this week. You can get it &lt;/span&gt;&lt;a style="font-family: verdana;" id="zt7t" title="http://www.microsoft.com/downloads/details.aspx?FamilyID=" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7bf65b28-06e2-4e87-9bad-086e32185e68&amp;amp;DisplayLang=en" target="_blank" displaylang="en"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;b style="font-family: verdana;" id="s620"&gt;&lt;/b&gt;&lt;br /&gt;&lt;b style="font-family: verdana;"&gt;Summary &lt;/b&gt;&lt;br /&gt;&lt;ul style="font-family: verdana;"&gt;&lt;br /&gt;&lt;li&gt;It works only with VS2008 (for VS2005 we must use version 1.1 click &lt;a id="l6ks" title="here" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3e1dcccd-1cca-433a-bb4d-97b96bf7ab63&amp;amp;displaylang=en" target="_blank"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It supports Windows SharePoint Services and Office SharePoint Server.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;IT works only against local SharePoint installations. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="font-family: verdana;"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-5114765806946344850?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/5114765806946344850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/5114765806946344850'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/06/visual-studio-2008-extensions-for-wss.html' title='Visual Studio 2008 Extensions for Windows SharePoint Services 3.0'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-195956195675032019</id><published>2008-05-28T12:00:00.000-07:00</published><updated>2008-08-28T12:20:43.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Groups'/><category scheme='http://www.blogger.com/atom/ns#' term='EventHandler in MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Permissions'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='EventHandler'/><category scheme='http://www.blogger.com/atom/ns#' term='ListItem Permissions'/><title type='text'>Changing the SharePoint List listitem's permission in event handler</title><content type='html'>&lt;span style="font-family: verdana;" id="m.jn0"&gt;&lt;span id="pce70"  style="font-size:100%;"&gt;&lt;b id="rc_j0"&gt;&lt;br /&gt;&lt;br /&gt;Changing the SharePoint List listitem's permission in event handler&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" id="hqcx0" &gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;In MOSS 2007 ListItem permission's could be changed by overriding Add\Update event in eventhandler.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Write a eventhandler class (which inherits from &lt;i id="k4q40"&gt;&lt;b id="k4q41"&gt;SPItemEventReceiver&lt;/b&gt;&lt;/i&gt; class) as given below...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i id="k6rc0"&gt;&lt;b id="k6rc1"&gt;public override void ItemUpdated(SPItemEventProperties properties)&lt;br /&gt;{&lt;br /&gt;      string &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" id="hqcx0" &gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;&lt;i id="k6rc0"&gt;&lt;b id="k6rc1"&gt;&lt;span id="k6rc2" style="background-color: rgb(255, 255, 255);"&gt;sGroupName = "Group Name"&lt;span id="f8td1" style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" id="hqcx0" &gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;&lt;i id="k6rc0"&gt;&lt;b id="k6rc1"&gt;        spWeb = properties.OpenWeb();&lt;br /&gt;      spWeb.AllowUnsafeUpdates = true;&lt;br /&gt;      SPGroupCollection spGroupCollection = spWeb.SiteGroups;&lt;br /&gt;       SPRoleDefinition spRoleDefinition =     spWeb.RoleDefinitions.GetByType(&lt;span id="x77d0" style="color: rgb(12, 52, 61);"&gt;SPRoleType.Reader&lt;/span&gt;);&lt;br /&gt;      properties.ListItem.BreakRoleInheritance(true);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   foreach (SPRoleAssignment spRoleAssignment in properties.ListItem.RoleAssignments)&lt;br /&gt;   {&lt;br /&gt;      //Add your conditions to remove/not remove the existing permissions&lt;br /&gt;      spRoleAssignment.RoleDefinitionBindings.RemoveAll();&lt;br /&gt;     spRoleAssignment.Update();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  if (spGroupCollection != null)&lt;br /&gt;  {&lt;br /&gt;       SPRoleAssignment spRoleAssignment = new             SPRoleAssignment((SPPrincipal)spGroupCollection[&lt;span id="k6rc2" style="background-color: rgb(255, 255, 255);"&gt;sGroupName&lt;/span&gt;]);&lt;br /&gt;       spRoleAssignment.RoleDefinitionBindings.Add(spRoleDefinition);&lt;br /&gt;       properties.ListItem.RoleAssignments.Add(spRoleAssignment);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  this.DisableEventFiring();&lt;br /&gt; UpdateUserGroups(spWeb, properties);&lt;br /&gt; this.EnableEventFiring();&lt;br /&gt; spWeb.AllowUnsafeUpdates = false;&lt;br /&gt; spWeb.Dispose();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" id="hqcx0" &gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;the above code dose the following...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul style="font-family: verdana;" id="pg3y0"&gt;&lt;li id="pg3y1"&gt;&lt;span id="hqcx0"  style="font-size:85%;"&gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;overrides ItemUpdated event (you can do the same for any Item level event) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li id="pg3y2"&gt;&lt;span id="hqcx0"  style="font-size:85%;"&gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;removes all existing permission for the current updated list item &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li id="pg3y3"&gt;&lt;span id="hqcx0"  style="font-size:85%;"&gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;adds &lt;span id="x77d1" style="color: rgb(12, 52, 61);"&gt;&lt;i id="x77d2"&gt;&lt;b id="x77d3"&gt;&lt;span id="pg3y4" style="color: rgb(0, 0, 0);"&gt;the &lt;/span&gt;Reader&lt;/b&gt;&lt;/i&gt; &lt;/span&gt;permission only for group &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="hqcx0"  style="font-size:85%;"&gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;&lt;i id="k6rc0"&gt;&lt;b id="k6rc1"&gt;&lt;span id="k6rc2" style="background-color: rgb(255, 255, 255);"&gt;sGroupName &lt;span id="naq90" style="color: rgb(0, 0, 0);"&gt;(You can also give contributor permission by changing &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="hqcx0"  style="font-size:85%;"&gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;&lt;i id="k6rc0"&gt;&lt;b id="k6rc1"&gt;&lt;span id="x77d0" style="color: rgb(12, 52, 61);"&gt;SPRoleType.Reader to Contributor&lt;span id="e1ww0" style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="hqcx0"  style="font-size:85%;"&gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;&lt;i id="k6rc0"&gt;&lt;b id="k6rc1"&gt;&lt;span id="k6rc2" style="background-color: rgb(255, 255, 255);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family: verdana;font-size:85%;" id="hqcx0" &gt;&lt;span id="m.jn0"&gt;&lt;span id="pce70"&gt;Deploy and attach this event handler to the list where you want to change the ListItem permission whenever the user updates the list item...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-195956195675032019?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/195956195675032019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/195956195675032019'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/05/changing-sharepoint-list-listitems.html' title='Changing the SharePoint List listitem&apos;s permission in event handler'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-4466751071035524054</id><published>2008-05-15T09:00:00.000-07:00</published><updated>2008-05-28T12:12:05.055-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoumentLibrary'/><category scheme='http://www.blogger.com/atom/ns#' term='ContextMenu'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Hiding the Context menu item of a Document Library in a SharePoint</title><content type='html'>&lt;span style=";font-family:verdana;font-size:130%;" id="rx.00"  &gt;&lt;span id="rx.01"&gt;&lt;b id="j1aq0"&gt;&lt;br /&gt;&lt;br /&gt;Hiding the Context menu item of a Document Library in a SharePoint&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Sometimes we found that the some context menu (like "Alert Me", "WorkFlow", etc) in Document Library's is not required for the users, One of my client asked me to take iout the "Alert Me" menu...After some R&amp;amp;D :), i addressed the client requirement&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;There is a function called &lt;/span&gt;&lt;span id="kyc22"  style="font-family:verdana;"&gt;&lt;b id="j1aq1"&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span id="kyc23"  style="font-family:verdana;"&gt;&lt;b id="j1aq2"&gt;CAMOpt" &lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;in &lt;/span&gt;&lt;span id="kyc24"  style="font-family:verdana;"&gt;&lt;b id="j1aq3"&gt;Core.JS&lt;/b&gt;&lt;/span&gt;&lt;span id="kyc24"  style="font-family:verdana;"&gt;,&lt;/span&gt;&lt;span style="font-family:verdana;"&gt; this function is used to add new item in ListItem's context menu...the above requirement can be done by writing a new "&lt;/span&gt;&lt;span id="i26g0"  style="font-family:verdana;"&gt;&lt;b id="j1aq4"&gt;CAMopt&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;" JS function to override the &lt;/span&gt;&lt;span id="kyc24"  style="font-family:verdana;"&gt;&lt;b id="j1aq5"&gt;Core.JS&lt;/b&gt;&lt;/span&gt;&lt;span id="kyc24"  style="font-family:verdana;"&gt;&lt;span id="ykaj0"&gt;&lt;b id="j1aq6"&gt;'s&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;"&lt;/span&gt;&lt;span id="l7cb0"  style="font-family:verdana;"&gt;&lt;b id="j1aq7"&gt;CAMOpt&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;"  JavaScript method&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;i wrote a new function (called &lt;/span&gt;&lt;b style="font-family: verdana;" id="t:ko6"&gt;CAMOpt&lt;/b&gt;&lt;span style="font-family:verdana;"&gt;) to override &lt;/span&gt;&lt;span id="ile50"  style="font-family:verdana;"&gt;&lt;b id="j1aq8"&gt;CMOpt&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;i id="t:ko5"  style="font-family:verdana;"&gt;&lt;b id="t:ko6"&gt;&lt;br /&gt;&lt;span id="gtgp0"  style="font-size:100%;"&gt;JS funciton in &lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span style=";font-family:verdana;font-size:100%;" id="gtgp1"  &gt;&lt;b id="t:ko2"&gt;Core.JS&lt;/b&gt;&lt;/span&gt;&lt;i id="t:ko5"  style="font-family:verdana;"&gt;&lt;b id="t:ko6"&gt;&lt;span id="gtgp2"  style="font-size:100%;"&gt;...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;span id="gtgp3" style="color: rgb(0, 0, 255);"&gt;&lt;span id="gtgp4"&gt;&lt;b id="j1aq9"&gt;function CAMOpt(p,wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gtgp5"&gt;&lt;b id="j1aq10"&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gtgp6"&gt;&lt;b id="j1aq11"&gt;    var mo=CMOpt(wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc);&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gtgp7"&gt;&lt;b id="j1aq12"&gt;    if(!mo)return null;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gtgp8"&gt;&lt;b id="j1aq13"&gt;    if(wzText != "Alert Me") AChld(p,mo);&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gtgp9"&gt;&lt;b id="j1aq14"&gt;    return mo;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gtgp10"&gt;&lt;b id="j1aq15"&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="pisk" style="padding: 1em 0pt; text-align: left; font-family: verdana;"&gt;&lt;img id="t5840" style="width: 412px; height: 359px;" src="http://docs.google.com/File?id=dfz378r6_93dpf8xtc7_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i id="t:ko5"  style="font-family:verdana;"&gt;&lt;b id="t:ko6"&gt;&lt;span id="gtgp11"  style="font-size:100%;"&gt;New overriden JS funciton in document library's allitems page...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;span id="gtgp12" style="color: rgb(0, 0, 255);font-family:verdana;" &gt;&lt;i id="t:ko5"&gt;&lt;b id="t:ko6"&gt;function CAMOpt(p,wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc)&lt;br /&gt;{&lt;br /&gt;  var mo=CMOpt(wzText,wzAct,wzISrc,wzIAlt,wzISeq,wzDesc);&lt;br /&gt;  if(!mo)return null;&lt;br /&gt;  &lt;span id="m:qv3" style="color: rgb(56, 118, 29);"&gt;if(wzText != "Alert Me") AChld(p,mo);&lt;/span&gt;&lt;br /&gt;  return mo;&lt;br /&gt;}&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="neqc" style="padding: 1em 0pt; text-align: left; font-family: verdana;"&gt;&lt;img id="chmm0" style="width: 449px; height: 346px;" src="http://docs.google.com/File?id=dfz378r6_94fqpfk9cd_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Context menu item of ListItem could be Edited/Deleted/Added by using above approach...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-4466751071035524054?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/4466751071035524054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/4466751071035524054'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/05/hiding-context-menu-item-of-document.html' title='Hiding the Context menu item of a Document Library in a SharePoint'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-3491709189253623495</id><published>2008-04-30T11:02:00.000-07:00</published><updated>2008-04-30T12:33:52.682-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Override Alert'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom Alert'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>Defining Custom methods for Pre-defined (inbuilt) Java Script methods</title><content type='html'>&lt;span id="beex0" style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;HOW to Define Custom methods for Pre-defined (inbuilt) Java Script methods&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Some times i face the situation where i would need to override the existing inbuilt Java Script methods...Defining custom method is pretty easy, i have given below an example to override the existing Alert method...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(56, 118, 29);" id="gw6x0"&gt;&lt;span id="tdpd0" style="background-color: rgb(255, 255, 255);"&gt;//Overriding Javascript Alert method &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="qpd90" style="font-weight: bold; font-style: italic;"&gt;var alertClone=window.alert; &lt;/span&gt;&lt;br /&gt;&lt;span id="qpd91" style="font-weight: bold; font-style: italic;"&gt;if(document.getElementById) &lt;/span&gt;&lt;br /&gt;&lt;span id="qpd92" style="font-weight: bold; font-style: italic;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span id="qpd93" style="font-weight: bold; font-style: italic;"&gt;    window.alert = function(sMessage) { customAlert(sMessage);}&lt;/span&gt;&lt;br /&gt;&lt;span id="qpd94" style="font-weight: bold; font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="qpd95" style="font-weight: bold; font-style: italic;"&gt;function customAlert(sMessage) &lt;/span&gt;&lt;br /&gt;&lt;span id="qpd96" style="font-weight: bold; font-style: italic;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span id="qpd97" style="font-weight: bold; font-style: italic;"&gt;    alertClone(sMessage);&lt;/span&gt;&lt;br /&gt;&lt;span id="qpd98" style="font-weight: bold; font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span id="qpd99" style="font-weight: bold; font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;just copy paste the code in your JavaScript and add your code inside CustomAlert() method...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="qpd99" style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-3491709189253623495?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/3491709189253623495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/3491709189253623495'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/04/defining-custom-methods-for-pre-defined.html' title='Defining Custom methods for Pre-defined (inbuilt) Java Script methods'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-1339881823200078635</id><published>2008-04-12T09:24:00.000-07:00</published><updated>2008-04-28T09:34:37.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VPC'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007 VPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Share Point VM'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint VPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Machine'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint VM'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007 Virtual Machine'/><title type='text'>Creating MOSS 2007 Virtual Machine</title><content type='html'>&lt;span id="ntqd0" class="HcCDpe"&gt;&lt;span id="i_lh0"  style="font-size:6;"&gt;&lt;span id="i_lh1"  style="font-size:180%;"&gt;&lt;span id="i_lh2" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Creating MOSS 2007 Virtual Machine&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Its a recommended to create  Virtual machine (VPC image) to play around with MOSS 2007 (especially for beginners).&lt;br /&gt;&lt;br /&gt;Couple of my friends were asking about creating VM machine with MOSS environment. We used to create it from base (Rgith from installing Win 2003 following with Office 2007, VS 2005, SQL 2005, .Net 3.0, WFF and MOSS 2007), and it would take a day or two to build a VM for Share Point 2007 (Here is link to create SharePoint 2007 VM on our own).&lt;br /&gt;&lt;br /&gt;But now we don't need put that much effort to build a SharePoint VPC as Microsoft provides already built VPC image for MOSS 2007, Microsoft has uploaded it in Microsoft's Download center site (it expires after 30days, but u can always renew it with a different id)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="i_lh4" style="font-weight: bold;font-size:130%;" &gt;Do the following steps to setup VPC for MOSS 2007...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="up4-3" style="font-weight: bold;"&gt;Step 1&lt;/span&gt;: Please Insatll IIS in your host machine(laptop/desktop PC), &lt;a style="color: rgb(51, 51, 255);" title="Installing IIS" target="_blank" href="http://www.webwizguide.com/kb/asp_tutorials/installing_iis_winXP_pro.asp" id="u6ro"&gt;Go to&lt;/a&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;/span&gt;for more details about installing IIS on ur machine&lt;br /&gt;&lt;br /&gt;&lt;span id="up4-4" style="font-weight: bold;"&gt;Step 2&lt;/span&gt;: Downlad Microsoft Virtual Server &lt;a style="color: rgb(51, 51, 255);" title="Microsoft Virtual Server" target="_blank" href="http://technet.microsoft.com/en-us/bb738033.aspx" id="c7-b"&gt;here&lt;/a&gt; and install it, Please go to &lt;a style="color: rgb(51, 51, 255);" title="Microsoft VHD details" target="_blank" href="http://www.microsoft.com/technet/virtualserver/evaluation/sysreqs.mspx" id="cgis"&gt;here&lt;/a&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;/span&gt;for more information about Microsoft Virtual PC&lt;br /&gt;&lt;br /&gt;&lt;span id="up4-5" style="font-weight: bold;"&gt;Step 3&lt;/span&gt;: Click &lt;a style="color: rgb(51, 51, 255);" title="Microsoft SharePoint VND Files" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=67f93dcb-ada8-4db5-a47b-df17e14b2c74&amp;amp;DisplayLang=en" id="r1ho"&gt;here&lt;/a&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;/span&gt;and Download all six files.&lt;br /&gt;&lt;br /&gt;&lt;span id="up4-6" style="font-weight: bold;"&gt;Step 4&lt;/span&gt;: Run &lt;span id="i_lh5" style="font-weight: bold;"&gt;WIN03_MOSS_V1.part01.exe&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span id="up4-7" style="font-weight: bold;"&gt;Step 5&lt;/span&gt;: Above step Will join all five rar files and will create one VHD (Virtul Hard Disk), one VMC(Confiuration file) and a ReadMe file (documentation file which tells crelarly about opening the Virtual            Hard Disk by using Microsoft Virtual Server)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 6:&lt;/span&gt; Open VHD by using Microsoft Virtual Server( Read me ReadMe file for help)&lt;br /&gt;&lt;br /&gt;Play around with MOSS 2007 virtual machine&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-1339881823200078635?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/1339881823200078635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/1339881823200078635'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/04/creating-moss-2007-virtual-machine.html' title='Creating MOSS 2007 Virtual Machine'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-8994768170310085382</id><published>2008-03-25T06:37:00.000-07:00</published><updated>2008-04-28T09:29:28.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='STP Files'/><category scheme='http://www.blogger.com/atom/ns#' term='SiteTemplate'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='ListTemplate'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>.STP Language Converter</title><content type='html'>&lt;h1  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/h1&gt;&lt;h1 face="verdana"&gt;&lt;span style="font-size:100%;"&gt;.STP Language Converter&lt;/span&gt;&lt;/h1&gt;&lt;span style="font-family:verdana;"&gt;I found a STP Language Converter utility in &lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;kwizcom&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;, which enables you to convert a Site Template (.stp) file that was created in one language, to a site template in another language.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Please click &lt;/span&gt;&lt;a style="color: rgb(51, 51, 255); font-family: verdana;" href="http://www.kwizcom.com/ContentPage.asp?PageId=165"&gt;here&lt;/a&gt;&lt;span style="color: rgb(51, 51, 255);font-family:verdana;" &gt; &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;to download the STP Language converter tool&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-8994768170310085382?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/8994768170310085382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/8994768170310085382'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/03/stp-language-converter.html' title='.STP Language Converter'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-9108822914239355061</id><published>2008-03-19T13:05:00.000-07:00</published><updated>2008-04-25T06:50:58.317-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 207'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='ListManager'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Tools'/><title type='text'>SharePoint Tips Utility Pack</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SharePoint Tips Utility Pack&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Recently i came across a tool from CodePlex , Its very useful tool for Site/List administrators who wants Modify/Delete their Site, SiteContents, List, Listcontent, Event Handlers, etc&lt;br /&gt;&lt;br /&gt;Here is the &lt;a href="http://www.codeplex.com/spstipsUtilityPack"&gt;link &lt;/a&gt;for the tool...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__pkVC84uIA4/SBDqHzrQZeI/AAAAAAAAAtk/jSW9dqrVQWU/s1600-h/SharePoint+Tips+Utility+Pack.bmp"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/__pkVC84uIA4/SBDqHzrQZeI/AAAAAAAAAtk/jSW9dqrVQWU/s400/SharePoint+Tips+Utility+Pack.bmp" alt="" id="BLOGGER_PHOTO_ID_5192907790209803746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/RANJIT%7E1.VEN/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-9108822914239355061?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/9108822914239355061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/9108822914239355061'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/03/sharepoint-tips-utility-pack.html' title='SharePoint Tips Utility Pack'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__pkVC84uIA4/SBDqHzrQZeI/AAAAAAAAAtk/jSW9dqrVQWU/s72-c/SharePoint+Tips+Utility+Pack.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-5784720127340085711</id><published>2008-02-10T10:09:00.000-08:00</published><updated>2008-04-24T12:15:04.638-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SiteTemplate'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='ListTemplate'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>How to see list templates (stp) and site templates (stp) gallery</title><content type='html'>&lt;span id="vt89"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b id="q4q3"&gt;&lt;span style="font-size:180%;"&gt;How to see list templates (stp) and site templates (stp) gallery :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;List Templates:&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;Its simple, go to _catalogs/lt/Forms/AllItems.aspx from the top level site to see all ListTemplates (stp) associated with that the site, will see a gallery like below&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="tb-a" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img id="oj4f" style="width: 722px; height: 378px;" src="http://docs.google.com/File?id=dfz378r6_82dm6626dc_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span id="r.gu"&gt;&lt;b id="umii"&gt;Site Templates:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;For Site template gallery go to _catalogs/wt/Forms/AllItems.aspx from the top level site to see all SiteTemplates (stp) associated with that the site, will see a gallery like below&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="wk4g" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img id="a182" style="width: 716px; height: 220px;" src="http://docs.google.com/File?id=dfz378r6_83v3mbrsc6_b" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-5784720127340085711?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/5784720127340085711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/5784720127340085711'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/04/how-to-see-list-templates-stp-and-site.html' title='How to see list templates (stp) and site templates (stp) gallery'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-5820427074893013689</id><published>2008-01-28T16:27:00.000-08:00</published><updated>2008-08-28T12:30:48.638-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPGroup'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS API'/><category scheme='http://www.blogger.com/atom/ns#' term='Groups'/><category scheme='http://www.blogger.com/atom/ns#' term='SPUser'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint API'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>SPUser Group Management</title><content type='html'>&lt;span id="g9qh" style="font-family: Arial;font-size:85%;" &gt;&lt;b style="font-family: Verdana;" id="gjab"&gt;&lt;span id="u.:."  style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;SPUser Group Management&lt;/span&gt;&lt;br /&gt; &lt;span id="u.:.0"  style="font-size:130%;"&gt;&lt;br /&gt; How to Create\Update\Retrieve\Delete a Personal UserGroup for a User in SharePoint by using APIs&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;/b&gt;&lt;span id="my3-"  style="font-size:100%;"&gt;&lt;span id="u.:.1" style="font-family: Verdana;"&gt;Personal User Groups can be Created, Updated, Retrieved and Deleted by using SharePoint APIs as given below...&lt;/span&gt;&lt;/span&gt;&lt;b style="font-family: Verdana;" id="u.:.2"&gt;&lt;br /&gt; &lt;br /&gt; &lt;/b&gt;&lt;/span&gt;&lt;span id="ixoo0" style="font-family: Verdana;font-size:85%;" &gt;                &lt;b id="l3q42"&gt;&lt;br /&gt; &lt;/b&gt;&lt;/span&gt;&lt;div style="font-family: Verdana;" id="vty50"&gt;&lt;span id="ixoo21" style="font-family: Arial;font-size:85%;" &gt;&lt;b id="kjdz"&gt;&lt;span id="n5ns"  style="font-size:130%;"&gt;//Create Group&lt;br /&gt; &lt;/span&gt;&lt;/b&gt;&lt;span id="vjjk1"  style="font-size:100%;"&gt;SPUser spUser = mySite.Owner;&lt;br /&gt; SPMember spMemebr = mySite.RootWeb.Users["My User Name"];&lt;br /&gt; spUser.Groups.Add("GroupName", spMemebr, spUser, "This is Group Description");&lt;br /&gt; spUser.Update();&lt;/span&gt;&lt;b id="vjjk5"&gt;&lt;span id="vjjk6"  style="font-size:130%;"&gt;&lt;br /&gt;                &lt;br /&gt; //Update Group&lt;br /&gt; &lt;/span&gt;&lt;/b&gt;&lt;span id="vjjk10"  style="font-size:100%;"&gt;SPUser spUser = mySite.Owner;&lt;br /&gt; SPGroup spGroup = spUser.Groups["GroupName"];&lt;br /&gt; spGroup.Name = "newGroupName";&lt;br /&gt; spGroup.Update();&lt;/span&gt;&lt;b id="vjjk14"&gt;&lt;span id="vjjk15"  style="font-size:130%;"&gt;&lt;br /&gt; &lt;br /&gt; //Retrieve Group&lt;br /&gt; &lt;/span&gt;&lt;/b&gt;&lt;span id="vjjk19"  style="font-size:100%;"&gt;SPUser spUser = mySite.Owner;&lt;br /&gt; SPGroupCollection spGroupCollection = spUser.Groups;&lt;/span&gt;&lt;b id="vjjk21"&gt;&lt;span id="vjjk22"  style="font-size:130%;"&gt;&lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;/b&gt;&lt;span id="vjjk25"  style="font-size:100%;"&gt;foreach (SPGroup spGroup in groupCollection)&lt;br /&gt; {&lt;br /&gt;     //Store all groups in internal collection&lt;br /&gt; }&lt;br /&gt; &lt;/span&gt;&lt;b id="vjjk30"&gt;&lt;span id="vjjk31"  style="font-size:130%;"&gt;&lt;br /&gt; //Delete Group&lt;br /&gt; &lt;/span&gt;&lt;/b&gt;&lt;span id="vjjk34"  style="font-size:100%;"&gt;SPUser spUser = mySite.Owner;&lt;br /&gt; spUser.Groups.Remove("newGroupName");&lt;br /&gt; spUser.Update();&lt;/span&gt;&lt;b id="vjjk37"&gt;&lt;span id="vjjk38"  style="font-size:130%;"&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt; &lt;div id="balw"&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-5820427074893013689?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/5820427074893013689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/5820427074893013689'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/01/spuser-group-management.html' title='SPUser Group Management'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-6736047884709722223</id><published>2008-01-24T10:57:00.000-08:00</published><updated>2008-04-24T11:08:55.782-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SiteTemplate'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Save Site As Template</title><content type='html'>&lt;span id="po5_"  style="font-size:180%;"&gt;&lt;b id="o:187"&gt;Save Site As Template&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="r4a0"&gt;&lt;b id="c:5k"&gt;How to Save Site As Template (stp file)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Go to "/_layouts/savetmpl.aspx" in your current site, Now you will see the option to save your current site as template. (&lt;span id="msp1"&gt;&lt;i id="p.8y"&gt;screenshot given below&lt;/i&gt;&lt;/span&gt;)&lt;br /&gt;Enter the stp file name and check the checkbox "Include Content" if you want to include the all content (lists, libraries,etc) from the site current site.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="el1q"&gt;&lt;b id="ppxo"&gt;&lt;i id="c:0w"&gt;Note: If your Publishing Feature is not turned on you will see the "save site as template" option under SiteSettings -&gt; LookAndFeel section, the above scenario will apply only when the &lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;span id="el1q"&gt;&lt;b id="esuz"&gt;&lt;i id="l40m"&gt;Publishing Feature is turned off.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.blogger.com/post-edit.do" id="j:7n" alt="" /&gt;&lt;img src="http://www.blogger.com/post-edit.do" id="oy8f" alt="" /&gt;&lt;img src="http://www.blogger.com/post-edit.do" id="xflr" alt="" /&gt;&lt;img src="http://www.blogger.com/post-edit.do" id="xo1w" alt="" /&gt;&lt;img src="http://www.blogger.com/post-edit.do" id="c7tv" alt="" /&gt;&lt;img src="http://www.blogger.com/post-edit.do" id="p5o5" alt="" /&gt;&lt;div id="me9c" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img id="y9ts" style="width: 835px; height: 469px;" src="http://docs.google.com/File?id=dfz378r6_80cgkb8gd2_b" /&gt;&lt;/div&gt;&lt;span id="el1q"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-6736047884709722223?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/6736047884709722223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/6736047884709722223'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/01/save-site-as-template.html' title='Save Site As Template'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-5812845873987377988</id><published>2007-11-17T04:26:00.000-08:00</published><updated>2008-04-24T12:57:13.448-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAXToolKit'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>AJAX in MOSS 2007</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span id="och4"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These days implementing AJAX in sharepoint has become a important request for share point applications.&lt;br /&gt;&lt;br /&gt;Here i'm explaining how to create and deploy a AJnAX webpart in  step by step manner...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p id="jzvt" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b id="aez_"&gt;&lt;span id="mndp" style=";font-family:Arial;font-size:9;"  &gt;Step 1:  &lt;/span&gt;&lt;/b&gt;&lt;a href="javascript:void(0)" tabindex="10" onclick="return false;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="h_7b" style=";font-family:Arial;font-size:9;"  &gt;Download and Install MS AJAX Extension for &lt;a id="fmz8" href="http://asp.net/" target="_blank"&gt;ASP.NET&lt;/a&gt; 2.0 from &lt;a style="color: rgb(51, 51, 255);" id="osf8" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en&lt;/a&gt; .&lt;/span&gt;&lt;/p&gt;  &lt;p id="nu6m" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="tr8k" style=";font-family:Arial;font-size:9;"  &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p id="y1j1" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b id="ra-2"&gt;&lt;span id="z9e2" style=";font-family:Arial;font-size:9;"  &gt;Step 2:  &lt;/span&gt;&lt;/b&gt;&lt;span id="t3mb" style=";font-family:Arial;font-size:9;"  &gt;Modify web.config file as mentioned in &lt;a style="color: rgb(51, 51, 255);" href="http://docs.google.com/Doc?docid=dfz378r6_87hsb9chd3&amp;amp;hl=en"&gt;&lt;span style="font-style: italic;"&gt;Web.config Changes&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p id="pbsh" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="t3mb" style=";font-family:Arial;font-size:9;"  &gt;&lt;span style="font-weight: bold;"&gt;Step 3&lt;/span&gt;:&lt;/span&gt;&lt;span id="u.7x" style=";font-family:Arial;font-size:9;"  &gt; Download AJAX tool kit from &lt;span style="color: rgb(51, 51, 255);" id="cm95"&gt;&lt;b id="vh-f"&gt;http://www.asp.net/ajax/downloads &lt;/b&gt;&lt;/span&gt;&lt;span id="cm95"&gt;and install the same&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p id="dhz1" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b id="f:6g"&gt;&lt;span id="axa-" style=";font-family:Arial;font-size:9;"  &gt;Step 4: &lt;/span&gt;&lt;/b&gt;&lt;span id="qs4:" style=";font-family:Arial;font-size:9;"  &gt;Move AjaxControlToolkit.dll to GAC from downloaded file in &lt;span id="juu6"&gt;&lt;b id="t08x"&gt;step 3&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p id="d8-o" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="b3-d" style=";font-family:Arial;font-size:9;"  &gt; &lt;/span&gt;&lt;/p&gt;&lt;b id="u7xo"&gt;&lt;span id="bo94" style=";font-family:Arial;font-size:9;"  &gt;Step 5: &lt;/span&gt;&lt;/b&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;Create a folder called &lt;b id="zsf2"&gt;&lt;span id="ojek"  style="font-family:Arial;"&gt;AjaxWebSerivce &lt;/span&gt;&lt;/b&gt;under "_/layouts" directory and &lt;b id="efl7"&gt;&lt;span id="pjm."&gt;create a &lt;/span&gt;&lt;span id="p9bb"  style="font-family:Arial;"&gt;.asmx &lt;/span&gt;&lt;/b&gt;web service where in we could interact with the MOSS site to add\update\delete Sharepoint data.&lt;br /&gt;&lt;br /&gt;Your asmx code may look like below...below code reads the value of "Title" column from &lt;/span&gt;&lt;span id="ysq6" style=";font-family:Arial;font-size:9;"  &gt;"AjaxDemoCustomList"&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;div id="ar5w" style="margin-left: 40px;"&gt;&lt;span id="hmeb"  style="font-size:78%;"&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;b id="cphu"&gt;&lt;i id="ao8w"&gt;&lt;&lt;/i&gt;&lt;/b&gt;&lt;span id="ggvf" style="color: rgb(0, 0, 255);"&gt;&lt;span id="bihc"&gt;&lt;b id="ugl9"&gt;&lt;i id="o7v3"&gt;%@ WebService Language="C#" Class="ReadDataFromList" %&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="u13m" style="color: rgb(0, 0, 255);"&gt;&lt;span id="k58s"&gt;&lt;b id="bb9i"&gt;&lt;i id="a96."&gt;using System;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="j7b5" style="color: rgb(0, 0, 255);"&gt;&lt;span id="chpp"&gt;&lt;b id="oufz"&gt;&lt;i id="lmpk"&gt;using System.Collections;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="l46n" style="color: rgb(0, 0, 255);"&gt;&lt;span id="ms8_"&gt;&lt;b id="sg6m"&gt;&lt;i id="cd0p"&gt;using System.Web;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="ht.2" style="color: rgb(0, 0, 255);"&gt;&lt;span id="wbve"&gt;&lt;b id="p1jv"&gt;&lt;i id="fdbs"&gt;using System.Web.Services;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="pkhf" style="color: rgb(0, 0, 255);"&gt;&lt;span id="fbdk"&gt;&lt;b id="hve4"&gt;&lt;i id="bxf-"&gt;using System.Web.Script.Services;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="pt-_" style="color: rgb(0, 0, 255);"&gt;&lt;span id="fo7n"&gt;&lt;b id="bgwr"&gt;&lt;i id="gip:"&gt;using System.Web.Services.Protocols;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="whkq" style="color: rgb(0, 0, 255);"&gt;&lt;span id="cmp0"&gt;&lt;b id="kxl7"&gt;&lt;i id="q066"&gt;[WebService(Namespace = "http://tempuri.org/")]&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="segz" style="color: rgb(0, 0, 255);"&gt;&lt;span id="wq87"&gt;&lt;b id="l51-"&gt;&lt;i id="hz_x"&gt;[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="i2e_" style="color: rgb(0, 0, 255);"&gt;&lt;span id="h5ha"&gt;&lt;b id="st_n"&gt;&lt;i id="uh3b"&gt;[ScriptService]&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="fa5w" style="color: rgb(0, 0, 255);"&gt;&lt;span id="kjs8"&gt;&lt;b id="kx.3"&gt;&lt;i id="gvhe"&gt;public class ReadDataFromList : System.Web.Services.WebService&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="pqr0" style="color: rgb(0, 0, 255);"&gt;&lt;span id="etrr"&gt;&lt;b id="sbg1"&gt;&lt;i id="hq4v"&gt;{&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="h43e" style="color: rgb(0, 0, 255);"&gt;&lt;span id="c0eu"&gt;&lt;b id="g317"&gt;&lt;i id="exzv"&gt;    [WebMethod]&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="ev0a" style="color: rgb(0, 0, 255);"&gt;&lt;span id="pdzc"&gt;&lt;b id="t_xn"&gt;&lt;i id="biss"&gt;    public string[] GetListData(string prefixText, int count)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="kjl1" style="color: rgb(0, 0, 255);"&gt;&lt;span id="s67c"&gt;&lt;b id="sc4y"&gt;&lt;i id="ya:e"&gt;    {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="lxo2" style="color: rgb(0, 0, 255);"&gt;&lt;span id="t6gl"&gt;&lt;b id="oh8s"&gt;&lt;i id="f0gp"&gt;        try&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="drfm" style="color: rgb(0, 0, 255);"&gt;&lt;span id="q9oh"&gt;&lt;b id="t3l5"&gt;&lt;i id="bbdc"&gt;        {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="y25y" style="color: rgb(0, 0, 255);"&gt;&lt;span id="qfpp"&gt;&lt;b id="v1md"&gt;&lt;i id="ks1j"&gt;            string siteURL = "http://mosssvr-ranjith:8091/SiteDirectory/AJAXDemo/default.aspx";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="ktfj" style="color: rgb(0, 0, 255);"&gt;&lt;span id="dnk:"&gt;&lt;b id="c6vc"&gt;&lt;i id="mn1g"&gt;            string msListName = "AJAXDemoCustomList";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="eh:8" style="color: rgb(0, 0, 255);"&gt;&lt;span id="i2c2"&gt;&lt;b id="lga0"&gt;&lt;i id="w67_"&gt;            string sTitleColumn = "Title";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="ulzh" style="color: rgb(0, 0, 255);"&gt;&lt;span id="sq9b"&gt;&lt;b id="l360"&gt;&lt;i id="hjv0"&gt;            &lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="daa0" style="color: rgb(0, 0, 255);"&gt;&lt;span id="hfyh"&gt;&lt;b id="a7:f"&gt;&lt;i id="ef5o"&gt;            Microsoft.SharePoint.SPSite spSite = new Microsoft.SharePoint.SPSite(siteURL);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="jfav" style="color: rgb(0, 0, 255);"&gt;&lt;span id="kb3b"&gt;&lt;b id="po7."&gt;&lt;i id="dt3a"&gt;            Microsoft.SharePoint.SPWeb spWeb = spSite.OpenWeb();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="qfl-" style="color: rgb(0, 0, 255);"&gt;&lt;span id="xd4e"&gt;&lt;b id="p-23"&gt;&lt;i id="go1_"&gt;            Microsoft.SharePoint.SPList spList = spWeb.Lists[msListName];&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="i5jl" style="color: rgb(0, 0, 255);"&gt;&lt;span id="qs_8"&gt;&lt;b id="wm60"&gt;&lt;i id="iqex"&gt;            Microsoft.SharePoint.SPQuery spQuery = new Microsoft.SharePoint.SPQuery();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="lbqp" style="color: rgb(0, 0, 255);"&gt;&lt;span id="ts-7"&gt;&lt;b id="cyrb"&gt;&lt;i id="enc5"&gt;            spQuery.Query = string.Format("&lt;where&gt;&lt;beginswith&gt;&lt;fieldref name="'{0}'/"&gt;&lt;value type="'Text'"&gt;{1}&lt;/value&gt;&lt;/fieldref&gt;&lt;/beginswith&gt;",sTitleColumn, prefixText);&lt;/where&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="q9ji" style="color: rgb(0, 0, 255);"&gt;&lt;span id="z_jm"&gt;&lt;b id="pmy4"&gt;&lt;i id="j17n"&gt;            Microsoft.SharePoint.SPListItemCollection spItems = spList.GetItems(spQuery);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="u:8b" style="color: rgb(0, 0, 255);"&gt;&lt;span id="ng-v"&gt;&lt;b id="z5ua"&gt;&lt;i id="n26e"&gt;            System.Collections.ArrayList items = new System.Collections.ArrayList(spItems.Count);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="hhci" style="color: rgb(0, 0, 255);"&gt;&lt;span id="itbk"&gt;&lt;b id="skd3"&gt;&lt;i id="oyby"&gt;                    &lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="mph8" style="color: rgb(0, 0, 255);"&gt;&lt;span id="lpgp"&gt;&lt;b id="ip3o"&gt;&lt;i id="rum1"&gt;            foreach (Microsoft.SharePoint.SPListItem spListItem in spItems)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="n5rf" style="color: rgb(0, 0, 255);"&gt;&lt;span id="wta0"&gt;&lt;b id="w8k1"&gt;&lt;i id="g1-8"&gt;                items.Add(spListItem[sTitleColumn].ToString());&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="o.jw" style="color: rgb(0, 0, 255);"&gt;&lt;span id="fp.p"&gt;&lt;b id="j58_"&gt;&lt;i id="hib7"&gt;            spWeb.Dispose();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="f:jb" style="color: rgb(0, 0, 255);"&gt;&lt;span id="tndg"&gt;&lt;b id="ee3s"&gt;&lt;i id="o873"&gt;            spSite.Dispose();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="b-8e" style="color: rgb(0, 0, 255);"&gt;&lt;span id="z6th"&gt;&lt;b id="cdi:"&gt;&lt;i id="i6bx"&gt;            &lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="lk7j" style="color: rgb(0, 0, 255);"&gt;&lt;span id="lph-"&gt;&lt;b id="v0wr"&gt;&lt;i id="bvoa"&gt;            return (string[])items.ToArray(typeof(string));&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="qi_7" style="color: rgb(0, 0, 255);"&gt;&lt;span id="b41o"&gt;&lt;b id="vn57"&gt;&lt;i id="fexj"&gt;        }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="l7li" style="color: rgb(0, 0, 255);"&gt;&lt;span id="pliz"&gt;&lt;b id="euwt"&gt;&lt;i id="rq_0"&gt;        catch(Exception ex)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="c_sm" style="color: rgb(0, 0, 255);"&gt;&lt;span id="p_8y"&gt;&lt;b id="easw"&gt;&lt;i id="c9qu"&gt;        {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="qb9_" style="color: rgb(0, 0, 255);"&gt;&lt;span id="glqm"&gt;&lt;b id="tha."&gt;&lt;i id="c_jf"&gt;            System.Collections.ArrayList items = new System.Collections.ArrayList(1);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="juze" style="color: rgb(0, 0, 255);"&gt;&lt;span id="bgj4"&gt;&lt;b id="wl7s"&gt;&lt;i id="zfmf"&gt;            items.Add(ex.Message);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="jd9u" style="color: rgb(0, 0, 255);"&gt;&lt;span id="f6z4"&gt;&lt;b id="dswp"&gt;&lt;i id="d9q2"&gt;            return (string[])items.ToArray(typeof(string));&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="u8vx" style="color: rgb(0, 0, 255);"&gt;&lt;span id="i:-1"&gt;&lt;b id="ye-3"&gt;&lt;i id="rieo"&gt;        }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="m8hq" style="color: rgb(0, 0, 255);"&gt;&lt;span id="a:lu"&gt;&lt;b id="yfd2"&gt;&lt;i id="m:gd"&gt;    }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="la1n" style="color: rgb(0, 0, 255);"&gt;&lt;span id="mkx1"&gt;&lt;b id="sx_u"&gt;&lt;i id="g1he"&gt;}&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span id="c8xw" style=";font-family:Arial;font-size:9;"  &gt;&lt;br /&gt;&lt;br /&gt;Note : You could r&lt;/span&gt;&lt;span id="ysq6" style=";font-family:Arial;font-size:9;"  &gt;eplace your SiteURL, List Name and Column Name in&lt;/span&gt; &lt;i id="nyoa"&gt;&lt;b id="kn1-"&gt;&lt;span id="f6cr" style="color: rgb(51, 102, 255);font-family:Arial;font-size:9;"  &gt;above asmx file, like&lt;br /&gt;&lt;br /&gt; string siteURL = "&lt;b id="oavz"&gt;http://yoursite&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;b id="j-oi"&gt;&lt;span id="poua" style=";font-family:Arial;font-size:9;"  &gt;&lt;a id="alfp" href="http://mosssvr-ranjith:8091/SiteDirectory/AJAXDemo/default.aspx"&gt;&lt;i id="tgrt"&gt;&lt;span id="bjzq" style="color: rgb(51, 102, 255);font-family:Arial;" &gt;/AJAXDemo/default.aspx&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;i id="hyr_"&gt;&lt;b id="wr6f"&gt;&lt;span id="wfx6" style="color: rgb(51, 102, 255);font-family:Arial;font-size:9;"  &gt;"; &lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;b id="ttxx"&gt;&lt;i id="vj_b"&gt;&lt;span id="rik_" style="color: rgb(51, 102, 255);font-family:Arial;font-size:9;"  &gt;&lt;br /&gt;&lt;i id="vj48"&gt;&lt;span id="et1l"  style="font-family:Arial;"&gt;          string msListName = "AJAXDemoCustomList";&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i id="mf4e"&gt;&lt;span id="hv.s"  style="font-family:Arial;"&gt;          string sTitleColumn = "ColumnName";&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;  &lt;p id="mrr1" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;i id="ttop"&gt;&lt;b id="s_i3"&gt;&lt;span id="yh0l" style="color: rgb(51, 102, 255);font-family:Arial;font-size:9;"  &gt; &lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p id="cmg4" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b id="ue48"&gt;&lt;span id="twt5" style=";font-family:Arial;font-size:9;"  &gt;Step 6:&lt;/span&gt;&lt;/b&gt;&lt;span id="jf4q" style=";font-family:Arial;font-size:9;"  &gt; Create a web part  to read a list a show the data by using AJAX controls. This web part will interact with the above webservice through the AJAXToolKit ajax control. So All we need to do is just create a  AJAXToolKit control , Map it  with the above web service and display the data resultant data.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;" id="xagr"&gt;&lt;span id="gvev"  style="font-size:78%;"&gt;&lt;span id="zvcp"&gt;&lt;b id="nup6"&gt;&lt;i id="uo6j"&gt;using System;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="arwu"  style="font-size:78%;"&gt;&lt;span id="ym6d"&gt;&lt;b id="d-sb"&gt;&lt;i id="z3hy"&gt;using System.Runtime.InteropServices;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="xju."  style="font-size:78%;"&gt;&lt;span id="c71e"&gt;&lt;b id="hd3g"&gt;&lt;i id="muh:"&gt;using System.Web.UI;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="jr1j"  style="font-size:78%;"&gt;&lt;span id="ji4d"&gt;&lt;b id="x44w"&gt;&lt;i id="ytft"&gt;using System.Web.UI.WebControls.WebParts;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="v9z4"  style="font-size:78%;"&gt;&lt;span id="sntk"&gt;&lt;b id="cz0a"&gt;&lt;i id="ail8"&gt;using System.Xml.Serialization;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gs7g"  style="font-size:78%;"&gt;&lt;span id="qzw0"&gt;&lt;b id="j3sh"&gt;&lt;i id="zknm"&gt;using AjaxControlToolkit;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="jigf"  style="font-size:78%;"&gt;&lt;span id="zn1y"&gt;&lt;b id="ebs7"&gt;&lt;i id="eik5"&gt;using Microsoft.SharePoint;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="pwpu"  style="font-size:78%;"&gt;&lt;span id="e1is"&gt;&lt;b id="elrr"&gt;&lt;i id="tvg1"&gt;using Microsoft.SharePoint.WebControls;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="rl2a"  style="font-size:78%;"&gt;&lt;span id="hd4m"&gt;&lt;b id="co0g"&gt;&lt;i id="k8qy"&gt;using Microsoft.SharePoint.WebPartPages;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="m__u"  style="font-size:78%;"&gt;&lt;span id="ecv4"&gt;&lt;b id="uhjb"&gt;&lt;i id="lb6d"&gt;using System.Configuration;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="idyg"  style="font-size:78%;"&gt;&lt;span id="epdb"&gt;&lt;b id="c3zc"&gt;&lt;i id="yk7p"&gt;using System.Collections.Specialized;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="w:gx"  style="font-size:78%;"&gt;&lt;span id="hkkp"&gt;&lt;b id="hqc-"&gt;&lt;i id="rfju"&gt;using System.Web.UI.WebControls;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="lzfo"  style="font-size:78%;"&gt;&lt;span id="o2fa"&gt;&lt;b id="jifb"&gt;&lt;i id="c3gg"&gt;namespace AJAXAutoCompleteDemo&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="kaq3"  style="font-size:78%;"&gt;&lt;span id="cfqa"&gt;&lt;b id="cw_k"&gt;&lt;i id="v065"&gt;{&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="vp:7"  style="font-size:78%;"&gt;&lt;span id="xzan"&gt;&lt;b id="aen:"&gt;&lt;i id="hpfw"&gt;    [Guid("e8b6db14-c3c3-48f5-8301-b6f2e3fe0583")]&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="zl4r"  style="font-size:78%;"&gt;&lt;span id="ufa9"&gt;&lt;b id="t8.e"&gt;&lt;i id="j95e"&gt;    public class AJAXAutoCompleteDemo : System.Web.UI.WebControls.WebParts.WebPart&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="dw:3"  style="font-size:78%;"&gt;&lt;span id="pb-n"&gt;&lt;b id="brcp"&gt;&lt;i id="v.8y"&gt;    {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="owbd"  style="font-size:78%;"&gt;&lt;span id="j-x2"&gt;&lt;b id="k2oi"&gt;&lt;i id="ly6b"&gt;        Exception meExp = null;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="cm16"  style="font-size:78%;"&gt;&lt;span id="be.."&gt;&lt;b id="skxw"&gt;&lt;i id="vzxm"&gt;        TextBox oTextBox = null;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="lodb"  style="font-size:78%;"&gt;&lt;span id="kia."&gt;&lt;b id="vv03"&gt;&lt;i id="tjk4"&gt;        AutoCompleteExtender oAutoCompleteExtender = null;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="o90h"  style="font-size:78%;"&gt;&lt;span id="nj2h"&gt;&lt;b id="as9l"&gt;&lt;i id="kt3:"&gt;        ScriptManager oScriptManager = null;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="hn1g"  style="font-size:78%;"&gt;&lt;span id="d:z5"&gt;&lt;b id="nkgl"&gt;&lt;i id="y.hy"&gt;        private string msAJAXWebServicePath = "_layouts/AjaxWebSerivce/ReadDataFromList.asmx";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="ced6"  style="font-size:78%;"&gt;&lt;span id="z94b"&gt;&lt;b id="o8xp"&gt;&lt;i id="gfns"&gt;        private string msWebServiceMethodName = "GetListData";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="zj21"  style="font-size:78%;"&gt;&lt;span id="otzm"&gt;&lt;b id="zyvf"&gt;&lt;i id="vrlx"&gt;        public AJAXAutoCompleteDemo()&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="t:jp"  style="font-size:78%;"&gt;&lt;span id="y1r8"&gt;&lt;b id="nl:a"&gt;&lt;i id="xcnc"&gt;        {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="nq4:"  style="font-size:78%;"&gt;&lt;span id="o..-"&gt;&lt;b id="egpr"&gt;&lt;i id="or9r"&gt;            EnsureChildControls();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="g58a"  style="font-size:78%;"&gt;&lt;span id="a1_o"&gt;&lt;b id="qtfm"&gt;&lt;i id="f0.w"&gt;            this.Title = "AJAXAutoCompleteDemo";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="wlyu"  style="font-size:78%;"&gt;&lt;span id="nkw5"&gt;&lt;b id="md1q"&gt;&lt;i id="txu2"&gt;            this.ExportMode = WebPartExportMode.All;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="cj8-"  style="font-size:78%;"&gt;&lt;span id="zcv6"&gt;&lt;b id="u33n"&gt;&lt;i id="ssc1"&gt;        }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="rl-r"  style="font-size:78%;"&gt;&lt;span id="k1y_"&gt;&lt;b id="fe7i"&gt;&lt;i id="o_g:"&gt;          protected override void CreateChildControls()&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="e226"  style="font-size:78%;"&gt;&lt;span id="owl4"&gt;&lt;b id="pvmu"&gt;&lt;i id="ws4f"&gt;        {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="kwph"  style="font-size:78%;"&gt;&lt;span id="bimh"&gt;&lt;b id="am8i"&gt;&lt;i id="j9zh"&gt;            try&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="cd98"  style="font-size:78%;"&gt;&lt;span id="y8g:"&gt;&lt;b id="ds11"&gt;&lt;i id="bvf."&gt;            {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="k97t"  style="font-size:78%;"&gt;&lt;span id="zmdl"&gt;&lt;b id="sxyw"&gt;&lt;i id="y8jr"&gt;                base.CreateChildControls();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="zzqg"  style="font-size:78%;"&gt;&lt;span id="gzrc"&gt;&lt;b id="mq1v"&gt;&lt;i id="t62e"&gt;                //&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="j98j"  style="font-size:78%;"&gt;&lt;span id="xutm"&gt;&lt;b id="pdqr"&gt;&lt;i id="o:5-"&gt;                oScriptManager = new ScriptManager();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="aoic"  style="font-size:78%;"&gt;&lt;span id="r0c:"&gt;&lt;b id="xupg"&gt;&lt;i id="shpv"&gt;                oScriptManager.ID = "oScriptManagerId";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="kuge"  style="font-size:78%;"&gt;&lt;span id="akr9"&gt;&lt;b id="oiq3"&gt;&lt;i id="nrte"&gt;                oScriptManager.EnablePageMethods = true;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gkhy"  style="font-size:78%;"&gt;&lt;span id="ddsg"&gt;&lt;b id="k9v6"&gt;&lt;i id="m6.4"&gt;                this.Controls.Add(oScriptManager);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="kmhx"  style="font-size:78%;"&gt;&lt;span id="eqhn"&gt;&lt;b id="k40d"&gt;&lt;i id="n-ot"&gt;                //&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="kc5j"  style="font-size:78%;"&gt;&lt;span id="r8.v"&gt;&lt;b id="cflj"&gt;&lt;i id="cccx"&gt;                oTextBox = new TextBox();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="hgjp"  style="font-size:78%;"&gt;&lt;span id="wb_j"&gt;&lt;b id="knpu"&gt;&lt;i id="sf:0"&gt;                oTextBox.ID = "IdTestTextBox";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="my0p"  style="font-size:78%;"&gt;&lt;span id="pz.t"&gt;&lt;b id="i7ir"&gt;&lt;i id="j_2t"&gt;                oTextBox.Width = new Unit("250px");&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fd:v"  style="font-size:78%;"&gt;&lt;span id="vgl_"&gt;&lt;b id="do8m"&gt;&lt;i id="vnv1"&gt;                oTextBox.AutoCompleteType = AutoCompleteType.Disabled;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="sf:5"  style="font-size:78%;"&gt;&lt;span id="t1es"&gt;&lt;b id="s_5-"&gt;&lt;i id="d-nf"&gt;                this.Controls.Add(oTextBox);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="sfxj"  style="font-size:78%;"&gt;&lt;span id="brts"&gt;&lt;b id="uz31"&gt;&lt;i id="vcb0"&gt;            }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="qvtv"  style="font-size:78%;"&gt;&lt;span id="owtt"&gt;&lt;b id="ut-r"&gt;&lt;i id="gf2j"&gt;            catch (Exception ex)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="gpaz"  style="font-size:78%;"&gt;&lt;span id="p33z"&gt;&lt;b id="stj5"&gt;&lt;i id="zs45"&gt;            {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fid7"  style="font-size:78%;"&gt;&lt;span id="zu6g"&gt;&lt;b id="dydn"&gt;&lt;i id="jcfp"&gt;                meExp = ex;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="jlhc"  style="font-size:78%;"&gt;&lt;span id="fuve"&gt;&lt;b id="pehb"&gt;&lt;i id="fqwe"&gt;            }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="z7gu"  style="font-size:78%;"&gt;&lt;span id="kw3."&gt;&lt;b id="nkdj"&gt;&lt;i id="ru.y"&gt;        }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="n7l1"  style="font-size:78%;"&gt;&lt;span id="djin"&gt;&lt;b id="os6i"&gt;&lt;i id="g7jx"&gt;        protected override void OnPreRender(EventArgs e)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="d1uy"  style="font-size:78%;"&gt;&lt;span id="qm2y"&gt;&lt;b id="iywi"&gt;&lt;i id="yo41"&gt;        {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="q_qs"  style="font-size:78%;"&gt;&lt;span id="x1zf"&gt;&lt;b id="j63t"&gt;&lt;i id="gmaz"&gt;            try&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="w5ro"  style="font-size:78%;"&gt;&lt;span id="s-_q"&gt;&lt;b id="i5um"&gt;&lt;i id="v5p6"&gt;            {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fs8:"  style="font-size:78%;"&gt;&lt;span id="cs.0"&gt;&lt;b id="c1_0"&gt;&lt;i id="tpy4"&gt;                oAutoCompleteExtender = new AutoCompleteExtender();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="uok0"  style="font-size:78%;"&gt;&lt;span id="ybim"&gt;&lt;b id="pl19"&gt;&lt;i id="mzfq"&gt;                oAutoCompleteExtender.ID = "oAutoCompleteExtenderId";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="xlo1"  style="font-size:78%;"&gt;&lt;span id="louk"&gt;&lt;b id="clpx"&gt;&lt;i id="fdz9"&gt;                oAutoCompleteExtender.TargetControlID = "IdTestTextBox";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="d8r4"  style="font-size:78%;"&gt;&lt;span id="c1cj"&gt;&lt;b id="p_eq"&gt;&lt;i id="v94y"&gt;                oAutoCompleteExtender.ServiceMethod = msWebServiceMethodName;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="e5te"  style="font-size:78%;"&gt;&lt;span id="km67"&gt;&lt;b id="zjaq"&gt;&lt;i id="zamk"&gt;                oAutoCompleteExtender.ServicePath = msAJAXWebServicePath;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="a3gp"  style="font-size:78%;"&gt;&lt;span id="z3v8"&gt;&lt;b id="ix4x"&gt;&lt;i id="vun1"&gt;                oAutoCompleteExtender.MinimumPrefixLength = 1;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="fopc"  style="font-size:78%;"&gt;&lt;span id="s8oh"&gt;&lt;b id="yfav"&gt;&lt;i id="h4y6"&gt;                oAutoCompleteExtender.EnableCaching = true;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="njcx"  style="font-size:78%;"&gt;&lt;span id="so:9"&gt;&lt;b id="sad."&gt;&lt;i id="ekm8"&gt;                oAutoCompleteExtender.CompletionSetCount = 12;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="eggx"  style="font-size:78%;"&gt;&lt;span id="oqg7"&gt;&lt;b id="o5sl"&gt;&lt;i id="st5d"&gt;                oAutoCompleteExtender.CompletionInterval = 2000;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="kk_z"  style="font-size:78%;"&gt;&lt;span id="t0eu"&gt;&lt;b id="rqlh"&gt;&lt;i id="zihp"&gt;                this.Controls.Add(oAutoCompleteExtender);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="feia"  style="font-size:78%;"&gt;&lt;span id="vu-i"&gt;&lt;b id="l-6y"&gt;&lt;i id="s62l"&gt;            }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="ed5."  style="font-size:78%;"&gt;&lt;span id="gsca"&gt;&lt;b id="afap"&gt;&lt;i id="ogez"&gt;            catch (Exception ex)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="o73o"  style="font-size:78%;"&gt;&lt;span id="rs-b"&gt;&lt;b id="nk2j"&gt;&lt;i id="w88."&gt;            {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="nrha"  style="font-size:78%;"&gt;&lt;span id="v408"&gt;&lt;b id="n:oe"&gt;&lt;i id="dv32"&gt;                meExp = ex;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="m6v8"  style="font-size:78%;"&gt;&lt;span id="hn98"&gt;&lt;b id="gsn4"&gt;&lt;i id="o_gp"&gt;            }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="l8te"  style="font-size:78%;"&gt;&lt;span id="sa9d"&gt;&lt;b id="dsr_"&gt;&lt;i id="q9ek"&gt;        }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="hx83"  style="font-size:78%;"&gt;&lt;span id="l0bn"&gt;&lt;b id="i2-2"&gt;&lt;i id="ztry"&gt;        protected override void Render(System.Web.UI.HtmlTextWriter output)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="ccq7"  style="font-size:78%;"&gt;&lt;span id="cmcl"&gt;&lt;b id="y8o_"&gt;&lt;i id="dd1u"&gt;        {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="ut4a"  style="font-size:78%;"&gt;&lt;span id="lzqn"&gt;&lt;b id="b:i3"&gt;&lt;i id="oyt1"&gt;            try&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="acf5"  style="font-size:78%;"&gt;&lt;span id="ybdg"&gt;&lt;b id="wgpm"&gt;&lt;i id="to7p"&gt;            {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="f7dv"  style="font-size:78%;"&gt;&lt;span id="t421"&gt;&lt;b id="zs40"&gt;&lt;i id="va-k"&gt;                if (meExp != null)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="xx6e"  style="font-size:78%;"&gt;&lt;span id="rs6d"&gt;&lt;b id="m_z:"&gt;&lt;i id="t1z_"&gt;                {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="rk45"  style="font-size:78%;"&gt;&lt;span id="q6jf"&gt;&lt;b id="nfqp"&gt;&lt;i id="i31c"&gt;                    renderException(output, meExp);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="y08v"  style="font-size:78%;"&gt;&lt;span id="ugdr"&gt;&lt;b id="ka75"&gt;&lt;i id="h9d2"&gt;                    return;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="brd4"  style="font-size:78%;"&gt;&lt;span id="nztw"&gt;&lt;b id="fgnx"&gt;&lt;i id="fvki"&gt;                }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="uezj"  style="font-size:78%;"&gt;&lt;span id="uzgs"&gt;&lt;b id="tzys"&gt;&lt;i id="syw6"&gt;                //&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="w9vm"  style="font-size:78%;"&gt;&lt;span id="nuto"&gt;&lt;b id="jh2."&gt;&lt;i id="uv9o"&gt;                EnsureChildControls();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="nzlk"  style="font-size:78%;"&gt;&lt;span id="wujw"&gt;&lt;b id="x73i"&gt;&lt;i id="b.ze"&gt;                output.Write("&lt;/i&gt;&lt;/b&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="'ms-vb'" width="100%"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;b id="x73i"&gt;&lt;i id="b.ze"&gt;Enter the first letter of any state : ");&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;span id="q4_l"  style="font-size:78%;"&gt;&lt;span id="f6ea"&gt;&lt;b id="l5ac"&gt;&lt;i id="yu20"&gt;                oScriptManager.RenderControl(output);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="jgx3"  style="font-size:78%;"&gt;&lt;span id="yy3q"&gt;&lt;b id="s74-"&gt;&lt;i id="lq97"&gt;                oTextBox.RenderControl(output);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="aweh"  style="font-size:78%;"&gt;&lt;span id="ii4i"&gt;&lt;b id="m-k9"&gt;&lt;i id="dwxf"&gt;                oAutoCompleteExtender.RenderControl(output);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="z:t7"  style="font-size:78%;"&gt;&lt;span id="f6ou"&gt;&lt;b id="t4az"&gt;&lt;i id="brh4"&gt;                output.Write("&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tr&gt;&lt;b id="t4az"&gt;&lt;i id="brh4"&gt;");&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;span id="me7-"  style="font-size:78%;"&gt;&lt;span id="rzd7"&gt;&lt;b id="jwo2"&gt;&lt;i id="o3tp"&gt;                output.Write("&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b id="jwo2"&gt;&lt;i id="o3tp"&gt;");&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="zufu"  style="font-size:78%;"&gt;&lt;span id="vgdk"&gt;&lt;b id="gose"&gt;&lt;i id="zmxr"&gt;            }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="eskh"  style="font-size:78%;"&gt;&lt;span id="epjq"&gt;&lt;b id="vlxe"&gt;&lt;i id="prsh"&gt;            catch (Exception ex)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="n333"  style="font-size:78%;"&gt;&lt;span id="sjye"&gt;&lt;b id="dnp4"&gt;&lt;i id="ode7"&gt;            {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="dw9l"  style="font-size:78%;"&gt;&lt;span id="c5py"&gt;&lt;b id="u:x."&gt;&lt;i id="sfmb"&gt;                renderException(output, ex);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="l0.e"  style="font-size:78%;"&gt;&lt;span id="jzb:"&gt;&lt;b id="qpqi"&gt;&lt;i id="be2k"&gt;            }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="f9bb"  style="font-size:78%;"&gt;&lt;span id="impv"&gt;&lt;b id="lo:d"&gt;&lt;i id="b69:"&gt;        }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="v0q0"  style="font-size:78%;"&gt;&lt;span id="h_bl"&gt;&lt;b id="xjry"&gt;&lt;i id="i:s8"&gt;        private void renderException(HtmlTextWriter output, Exception e)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="bdly"  style="font-size:78%;"&gt;&lt;span id="ckcy"&gt;&lt;b id="t8mu"&gt;&lt;i id="s_xe"&gt;        {&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="o.-4"  style="font-size:78%;"&gt;&lt;span id="vq6d"&gt;&lt;b id="gy1h"&gt;&lt;i id="m4rr"&gt;            output.Write(string.Format("Message: {0}&lt;br /&gt;Source: {1}&lt;br /&gt;Stack Trace: {2}", e.Message, e.Source, e.StackTrace));&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="de1c"  style="font-size:78%;"&gt;&lt;span id="cmk9"&gt;&lt;b id="py.2"&gt;&lt;i id="yp-9"&gt;        }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="bgy1"  style="font-size:78%;"&gt;&lt;span id="go6w"&gt;&lt;b id="hzwa"&gt;&lt;i id="j1fl"&gt;    }&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="dzhv"  style="font-size:78%;"&gt;&lt;span id="g-.e"&gt;&lt;b id="ug.5"&gt;&lt;i id="kf.n"&gt;}&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p id="cmg4" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p id="cmg4" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;You web part should also have script manager control (if its no there in the master page), like below...&lt;/p&gt;&lt;br /&gt;&lt;p id="cmg4" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;            &lt;span id="mj-l"&gt;&lt;b id="r_:u"&gt;&lt;i id="bu1p"&gt;   oScriptManager = new ScriptManager();&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="o-85"&gt;&lt;b id="xie_"&gt;&lt;i id="tlb-"&gt;                oScriptManager.ID = "oScriptManagerId";&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="r9lg"&gt;&lt;b id="fqhz"&gt;&lt;i id="oyh."&gt;                oScriptManager.EnablePageMethods = true;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="lllx"&gt;&lt;b id="fmnx"&gt;&lt;i id="j5tu"&gt;                this.Controls.Add(oScriptManager);&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p id="nmlj" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="u2x1" style=";font-family:Arial;font-size:9;"  &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p id="o424" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b id="uish"&gt;&lt;span id="sck2" style=";font-family:Arial;font-size:9;"  &gt;Step 7:&lt;/span&gt;&lt;/b&gt;&lt;span id="a.6l" style=";font-family:Arial;font-size:9;"  &gt; Deploy the webpart and Do iisreset&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p id="o424" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p id="o424" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Now your web part will show the auto complete drop down with ajax interface.&lt;/p&gt;&lt;span id="q3_2" style=";font-family:Arial;font-size:9;"  &gt;&lt;br /&gt;&lt;/span&gt;  &lt;p id="j0n1" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="r6qp" style=";font-family:Arial;font-size:9;"  &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p id="zglc" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="twsr" style=";font-family:Arial;font-size:9;"  &gt;If you type a first letter of field column value that you gave in the &lt;i id="hvav"&gt;Step 6, &lt;/i&gt;it will fetch the all record for that first letter and will populate in auto complete drop down box.&lt;/span&gt;&lt;/p&gt;  &lt;p id="t5y1" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="r6.:" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="kwth"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p id="ks.i" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="olmu" style=";font-family:Arial;font-size:9;"  &gt;For example in your list if you have stored all 49 states and if you type “N” in the text box, it will populate auto complete dropdown with “NewYork”,”NewJersey”, etc&lt;/span&gt;&lt;/p&gt;  &lt;p id="fl42" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="u6uc" style=";font-family:Arial;font-size:9;"  &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p id="r3wu" class="MsoNormal" style="background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span id="f_d5" style=";font-family:Arial;font-size:9;"  &gt;&lt;span id="r62a"&gt;&lt;b id="mci-"&gt;Note: Please don’t forget to replace your sitename, listname and column name as mentioned in step 5.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-5812845873987377988?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/5812845873987377988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/5812845873987377988'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2007/11/ajax-in-moss-2007.html' title='AJAX in MOSS 2007'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-1274917478892983140</id><published>2007-10-20T12:04:00.000-07:00</published><updated>2008-04-24T12:59:07.574-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SystemUpdatem'/><category scheme='http://www.blogger.com/atom/ns#' term='EventHandler in MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='ItemUpdated'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='ListItemUpdate'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='EventHandler'/><title type='text'></title><content type='html'>&lt;span style=";font-family:verdana;font-size:100%;" id="jtzq"  &gt;&lt;span id="nvxz"&gt;&lt;b id="xkh."&gt;&lt;span style="font-size:180%;"&gt;Avoid recursive updates in event handler&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span id="hem3"&gt;&lt;span id="nvxz"&gt;&lt;span id="mcvb"&gt;I wrote a ItemUpdated event for a custom List (&lt;span id="isy5"&gt;&lt;i id="e5fz"&gt;lets assume the list name is &lt;/i&gt;&lt;/span&gt;&lt;span id="q:nf"&gt;&lt;b id="lwt3"&gt;&lt;i id="r:nl"&gt;mylist&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;) and my custom ItemUpdated event again updating a field value of the same &lt;span id="b627"&gt;&lt;b id="o.jz"&gt;&lt;i id="m_-4"&gt;mylist&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="nvxz"&gt;&lt;b id="mhev"&gt;&lt;span id="s5bb"&gt;&lt;i id="fc9x"&gt;&lt;b id="n58e"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span id="nvxz"&gt;&lt;span id="s5bb"&gt;&lt;span id="ft:3"&gt;&lt;span id="jrm4"&gt;In this scenario the ItemUpdate event is getting triggered again and again (i don't remember how many times:)), as we call the update method for the same list inside the event handler(i have given below the code)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="nvxz"&gt;&lt;b id="mhev"&gt;&lt;span id="s5bb"&gt;&lt;i id="fc9x"&gt;&lt;span id="ft:3"&gt;&lt;span id="jrm4"&gt;&lt;br /&gt;&lt;span style="background-color: rgb(255, 255, 255);" id="byl:"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span id="j5i6"&gt;&lt;span id="nvxz"&gt;&lt;span id="s5bb"&gt;&lt;i id="fc9x"&gt;&lt;span id="ft:3"&gt;&lt;span id="jrm4"&gt;&lt;span style="background-color: rgb(255, 255, 255);" id="byl:"&gt;&lt;span id="cwr_" style="color: rgb(0, 0, 0);"&gt;&lt;b id="d6.v"&gt;Code that updates list recursively in ItemUpdated Event&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="nvxz"&gt;&lt;span style="color: rgb(51, 51, 255);" id="s5bb"&gt;&lt;i id="fc9x"&gt;&lt;span id="ft:3"&gt;&lt;span id="jrm4"&gt;&lt;span style="background-color: rgb(255, 255, 255);" id="byl:"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" id="htuh" &gt;        public override void ItemUpdated(SPItemEventProperties properties)&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="tfqm" &gt;        {&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="mcha" &gt;                using (spWeb = properties.OpenWeb())&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="p169" &gt;                {&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="a9:o" &gt;                    spWeb.AllowUnsafeUpdates = true;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="tx07" &gt;                    properties.ListItem["MyColumnName"] = "NewValueToUpdate";&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="kjbz" &gt;                    properties.ListItem.SystemUpdate(false);&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="w6pj" &gt;                    spWeb.AllowUnsafeUpdates = false;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="m75z" &gt;                }&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" id="m_b9" &gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;b id="mhev"&gt;&lt;span id="s5bb"&gt;&lt;i id="fc9x"&gt;&lt;span id="ft:3"&gt;&lt;span id="jrm4"&gt;&lt;span style="background-color: rgb(255, 255, 255);" id="byl:"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span id="u5g0"&gt;&lt;br /&gt;&lt;br /&gt;To Avoid this recursive call, eventhanler has DisableEventFiring() method before the Update method is getting called and pls dont forget to call EnableEventFiring() method after the Update.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span id="aw3g"&gt;&lt;b id="lb00"&gt;Corrected Code which will not call ItemUpdated event recurcively&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span id="t653" style="color: rgb(51, 51, 255); font-weight: bold;font-size:85%;" &gt;&lt;i id="bjc6"&gt;     public override void ItemUpdated(SPItemEventProperties properties)&lt;br /&gt;    {&lt;br /&gt;            using (spWeb = properties.OpenWeb())&lt;br /&gt;            {&lt;br /&gt;                spWeb.AllowUnsafeUpdates = true;&lt;br /&gt;                //&lt;br /&gt;                &lt;/i&gt;&lt;span id="xnfp" style="color: rgb(39, 78, 19);"&gt;&lt;i id="zefq"&gt;this.DisableEventFiring();&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i id="yli2"&gt;                    //&lt;br /&gt;                properties.ListItem["MyColumnName"] = "NewValueToUpdate";&lt;br /&gt;                properties.ListItem.SystemUpdate(false);&lt;br /&gt;                //&lt;br /&gt;                &lt;/i&gt;&lt;span id="h43v" style="color: rgb(39, 78, 19);"&gt;&lt;i id="ahny"&gt;this.EnableEventFiring();&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i id="qh2h"&gt;                    spWeb.AllowUnsafeUpdates = false;&lt;br /&gt;            }&lt;br /&gt;    }&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-1274917478892983140?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/1274917478892983140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/1274917478892983140'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2008/04/avoid-recursive-updates-in-event.html' title=''/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-9028315734041613714</id><published>2007-08-16T15:18:00.000-07:00</published><updated>2008-04-24T13:00:35.604-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SystemUpdatem'/><category scheme='http://www.blogger.com/atom/ns#' term='ListItem'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='ListItemUpdate'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Update Vs SystemUpdate</title><content type='html'>Many of you might noticed that share point ListItem has Update() method as well as SystemUpdate().&lt;br /&gt;&lt;br /&gt;What is the difference between these two methods and why MOSS has two different APIs for updating an ListItem ?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="m379"  style="font-size:100%;"&gt;ListItem.Update() will....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul id="qgbd" style="font-weight: bold;"&gt;&lt;li style="font-weight: normal;" id="zppf"&gt;&lt;span style="font-size:100%;"&gt;Creates new version automatically for each and every update&lt;/span&gt;&lt;/li&gt;&lt;li id="sj2o"&gt;&lt;span style="font-weight: normal;font-size:100%;" &gt;Updates the Modifer field details with SystemAccount&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="wpmy"  style="font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;ListItem.SystemUpdate()&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul id="jnmu"&gt;&lt;li id="ahgc"&gt;&lt;span style="font-size:100%;"&gt;Don't create new version for updates&lt;/span&gt;&lt;/li&gt;&lt;li id="ara7"&gt;&lt;span style="font-size:100%;"&gt;Updates the Modifer field details with the user details who updates the ListItem&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-9028315734041613714?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/9028315734041613714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/9028315734041613714'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2007/10/update-vs-systemupdate.html' title='Update Vs SystemUpdate'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-6331783911463757113</id><published>2007-06-22T17:08:00.000-07:00</published><updated>2008-04-24T13:01:38.103-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Master Page In MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MasterPages'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Master Pages in MOSS 2007</title><content type='html'>&lt;p&gt;&lt;span style="font-size:6;"&gt;Master Pages in MOSS 2007&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:6;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;'MasterPages' feature in sharepoint 2007 makes the entire customization job easy.In 2003 we used to face lot of issues to get the same look and feel and the standard behaviour for overall site. In 2007, customizing the look and feel for the entire site can be done in a simple way by using '&lt;strong&gt;MasterPage' &lt;/strong&gt;feature.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;span style="font-size:100%;"&gt;'Master Page' concept has come from .Net framework 2.0, Its been used in Asp.Net 2.0. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Basically a 'MasterPage' is a Asp.Net file with an extension '.master'. 'Master Page' will have a predefined layouts and that can be inherited throughout the site.So to modify the look and feel of the entier site, you can modify the master page and that will refelect the whole site. In SPS 2007 pages will be rendered with the combination of 'MasterPages', 'PageLayouts' and 'The content Type'.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Page Layouts are templates with the definetion of the content structure to dsiplay, usually page layouts are associated with the content types(&lt;a title="Click here for Content Types" href="http://sharepointism.blogspot.com/2007/04/content-types-in-moss-2007-in-this_06.html" target="_blank"&gt;Click here for Content Types&lt;/a&gt;).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Creating a custom Master Page&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Go to Templates-&amp;gt;Global, copy and paste the default.master, name the new master page as 'MySpace.Master'&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Now open the 'MySpace.Master' in your favouite Asp.Net ide and do the required changes.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img style="width: 775px; height: 599px;" src="http://docs.google.com/File?id=dfz378r6_55hgddrhc6" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Note: I have changed the backgound color, alignment and width of the default master page.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Adding the Custom Master Page in Master Page Gallery&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Once the new master page is created we need to add it in the master page gallery to apply it for all the pages.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Go to &lt;strong&gt;'SiteActions'&lt;/strong&gt; -&amp;gt; '&lt;strong&gt;SiteSettings' -&amp;gt; 'Galleries' -&amp;gt; 'Master Pages'&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;img style="width: 803px; height: 395px;" src="http://docs.google.com/File?id=dfz378r6_64ggp6nccr" /&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;In gallaries page click upload to Upload the custom master page&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img style="width: 738px; height: 325px;" src="http://docs.google.com/File?id=dfz378r6_60qqrmjcd3" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Once the mastre page is uploaded you should see it in gallaries list...&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;img style="width: 802px; height: 413px;" src="http://docs.google.com/File?id=dfz378r6_62f6p3h8g2" /&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Applying the Custom Master Page for Sites&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;To apply the custom master page, we need activate '&lt;strong&gt;Office SharePoint Server Publishing Infrastructure&lt;/strong&gt;' feature so that we will get the '&lt;strong&gt;Master Pages&lt;/strong&gt;' link under '&lt;strong&gt;Look and Feel&lt;/strong&gt;' section of site settings page.This 'Master Page' will let administrator to change the master pages.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;To activate '&lt;strong&gt;Office SharePoint Server Publishing Infrastructure&lt;/strong&gt;' , go to '&lt;strong&gt;SiteActions&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Site Settings&lt;/strong&gt;' -&amp;gt; and click '&lt;strong&gt;Site Collection features&lt;/strong&gt;' link&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img style="width: 835px; height: 473px;" src="http://docs.google.com/File?id=dfz378r6_56dqd84sf4" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;In site collection feature page activate the '&lt;strong&gt;Office SharePoint Server Publishing Infrastructure&lt;/strong&gt;' &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img style="width: 831px; height: 408px;" src="http://docs.google.com/File?id=dfz378r6_57ch9gxhgs" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;once its activated you must see '&lt;strong&gt;Master Pages&lt;/strong&gt;' link under '&lt;strong&gt;Look and Feel&lt;/strong&gt;' Section&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;img title="MaterPage link under look and feel section" style="width: 836px; height: 473px;" src="http://docs.google.com/File?id=dfz378r6_58fnggwjgd" /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Now clikc 'Master Pages' link to apply the new master page for the entier site, In '&lt;strong&gt;site master page settings&lt;/strong&gt;' page &lt;/span&gt;&lt;span style="font-size:100%;"&gt;select the custom master pages for both the 'System' and 'Site' master pages(as given below) and you should be able to see the modifed changes throught the site.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;There are two types of master pages used in sharepoint 2007.They are 'Site Master Page' and 'System Master Page' &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Site Master Pages are used for all publishing pages&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img style="width: 835px; height: 406px;" src="http://docs.google.com/File?id=dfz378r6_66c39fktdg" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;System Master Pages are used for forms and views within the site&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;img style="width: 812px; height: 300px;" src="http://docs.google.com/File?id=dfz378r6_677kfgvwft" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;Finally the application with the custom master page will look like...&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="width: 943px; height: 457px;" src="http://docs.google.com/File?id=dfz378r6_68c8xd5rgz" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-6331783911463757113?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/6331783911463757113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/6331783911463757113'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2007/04/master-pages-in-moss-2007-masterpages.html' title='Master Pages in MOSS 2007'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-6811234186917433797</id><published>2007-05-11T08:39:00.000-07:00</published><updated>2008-04-24T13:02:36.939-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SiteCoulmns In MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='SiteColumns'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom Column'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Site Columns in MOSS 2007</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:200;"&gt;&lt;strong&gt;Site Columns in MOSS 2007&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:6;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;Site Column is one of the coolest featuer in MOSS 2007. Simply Site Column is a Custom Column which can be used/added in any list/content type across the site.&lt;br /&gt;&lt;br /&gt;For example we can create a custom site column '&lt;strong&gt;Manager Code&lt;/strong&gt;' and can inherit it in any list/content type of the entier site.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:180%;"&gt;Steps to create new site Column:&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;# 1 : &lt;/strong&gt;Go to &lt;strong&gt;Site actions&lt;/strong&gt; -&amp;gt; &lt;strong&gt;site Settings &lt;/strong&gt;and click &lt;strong&gt;Site Columns&lt;/strong&gt; under &lt;strong&gt;Galleries&lt;br /&gt;&lt;br /&gt;&lt;img title="Create Site Column" style="width: 644px; height: 445px;" src="http://docs.google.com/File?id=dfz378r6_42dk82gf" /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;#2 : &lt;/strong&gt;click &lt;strong&gt;Create&lt;/strong&gt; in &lt;strong&gt;Site Column Gallery&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;img style="width: 856px; height: 600px;" src="http://docs.google.com/File?id=dfz378r6_44g5mt48" /&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;#3 : In New Site Column screen enter the &lt;strong&gt;Column Name&lt;/strong&gt;, &lt;strong&gt;Type &lt;/strong&gt;, &lt;strong&gt;Group&lt;/strong&gt;(I have created new group here) and &lt;strong&gt;Description&lt;/strong&gt;. (if you give the exsisting or reserved column name you will get 'The column name that you entered is already in use or reserved. Choose another name.' error).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;img style="width: 920px; height: 714px;" src="http://docs.google.com/File?id=dfz378r6_46gt7vgc" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# 4 : Now is new site coulmn '&lt;strong&gt;ManagerCode&lt;/strong&gt;' has been created , you should see it in 'Site Column Gallery' page under '&lt;strong&gt;MySiteColumns&lt;/strong&gt;'.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;img style="width: 807px; height: 279px;" src="http://docs.google.com/File?id=dfz378r6_47g4hp92" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:180%;"&gt;Steps to Use the new site Columns:&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:180%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;# 1 : &lt;/strong&gt;Once Custom site columns are created, its ready to use in &lt;strong&gt;Content Type&lt;/strong&gt;/&lt;strong&gt;Lists&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;For Lists (or for content types go to Site Actions-&amp;gt;Site Settings-&amp;gt;Site Content Types(under gallery)-&amp;gt;Content Type) , click '&lt;strong&gt;Add from new site column&lt;/strong&gt;' link under &lt;strong&gt;Columns&lt;/strong&gt; section in &lt;strong&gt;settings page &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;img style="width: 484px; height: 188px;" src="http://docs.google.com/File?id=dfz378r6_49db7d6x" /&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;# 2 : &lt;/strong&gt;In '&lt;strong&gt;Add Columns to Site Content Type'&lt;/strong&gt; select the coulmn group name &amp;amp; column name and add to the selected columns to 'columns to add' section and click ok&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;img style="width: 524px; height: 425px;" src="http://docs.google.com/File?id=dfz378r6_50f7d8pn" /&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-size:100%;"&gt;Now you should be able to see the custom site column under the columns section of List/Content types.&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-6811234186917433797?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/6811234186917433797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/6811234186917433797'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2007/04/site-columns-in-moss-2007-site-column.html' title='Site Columns in MOSS 2007'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2915476237107881415.post-2318638597258715560</id><published>2007-04-06T22:34:00.000-07:00</published><updated>2008-04-24T13:03:32.423-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ContentTypes'/><category scheme='http://www.blogger.com/atom/ns#' term='SiteColumns'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='ContentTypes in MOSS 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Content Types in MOSS 2007</title><content type='html'>&lt;span style="font-size:200;"&gt;&lt;br /&gt;&lt;h2 class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;Content Types in MOSS 2007&lt;/h2&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;In this article I will try to describe the one of the best feature in Microsoft office Share Point 2007 called &lt;strong&gt;Content Types&lt;/strong&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Content types are simply collection of contents.Each content in a Content type can have different settings.Basically it is a reusable collection of settings which you want to apply to a particular category of contents.&lt;br /&gt;&lt;br /&gt;Simply, We can map different content types(with different settings or templates or metadata) to a document library and create new/upload documents in any one of the content type.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Usually content types inherit its parent content type settings. There are four parent content types they are Document, Folder, Lists and Special.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;strong&gt;Let me explain this feature and advantages of Contet Type with an example.&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Assume that we need to create document library for following two different documents with the respective custom column and template...&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;Document Type 1: “&lt;strong&gt;Employee Severance Policy&lt;/strong&gt;” with metadata&lt;span style="font-size:0;"&gt; &lt;/span&gt;“&lt;strong&gt;Business Group &lt;/strong&gt;”&lt;br /&gt;&lt;br /&gt;Document Type 2: “&lt;strong&gt;Contingent Worker Expense&lt;/strong&gt;” with metadata “&lt;strong&gt;Region &lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;In this scenario in SPS 2003 we are forced to create two different document libraries for above documents as their metadata and the template is different. &lt;strong&gt;But in MOSS 2007 its not required to have two different document libraries as we could able to store in a same document library by using Content Types feature.&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b&gt;&lt;span style="font-size:18;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;h2&gt;Creating Content Type for “Employee Severance Policy”&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Let me create a Content Type for “Employee Severance Policy” and “Contingent Worker Expense” documents.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;From Main Page Go to &lt;strong&gt;SiteActions &lt;/strong&gt;-&amp;gt; &lt;strong&gt;SiteSettings&lt;/strong&gt; -&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Clik ‘&lt;strong&gt;SiteContentType&lt;/strong&gt;’ (Under Galleries Section)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 765px; height: 498px;" src="http://docs.google.com/File?id=dfz378r6_1cmkd8c" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;Click Create new in site content type gallery…&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 881px; height: 524px;" src="http://docs.google.com/File?id=dfz378r6_2x8fwfd" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;br /&gt;&lt;br /&gt;Enter &lt;span style="font-size:0;"&gt;&lt;/span&gt;the new content type &lt;b&gt;Name ,Description and Group&lt;/b&gt;. I have selected the new group option and&lt;span style="font-size:0;"&gt; &lt;/span&gt;created a new group called ‘&lt;b&gt;Employee Severance Policy&lt;/b&gt; ’।&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Now clik ok, so the new content type will be created like below…&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 879px; height: 604px;" src="http://docs.google.com/File?id=dfz378r6_3vc962d" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Now clik ‘&lt;b&gt;Add from new site column&lt;/b&gt;’ link under column section to add a new Drop Down column called ‘&lt;b&gt;Business Group&lt;/b&gt;’ with the different values like ‘Trade’, ‘Finance’ , ‘Marketing’ , ect.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 877px; height: 859px;" src="http://docs.google.com/File?id=dfz378r6_4dn7gbv" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Click ‘&lt;b&gt;OK’&lt;/b&gt; button to create the new column and it will be under &lt;b&gt;Columns&lt;/b&gt; section of ‘&lt;b&gt;Employee Severance Policy&lt;/b&gt;’s site content type page…&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 854px; height: 415px;" src="http://docs.google.com/File?id=dfz378r6_5fmrf4w" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Click ‘&lt;b&gt;Advanced Settings&lt;/b&gt;’ link under &lt;b&gt;Settings&lt;/b&gt; section of ‘&lt;b&gt;Employee Severance Policy&lt;/b&gt;’s site content type page&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 842px; height: 442px;" src="http://docs.google.com/File?id=dfz378r6_6fqgg9k" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;In advanced settings page upload the document template file for &lt;b&gt;Employee Severance Policy and&lt;/b&gt; click ok…&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Finally the new Content Type for ‘&lt;b&gt;Employee Severance Policy&lt;/b&gt;’ is created with custom column called ‘&lt;b&gt;Business Group&lt;/b&gt;’&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style=";font-family:Times New Roman;font-size:180%;"  &gt;Creating Content Type for “Contingent Worker Expense”&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;span style="font-size:14;"&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Next I’m going to create a Content Type for ‘&lt;strong&gt;Contingent Worker Expense&lt;/strong&gt;’ templates with a custom column called ‘&lt;strong&gt;Region&lt;/strong&gt;’&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 830px; height: 404px;" src="http://docs.google.com/File?id=dfz378r6_7tpnf6g" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;Click Create new in site content type gallery…&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 835px; height: 544px;" src="http://docs.google.com/File?id=dfz378r6_8dzz6t2" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;br /&gt;&lt;br /&gt;Enter&lt;span style="font-size:0;"&gt; &lt;/span&gt;the new content type &lt;b&gt;Name ,Description and Group&lt;/b&gt;. I have selected the new group option and&lt;span style="font-size:0;"&gt; &lt;/span&gt;created a new group called ‘&lt;b&gt;Contingent Worker Expense&lt;/b&gt;’।&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Now clik ok, so the new content type will be created like below…&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 831px; height: 579px;" src="http://docs.google.com/File?id=dfz378r6_10g5pdhs" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Now clik ‘&lt;b&gt;Add from new site column&lt;/b&gt;’ link under column section to add a new Drop Down column called ‘&lt;b&gt;Region&lt;/b&gt;’ with the different values like ‘Canada’, ‘India’ , ‘UK’ ,’US’, ect.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 852px; height: 854px;" src="http://docs.google.com/File?id=dfz378r6_11fwt5fr" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;The new column will be created after ‘OK’ click. It will be displayed under &lt;b&gt;Columns&lt;/b&gt; section of ‘&lt;b&gt;Contingent Worker Expense&lt;/b&gt;’s site content type page…&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 845px; height: 400px;" src="http://docs.google.com/File?id=dfz378r6_12cj4hwr" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Click ‘&lt;b&gt;Advanced Settings&lt;/b&gt;’ link under &lt;b&gt;Settings&lt;/b&gt; section of ‘&lt;b&gt;Contingent Worker Expense&lt;/b&gt;’s site content type page&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 862px; height: 444px;" src="http://docs.google.com/File?id=dfz378r6_13ghvz8x" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;In advanced settings page upload the document template file for &lt;b&gt;Contingent Worker Expense and&lt;/b&gt; click ok…&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Finally the new Content Type for ‘&lt;b&gt;Contingent Worker Expense&lt;/b&gt;’ is created with custom column called ‘&lt;b&gt;Region&lt;/b&gt;’&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;Creating Document Library ‘CorpDocLib’, Assigning Content Types&lt;/b&gt; ‘&lt;b&gt;Employee Severance Policy&lt;/b&gt;’ &lt;b&gt;and&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:14;"&gt; &lt;/span&gt;&lt;span style="font-size:180%;"&gt;‘&lt;b&gt;Contingent Worker Expense&lt;/b&gt;’ &lt;b&gt;for ‘CorpDocLib’.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Frist Lets Create a documents library called ‘&lt;b&gt;CorpDocLib&lt;/b&gt;’ and Assign the new ‘&lt;b&gt;Content Types&lt;/b&gt;’ for ‘&lt;b&gt;CropDocLib&lt;/b&gt;’ document library&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 875px; height: 552px;" src="http://docs.google.com/File?id=dfz378r6_14hd6zj2" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;br /&gt;&lt;br /&gt;Go to &lt;b&gt;Setting-&amp;gt; Document Library&lt;/b&gt; Settings of ‘&lt;b&gt;CorpDocLib’&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 513px; height: 278px;" src="http://docs.google.com/File?id=dfz378r6_15g4m66x" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;In &lt;b&gt;CropDocLib’s Settings&lt;/b&gt; screen click &lt;b&gt;Advanced Setting&lt;/b&gt; under &lt;b&gt;General Settings&lt;/b&gt; section&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 874px; height: 594px;" src="http://docs.google.com/File?id=dfz378r6_16dcs4cf" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;In Advanced Settings page, select ‘&lt;b&gt;Allow Management of content types?’&lt;/b&gt; as &lt;b&gt;‘Yes&lt;/b&gt;’&lt;span style="font-size:0;"&gt; &lt;/span&gt;and click ‘&lt;b&gt;Ok&lt;/b&gt;’ button….&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 869px; height: 646px;" src="http://docs.google.com/File?id=dfz378r6_17c9g2dq" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Now we will be able to see the new section called ‘&lt;b&gt;Content Types&lt;/b&gt;’ next to ‘&lt;b&gt;General Settings&lt;/b&gt;’ section in setting page of ‘&lt;b&gt;CorpDocLib&lt;/b&gt;’&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="width: 923px; height: 651px;" src="http://docs.google.com/File?id=dfz378r6_18cg9gpd" /&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once the content type section is added, we could be able to assign the content types for the documents library.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;= o ns = "urn:schemas-microsoft-com:office:office" /&amp;gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;Now click ‘&lt;b&gt;Add from existing site content types&lt;/b&gt;’ under ‘&lt;b&gt;Content Types&lt;/b&gt;’ section of ‘&lt;b&gt;CropDocLib&lt;/b&gt;’s settings page.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="width: 879px; height: 450px;" src="http://docs.google.com/File?id=dfz378r6_19cxd62s" /&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;In &lt;b&gt;Add content types&lt;/b&gt; page select ‘&lt;b&gt;Employee Severance Policy&lt;/b&gt;’ and ‘&lt;b&gt;Contingent Worker Expense&lt;/b&gt;’ and click add button to get under ‘content types to add’&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 548px; height: 399px;" src="http://docs.google.com/File?id=dfz378r6_20hq777" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;Now click ‘&lt;b&gt;Ok&lt;/b&gt;’ button…&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 859px; height: 614px;" src="http://docs.google.com/File?id=dfz378r6_21c8xf5v" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Now both the content types (‘&lt;b&gt;Employee Severance Policy&lt;/b&gt;’ and ‘&lt;b&gt;Contingent Worker Expense&lt;/b&gt;’) should be under ‘&lt;b&gt;Content Types&lt;/b&gt;’ Section and both the custom columns( ‘&lt;b&gt;Business Group&lt;/b&gt;’ and ‘&lt;b&gt;Region’)&lt;/b&gt; should be under ‘&lt;b&gt;Columns&lt;/b&gt;’ section।&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b&gt;&lt;span style="font-size:14;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Uploading Documents for Content Types ‘Employee Severance Policy’ and ‘Contingent Worker Expense’ in ‘CropDocLib’ document library।&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Go to ‘&lt;b&gt;CorpDocLib&lt;/b&gt;’ document library , Click ‘&lt;b&gt;Upload&lt;/b&gt;’ -&amp;gt; ‘&lt;b&gt;UploadDocument&lt;/b&gt;’ , browse the document to be uploaded and click ok&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="width: 1102px; height: 278px;" src="http://docs.google.com/File?id=dfz378r6_22g95rjm" /&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Now we will get the ‘edit item’ screen where in we will be asked to select the content type for the uploaded document with an warning message ‘&lt;b&gt;The document was uploaded successfully. Use this form to update the properties of the document.&lt;/b&gt;’&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="width: 835px; height: 348px;" src="http://docs.google.com/File?id=dfz378r6_23cbvr4v" /&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;Select the content type ‘Contingent Worker Expense’ for the uploaded document&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="width: 728px; height: 371px;" src="http://docs.google.com/File?id=dfz378r6_24cgjhh9" /&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;Now we be able to see the custom field ‘&lt;b&gt;Region&lt;/b&gt;’ which we have added for ‘&lt;b&gt;Contingent Worker Expense&lt;/b&gt;’ content type.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 838px; height: 372px;" src="http://docs.google.com/File?id=dfz378r6_28cdw3wx" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Select a value for custom field ‘&lt;b&gt;Region&lt;/b&gt;’and click ok.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;= o ns = "urn:schemas-microsoft-com:office:office" /&amp;gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;Repeat the same for ‘&lt;b&gt;Employee Severance Policy&lt;/b&gt;’ (upload a new Employee Severance Policy document, select the value for custom field ‘Business Groups’ and click ok)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;img style="width: 873px; height: 278px;" src="http://docs.google.com/File?id=dfz378r6_29g5td94" /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;Now the document library ‘CropDocLib’ has two documents with two different templates assigned to it…।&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2915476237107881415-2318638597258715560?l=sharepointism.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/2318638597258715560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2915476237107881415/posts/default/2318638597258715560'/><link rel='alternate' type='text/html' href='http://sharepointism.blogspot.com/2007/04/content-types-in-moss-2007-in-this_06.html' title='Content Types in MOSS 2007'/><author><name>Ranjith</name><uri>http://www.blogger.com/profile/01847887246695606850</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
