<?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-5630361457638146769</id><updated>2011-11-18T00:12:24.827-08:00</updated><category term='project server'/><category term='calendar'/><category term='web part'/><category term='My Sites'/><category term='XCOPY'/><category term='Steelhead'/><category term='crawl'/><category term='column'/><category term='Web Development with ASP.NET'/><category term='query'/><category term='ASP.NET'/><category term='restore'/><category term='MOSS SP2'/><category term='end user'/><category term='sql query'/><category term='List'/><category term='resource'/><category term='MOSS'/><category term='developer'/><category term='performance'/><category term='Folder'/><category term='group'/><category term='admi'/><category term='News'/><category term='training'/><category term='aspx'/><category term='web.config'/><category term='facebook'/><category term='scripting'/><category term='table'/><category term='system'/><category term='sub sites'/><category term='client object model'/><category term='SharePoint 2007'/><category term='MOSS admin'/><category term='enumsites'/><category term='theme'/><category term='70-630'/><category term='SharePoint 2010'/><category term='WSS'/><category term='Consultants'/><category term='filter'/><category term='Share Document'/><category term='ITIL'/><category term='interview'/><category term='Cumulative Updates'/><category term='View'/><category term='alert'/><category term='server admin'/><category term='mossrap'/><category term='coding'/><category term='SSRS'/><category term='SPDisposeCheck.exe'/><category term='metada'/><category term='network'/><category term='fun'/><category term='orphan site'/><category term='Shared Services Administration'/><category term='error'/><category term='widget'/><category term='add user'/><category term='Excel'/><category term='admin'/><category term='Patch'/><category term='workflow'/><category term='permission'/><category term='Service Pack'/><category term='SharePoint designer'/><category term='Client Code'/><category term='Tutorial'/><category term='sps2003'/><category term='stsadm'/><category term='Site template'/><category term='Excel Services'/><category term='Moss issue'/><category term='download'/><category term='PowerShell'/><category term='Groove'/><category term='load balance'/><category term='Index'/><category term='reportadmin'/><category term='ISA2006'/><category term='Macro'/><category term='domain'/><category term='vbs'/><category term='Link'/><category term='CU'/><category term='WSS SP2'/><category term='improment'/><category term='import list'/><category term='database'/><category term='windows account'/><category term='exam'/><category term='Internet'/><category term='availabilty'/><category term='june CU'/><category term='windows 2008'/><category term='counter'/><category term='wss V3'/><category term='Office'/><category term='web master'/><category term='Cerificate'/><category term='Migration'/><category term='task list'/><category term='People Picker'/><category term='Approval'/><category term='NLBS'/><category term='size'/><category term='codeplex'/><category term='Caching'/><category term='wsp'/><category term='Reporting Services'/><category term='Command'/><category term='HTML calculated column'/><category term='IT Knowledge'/><category term='Content Type'/><category term='sql'/><category term='Install'/><category term='VLOOKUP'/><category term='user porfile'/><category term='upload'/><category term='search'/><category term='MCTS'/><category term='iis log'/><category term='batch file'/><category term='branding sharepoint'/><category term='profile'/><category term='custom list'/><category term='DOS'/><title type='text'>IT knowledge sharing - SharePoint (MOSS 2007 and 2010 )</title><subtitle type='html'>keep track and sharing on my sharepoint knowledge :) nice to meet you all</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default?start-index=101&amp;max-results=100'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>160</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-7502961413402317017</id><published>2011-11-18T00:10:00.001-08:00</published><updated>2011-11-18T00:12:24.928-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='permission'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='client object model'/><title type='text'>Client Object Model - retrieve document library permission</title><content type='html'>&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;public void CheckPermission(string siteUrl, string ListName)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ClientContext clientContext = new ClientContext(siteUrl);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List curList = clientContext.Web.Lists.GetByTitle(ListName);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clientContext.Load(curList.RoleAssignments);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clientContext.ExecuteQuery();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;foreach(RoleAssignment ra in curList.RoleAssignments)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var p = ra.Member;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clientContext.Load(p);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var q = ra.RoleDefinitionBindings;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clientContext.Load(q);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clientContext.ExecuteQuery();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach (RoleDefinition subq in q)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine(p.Title+"=="+subq.Name);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-7502961413402317017?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/7502961413402317017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=7502961413402317017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7502961413402317017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7502961413402317017'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/11/client-object-model-retrieve-document.html' title='Client Object Model - retrieve document library permission'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total><georss:featurename>Penang, Malaysia</georss:featurename><georss:point>5.2632341 100.4846227</georss:point><georss:box>5.0102476 100.16876570000001 5.5162206000000005 100.8004797</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-8813862172136733793</id><published>2011-10-12T05:09:00.001-07:00</published><updated>2011-10-12T05:09:30.582-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='permission'/><category scheme='http://www.blogger.com/atom/ns#' term='Client Code'/><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='group'/><category scheme='http://www.blogger.com/atom/ns#' term='client object model'/><title type='text'>client code : check all the Sharepoint 2010 group Owner</title><content type='html'>&lt;p&gt;static void Main(string[] args)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String sURL = "&lt;a href="http://xxxxx/sites/yyyyy&amp;quot;;"&gt;http://xxxxx/sites/yyyyy";&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientContext clientContext = new ClientContext( sURL);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GroupCollection collGroup = clientContext.Web.SiteGroups;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.Load(collGroup);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.Load(collGroup);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //groups =&amp;gt; groups.Include(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp; group =&amp;gt; group.Owner));&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.ExecuteQuery();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (Group oGroup in collGroup)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(oGroup.Title +"== "+ oGroup.OwnerTitle);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-8813862172136733793?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/8813862172136733793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=8813862172136733793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8813862172136733793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8813862172136733793'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/10/client-code-check-all-sharepoint-2010.html' title='client code : check all the Sharepoint 2010 group Owner'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-8399634325874070467</id><published>2011-10-06T07:15:00.001-07:00</published><updated>2011-10-06T07:15:22.926-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Client Code'/><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='View'/><category scheme='http://www.blogger.com/atom/ns#' term='client object model'/><title type='text'>Retrieve all document library View method with console c#</title><content type='html'>&lt;p&gt;using System;&lt;br&gt;using System.Collections.Generic;&lt;br&gt;using System.Linq;&lt;br&gt;using System.Text;&lt;br&gt;using Microsoft.SharePoint.Client;&lt;br&gt;using SP = Microsoft.SharePoint.Client;&lt;/p&gt; &lt;p&gt;namespace ExtractView&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class SPView&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void allview(string siteUrl , string doclib )&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientContext clientContext = new ClientContext(siteUrl);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Web site = clientContext.Web;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List targetList = site.Lists.GetByTitle(doclib);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewCollection collView = targetList.Views;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewCreationInformation viewInfo = new ViewCreationInformation();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.Load(collView);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.ExecuteQuery();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("this is for document lib" + doclib);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (View oneView in collView)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(oneView.Title);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void alldoc(string siteUrl)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientContext clientContext = new ClientContext(siteUrl);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ListCollection collList = clientContext.Web.Lists;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.Load(collList); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.ExecuteQuery();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (SP.List olist in clientContext.Web.Lists)&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allview(siteUrl, olist.Title);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt; &lt;p&gt;=============================================================================================================&lt;/p&gt; &lt;p&gt;to call this method please create static void main to call it.&lt;/p&gt; &lt;p&gt;using System;&lt;br&gt;using System.Collections.Generic;&lt;br&gt;using System.Linq;&lt;br&gt;using System.Text;&lt;br&gt;using Microsoft.SharePoint.Client;&lt;/p&gt; &lt;p&gt;namespace ExtractView&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class Program&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main(string[] args)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPView listview = new SPView();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; listview.alldoc(args[0]);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt; &lt;p&gt;=================================================================================================================&lt;/p&gt; &lt;p&gt;run the xxx.exe parameter(URL)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-8399634325874070467?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/8399634325874070467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=8399634325874070467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8399634325874070467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8399634325874070467'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/10/retrieve-all-document-library-view.html' title='Retrieve all document library View method with console c#'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-1226621215734628390</id><published>2011-09-14T07:44:00.001-07:00</published><updated>2011-09-14T07:44:19.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='client object model'/><title type='text'>Code to retrieve all the list item detail</title><content type='html'>&lt;pre&gt;using System;&lt;br /&gt;using System.Linq;&lt;br /&gt;using Microsoft.SharePoint.Client;&lt;br /&gt;using SP = Microsoft.SharePoint.Client;&lt;br /&gt;&lt;br /&gt;namespace Microsoft.SDK.SharePointServices.Samples&lt;br /&gt;{&lt;br /&gt;    class RetrieveListItemsInclude&lt;br /&gt;    {&lt;br /&gt;        static void Main()&lt;br /&gt;        {&lt;br /&gt;            string siteUrl = "http://MyServer/sites/MySiteCollection";&lt;br /&gt;&lt;br /&gt;            ClientContext clientContext = new ClientContext(siteUrl);&lt;br /&gt;            SP.List oList = clientContext.Web.Lists.GetByTitle("Announcements");&lt;br /&gt;&lt;br /&gt;            CamlQuery camlQuery = new CamlQuery();&lt;br /&gt;            camlQuery.ViewXml = "&amp;lt;View&amp;gt;&amp;lt;RowLimit&amp;gt;100&amp;lt;/RowLimit&amp;gt;&amp;lt;/View&amp;gt;";&lt;br /&gt;&lt;br /&gt;            ListItemCollection collListItem = oList.GetItems(camlQuery);&lt;br /&gt;&lt;br /&gt;            clientContext.Load(collListItem,&lt;br /&gt;                 items =&amp;gt; items.Include(&lt;br /&gt;                    item =&amp;gt; item.Id,&lt;br /&gt;                    item =&amp;gt; item.DisplayName,&lt;br /&gt;                    item =&amp;gt; item.HasUniqueRoleAssignments));&lt;br /&gt;&lt;br /&gt;            clientContext.ExecuteQuery();&lt;br /&gt;&lt;br /&gt;            foreach (ListItem oListItem in collListItem)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine("ID: {0} \nDisplay name: {1} \nUnique role assignments: {2}",&lt;br /&gt;                    oListItem.Id, oListItem.DisplayName, oListItem.HasUniqueRoleAssignments);&lt;br /&gt;            }Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;source code from &lt;a href="http://msdn.microsoft.com/en-us/library/ee534956.aspx"&gt;here&lt;/a&gt;&lt;/pre&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-1226621215734628390?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/1226621215734628390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=1226621215734628390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1226621215734628390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1226621215734628390'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/09/code-to-retrieve-all-list-item-detail.html' title='Code to retrieve all the list item detail'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5262001692190061733</id><published>2011-09-05T09:14:00.001-07:00</published><updated>2011-09-05T09:14:43.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Client Code'/><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='client object model'/><title type='text'>my first client object testing with the windows form :)</title><content type='html'>&lt;p&gt;follow the step here : &lt;a href="http://www.sharepointkings.com/2011/07/client-object-model-part-1.html"&gt;http://www.sharepointkings.com/2011/07/client-object-model-part-1.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;please remember to add the&amp;nbsp; Microsoft.Sharepoint.Client and Microsoft.Sharepoint.Client.Runtime to References.&lt;/p&gt; &lt;p&gt;*my small step over the cilent obkect model over sp2010&lt;/p&gt; &lt;p&gt;using System;&lt;br&gt;using System.Collections.Generic;&lt;br&gt;using System.ComponentModel;&lt;br&gt;using System.Data;&lt;br&gt;using System.Drawing;&lt;br&gt;using System.Linq;&lt;br&gt;using System.Text;&lt;br&gt;using System.Windows.Forms;&lt;br&gt;using Microsoft.SharePoint.Client;&lt;/p&gt; &lt;p&gt;&lt;br&gt;namespace SP2010&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Form1 : System.Windows.Forms.Form&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Form1()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent(); //not sure this is for what &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smilewithtongueout" alt="Smile with tongue out" src="http://lh3.ggpht.com/-JvC8WbL7sX0/TmT1ceiJGXI/AAAAAAAAAvY/pKkrwrTR58Q/wlEmoticon-smilewithtongueout%25255B2%25255D.png?imgmax=800"&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void LoadData()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string webUrl = "&lt;a href="http://xxxxx/sites/content/support&amp;quot;;"&gt;http://xxxxx/sites/content/support";&lt;/a&gt; //replace this with your site URL&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientContext context = new ClientContext(webUrl);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Web web = context.Web;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.Load(web);&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.ExecuteQuery();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.label1.Text = web.Title + " " + web.Description;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.label2.Text = webUrl;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void button1_Click(object sender, EventArgs e)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadData();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&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/5630361457638146769-5262001692190061733?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5262001692190061733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5262001692190061733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5262001692190061733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5262001692190061733'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/09/my-first-client-object-testing-with.html' title='my first client object testing with the windows form :)'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-JvC8WbL7sX0/TmT1ceiJGXI/AAAAAAAAAvY/pKkrwrTR58Q/s72-c/wlEmoticon-smilewithtongueout%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-1031204951520367560</id><published>2011-08-25T08:06:00.001-07:00</published><updated>2011-08-25T08:06:12.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><title type='text'>Metadata navigation &gt; new SharePoint Server 2010 feature that enables users to dynamically filter lists</title><content type='html'>&lt;h6&gt;Metadata navigation is a new SharePoint Server 2010 feature that enables users to dynamically filter lists so they can find what they need. Metadata navigation enables users to select filter options, and it handles performing the query in the most efficient manner possible. Metadata navigation consists of two parts. One part is a set of navigation controls that let a user filter a list that has navigation hierarchies and key filters. The second part is a mechanism for rearranging and retrying queries.&lt;/h6&gt; &lt;p&gt;Metadata navigation has retry and fallback logic that attempts to perform queries efficiently by using indexes. If a query will return too many results, the query falls back and returns a subset of the results for better performance. If no appropriate query can be made, fallback occurs and the filters are performed on a limited set of results. Metadata navigation automatically creates indexes. Together retry, fallback, and index management make metadata navigation a very important part of working effectively with large lists. There are two kinds of filtering mechanisms: navigation hierarchies and key filters.  &lt;p&gt;Navigation hierarchies use a tree control to navigate hierarchies of folders, content types, choice fields, or managed metadata term sets. This enables users to use a tree control to pivot on a metadata hierarchy, much as how they navigate folders. When users select an item in a hierarchy for a managed metadata column, all items that match the specified term or any of its descendant child terms are displayed. This is called descendant inclusion, and it can be used on fields that are tied to a managed metadata term set. Users can select the item again to filter on only that particular term and not include the descendant child terms. All metadata navigation queries are recursive and display results from all the folders in the list.  &lt;p&gt;Key filters can be configured to perform additional filtering of results within the hierarchy. For example, you can add the Modified By column as a key filter and then type a user name to obtain results where Modified By matches the entered user. For more information, see &lt;a href="http://go.microsoft.com/fwlink/?LinkId=219154"&gt;Metadata navigation and filtering&lt;/a&gt; (http://go.microsoft.com/fwlink/?LinkId=219154). The following figure shows an example of metadata navigation hierarchies and key filters.  &lt;p&gt;&lt;img alt="Screenshot of key filters list" src="http://i.technet.microsoft.com/cc262813.b1a55cb2-f762-4fe8-8aac-89c7d2ad325f(en-us,Office.14).gif"&gt;  &lt;p&gt;&amp;nbsp; &lt;p&gt;from : &lt;a href="http://technet.microsoft.com/en-us/library/cc262813.aspx"&gt;http://technet.microsoft.com/en-us/library/cc262813.aspx&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-1031204951520367560?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/1031204951520367560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=1031204951520367560' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1031204951520367560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1031204951520367560'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/08/metadata-navigation-new-sharepoint.html' title='Metadata navigation &amp;gt; new SharePoint Server 2010 feature that enables users to dynamically filter lists'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-8221554028220047058</id><published>2011-08-05T07:14:00.001-07:00</published><updated>2011-08-05T07:14:33.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Client Code'/><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>First step at sharepoint2010 Client object model</title><content type='html'>&lt;h5&gt;information from : &lt;a href="http://msdn.microsoft.com/en-us/library/ee857094(office.14).aspx#Y4347"&gt;http://msdn.microsoft.com/en-us/library/ee857094(office.14).aspx#Y4347&lt;/a&gt;&lt;/h5&gt; &lt;h5&gt;my first small step &lt;/h5&gt; &lt;h5&gt;To build the application&lt;/h5&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;Start Microsoft Visual Studio 2010.&lt;/p&gt; &lt;li&gt; &lt;p&gt;On the &lt;strong&gt;File&lt;/strong&gt; menu, point to &lt;strong&gt;New&lt;/strong&gt;, and then click &lt;strong&gt;Project&lt;/strong&gt;.&lt;/p&gt; &lt;li&gt; &lt;p&gt;In the &lt;strong&gt;New Project&lt;/strong&gt; dialog box, in the &lt;strong&gt;Recent Template&lt;/strong&gt; pane, expand &lt;strong&gt;Visual C#&lt;/strong&gt;, and then click &lt;strong&gt;Windows&lt;/strong&gt;.&lt;/p&gt; &lt;li&gt; &lt;p&gt;To the right of the &lt;strong&gt;Recent Template&lt;/strong&gt; pane, click &lt;strong&gt;Console Application&lt;/strong&gt;.&lt;/p&gt; &lt;li&gt; &lt;p&gt;By default, Visual Studio creates a project that targets .NET Framework 4, but you must target .NET Framework 3.5. From the list at the upper part of the &lt;strong&gt;File Open&lt;/strong&gt; dialog box, select &lt;strong&gt;.NET Framework 3.5&lt;/strong&gt;.&lt;/p&gt; &lt;li&gt; &lt;p&gt;In the &lt;strong&gt;Name&lt;/strong&gt; box, type the name that you want to use for your project, such as &lt;strong&gt;FirstClientApiApplication&lt;/strong&gt;.&lt;/p&gt; &lt;li&gt; &lt;p&gt;In the &lt;strong&gt;Location&lt;/strong&gt; box, type the location where you want to place the project.  &lt;p&gt;&lt;strong&gt;Figure 2. Creating a solution in the New Project dialog box&lt;/strong&gt;&lt;br&gt;&lt;img title="6fff7a0d-bf31-4042-acb2-72a16fce6e19" alt="6fff7a0d-bf31-4042-acb2-72a16fce6e19" src="http://i.msdn.microsoft.com/dynimg/IC367369.jpg"&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;Click &lt;strong&gt;OK&lt;/strong&gt; to create the solution.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;h5&gt;To add references to the Microsoft.SharePoint.Client assembly and Microsoft.SharePoint.Client.Runtime assembly&lt;/h5&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;The classes that you use in a client object model application are located in Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.Client.Runtime.dll. As I mentioned, before you add the references, you must copy those assemblies from the server that runs SharePoint Foundation to the client development computer.&lt;/p&gt; &lt;li&gt; &lt;p&gt;On the &lt;strong&gt;Project&lt;/strong&gt; menu, click &lt;strong&gt;Add Reference&lt;/strong&gt; to open the &lt;strong&gt;Add Reference&lt;/strong&gt; dialog box.&lt;/p&gt; &lt;li&gt; &lt;p&gt;Select the &lt;strong&gt;Browse&lt;/strong&gt; tab, navigate to the location where you put the Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.Client.Runtime.dll. Select both DLLs, and then click &lt;strong&gt;OK&lt;/strong&gt; as shown in Figure 3.  &lt;p&gt;&lt;strong&gt;Figure 3. Adding references to the assemblies&lt;/strong&gt;&lt;br&gt;&lt;img title="820cc11d-ae55-4acb-9cf5-8272117ce0df" alt="820cc11d-ae55-4acb-9cf5-8272117ce0df" src="http://i.msdn.microsoft.com/dynimg/IC367368.jpg"&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;h5&gt;To add the sample code to the solution&lt;/h5&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;In Visual Studio, replace the contents of the Program.cs source file with the following code.  &lt;p&gt;&lt;a name="CodeSpippet1"&gt;&lt;/a&gt; &lt;p&gt;using System;&lt;br&gt;using Microsoft.SharePoint.Client;&lt;br&gt;&lt;br&gt;class DisplayWebTitle&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientContext clientContext = new ClientContext("http://intranet.contoso.com");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Web site = clientContext.Web;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.Load(site);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clientContext.ExecuteQuery();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("Title: {0}", site.Title);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;Replace the URL in the &lt;a href="http://msdn.microsoft.com/en-us/library/ee543994.aspx"&gt;ClientContext&lt;/a&gt; constructor with the URL to the SharePoint site. Build and run the solution. The example prints the title of the site.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Just as with the SharePoint Foundation server object model, you create a context for the SharePoint site that you want to access. You can then retrieve a reference to the site from the context.  &lt;p&gt;The call to the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.clientcontext.executequery.aspx"&gt;ExecuteQuery&lt;/a&gt; method causes the SharePoint Foundation 2010 managed client object model to send the request to the server. There is no network traffic until the application calls the &lt;strong&gt;ExecuteQuery&lt;/strong&gt;method.  &lt;p&gt;An important point to make about this example is that the call to the Load method does not actually load anything. Instead, it informs the client object model that when the application calls the &lt;strong&gt;ExecuteQuery&lt;/strong&gt; method, you want to load the property values of the &lt;strong&gt;siteCollection&lt;/strong&gt; object.  &lt;p&gt;This is the model that all interactions with the server take:  &lt;ol&gt; &lt;li&gt;You inform the SharePoint Foundation 2010 managed client object model about the operations that you want to take. This includes accessing the values of properties of objects (for example, objects of the &lt;strong&gt;List&lt;/strong&gt;class, &lt;strong&gt;ListItem&lt;/strong&gt; class, and &lt;strong&gt;Web&lt;/strong&gt; class), CAML queries that you want to run, and objects such as &lt;strong&gt;ListItem&lt;/strong&gt; objects that you want to insert, update or delete.  &lt;li&gt;Then you call the &lt;strong&gt;ExecuteQuery&lt;/strong&gt; method. No network traffic occurs until you call the &lt;strong&gt;ExecuteQuery&lt;/strong&gt; method. Until that point, your application is only registering its requests.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;As you can see from this example, at its simplest, you first set up a query, and then you execute the queries. This causes the client object model to send traffic to the server and receive a response from it. This next section reviews the model in detail and shows why it is designed the way it is, and finally, how you can build applications by using the model.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-8221554028220047058?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/8221554028220047058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=8221554028220047058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8221554028220047058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8221554028220047058'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/08/first-step-at-sharepoint2010-client.html' title='First step at sharepoint2010 Client object model'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-9169405566539204217</id><published>2011-08-03T06:51:00.001-07:00</published><updated>2011-08-03T06:51:40.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>The days don't have access to SharePoint server</title><content type='html'>&lt;p&gt;After change the Role from System Engineer to Web design advisor (Content Management ) , no more privilege&amp;nbsp; to log in server to run STSADM and so on ... :(&lt;/p&gt; &lt;p&gt;ha ha, sometime even site collection admin privilege also don't have ....ask me how to do make mine work automated?&amp;nbsp; Look like is the time to start on &lt;strong&gt;&lt;u&gt;Using the SharePoint 2010 Managed Client Object Model&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Blog about this area:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/ericwhite/archive/2009/11/20/using-the-sharepoint-2010-managed-client-object-model.aspx"&gt;http://blogs.msdn.com/b/ericwhite/archive/2009/11/20/using-the-sharepoint-2010-managed-client-object-model.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee857094(office.14).aspx"&gt;http://msdn.microsoft.com/en-us/library/ee857094(office.14).aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;is time to start learn how to edit coding!! ha ha :P this is good start from me to start involve in sharepoint developer area.&lt;/p&gt; &lt;p&gt;Dream target : create migration tools...ha ha..&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-9169405566539204217?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/9169405566539204217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=9169405566539204217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/9169405566539204217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/9169405566539204217'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/08/days-don-have-access-to-sharepoint.html' title='The days don&amp;#39;t have access to SharePoint server'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5364247627282487990</id><published>2011-07-06T20:02:00.001-07:00</published><updated>2011-07-06T20:02:51.719-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='end user'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><title type='text'>Change the name of the button name on SharePoint list</title><content type='html'>&lt;p&gt;&lt;a href="http://www.mindfiresolutions.com/Renaming-the-menu-items-in-SharePoint-Site-Libraries-and-Lists-for-a-Specific-Site-209.php"&gt;http://www.mindfiresolutions.com/Renaming-the-menu-items-in-SharePoint-Site-Libraries-and-Lists-for-a-Specific-Site-209.php&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Renaming the menu items in SharePoint Site Libraries and Lists for a Specific Site&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; Samarendra Swain&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In SharePoint document Library/List we find menu items like New, Uploads, Actions and Settings etc. At times there might be requirements to rename these menu items for a specific site. The following Javascript function can be used to achieve the objective.&lt;/p&gt;  &lt;p&gt;The code snippet shown below can be called from inside the specific SharePoint Page.&lt;/p&gt;  &lt;p&gt;e.g AllItems.aspx page inside a Document Library/List.&lt;/p&gt;  &lt;p&gt; This javascript function needs to be called on Page load event using _spBodyOnLoadFunctionNames.push method.&lt;/p&gt;  &lt;p&gt;&amp;lt;script language=&amp;quot;javascript&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/p&gt;  &lt;p&gt;_spBodyOnLoadFunctionNames.push(&amp;quot;renameMenuItem('New', 'My New')&amp;quot;);&lt;/p&gt;  &lt;p&gt;_spBodyOnLoadFunctionNames.push(&amp;quot;renameMenuItem('Settings', 'My Settings')&amp;quot;);&lt;/p&gt;  &lt;p&gt;function renameMenuItem(oldMenuItemName, newMenuItemName)   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var vAnchorTag;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var vAllAnchorTags = document.getElementsByTagName('a');    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if(oldMenuItemName.length!=0)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; for (var j = 0; j &amp;lt; vAllAnchorTags.length; j++)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vAnchorTag = vAllAnchorTags[j];    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (vAnchorTag.innerText.indexOf(oldMenuItemName)!=-1)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vAnchorTag.innerText = newMenuItemName;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(newMenuItemName.length != 0)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vAnchorTag.parentNode.previousSibling.firstChild.firstChild.alt    &lt;br /&gt;= newMenuItemName;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; else    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vAnchorTag.parentNode.previousSibling.firstChild.firstChild.alt    &lt;br /&gt;= oldMenuItemName;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch(err)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } // End For    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; } // End If    &lt;br /&gt;}// End Function &lt;/p&gt;  &lt;p&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-5364247627282487990?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5364247627282487990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5364247627282487990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5364247627282487990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5364247627282487990'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/07/change-name-of-button-name-on.html' title='Change the name of the button name on SharePoint list'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-7911269350679879917</id><published>2011-05-24T20:39:00.001-07:00</published><updated>2011-05-25T20:27:30.337-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Approval'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><title type='text'>How to update list item from Collect Data from user at workflow</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;learn new knowledge on how to update on of the column at list item from the collect data from user.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;when user received the alert from the workflow , user will go to update the task. we can customize the data we need with using Collect Data from user Actions from workflow. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;below is the step to return the data have input to task and update on the list item.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415"&gt;http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When you design a workflow, you often want to collect information from a participant in the workflow, and then use that information for making further decisions. For example, you might want a workflow to ask a participant to review a document, and then have the workflow perform different actions depending on whether the reviewer approves or rejects the document.&lt;/p&gt;  &lt;p&gt;&lt;img title="Flow chart that branches depending on the user response" alt="Flow chart that branches depending on the user response" src="http://officeimg.vo.msecnd.net/en-us/files/974/864/ZA010243291.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;To accomplish this, you add the &lt;b&gt;Collect Data from a User&lt;/b&gt; action to your workflow. This action assigns a task to the participant, prompting them to provide the needed information in a custom task form. The information from the custom task form is stored in an item in the Tasks list. At a decision point in a later step, the workflow retrieves the stored information and evaluates it to decide which branch to run.&lt;/p&gt;  &lt;p&gt;This article shows you how to collect data from a workflow participant, and then how to use that data in your workflow for making further decisions.&lt;/p&gt;  &lt;p&gt;In this article&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM1"&gt;Which action should I use to create a task?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM2"&gt;What is a custom task form?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM3"&gt;What is a list item ID?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM5"&gt;Step 1: Collect data from a user&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM6"&gt;Step 2: Set a workflow variable&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM7"&gt;Step 3: Use the variable to make decisions&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM4"&gt;Quick reference: A summary of the steps&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;a name="BM1"&gt;&lt;/a&gt;  &lt;h4&gt;&lt;a name="BM1"&gt;&lt;/a&gt;Which action should I use to create a task?&lt;/h4&gt;  &lt;p&gt;Tasks are the primary way for a workflow to interact with participants in the workflow. If you want your workflow to require work from people or to get information from them, you can have the workflow create and assign a task. Each time a workflow assigns a task, the workflow pauses until that task is completed. The workflow resumes only when a participant clicks the &lt;b&gt;Complete Task&lt;/b&gt; button on the task form.&lt;/p&gt;  &lt;p&gt;There are three different actions that create a task, and each action is designed for a specific kind of situation:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;b&gt;Collect Data from a User&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; This action assigns a task to a single user or group and returns the unique ID of the task item that stores the user's answers, so that the workflow can later look up this information by using the ID. With this action, you use the Custom Task Wizard to design a custom task form that collects the information you want. This action creates a task that can be assigned only to a single user or group. If you assign this task to a group, each member of the group receives a task notification, but only one task item is created, and the workflow pauses only until the first person to respond completes the task. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Assign a Form to a Group&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; This action assigns a form to one or more users, and then stores the responses as values in the Tasks list. Unlike the previous action, this action can assign a task separately to multiple people, and the workflow pauses until each person completes their task before it resumes. Also unlike the previous action, this action does not return the ID of the task item for any of the responses, so the workflow cannot look up and use that information later as the basis for making comparisons or decisions. With this action, you also use the Custom Task Wizard to create a custom task form. For more information, see the article&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/redir/HA010233624.aspx?CTT=5&amp;amp;origin=HA010209808"&gt;Assign a form to a group in a workflow&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Assign a To-do Item&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; Unlike the other two task actions, this action creates a task form that has no form fields to fill out but instead uses a form where the user simply clicks a &lt;b&gt;Complete Task&lt;/b&gt; button when the task is finished. This task can be assigned separately to multiple people, and the workflow pauses until each person marks their task as complete. This action does not return the ID of the task item — and doesn’t really need to because the task does not collect any information that you might want to reference later. For more information, see the article &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/redir/HA010233623.aspx?CTT=5&amp;amp;origin=HA010209808"&gt;Assign a to-do item in a workflow&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The following table summarizes this information.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;ACTION&lt;/b&gt;    &lt;br /&gt;&lt;b&gt;RETURNS THE TASK ID FOR WORKFLOW LOOKUPS?&lt;/b&gt;    &lt;br /&gt;&lt;b&gt;CREATES MULTIPLE TASKS?&lt;/b&gt;    &lt;br /&gt;&lt;b&gt;ENABLES YOU TO DEFINE FIELDS ON THE TASK FORM?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Collect Data from a User&lt;/b&gt;    &lt;br /&gt;Yes    &lt;br /&gt;No    &lt;br /&gt;Yes&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Assign a Form to a Group&lt;/b&gt;    &lt;br /&gt;No    &lt;br /&gt;Yes    &lt;br /&gt;Yes&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Assign a To-do Item&lt;/b&gt;    &lt;br /&gt;No    &lt;br /&gt;Yes    &lt;br /&gt;No&lt;/p&gt;  &lt;p&gt;In addition, several limitations apply to all three task actions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When a workflow assigns a task to a group that is identified by a single alias or address, the workflow creates only one task item, which is then shared by the entire group. Any member of the group can edit that single task form and click the &lt;b&gt;Task Complete&lt;/b&gt; button. To assign individual tasks to multiple users (only possible with the &lt;b&gt;Assign a Form to a Group&lt;/b&gt; or &lt;b&gt;Assign a To-do Item&lt;/b&gt; action), enter each user individually in the &lt;b&gt;Select Users&lt;/b&gt;dialog box. &lt;/li&gt;    &lt;li&gt;All of the tasks assigned by a single workflow action must be completed before the workflow can continue. If the workflow action assigns individual tasks to six participants, for example, you cannot direct the workflow to continue after only three of the six tasks are completed. &lt;/li&gt;    &lt;li&gt;After a task is assigned to a participant by the workflow, that task cannot be transferred to any other participant (by delegation, forwarding, etc.). However, anyone with the default Contribute permission level to the Tasks list can edit the task item and thus allow the workflow to continue. &lt;/li&gt;    &lt;li&gt;A workflow can use each task only once. After you create a task by using the Custom Task Wizard, there is no way to reuse that task later in the workflow. You can create another task that performs the same function, but the task's name will have to be different and unique.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM2"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM2"&gt;&lt;/a&gt;What is a custom task form?&lt;/h4&gt;  &lt;p&gt;Each time that you use one of the three task actions to create a task, Microsoft Office SharePoint Designer 2007 automatically generates a custom task form for that task. The custom task form is the page that is presented to the workflow participant when they edit the task in the browser.&lt;/p&gt;  &lt;p&gt;When you create a task by using the &lt;b&gt;Collect Data from a User&lt;/b&gt; or &lt;b&gt;Assign a Form to a Group&lt;/b&gt; action, the custom task form can have as many form fields as you choose to create. This example asks the user to enter information in only one field named &amp;quot;Review status&amp;quot;.&lt;/p&gt;  &lt;p&gt;&lt;img title="Custom task form in browser" alt="Custom task form in browser" src="http://officeimg.vo.msecnd.net/en-us/files/595/451/ZA010243342.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;In Office SharePoint Designer 2007, the custom task form appears as an .aspx page in the folder for that workflow. The file name of the custom task form corresponds to the name that you give the task in the Custom Form Wizard.&lt;/p&gt;  &lt;p&gt;&lt;img title="Custom task form in Folder List" alt="Custom task form in Folder List" src="http://officeimg.vo.msecnd.net/en-us/files/206/510/ZA010243343.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;Custom task forms are attached to the site's default master page and contain a Data Form Web Part to interact with the workflow. The custom task form can be customized for layout and appearance — for example, you can attach a different master page or modify the styles. However, to change what fields appear on the form, you must use the Custom Task Wizard in the Workflow Designer. You cannot change the form fields by editing the Data Form Web Part directly. If you make other customizations to the Data Form Web Part (for presentation and not for functionality), note that those changes are lost each time that the workflow is recompiled. Customizations to the rest of page are preserved.&lt;/p&gt;  &lt;p&gt;To change the fields on the custom task form, you must open the workflow in Office SharePoint Designer 2007 (&lt;b&gt;File&lt;/b&gt; menu, &lt;b&gt;Open Workflow&lt;/b&gt; command). When you open the workflow and edit the task by using the Custom Task Wizard, you see the following warning.&lt;/p&gt;  &lt;p&gt;&lt;img title="Warning message" alt="Warning message" src="http://officeimg.vo.msecnd.net/en-us/files/789/044/ZA010243392.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;If you modify the custom task form and recompile the workflow, all running instances of the workflow continue to run using the new form. If you delete or modify fields (for example, by changing their type or renaming them), a workflow error will occur if the running instances of the workflow reference data that is not what is expected. For example, a running workflow may do a lookup and expect a field to contain data (be non-empty) but now it is empty, or the field may have changed type. Therefore, it is important not to make any change that deletes, renames, or otherwise alters form fields that currently running workflow instances may attempt to reference.&lt;/p&gt;  &lt;p&gt;In addition to the custom task form, each time that you use one of the three task actions to create a task, Office SharePoint Designer 2007 automatically generates a content type for that task in the Tasks list. The content type defines the available fields and what format they use, as you specified in the Custom Task Wizard. The name of the content type matches the name that you give the task in the Custom Form Wizard. For example, if you create a task named &amp;quot;Review document&amp;quot;, you will see a content type with that name on the Settings page of the Tasks list.&lt;/p&gt;  &lt;p&gt;&lt;img title="Task content type in the browser" alt="Task content type in the browser" src="http://officeimg.vo.msecnd.net/en-us/files/320/509/ZA010243344.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;We recommend that you modify workflow content types only by opening the workflow in Office SharePoint Designer 2007, and not by modifying the columns or other settings for the content type in the browser. Modifying the content type in the browser can potentially break the custom task form that it is associated with.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM3"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM3"&gt;&lt;/a&gt;What is a list item ID?&lt;/h4&gt;  &lt;p&gt;A list item ID is a unique row number. When a workflow participant clicks either&lt;b&gt;Complete Task&lt;/b&gt; or &lt;b&gt;Save Draft&lt;/b&gt; on the custom task form, the information submitted in the form is stored in an item in the Tasks list. The content type for that task defines the columns, and the list item ID identifies a specific item, or row. Each item in the Tasks list (or any list or library) has a unique ID. In the browser, you can add the ID column to any view of a list or library.&lt;/p&gt;  &lt;p&gt;&lt;img title="ID column added to default view" alt="ID column added to default view" src="http://officeimg.vo.msecnd.net/en-us/files/353/825/ZA010243349.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;In addition, when you view a list item on a page in the browser — for example, when you click &lt;b&gt;View Properties&lt;/b&gt; to see the item details on DispForm.aspx — the ID of that list item is visible in the URL as part of the query string. All standard SharePoint forms contain an ID parameter in the query string section of the URL.&lt;/p&gt;  &lt;p&gt;&lt;img title="List item ID highlighted in the URL of a task item" alt="List item ID highlighted in the URL of a task item" src="http://officeimg.vo.msecnd.net/en-us/files/464/164/ZA010243347.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;When a workflow runs the &lt;b&gt;Collect Data from a User&lt;/b&gt; action, the workflow creates a single task and stores the list item ID of that task in a variable. The workflow can later use that variable to look up the specific task item.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM5"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM5"&gt;&lt;/a&gt;Step 1: Collect data from a user&lt;/h4&gt;  &lt;p&gt;First you want to use the &lt;b&gt;Collect Data from a User&lt;/b&gt; action to create the custom task form, assign the task to a single user or group, and then store the ID of the task item in a variable. The workflow will later use the task item ID to look up the values submitted by the user in the task form.&lt;/p&gt;  &lt;p&gt;In this example, your team uploads documents to a library named &amp;quot;Documents for review&amp;quot;. When a document is added to the library, the workflow creates a task named &amp;quot;Review document&amp;quot;. The person to whom the task is assigned must choose one of two options from a drop-down menu when they edit the task: Approved or Rejected.&lt;/p&gt;  &lt;p&gt;&lt;b&gt; NOTE &lt;/b&gt;&amp;#160; This workflow is a custom approval workflow, but it does not use the Content Approval feature in Windows SharePoint Services and does not change the Approval Status field of the document. The Content Approval feature in Windows SharePoint Services presumes two different permission levels: one that does not include the Approve Items permission (for people submitting content for approval), and a second that does include the Approve Items permission (for people approving content). However, a workflow designed in Office SharePoint Designer 2007 always impersonates the permission level of the person who starts the workflow. If a person who does not have the Approve Items permission starts a custom workflow that tries to update the Approval Status field of the current item, the workflow will stop because the person who started the workflow does not have permission to approve items.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;On the &lt;b&gt;File&lt;/b&gt; menu, point to &lt;b&gt;New&lt;/b&gt;, and then click &lt;b&gt;Workflow&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;On the first page of the &lt;b&gt;Workflow Designer&lt;/b&gt;, name the workflow, choose the list or library that the workflow will be attached to, and then select the check boxes for the start options that you want.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="First page of Workflow Designer" alt="First page of Workflow Designer" src="http://officeimg.vo.msecnd.net/en-us/files/136/628/ZA010243308.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;Next&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;Click &lt;b&gt;Actions&lt;/b&gt;, and then click &lt;b&gt;Collect Data from a User&lt;/b&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If this action does not appear in the list, click &lt;b&gt;More Actions&lt;/b&gt; to see the full list.&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;In the action, click &lt;b&gt;data&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;On the first page of the Custom Task Wizard, click &lt;b&gt;Next&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Name&lt;/b&gt; box, type a name for this task.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;b&gt; NOTE &lt;/b&gt;&amp;#160; The task name must be unique in the current site.&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;In the &lt;b&gt;Description&lt;/b&gt; box, type any general instructions to the recipient of the task.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;This description appears at the top of the custom task form, so include here any instructions that you want the workflow participant to see, not just a general description.&lt;/p&gt;  &lt;p&gt;&lt;img title="Second page of Custom Task Wizard" alt="Second page of Custom Task Wizard" src="http://officeimg.vo.msecnd.net/en-us/files/053/339/ZA010243314.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;Next&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;Click &lt;b&gt;Add&lt;/b&gt; to define a custom form field for this task. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Field name&lt;/b&gt; box, type a name for this field. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Description&lt;/b&gt; box, type the question for which this form field is storing the answer. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Information type&lt;/b&gt; list, choose an option that formats the field appropriately for the type of information that you are collecting.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="First page of Add Field dialog box" alt="First page of Add Field dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/304/662/ZA010243315.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;Next&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;The next page of the wizard varies depending on the &lt;b&gt;Information type&lt;/b&gt; that you chose on the previous page. Specify the settings that you want.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;In this example, type &lt;b&gt;Approved&lt;/b&gt;, press ENTER, and then type &lt;b&gt;Rejected&lt;/b&gt;.&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;In the &lt;b&gt;Display as&lt;/b&gt; list, click &lt;b&gt;Drop-down menu&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;Clear the &lt;b&gt;Allow blank values&lt;/b&gt; check box because you want the reviewer to choose one of the two options.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="Second page of Add Field dialog box" alt="Second page of Add Field dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/807/567/ZA010243316.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;Finish&lt;/b&gt; twice.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The following illustration shows how this task will be displayed to the workflow participant in the browser when they edit the task. This is the custom task form — Review document.aspx — that you just designed by using the Custom Task Wizard.&lt;/p&gt;  &lt;p&gt;&lt;img title="Custom task form in browser" alt="Custom task form in browser" src="http://officeimg.vo.msecnd.net/en-us/files/595/451/ZA010243342.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;Back in the &lt;b&gt;Workflow Designer&lt;/b&gt;, you still need to set the second and third parameters in the &lt;b&gt;Collect Data from a User&lt;/b&gt; action.&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;In the action, click &lt;b&gt;this user&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Select Users&lt;/b&gt; dialog box, type a name or e-mail address, or click an existing user or group in the list, and then click &lt;b&gt;Add&lt;/b&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;b&gt; NOTES &lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;With the &lt;b&gt;Collect Data from a User&lt;/b&gt; action, the workflow creates only one task, which you can assign to only one person or group. For more information, see the earlier section &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM1"&gt;Which action should I use to create a task?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Instead of entering a specific user name or e-mail address, you can store this information in a separate list, and then use a workflow lookup to get this information. This way, various users can be configured as workflow participants without you having to modify the workflow itself. Alternatively, you can create a new SharePoint group, and then add users to the group whom you want to be workflow participants. For example, you can create a group named Approvers, add one or more users to it, and then configure this group as part of the &lt;b&gt;Collect Data from a User&lt;/b&gt; action (keeping in mind that only one task is created, which can be edited by only one person).&lt;/li&gt; &lt;/ul&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;In the action, click the third parameter, and then click &lt;b&gt;Create a new variable&lt;/b&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;You want to create a new variable instead of using the default name (&lt;b&gt;Variable: collect&lt;/b&gt;) when your workflow will have multiple variables and you want to give the variable a more descriptive name.&lt;/p&gt;  &lt;p&gt;&lt;img title="Create a new variable option" alt="Create a new variable option" src="http://officeimg.vo.msecnd.net/en-us/files/049/138/ZA010243318.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;In the &lt;b&gt;Edit Variable&lt;/b&gt; dialog box, type a name that describes the value that the variable is storing.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="Edit Variable dialog box" alt="Edit Variable dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/446/155/ZA010243319.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;For this variable, &lt;b&gt;List Item ID&lt;/b&gt; is the only choice in the &lt;b&gt;Type&lt;/b&gt; list. For more information about list item IDs, see the earlier section &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#BM3"&gt;What is a list item ID?&lt;/a&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;At this point, your action should look like this.&lt;/p&gt;  &lt;p&gt;&lt;img title="Collect Data from User action" alt="Collect Data from User action" src="http://officeimg.vo.msecnd.net/en-us/files/837/811/ZA010243321.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM6"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM6"&gt;&lt;/a&gt;Step 2: Set a workflow variable&lt;/h4&gt;  &lt;p&gt;At this point in the workflow, a workflow participant submits a completed task, and the review status that person submits is stored in a field or column in the Tasks list, as shown here.&lt;/p&gt;  &lt;p&gt;&lt;img title="Review status in completed task item" alt="Review status in completed task item" src="http://officeimg.vo.msecnd.net/en-us/files/379/612/ZA010243348.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;How do you get at this information to use it in another step in the workflow? You use the &lt;b&gt;Set Workflow Variable&lt;/b&gt; action to look up the value of the Review status field for the task that the user edited, and you store the value of this field in a new variable — in this example, named &lt;b&gt;Review status&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;By looking up and storing the review status in a new variable, you can now use this variable as the basis for future comparisons. This is a best practice because the workflow now makes it clear where the data is coming from, and this data can be reused more easily — multiple times, if necessary.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Click &lt;b&gt;Actions&lt;/b&gt;, and then click &lt;b&gt;Set Workflow Variable&lt;/b&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If this action does not appear in the list, click &lt;b&gt;More Actions&lt;/b&gt; to see the full list.&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;In the action, click &lt;b&gt;workflow variable&lt;/b&gt;, and then click &lt;b&gt;Create a new variable&lt;/b&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="First parameter of the Set Workflow Variable option" alt="First parameter of the Set Workflow Variable option" src="http://officeimg.vo.msecnd.net/en-us/files/914/015/ZA010243322.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;In the &lt;b&gt;Edit Variable&lt;/b&gt; dialog box, type a name that describes the value that the variable is storing. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Type&lt;/b&gt; list, click the type of data that the variable is storing.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;In this example, click &lt;b&gt;string&lt;/b&gt; because this variable will store the review status of&lt;b&gt;Approved&lt;/b&gt; or &lt;b&gt;Rejected&lt;/b&gt;, which are both text strings.&lt;/p&gt;  &lt;p&gt;&lt;img title="Edit Variable dialog box" alt="Edit Variable dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/306/381/ZA010243323.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;In the action, click &lt;b&gt;value&lt;/b&gt;, and then click &lt;b&gt;Display data binding&lt;/b&gt;&lt;img title="Button image" alt="Button image" src="http://officeimg.vo.msecnd.net/en-us/files/180/641/ZA010131430.gif" border="0" /&gt;. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Define Workflow Lookup&lt;/b&gt; dialog box, choose the following options:       &lt;ul&gt;       &lt;li&gt;&lt;b&gt;&lt;b&gt;Source&lt;/b&gt;: &lt;b&gt;Tasks&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; If more than one tasks list is available, choose the list that contains the custom form field that you created in the previous section. &lt;/li&gt;        &lt;li&gt;&lt;b&gt;&lt;b&gt;Field&lt;/b&gt;: &lt;b&gt;Review status&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; Choose the custom form field that you created in the previous section. &lt;/li&gt;        &lt;li&gt;&lt;b&gt;Field&lt;/b&gt;: &lt;b&gt;Tasks:ID&lt;/b&gt;&lt;/li&gt;        &lt;li&gt;&lt;b&gt;Value&lt;/b&gt;: Click &lt;b&gt;Display data binding&lt;/b&gt;&lt;img title="Button image" alt="Button image" src="http://officeimg.vo.msecnd.net/en-us/files/180/641/ZA010131430.gif" border="0" /&gt;.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;In the second &lt;b&gt;Define Workflow Lookup&lt;/b&gt; dialog box, choose the following options:       &lt;ul&gt;       &lt;li&gt;&lt;b&gt;Source&lt;/b&gt;: &lt;b&gt;Workflow Data&lt;/b&gt;&lt;/li&gt;        &lt;li&gt;&lt;b&gt;Field&lt;/b&gt;: &lt;b&gt;Variable: ID of Review document task&lt;/b&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="Define Workflow Lookup dialog box" alt="Define Workflow Lookup dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/290/430/ZA010243324.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The final workflow lookup should resemble the following. This lookup says, &amp;quot;Go to the Review status field in the Tasks list. Then go to the row in the Tasks list whose ID matches the ID stored in the variable for this instance of the workflow.&amp;quot; If the workflow runs and creates a task whose ID is 3, this lookup retrieves the value of the Review status column from the third row in the Tasks list. The next time the workflow runs, this ID may be 4, so the lookup goes to the fourth row, and so on.&lt;/p&gt;  &lt;p&gt;&lt;img title="Define Workflow Lookup dialog box" alt="Define Workflow Lookup dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/906/895/ZA010243325.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;At this point, your rule should look like this.&lt;/p&gt;  &lt;p&gt;&lt;img title="Rule in Workflow Designer" alt="Rule in Workflow Designer" src="http://officeimg.vo.msecnd.net/en-us/files/920/507/ZA010243329.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM7"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM7"&gt;&lt;/a&gt;Step 3: Use the variable to make decisions&lt;/h4&gt;  &lt;p&gt;In step 1, you created a custom task form to collect data from a user and store the ID of the task item in a variable. In step 2, you used the task ID variable to look up the user response and store that particular response in a new variable. Now that you have this variable — in this example, &lt;b&gt;Variable: Review status&lt;/b&gt; — you are ready to use it as the basis for making decisions in the workflow. To do this, use the&lt;b&gt;Compare any data source&lt;/b&gt; condition.&lt;/p&gt;  &lt;p&gt;For example, you can add a step to your workflow that says if &lt;b&gt;Variable: Rev&lt;/b&gt;&lt;b&gt;iew status&lt;/b&gt; equals &lt;b&gt;Approved&lt;/b&gt;, run these actions. But if &lt;b&gt;Variable: Review status&lt;/b&gt; equals&lt;b&gt;Rejected&lt;/b&gt;, run different actions.&lt;/p&gt;  &lt;h5&gt;CREATE THE FIRST CONDITIONAL BRANCH&lt;/h5&gt;  &lt;p&gt;The first conditional branch compares the value that is stored in &lt;b&gt;Variable: Review status&lt;/b&gt;. If the value equals &lt;b&gt;Approved&lt;/b&gt;, the workflow will perform any actions associated with this condition.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;In the Workflow Designer, under &lt;b&gt;Workflow Steps&lt;/b&gt;, click &lt;b&gt;Add workflow step&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;Click &lt;b&gt;Conditions&lt;/b&gt;, and then click &lt;b&gt;Compare any data source&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;In the condition, click the first &lt;b&gt;value&lt;/b&gt; hyperlink, and then click &lt;b&gt;Display data binding&lt;/b&gt;&lt;img title="Button image" alt="Button image" src="http://officeimg.vo.msecnd.net/en-us/files/180/641/ZA010131430.gif" border="0" /&gt;. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Define Workflow Lookup&lt;/b&gt; dialog box, choose the following options:       &lt;ul&gt;       &lt;li&gt;&lt;b&gt;Source&lt;/b&gt;: &lt;b&gt;Workflow Data&lt;/b&gt;&lt;/li&gt;        &lt;li&gt;&lt;b&gt;Field&lt;/b&gt;: &lt;b&gt;Variable: Review status&lt;/b&gt;.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="Define Workflow Lookup dialog box" alt="Define Workflow Lookup dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/437/302/ZA010243330.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;In the condition, leave &lt;b&gt;equals&lt;/b&gt; as the value for the second parameter. &lt;/li&gt;    &lt;li&gt;In the condition, click the second &lt;b&gt;value&lt;/b&gt; hyperlink, type &lt;b&gt;Approved&lt;/b&gt;, and then press ENTER.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="Condition in Workflow Designer" alt="Condition in Workflow Designer" src="http://officeimg.vo.msecnd.net/en-us/files/968/922/ZA010243331.gif" border="0" /&gt;&lt;/p&gt;  &lt;h5&gt;CREATE THE SECOND CONDITIONAL BRANCH&lt;/h5&gt;  &lt;p&gt;The second conditional branch handles the case where the value stored in&lt;b&gt;Variable: Review status&lt;/b&gt; equals &lt;b&gt;Rejected&lt;/b&gt;.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Click &lt;b&gt;Add 'Else If' Conditional Branch&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;Click &lt;b&gt;Conditions&lt;/b&gt;, and then click &lt;b&gt;Compare any data source&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;In the condition, click the first &lt;b&gt;value&lt;/b&gt; hyperlink, and then click &lt;b&gt;Display data binding&lt;/b&gt;&lt;img title="Button image" alt="Button image" src="http://officeimg.vo.msecnd.net/en-us/files/180/641/ZA010131430.gif" border="0" /&gt;. &lt;/li&gt;    &lt;li&gt;In the &lt;b&gt;Define Workflow Lookup&lt;/b&gt; dialog box, choose the following options:       &lt;ul&gt;       &lt;li&gt;&lt;b&gt;Source&lt;/b&gt;: &lt;b&gt;Workflow Data&lt;/b&gt;&lt;/li&gt;        &lt;li&gt;&lt;b&gt;Field&lt;/b&gt;: &lt;b&gt;Variable: Review status&lt;/b&gt;.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;img title="Define Workflow Lookup dialog box" alt="Define Workflow Lookup dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/437/302/ZA010243330.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;In the condition, leave &lt;b&gt;equals&lt;/b&gt; as the value for the second parameter. &lt;/li&gt;    &lt;li&gt;In the condition, click the second &lt;b&gt;value&lt;/b&gt; hyperlink, type &lt;b&gt;Rejected&lt;/b&gt;, and then press ENTER.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Before you add any actions to the condition in each branch, this step of the workflow should look like this.&lt;/p&gt;  &lt;p&gt;&lt;img title="Else If conditional branch in Workflow Designer" alt="Else If conditional branch in Workflow Designer" src="http://officeimg.vo.msecnd.net/en-us/files/619/199/ZA010243337.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;To complete this step in the workflow, click &lt;b&gt;Actions&lt;/b&gt;, and then add whatever actions you want to each conditional branch.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx?CTT=5&amp;amp;origin=HA010240415#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM4"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM4"&gt;&lt;/a&gt;Quick reference: A summary of the steps&lt;/h4&gt;  &lt;p&gt;For quick reference, here is a summary of the steps presented in the three preceding sections:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Add the &lt;b&gt;Collect Data from a User&lt;/b&gt; action:       &lt;ul&gt;       &lt;li&gt;For the first link, use the Custom Task Wizard to create the custom task form. &lt;/li&gt;        &lt;li&gt;For the second link, select a single user a group to assign the task to. &lt;/li&gt;        &lt;li&gt;For the third link, create a variable of the List Item ID type to store the ID of the task item that the user edits.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Add the &lt;b&gt;Set Workflow Variable&lt;/b&gt; action:       &lt;ul&gt;       &lt;li&gt;For the first link, create a variable to store the actual value (not just the ID) of a specific field from a specific row in the Tasks list. &lt;/li&gt;        &lt;li&gt;For the second link, look up the field whose value you want in the Tasks list, by using the value stored in the List Item ID variable to retrieve the specific list item (or row).&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;This lookup should resemble the following example. This lookup says, &amp;quot;Go to the Review status field in the Tasks list. Then go to the row in the Tasks list whose ID matches the ID stored in the variable for this instance of the workflow.&amp;quot; If the workflow runs and creates a task whose ID is 3, this lookup retrieves the value of the Review status column from the third row in the Tasks list. The next time the workflow runs, this ID may be 4, so the lookup goes to the fourth row, and so on.&lt;/p&gt;  &lt;p&gt;&lt;img title="Define Workflow Lookup dialog box" alt="Define Workflow Lookup dialog box" src="http://officeimg.vo.msecnd.net/en-us/files/290/430/ZA010243324.gif" border="0" /&gt;&lt;/p&gt;  &lt;ol start="start"&gt;   &lt;li&gt;Create a new workflow step. &lt;/li&gt;    &lt;li&gt;Add the &lt;b&gt;Compare any data source&lt;/b&gt; condition:       &lt;ul&gt;       &lt;li&gt;For the first link, choose the variable that you set to an actual value in step 2. &lt;/li&gt;        &lt;li&gt;For the second link, click a comparison. &lt;/li&gt;        &lt;li&gt;For the third link, enter a value that you want to compare with the value stored in the variable.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Add any actions that you want to run if this condition is satisfied. &lt;/li&gt;    &lt;li&gt;Click &lt;b&gt;Add 'Else If' Conditional Branch&lt;/b&gt; and repeat steps 4–5 to create additional branches.&lt;/li&gt; &lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-7911269350679879917?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/7911269350679879917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=7911269350679879917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7911269350679879917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7911269350679879917'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/05/how-to-update-list-item-from-collect.html' title='How to update list item from Collect Data from user at workflow'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-9211895354673101741</id><published>2011-05-22T20:56:00.001-07:00</published><updated>2011-05-22T20:56:01.694-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='end user'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='column'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>SharePoint Calculated Value Nested</title><content type='html'>&lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/windows-sharepoint-services-help/if-function-HA001161010.aspx"&gt;http://office.microsoft.com/en-us/windows-sharepoint-services-help/if-function-HA001161010.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;keep track this formula for nested function , so i can use this to select other option to show here as lookup list&lt;/p&gt;  &lt;h4&gt;Example set 3&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_Zt3nwMosIGc/Tdnax6gjciI/AAAAAAAAAs4/2FBzYwCikPU/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="145" alt="image" src="http://lh5.ggpht.com/_Zt3nwMosIGc/TdnayhT98bI/AAAAAAAAAs8/a1c3M_6bRRA/image_thumb%5B1%5D.png?imgmax=800" width="453" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;45   &lt;br /&gt;=IF([Score]&amp;gt;89,&amp;quot;A&amp;quot;,IF([Score]&amp;gt;79,&amp;quot;B&amp;quot;, IF([Score]&amp;gt;69,&amp;quot;C&amp;quot;,IF([Score]&amp;gt;59,&amp;quot;D&amp;quot;,&amp;quot;F&amp;quot;))))    &lt;br /&gt;Assigns a letter grade to the first score (F)&lt;/p&gt;  &lt;p&gt;90   &lt;br /&gt;=IF([Score]&amp;gt;89,&amp;quot;A&amp;quot;,IF([Score]&amp;gt;79,&amp;quot;B&amp;quot;, IF([Score]&amp;gt;69,&amp;quot;C&amp;quot;,IF([Score]&amp;gt;59,&amp;quot;D&amp;quot;,&amp;quot;F&amp;quot;))))    &lt;br /&gt;Assigns a letter grade to the second score (A)&lt;/p&gt;  &lt;p&gt;78   &lt;br /&gt;=IF([Score]&amp;gt;89,&amp;quot;A&amp;quot;,IF([Score]&amp;gt;79,&amp;quot;B&amp;quot;, IF([Score]&amp;gt;69,&amp;quot;C&amp;quot;,IF([Score]&amp;gt;59,&amp;quot;D&amp;quot;,&amp;quot;F&amp;quot;))))&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Assigns a letter grade to the third score (C)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the preceding example, the second IF statement is also the value_if_false argument to the first IF statement. Similarly, the third IF statement is the value_if_false argument to the second IF statement. For example, if the first logical_test ([Score]&amp;gt;89) is TRUE, &amp;quot;A&amp;quot; is returned. If the first logical_test is FALSE, the second IF statement is evaluated, and so on.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The letter grades are assigned to numbers using the following key (assuming use of integers only).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;IF SCORE IS&lt;/b&gt;    &lt;br /&gt;&lt;b&gt;THEN RETURN&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_Zt3nwMosIGc/TdnazWEj6yI/AAAAAAAAAtA/4qICiW3toFk/s1600-h/image%5B6%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="148" alt="image" src="http://lh5.ggpht.com/_Zt3nwMosIGc/Tdna0ApTbTI/AAAAAAAAAtE/jZjU5lW7Q88/image_thumb%5B2%5D.png?imgmax=800" width="195" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-9211895354673101741?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/9211895354673101741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=9211895354673101741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/9211895354673101741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/9211895354673101741'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/05/sharepoint-calculated-value-nested.html' title='SharePoint Calculated Value Nested'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Zt3nwMosIGc/TdnayhT98bI/AAAAAAAAAs8/a1c3M_6bRRA/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-4657425249517906069</id><published>2011-05-03T08:29:00.001-07:00</published><updated>2011-05-03T08:29:12.444-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='web master'/><category scheme='http://www.blogger.com/atom/ns#' term='Site template'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><title type='text'>About site Template and site definition</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Just notice the enterprise tab is not available when i try to create on our production , look like is someone hiding it. So try find some information on internet to see how to disable the settings .&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;some information to keep track about template topic.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What are site templates?&lt;/strong&gt; &amp;gt; &lt;a href="http://blah.winsmarts.com/2007-7-All_you_ever_wanted_to_know_about_SharePoint_2007_Site_Templates.aspx"&gt;Here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Register site definitions&lt;/strong&gt; &amp;gt; &lt;a href="http://blah.winsmarts.com/2006-12-Registering_your_custom_site_definitions_in_SharePoint_2007.aspx"&gt;Here&lt;/a&gt; (below article )&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Last night, Carl and I did end up recording the sequel to the &lt;a href="http://blah.winsmarts.com/2006-11-DNRTV__An_Introduction_to_Sharepoint_2007_(Is_not_online).aspx"&gt;first SharePoint 2007 DNRTV&lt;/a&gt; show we did earlier. In this episode, I had a chance to talk more about content types, and then I ran through a full-fledged example demonstrating an InfoPath Forms Services based solution solving a real life problem. And then after that I demonstrated creating KPI (key performance indicator) reports based on data collected via infopath forms running in a web browser.&lt;/p&gt;  &lt;p&gt;All in all, the show I think, turned out quite well. I will blog about it when it is online.&lt;/p&gt;  &lt;p&gt;But, that is not what this blog post is about. When Carl and I were recording, based on a conversation, I had alluded to the fact that you can create your own site definitions and register them within SharePoint 2007. How you ask? It’s a question of twiddling with a bunch of XML files. To which, of course the developer world comes to a screeching halt.&lt;/p&gt;  &lt;p&gt;Yes, SharePoint does suffer from XMLITIS, but I have blogged about that as one of the &lt;a href="http://blah.winsmarts.com/2006-10-Criticisms_of_Sharepoint_2007.aspx"&gt;criticisms&lt;/a&gt;, and let us get over that.&lt;/p&gt;  &lt;p&gt;The real Q is, how can you, register your own site definitions. Well here is how.&lt;/p&gt;  &lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;First you need a custom site definition. As you may be aware, a custom site definition is nothing but a logical grouping of features, lists, web parts, and a whole bunch of other things, that together make a site. For instance, I could create a custom site definition for a “Blog reader” application. (Speaking of which, in a week or two, the next issue of code-magazine will contain an article from me, demonstrating exactly how to create a blog-reader application a.k.a. bloglines/newsgator etc in SharePoint). All site definitions reside as a bunch of files at the following location.&lt;/p&gt;  &lt;p&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates&lt;/p&gt;  &lt;p&gt;&lt;i&gt;(Note: I am almost done reviewing Scot Hilier’s upcoming Apress book on SharePoint 2007. He explains this very well in Chapter 11, and I strongly recommend you picking a copy of it – the book is simply excellent, and yes I will post a full review later).&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Now in that directory, there are a bunch of site definitions already created. You can create one of your own, but since this blogpost doesn’t talk about that – go ahead and copy paste, “BLANKINTERNET” to a directory called “Sahil”&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;Now ideally, the directory “Sahil” which contains the details of your site definition, should contain something meaningful in it – so a blogreader site definition will contain the necessary lists, features etc. But ignoring that, let us next look at, how you can register this new Site definition, in SharePoint.&lt;/p&gt;  &lt;p&gt;Now at this path –&lt;/p&gt;  &lt;p&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\&lt;/p&gt;  &lt;p&gt;You would note a curiously named directory called “1033”. 1033 is the culture number for en-us (US English). Under 1033\Xml, there are a bunch of XML files. Strangely enough, many of them are named as “WebTemp*.xml”. That is where you need to put this new site definition’s information, so SharePoint will understand it. Go ahead and copy paste webtempsps.xml and call the new file webtempsahil.xml. The name is important, since SharePoint will look for all files that match “WebTemp*.xml”.&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;Now go ahead and edit the webtempsahil.xml file to look like as below.&lt;/p&gt;  &lt;p&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;   &lt;br /&gt;&amp;lt;!-- _lcid=&amp;quot;1033&amp;quot; _version=&amp;quot;12.0.4407&amp;quot; _dal=&amp;quot;1&amp;quot; --&amp;gt;    &lt;br /&gt;&amp;lt;!-- _LocalBinding --&amp;gt;    &lt;br /&gt;&amp;lt;Templates xmlns:ows=&amp;quot;Microsoft SharePoint&amp;quot;&amp;gt;    &lt;br /&gt;&amp;#160; &amp;lt;Template Name=&amp;quot;Sahil&amp;quot; ID=&amp;quot;10001&amp;quot;&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Configuration ID=&amp;quot;0&amp;quot; Title=&amp;quot;Sahil's site&amp;quot; Hidden=&amp;quot;FALSE&amp;quot;    &lt;br /&gt;ImageUrl=&amp;quot;/_layouts/1033/images/IPPT.gif&amp;quot; Description=&amp;quot;This is the custom site I was talking about.&amp;quot; SubWebOnly=&amp;quot;FALSE&amp;quot; DisplayCategory=&amp;quot;Winsmarts&amp;quot;&amp;gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/Configuration&amp;gt;    &lt;br /&gt;&amp;#160; &amp;lt;/Template&amp;gt;    &lt;br /&gt;&amp;lt;/Templates&amp;gt;&lt;/p&gt;  &lt;p&gt;A few things that will jump out at you from the above XML file.&lt;/p&gt;  &lt;p&gt;&amp;#160; - ID must be greater than 10000, so your IDs don’t screw up SharePoint’s.   &lt;br /&gt;&amp;#160; - You have a whole bunch of other control from the various possible elements, I think the above are self-explanatory.&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;Now go ahead, and do an iisreset, and try creating a site collection under SCAW (SharePoint Central Web Administration), or a site under a site collection through various means. You should see something like the following in the page that prompts you to create new sites:&lt;/p&gt;  &lt;p&gt;&lt;img height="230" alt="Sharepoint 2007 Site Definition" src="http://img80.imageshack.us/img80/9532/sitedefinitionub6.jpg" width="750" longdesc="http://blah.winsmarts.com/Sharepoint%202007%20Site%20Definition" /&gt;&lt;/p&gt;  &lt;p&gt;Note that the text, the image, and everything else has been picked from WebTempSahil.xml.&lt;/p&gt;  &lt;p&gt;Now how cool is that J!!? Now you can merrily create your custom site definitions, register them, and create them on a per-demand basis.&lt;/p&gt;  &lt;p&gt;In further blog posts, I will cover various other aspects of Site Definitions. Until then, Rock On!!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-4657425249517906069?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/4657425249517906069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=4657425249517906069' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4657425249517906069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4657425249517906069'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/05/about-site-template-and-site-definition.html' title='About site Template and site definition'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3336454213153656709</id><published>2011-04-27T00:04:00.001-07:00</published><updated>2011-04-27T00:04:11.859-07:00</updated><title type='text'>SharePoint InfoPath 2007 Integration</title><content type='html'>Sharing and keep track on this :)&lt;div style="width:477px" id="__ss_3490889"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/infopathsharepoint/sharepoint-infopath-2007-integration" title="SharePoint InfoPath 2007 Integration"&gt;SharePoint InfoPath 2007 Integration&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse3490889" width="477" height="510"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/doc_player.swf?doc=sharepoint-infopath-2007-integration-100320211617-phpapp02&amp;stripped_title=sharepoint-infopath-2007-integration&amp;userName=infopathsharepoint" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse3490889" src="http://static.slidesharecdn.com/swf/doc_player.swf?doc=sharepoint-infopath-2007-integration-100320211617-phpapp02&amp;stripped_title=sharepoint-infopath-2007-integration&amp;userName=infopathsharepoint" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="477" height="510"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/infopathsharepoint"&gt;Biz Support Online&lt;/a&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/5630361457638146769-3336454213153656709?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3336454213153656709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3336454213153656709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3336454213153656709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3336454213153656709'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/04/sharepoint-infopath-2007-integration.html' title='SharePoint InfoPath 2007 Integration'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2136417924233676570</id><published>2011-04-25T20:20:00.001-07:00</published><updated>2011-04-25T20:38:04.717-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='task list'/><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='alert'/><title type='text'>About Alert email issues</title><content type='html'>Issues : new item assign to task list , owner not receive alert&lt;br /&gt;&lt;br /&gt;Step to check:&lt;br /&gt;&lt;br /&gt;stsadm -o getproperty -pn job-immediate-alerts -url &lt;a href="http://abc.com/sites/XXXX"&gt;http://abc.com/sites/XXXX&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;this command is check the alert timer job status :&lt;br /&gt;&lt;br /&gt;Restults:&lt;br /&gt;&amp;lt;Property Exist="Yes" Value="every 5 minutes between 0 and 59" /&amp;gt;&lt;br /&gt;which&amp;nbsp; mean the alert timer will check every 5 minutes.&lt;br /&gt;*normally this is standard setting&lt;br /&gt;&lt;br /&gt;Next Step:&lt;br /&gt;&lt;br /&gt;Run following command to check from SQL server whether new item created or not :&lt;br /&gt;· use [content_DB&lt;br /&gt;]&lt;br /&gt;select top 50 itemname,EventData,ACL,* from EventCache order by EventTime desc&lt;br /&gt;&lt;br /&gt;you should see the new created item , else which mean something wrong.&lt;br /&gt;&lt;br /&gt;Solution :&lt;br /&gt;&lt;br /&gt;create new list and try again.&lt;br /&gt;&lt;br /&gt;ha ha..is not perfect solution but anyhow let me resolve mine problem.&lt;br /&gt;&lt;br /&gt;just notice have good post about the alert :&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/bradley/archive/2009/03/22/how-to-troubleshoot-alerts-in-wss-3-0-moss.aspx"&gt;http://msmvps.com/blogs/bradley/archive/2009/03/22/how-to-troubleshoot-alerts-in-wss-3-0-moss.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2136417924233676570?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2136417924233676570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2136417924233676570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2136417924233676570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2136417924233676570'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/04/about-alert-email-issues.html' title='About Alert email issues'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-1848642020491436994</id><published>2011-04-21T03:44:00.001-07:00</published><updated>2011-04-21T03:44:50.198-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='end user'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='alert'/><title type='text'>Only with Document library permission is unable to subscribe Alert me!</title><content type='html'>&lt;p&gt;&lt;strong&gt;Issues : &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;user only have full control permission at document library, when user try to click on alert me setting then will show Error: Access Denied&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Root cause:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;this is by design on Microsoft product or maybe is bug :D&lt;/p&gt;  &lt;p&gt;When you click on the Alert me you will route to the page sites/abc/_layouts/XXXXX , which is needed read permission at site level.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1. Grant user view permission at site level. &amp;gt; if allow user to see other information&lt;/p&gt;  &lt;p&gt;2. If user using client Microsoft outlook 2007 then can direct sync the folder to outlook ( if have any new document upload then you will see unread document at outlook)&lt;/p&gt;  &lt;p&gt;3. Admin can help user add the alert. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-1848642020491436994?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/1848642020491436994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=1848642020491436994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1848642020491436994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1848642020491436994'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/04/only-with-document-library-permission.html' title='Only with Document library permission is unable to subscribe Alert me!'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-7771754689169087996</id><published>2011-04-19T06:05:00.001-07:00</published><updated>2011-04-19T06:05:58.854-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='end user'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='Macro'/><title type='text'>Using Marco to save file to sharepoint document library  :)</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Just learnt something new from user, which is we can run macro then the excel file can save to SharePoint document library .&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;here is the code :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Sub TestSave()   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FolderPath = “http://sharepoint.abc.com/sites/abc/docmentLibrary/”    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SavePath = FolderPath &amp;amp; &amp;quot;sinpeow.xls&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ActiveWorkbook.SaveAs Filename:=SavePath, FileFormat:=xlNormal    &lt;br /&gt; End Sub &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-7771754689169087996?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/7771754689169087996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=7771754689169087996' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7771754689169087996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7771754689169087996'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/04/using-marco-to-save-file-to-sharepoint.html' title='Using Marco to save file to sharepoint document library  :)'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2945688984525593524</id><published>2011-04-05T06:40:00.001-07:00</published><updated>2011-04-05T06:40:09.738-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='counter'/><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><title type='text'>How Many current connection to your IIS ?</title><content type='html'>&lt;p&gt;Recently server is out of memory , so thinking to check and see how many connection is connected to my sharepoint web application.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;At last have found one counter is under Web services &amp;gt; current Connection.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This counter is show how many current connection is connected to your web application.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Run Perfmon then add the counter , you will see it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2945688984525593524?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2945688984525593524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2945688984525593524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2945688984525593524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2945688984525593524'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/04/how-many-current-connection-to-your-iis.html' title='How Many current connection to your IIS ?'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5473557659318152327</id><published>2011-03-23T20:09:00.001-07:00</published><updated>2011-03-23T20:09:53.791-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='end user'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='filter'/><category scheme='http://www.blogger.com/atom/ns#' term='View'/><title type='text'>SharePoint List filter with [Null] ?</title><content type='html'>&lt;p&gt;thinking to find any parameter is available to Filter by empty Field at SharePoint list. But&amp;#160; i found one article , is not with Null….is with nothing to compare mean is null!! ha ha..let me share it at below :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.endusersharepoint.com/2009/01/23/filter-by-an-empty-field/"&gt;http://www.endusersharepoint.com/2009/01/23/filter-by-an-empty-field/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I ran into a little quirk this morning that turned out to have an interesting solution. When authors submit articles to the Article Submission Library at EndUserSharePoint.com, there is a date column named “Actual Publication Date” to compare against the “Scheduled Publication Date”.&lt;/p&gt;  &lt;p&gt;I want to create a view that shows only the articles that have not been published.&lt;/p&gt;  &lt;p&gt;My first pass used the filter section to say “Show items when Actual Publication Date is greater than 1/1/2008″. I figured since it was a date column, any item that had a date in that field would not show up in the view. Nope… didn’t work.&lt;/p&gt;  &lt;p&gt;Then I thought “What if you filter for an empty field?” So this time, I set filter to “Show items when Actual Publication date is equal to” and left the value field empty…. Score!!!&lt;/p&gt;  &lt;p&gt;Weird one… don’t compare against the date, just leave the filter value empty. You learn something new everyday.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.endusersharepoint.com/blog/wp-content/uploads/2009/01/2009-01-22-FilterByNone.png" border="0" /&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-5473557659318152327?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5473557659318152327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5473557659318152327' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5473557659318152327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5473557659318152327'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/03/sharepoint-list-filter-with-null.html' title='SharePoint List filter with [Null] ?'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2205693673465367776</id><published>2011-03-22T23:35:00.001-07:00</published><updated>2011-03-22T23:35:06.249-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><title type='text'>wohoo!! 32bit and 64bit in the SharePoint farm :D</title><content type='html'>&lt;p&gt;&lt;strong&gt;Recently our sharepoint Farm facing out of memory issues when downloading large file. After investigation , analyst on the memory dump we have notice is because of the workload… so our option have 2 , one is upgrade to 64bit sharepoitn farm or add on more web front end server.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;suddenly read the article here about performance : &lt;a href="http://technet.microsoft.com/en-us/library/cc298550%28office.12%29.aspx"&gt;http://technet.microsoft.com/en-us/library/cc298550%28office.12%29.aspx&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;just get to know 32bit and 64bit SharePoint server can mix up :)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Mixing 32-bit and 64-bit servers can affect load balancing.&lt;/strong&gt; You can run an environment that has some Web servers running the 32-bit version of Office SharePoint Server 2007 and others running the 64-bit version. However, there is a risk that the 32-bit Web servers might become overloaded if the network load balancer is configured to use a less-intelligent model such as round robin. We recommend that you configure the load balancer to manage distribution based on load.&lt;/p&gt;  &lt;p&gt;Additionally, deploying both 32-bit and 64-bit servers increases the maintenance overhead for the farm. This is because third-party applications, custom solutions, patches, and software updates for both architectures must be tracked and managed independently&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;the benefit i can think of is we can have less down time to conver our fram from 32 bit to 64 bit by mixing it. :D &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2205693673465367776?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2205693673465367776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2205693673465367776' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2205693673465367776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2205693673465367776'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/03/wohoo-32bit-and-64bit-in-sharepoint.html' title='wohoo!! 32bit and 64bit in the SharePoint farm :D'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-6422616940447255450</id><published>2011-02-24T19:34:00.001-08:00</published><updated>2011-02-24T19:34:40.166-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='web part'/><category scheme='http://www.blogger.com/atom/ns#' term='end user'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><title type='text'>sub sites owner with Full Control unable to add Content Editor Web Part</title><content type='html'>&lt;p&gt;after so many year at sharepoint , just notice web part also have permission setting.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;below is the detail from the forum.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.tek-tips.com/viewthread.cfm?qid=1444650&amp;amp;page=3"&gt;http://www.tek-tips.com/viewthread.cfm?qid=1444650&amp;amp;page=3&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Background: SharePoint V3 on a hosted server. The user is a &amp;quot;site owner&amp;quot; and &amp;quot;site owners&amp;quot; have &amp;quot;full control&amp;quot; over the site.&amp;#160; &amp;quot;full control&amp;quot; has all the options that can be selected for security.&amp;#160; This is a sub-site to the main SharePoint site and it does not inhearit security from the parent site.&amp;#160; I want site owners to have full control over there individual sites, but not have control over other's sites.&amp;#160;&amp;#160; &lt;br /&gt;Problem: When the user goes to add a web part to the &amp;quot;Home&amp;quot; page of the site via selecting &amp;quot;Site Actions&amp;quot; - &amp;quot;Edit Page&amp;quot; the only web parts that are available to them are the &amp;quot;Lists and Libraries&amp;quot; web parts that consist of &amp;quot;Announcements&amp;quot;, &amp;quot;Calendar&amp;quot;, &amp;quot;Links&amp;quot;, &amp;quot;Shared Documents&amp;quot;, &amp;quot;Tasks&amp;quot;, and &amp;quot;Team Discussion&amp;quot;.    &lt;br /&gt;When a Site Collection Administrator does the same thing as above, they see all the web parts listed above as well as &amp;quot;Miscellaneous&amp;quot; web parts consisting of &amp;quot;Content Editor Web Part&amp;quot;, &amp;quot;Form Web Part&amp;quot;, &amp;quot;Image Web Part&amp;quot;, &amp;quot;Page Viewer Web Part&amp;quot;, &amp;quot;Relevant Documents&amp;quot;, &amp;quot;Site Users&amp;quot;, &amp;quot;User Tasks&amp;quot;, and &amp;quot;XML Web Part&amp;quot;.&amp;#160; Is it possible to make these web parts accessible to the owners of sub-sites with out giving them full control over the entire SharePoint site hierarchy?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I believe I figured out a solution.&amp;#160; So, if your curious, here is how I fixed it.   &lt;br /&gt;Logged into the top level SharePoint site as a site collection administrator.    &lt;br /&gt;Select &amp;quot;Site Actions&amp;quot; - &amp;quot;Site Settings&amp;quot;    &lt;br /&gt;In the &amp;quot;Galleries&amp;quot; Colum, select &amp;quot;Web Parts&amp;quot;    &lt;br /&gt;With the Web Part Gallery open, select the &amp;quot;Settings&amp;quot; menu and select &amp;quot;Gallery Settings&amp;quot;    &lt;br /&gt;Now you should be in the Customize Web Part Gallery window.&amp;#160; In the &amp;quot;Permissions and Management&amp;quot; column, select &amp;quot;Permissions for this gallery&amp;quot;.    &lt;br /&gt;In the &amp;quot;Permissions: Web Part Gallery&amp;quot; Select &amp;quot;Actions&amp;quot; - &amp;quot;Edit Permissions&amp;quot;     &lt;br /&gt;Select &amp;quot;OK&amp;quot; to the pop up that is displayed warning you that you are about to create unique permissions, and now you can select &amp;quot;New&amp;quot; and add additional users to the Gallery.    &lt;br /&gt;This will allow whomever you add to see all the Web Parts available.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-6422616940447255450?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/6422616940447255450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=6422616940447255450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6422616940447255450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6422616940447255450'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/02/sub-sites-owner-with-full-control.html' title='sub sites owner with Full Control unable to add Content Editor Web Part'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3246448419672867874</id><published>2011-02-21T01:38:00.001-08:00</published><updated>2011-02-21T01:38:16.506-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Command'/><category scheme='http://www.blogger.com/atom/ns#' term='upload'/><title type='text'>Command line method to create large files</title><content type='html'>&lt;p&gt;wohoo… finally get to this lost time command forget in my mine.~~&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;sometime need to have huge file to upload to SharePoint for testing or network testing or do what ever test need to have huge file.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;simple command below for you to generate the large dump files!!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can easily create dummy file of specific size which do not contain any data&lt;em&gt;using Fsutil command&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;fsutil file createnew &amp;lt;name of file&amp;gt; &amp;lt;size in bytes&amp;gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Following is example&lt;/em&gt; to create dummy file of 10MB size in ‘temp’ folder of E drive.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;fsutil file createnew e:temptempfile.txt 10000000&lt;/strong&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3246448419672867874?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3246448419672867874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3246448419672867874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3246448419672867874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3246448419672867874'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/02/command-line-method-to-create-large.html' title='Command line method to create large files'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-7323355077781797925</id><published>2011-02-16T07:04:00.001-08:00</published><updated>2011-02-16T07:04:58.521-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint designer'/><title type='text'>Introduction to workflows</title><content type='html'>&lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/redir/FX010064699.aspx"&gt;Microsoft Office SharePoint Designer 2007&lt;/a&gt; another article from Microsoft&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Across your enterprise, teams use Microsoft SharePoint sites to collaborate on documents and share information. You want to build a SharePoint application that improves team productivity and efficiency, but you don’t want to write code. Where do you start?&lt;/p&gt;  &lt;p&gt;With Microsoft Office SharePoint Designer 2007, you can design workflows that add no-code application logic to your SharePoint sites and applications. Using the Workflow Designer, you create rules that associate conditions and actions with items in SharePoint lists and libraries. Changes to items in lists or libraries trigger actions in the workflow.&lt;/p&gt;  &lt;p&gt;For example, suppose that a team's primary responsibilities are writing, revising, and approving contracts. These contracts are stored in document libraries on the team site. With Office SharePoint Designer 2007, you can create a workflow that sends a notification e-mail message to the reviewer when a new contract has been uploaded to the site. At the same time, the workflow creates a task in the Tasks list for the reviewer. When that person reviews the contract and marks the task as complete, different actions are triggered depending on whether the contract is assigned a status of Approved or Rejected.&lt;/p&gt;  &lt;p&gt;Team efficiency and productivity improve because the workflow drives the process so that the team can focus on doing the work, rather than on managing the workflow. And no programming is required to build such a solution. By creating rules in the Workflow Designer, you can quickly add interactivity to a SharePoint solution or application.&lt;/p&gt;  &lt;p&gt;This article introduces the basics of workflows. When you understand the basic building blocks of a workflow — events, actions, conditions, and steps — you can quickly add application logic to your SharePoint applications.&lt;/p&gt;  &lt;p&gt;&lt;b&gt; IMPORTANT &lt;/b&gt;&amp;#160; To create a workflow, your SharePoint site must be located on a server running Windows SharePoint Services 3.0.&lt;/p&gt;  &lt;p&gt;In this article&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#BM1"&gt;What is a workflow?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#BM2"&gt;What are events, actions, conditions, and steps?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#BM3"&gt;What are workflow forms?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#BM4"&gt;Where are workflows stored?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#BM5"&gt;Where can I check the status of a workflow?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#BM6"&gt;Suggested next steps&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;a name="BM1"&gt;&lt;/a&gt;  &lt;h4&gt;&lt;a name="BM1"&gt;&lt;/a&gt;What is a workflow?&lt;/h4&gt;  &lt;p&gt;Your team uses a SharePoint site to collaborate and store valuable business information in SharePoint lists and libraries. With Office SharePoint Designer 2007 , you can now attach application logic to documents or items in these lists and libraries.&lt;/p&gt;  &lt;p&gt;With the Workflow Designer, you can attach a sequence of conditions and actions to a list or library — this sequence is a workflow. A workflow is a natural way to organize and run a series of actions that correspond to a work process. This process can control almost any aspect of a list item in Windows SharePoint Services 3.0, including the life cycle of that item. The workflow can include both actions performed by people (or workflow participants) and actions performed by the workflow. Workflow participants can interact with the workflow through the Tasks list, where a workflow can create a task for someone and remain paused until the task is marked complete.&lt;/p&gt;  &lt;p&gt;Workflows can be as simple or as complex as your business processes require. You can create a workflow that the user initiates, or a workflow that is initiated automatically based on an event, such as when a list item is created or changed.&lt;/p&gt;  &lt;p&gt;In general, when you use Office SharePoint Designer 2007 to design a workflow, you follow these basic steps:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Use the Workflow Designer to choose and assemble the conditions and actions that define the steps of the workflow. &lt;/li&gt;    &lt;li&gt;Have Office SharePoint Designer 2007 automatically generate any ASP.NET forms for workflow initiation or any custom SharePoint task, if necessary. &lt;/li&gt;    &lt;li&gt;Customize the workflow forms, if necessary.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can think of a workflow as a flowchart of actions with a beginning, an end, and a sequential flow from start to finish. Workflows can incorporate parallel branches, but ultimately they progress from the initial action to the final action.&lt;/p&gt;  &lt;p&gt;For example, suppose you were to chart the workflow described earlier that routes a document in Windows SharePoint Services 3.0 for approval. When the workflow starts, it automatically notifies the specified reviewer by e-mail that they have a document to review. The reviewer then reviews the document, and changes the status of the document to indicate that they have completed their task, and whether they have approved or rejected the document. Based on the reviewer response, the workflow proceeds down one of two parallel branches. If the reviewer approves the document, the workflow moves the approved document to a specific document library, and then sends an e-mail message to the entire team notifying them of the approved document. If the reviewer rejects the document, the workflow notifies the document author of this. In either case, the workflow then reaches its end and the process is completed.&lt;/p&gt;  &lt;p&gt;&lt;img title="Workflow process flow chart" alt="Workflow process flow chart" src="http://officeimg.vo.msecnd.net/en-us/files/815/548/ZA010131571.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM2"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM2"&gt;&lt;/a&gt;What are events, actions, conditions and steps?&lt;/h4&gt;  &lt;p&gt;These are the building blocks of a workflow. A workflow consists of one or more steps, and each step consists of actions and any associated conditions. Each workflow is initiated by an event.&lt;/p&gt;  &lt;h5&gt;WHAT ARE EVENTS?&lt;/h5&gt;  &lt;p&gt;An event is what starts or initiates a workflow. There are exactly three events that can start a workflow:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;An item is created. &lt;/li&gt;    &lt;li&gt;An item is changed. &lt;/li&gt;    &lt;li&gt;A workflow participant clicks a start button on the SharePoint site.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It is important to understand that a workflow created with Office SharePoint Designer 2007 is always attached to exactly one list or library in a SharePoint site. When you design a workflow, you choose which list to attach it to. An event in this list starts the workflow.&lt;/p&gt;  &lt;p&gt;You can create a workflow that a participant starts manually, or a workflow that is started automatically when a list item is created or changed. For example, in the document approval workflow, you want to design the workflow so that it starts automatically whenever someone adds a document to the Shared Documents library. On the &lt;b&gt;File&lt;/b&gt; menu, point to &lt;b&gt;New&lt;/b&gt;, and then click &lt;b&gt;Workflow&lt;/b&gt;. In the Workflow Designer, you see the following page.&lt;/p&gt;  &lt;p&gt;&lt;img title="Define workflow - document approval" alt="Define workflow - document approval" src="http://officeimg.vo.msecnd.net/en-us/files/173/747/ZA010131416.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;When a workflow participant starts a workflow manually, that person first browses to the list or library that the workflow is attached to. Any person with at least the Contribute permission level can initiate a workflow that is designed to start manually. The participant clicks an item, clicks &lt;b&gt;Workflows&lt;/b&gt; on the menu, and then chooses a workflow from a page that displays all workflows associated with that item. The participant fills out a workflow initiation form, if necessary, and then initiates the workflow by clicking the start button on the form. Initiating a workflow creates a new instance of that workflow for that specific item.&lt;/p&gt;  &lt;p&gt;&lt;img title="Workflow command on list item" alt="Workflow command on list item" src="http://officeimg.vo.msecnd.net/en-us/files/539/243/ZA010131573.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt; NOTE &lt;/b&gt;&amp;#160; The &lt;b&gt;Workflows&lt;/b&gt; command is available only when the item is in a list or library that has at least one workflow attached to it.&lt;/p&gt;  &lt;p&gt;For a workflow that is started manually, the initiation form can be as simple as the following.&lt;/p&gt;  &lt;p&gt;&lt;img title="Example of workflow start button on list item" alt="Example of workflow start button on list item" src="http://officeimg.vo.msecnd.net/en-us/files/814/780/ZA010131575.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;You can also add custom fields to an initiation form when you design the workflow. Workflow participants can then provide information to the workflow by filling out this form, and those settings are passed to the workflow. A new workflow instance starts, and that workflow can then look up and use the information provided through the form at any point in the workflow.&lt;/p&gt;  &lt;h5&gt;WHAT ARE ACTIONS?&lt;/h5&gt;  &lt;p&gt;An action is the most basic unit of work in a workflow. Office SharePoint Designer 2007 provides a set of ready-made, reusable actions for you to incorporate into your workflow. For example, your workflow can:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create, copy, change, or delete list items (including documents). &lt;/li&gt;    &lt;li&gt;Check items in or out. &lt;/li&gt;    &lt;li&gt;Send an e-mail message. &lt;/li&gt;    &lt;li&gt;Create a task for someone on the Tasks list of your team site. &lt;/li&gt;    &lt;li&gt;Collect data from a participant that can be referenced later in the workflow. &lt;/li&gt;    &lt;li&gt;Pause or stop the workflow. &lt;/li&gt;    &lt;li&gt;Log workflow information to a History list to use for repudiation or workflow debugging. &lt;/li&gt;    &lt;li&gt;Set workflow variables or perform calculations.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A workflow can contain any number of actions. The actions just listed are performed by the workflow, but other actions might be performed by workflow participants. For example, the document approval workflow is comprised of five actions. Four of these actions are performed automatically by the workflow, but one of these actions — actually reviewing the document — is done by a workflow participant. Actions done by a workflow participant are represented by tasks assigned to that person in the Tasks list. The five actions in the example workflow are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Send an e-mail message to notify the reviewer &lt;/li&gt;    &lt;li&gt;Review the document (a task assigned to a workflow participant) &lt;/li&gt;    &lt;li&gt;Move the document to the Approved document library &lt;/li&gt;    &lt;li&gt;Send an e-mail message to notify the team &lt;/li&gt;    &lt;li&gt;Send an e-mail message to notify the document author&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In the most basic sense, when you design a workflow, you identify the necessary sequence of actions, and then you assemble that sequence of actions by using the Workflow Designer. For example, in the document approval workflow, the first action that you want is to send an e-mail message to notify the reviewer.&lt;/p&gt;  &lt;p&gt;&lt;img title="Flowchart, send e-mail to reviewer" alt="Flowchart, send e-mail to reviewer" src="http://officeimg.vo.msecnd.net/en-us/files/480/727/ZA010131577.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;So in the Workflow Designer, you choose that action for the first step in the workflow.&lt;/p&gt;  &lt;p&gt;&lt;img title="Actions list" alt="Actions list" src="http://officeimg.vo.msecnd.net/en-us/files/121/182/ZA010131411.gif" border="0" /&gt;&lt;/p&gt;  &lt;h5&gt;WHAT ARE CONDITIONS?&lt;/h5&gt;  &lt;p&gt;When you design a workflow, you can use the Workflow Designer to create rules that apply conditional logic to SharePoint lists and items. A rule establishes a condition where the workflow performs the associated action only if that condition is true. For example, you can create a rule where the workflow sends a reviewer an e-mail message only if an item is created by a specific person. You can also add clauses to a condition. For example, you can create a rule where a reviewer is sent an e-mail message only if an item is both (1) created by a specific person and (2) the document title contains specific keywords. Finally, you can associate multiple actions with one condition. For example, you can create a rule where if an item is created by a specific person, then (1) the reviewer is sent an e-mail and (2) workflow information is logged to the History list.&lt;/p&gt;  &lt;p&gt;&lt;img title="Choose conditions and actions" alt="Choose conditions and actions" src="http://officeimg.vo.msecnd.net/en-us/files/547/659/ZA010131578.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;To sum up, a rule is a condition associated with one or more actions: If all clauses in the condition are true, do all the associated actions.&lt;/p&gt;  &lt;p&gt;In the previous example, the user specified only one condition. However, you can create multiple conditions for a step in the workflow. Multiple conditions create branches in the workflow: If condition A is true, do one action; if condition B is true, do a different action. To add a branch to a step, click &lt;b&gt;Add 'Else If' Conditional Branch&lt;/b&gt;. For example, in the document approval workflow, if the reviewer approves a document, the workflow performs one action (or series of actions); if the reviewer rejects a document, the same workflow performs a different action. This is a conditional branch.&lt;/p&gt;  &lt;p&gt;&lt;img title="Flowchart example, approver reviews document" alt="Flowchart example, approver reviews document" src="http://officeimg.vo.msecnd.net/en-us/files/654/618/ZA010131579.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;In the Workflow Designer, this step has two branches and looks like the following. The green diamond indicates that the step has a conditional branch.&lt;/p&gt;  &lt;p&gt;&lt;img title="Conditional branch with two conditions" alt="Conditional branch with two conditions" src="http://officeimg.vo.msecnd.net/en-us/files/588/400/ZA010131580.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;You can also create a branch that has no specific condition. This way, the workflow performs one action if a condition is true and a different action if the condition is false. For example, the following step in a workflow sends a message to the team only if the condition is true; else, the workflow sends a message just to the document author. By adding a branch with no specific conditions, the workflow performs the action in that branch in any case where the condition in the first branch is false.&lt;/p&gt;  &lt;p&gt;&lt;img title="Conditional branch with no second condition" alt="Conditional branch with no second condition" src="http://officeimg.vo.msecnd.net/en-us/files/720/207/ZA010131582.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt; NOTE &lt;/b&gt;&amp;#160; Branching in a workflow cannot extend from one step to another. A set of 'Else If' branches is always contained in a single step.&lt;/p&gt;  &lt;p&gt;Office SharePoint Designer 2007 provides several ready-made, reusable conditions for you to incorporate into your workflow. For example, you can specify that the workflow performs the associated actions only if an item:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Is created or modified in a specific time span. &lt;/li&gt;    &lt;li&gt;Is created or modified by a specific person. &lt;/li&gt;    &lt;li&gt;Has a title field that contains specified keywords. &lt;/li&gt;    &lt;li&gt;Is a file of a specific type or has a file size in a specific range. (This condition is available only when the workflow is attached to a document library.)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In addition, you can create custom conditions and advanced conditions where you can specify a wide range of parameters. With custom conditions, you can compare a field in the current list with a value. For example, you can create a custom condition where if the Approval Status field equals Approved, do the associated action. With advanced conditions, you can compare one value to another value. This allows you to create a comparison between a field in any list and a value from another list. For example, you can create an advanced condition for the Shared Documents library where if the value of the Status field in the Tasks list equals Pending, do the associated action.&lt;/p&gt;  &lt;p&gt;&lt;b&gt; NOTE &lt;/b&gt;&amp;#160; An action does not require a condition. For example, the first step of the example document approval workflow sends an e-mail to notify the reviewer. This action does not have a condition associated with it.&lt;/p&gt;  &lt;h5&gt;PARALLEL VS. SERIAL ACTIONS&lt;/h5&gt;  &lt;p&gt;When you have more than one action associated with a condition, the actions can be set up to run at the same time (parallel) or one after another (serial).&lt;/p&gt;  &lt;p&gt;&lt;img title="Run actions in parallel or serial" alt="Run actions in parallel or serial" src="http://officeimg.vo.msecnd.net/en-us/files/838/371/ZA010131583.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Serial actions&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; For example, in the document approval workflow, you can set up two actions so that when a document is approved, a message is sent and then (afterward) the document is copied to the Approved document library. In the Workflow Designer, &lt;b&gt;then&lt;/b&gt; indicates that the second action occurs after the first.&lt;/p&gt;  &lt;p&gt;&lt;img title="Serial action with &amp;#39;then&amp;#39;" alt="Serial action with &amp;#39;then&amp;#39;" src="http://officeimg.vo.msecnd.net/en-us/files/528/396/ZA010131584.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Parallel actions&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; For example, in the document approval workflow, you can set up two actions so that when a document is approved, a message is sent and (at the same time) the document is copied to the Approved document library. In the Workflow Designer, &lt;b&gt;and&lt;/b&gt; indicates that the second action occurs at the same time as the first.&lt;/p&gt;  &lt;p&gt;&lt;b&gt; NOTE &lt;/b&gt;&amp;#160; Parallel actions are not absolutely simultaneous; the exact order cannot be specified and may vary each time the workflow runs.&lt;/p&gt;  &lt;p&gt;&lt;img title="Parallel action with &amp;#39;and&amp;#39;" alt="Parallel action with &amp;#39;and&amp;#39;" src="http://officeimg.vo.msecnd.net/en-us/files/618/231/ZA010131585.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt; NOTES &lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In any given rule (conditions and actions), all actions must be either serial or parallel. &lt;/li&gt;    &lt;li&gt;A set of serial or parallel actions must be contained within a single step.&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;WHAT ARE STEPS?&lt;/h5&gt;  &lt;p&gt;A workflow is comprised of one or more steps. Each step can contain any number of actions and associated conditions. You can think of steps simply as pages in the Workflow Designer. For example, the document approval workflow has two steps, as shown in the Workflow Designer.&lt;/p&gt;  &lt;p&gt;&lt;img title="Workflow steps, add a step" alt="Workflow steps, add a step" src="http://officeimg.vo.msecnd.net/en-us/files/221/750/ZA010131586.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;Steps allow you to group conditions and actions so that one set of rules (conditions and actions) can be evaluated and performed before a second set.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;One step or many?&lt;/b&gt; Some workflows can be designed either as a sequence of actions within one step, or as a sequence of steps.&lt;/p&gt;  &lt;p&gt;For example, the following three actions could be Step 1 of a basic one-step workflow.&lt;/p&gt;  &lt;p&gt;&lt;img title="Multiple actions in one step" alt="Multiple actions in one step" src="http://officeimg.vo.msecnd.net/en-us/files/877/502/ZA010131587.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;The same three actions could be separated into several steps.&lt;/p&gt;  &lt;p&gt;&lt;img title="Multiple actions in many steps" alt="Multiple actions in many steps" src="http://officeimg.vo.msecnd.net/en-us/files/499/418/ZA010131588.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;How you structure your workflow into steps depends on what you want each step to accomplish. The rules in one step are processed to conclusion before going on to the next step, so you want to group in the same step any rules necessary to effect the specific action or actions that you want.&lt;/p&gt;  &lt;p&gt;More specifically, each step can hold one set of 'Else If' conditional branches, where the actions in each branch are performed only when the associated condition is satisfied. In this case, additional steps are needed only when:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Multiple sets of 'Else If' conditional branches need to be evaluated. &lt;/li&gt;    &lt;li&gt;You need to separate a branched statement from a non-branched statement.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can also use steps simply as a way to organize your workflow. For example, a workflow might have many actions in a step that doesn't use conditions. In this case, you might want to separate the actions into steps just to better organize them.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM3"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM3"&gt;&lt;/a&gt;What are workflow forms?&lt;/h4&gt;  &lt;p&gt;To make your workflow more dynamic and flexible, you can add a form to the workflow. With a form, you can collect information from workflow participants at predefined times in the workflow, and make it possible for participants to interact with the tasks for that workflow.&lt;/p&gt;  &lt;p&gt;With Office SharePoint Designer 2007, you can create two types of workflow forms:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;An initiation form gathers information from the workflow participant when they start the workflow. Initiation forms are displayed to users when they manually start a workflow on a given SharePoint item. With an initiation form, users can specify additional parameters or information about the workflow as it applies to the given SharePoint item. For example, you might use an initiation form to ask who should review a document and by when the review should be completed. Not all workflows need initiation forms. If you do need one, Office SharePoint Designer 2007 automatically generates an ASP.NET initiation form according to your initiation specifications. &lt;/li&gt;    &lt;li&gt;A custom task form allows workflow participants to interact with tasks in the Tasks list on a SharePoint site. With the Custom Task Wizard, you can easily create custom form fields and add them to a custom task form. When you finish designing the workflow, Office SharePoint Designer 2007 automatically generates the ASP.NET forms for your custom tasks. Then, when the workflow runs and tasks are created, the user browses to the Tasks list on the SharePoint site, marks the task as completed, and enters any optional or required information specific to the workflow. The workflow can then respond to those changes as specified in the workflow, or look up and evaluate that information in later steps of the workflow.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;After Office SharePoint Designer 2007 automatically generates the ASP.NET forms, you can customize them. Workflow forms are ASP.NET pages with a Data Form Web Part and a master page applied to it. These .aspx files are stored on the SharePoint site with the workflow source files. You can open and customize these forms as you would any other .aspx file.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM4"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM4"&gt;&lt;/a&gt;Where are workflows stored?&lt;/h4&gt;  &lt;p&gt;Workflows are stored in a site-level document library called Workflows. This document library is created automatically by Office SharePoint Designer 2007. In the Folder List, the Workflows document library displays the workflow icon instead of the usual list or document library icon. By default, the Workflows document library is hidden from the browser and has no List Views, such as AllItems.aspx or EditForm.aspx. This document library contains a folder for each workflow created with Office SharePoint Designer 2007. The folder contains all the source files necessary for the workflow, including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The workflow markup (.xoml) file (needed only when the workflow uses conditions). &lt;/li&gt;    &lt;li&gt;The workflow rules file. &lt;/li&gt;    &lt;li&gt;The workflow configuration file. &lt;/li&gt;    &lt;li&gt;Any .aspx forms needed, such as initiation forms (for workflows that are started manually) or custom task forms.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To modify an existing workflow, you can either click &lt;b&gt;Open Workflow&lt;/b&gt; on the &lt;b&gt;File&lt;/b&gt;menu or double-click the .xoml file in the Folder List. This opens the workflow to its first step in the Workflow Designer. If you click &lt;b&gt;Back&lt;/b&gt; to view the initiation settings of the workflow, you see that you cannot change which list or library the workflow is attached to. After a workflow is attached to a list or library by using Office SharePoint Designer 2007, this association cannot be changed.&lt;/p&gt;  &lt;p&gt;&lt;img title="Workflows in folder list" alt="Workflows in folder list" src="http://officeimg.vo.msecnd.net/en-us/files/485/536/ZA010131589.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;The Workflow Designer provides an action called Log to History List. You might use this action when you want to keep a record of the workflow history for investigating errors or for tracking and repudiation purposes. When you create a workflow that uses the action Log to History List, Office SharePoint Designer 2007 automatically creates a list called Workflow History. This list has columns for such information as user ID, date, event, and error description. Like the Workflows document library, by default the History list is hidden from the browser but can be seen in the Folder List.&lt;/p&gt;  &lt;p&gt;&lt;img title="Workflow history in folder list" alt="Workflow history in folder list" src="http://officeimg.vo.msecnd.net/en-us/files/715/372/ZA010131590.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;The Workflow Designer provides three actions that interact with the Tasks list: Assign a To-Do Item, Collect Data from a User, and Assign a Group Survey. When you create a workflow that uses any of these three actions, Office SharePoint Designer 2007 automatically creates the .aspx form, the content type for the task, and the Tasks list, if necessary. By default, the Tasks list can be viewed in the browser, unlike the Workflows document library and Workflow History list.&lt;/p&gt;  &lt;p&gt;&lt;img title="Tasks list in folder list" alt="Tasks list in folder list" src="http://officeimg.vo.msecnd.net/en-us/files/500/508/ZA010131591.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-workflows-HA010100587.aspx#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM5"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM5"&gt;&lt;/a&gt;Where can I check the status of a workflow?&lt;/h4&gt;  &lt;p&gt;You can easily view the progress of workflows on a selected item through the browser. The All Items view of a list or document library displays the current status of workflows running on an item. In addition, each item has a Workflows page where you can view the following information:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;All workflows currently running on that item. &lt;/li&gt;    &lt;li&gt;All workflows that have run on the item in the past. &lt;/li&gt;    &lt;li&gt;All the available workflows for that item.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img title="Workflows page for an item" alt="Workflows page for an item" src="http://officeimg.vo.msecnd.net/en-us/files/160/992/ZA010131592.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;To view the Workflows page for an item, click the item in the list, and then click&lt;b&gt;Workflows&lt;/b&gt; on the menu.&lt;/p&gt;  &lt;p&gt;&lt;b&gt; NOTE &lt;/b&gt;&amp;#160; The &lt;b&gt;Workflows&lt;/b&gt; command is available only when the item is in a list or library that has at least one workflow attached to it.&lt;/p&gt;  &lt;p&gt;When a user starts a workflow on an item, Windows SharePoint Services 3.0 adds a new column to that item. By default, the column name matches the name of the workflow. This read-only column displays the current status of the item within that workflow. This status column is added automatically for each workflow the first time it is run.&lt;/p&gt;  &lt;p&gt;&lt;img title="Columns display workflow status" alt="Columns display workflow status" src="http://officeimg.vo.msecnd.net/en-us/files/944/558/ZA010131593.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;In each column, the workflow status is a link. When you click &lt;b&gt;In Progress&lt;/b&gt;, for example, you see the Workflow Status page for that instance of the workflow.&lt;/p&gt;  &lt;p&gt;&lt;img title="Workflow status page" alt="Workflow status page" src="http://officeimg.vo.msecnd.net/en-us/files/947/085/ZA010131594.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;A workflow created in Office SharePoint Designer 2007 cannot be deployed to multiple lists. It is only valid for the list for which it was created. However, multiple workflows can be attached to one list and may be available for a given item. Multiple workflows can run simultaneously on the same list item, but only one instance of a specific workflow can run on a specific item at any given time. For example, you might have two workflows, Workflow A and Workflow B, available for a specific list. Although both workflows can run simultaneously on a specific item in the list, you cannot have two instances of Workflow A or Workflow B running on the same item at the same time.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-7323355077781797925?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/7323355077781797925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=7323355077781797925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7323355077781797925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7323355077781797925'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/02/introduction-to-workflows.html' title='Introduction to workflows'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-7440314289446361559</id><published>2011-02-16T07:03:00.001-08:00</published><updated>2011-02-16T07:03:24.700-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='system'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Introduction to customizing pages by using Web Parts</title><content type='html'>&lt;p&gt;&lt;font color="#00ff00"&gt;&lt;strong&gt;WSS list is so useful for business user, can do something simple system by the simple list and filter :D. i am start thinking should i be business personnel rather then SharePoint engineer? ha ha ha , ok, just keep tract this article from Microsoft , i am sure one day i will consult user to user this :D&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This article is intended for Web page owners and administrators. It provides an overview of Web Parts and Web Part Pages and explains how you can customize a page by adding, changing, or deleting Web Parts.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#BM1"&gt;Overview of Web Parts and Web Part Pages&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#BM2"&gt;Types of Web Parts&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#BM3"&gt;Ways to use Web Parts and Web Part Pages&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#BM4"&gt;Web browser support for Web Part Pages&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;a name="BM1"&gt;&lt;/a&gt;  &lt;h4&gt;&lt;a name="BM1"&gt;&lt;/a&gt;Overview of Web Parts and Web Part Pages&lt;/h4&gt;  &lt;p&gt;A Web Part is a modular unit of information that forms the basic building block of a Web Part Page. You can add Web Parts to Web Part zones in a Web Part Page and then customize the individual Web Parts to create a unique page for your site users.&lt;/p&gt;  &lt;p&gt;The following example uses the Image Web Part to describe the basic features of a Web Part.&lt;/p&gt;  &lt;hr align="center" /&gt;  &lt;p&gt;&lt;img title="Sample Image Web Part" alt="Sample Image Web Part" src="http://officeimg.vo.msecnd.net/en-us/files/237/625/ZA010117579.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Callout 1" alt="Callout 1" src="http://officeimg.vo.msecnd.net/en-us/files/887/503/ZA001093948.gif" border="0" /&gt; The Web Part title bar contains the heading for the Web Part.&lt;/p&gt;  &lt;p&gt;&lt;img title="Callout 2" alt="Callout 2" src="http://officeimg.vo.msecnd.net/en-us/files/010/917/ZA001093949.gif" border="0" /&gt; The &lt;b&gt;Web Part&lt;/b&gt; menu contains functions that enable you to minimize or close the Web Part, edit the Web Part, or get Help for a specific Web Part. When the page is in edit mode, you can also use this menu to delete the Web Part or connect it to other Web Parts, depending on the type of Web Part that you are using.&lt;/p&gt;  &lt;p&gt;&lt;img title="Callout 3" alt="Callout 3" src="http://officeimg.vo.msecnd.net/en-us/files/286/739/ZA001093950.gif" border="0" /&gt; The body of the Web Part contains the content that you specified for the type of Web Part that is being used. In this example, the Web Part is an Image Web Part, which displays an image.&lt;/p&gt;  &lt;hr align="center" /&gt;  &lt;p&gt;A Web Part Page is a special type of Web page in which you can use Web Parts to consolidate data, such as lists and charts, and Web content, such as text and images, into a dynamic information portal that is built around a common task or special interest.&lt;/p&gt;  &lt;p&gt;Your site home page is one example of a Web Part Page. When you create a new site or workspace site, you are creating a Web Part Page. You can also create a Web Part Page by selecting one of the available site templates, or you can use a Web design program that is compatible with Microsoft Windows SharePoint Services, such as Microsoft Office SharePoint Designer 2007, to create a Web Part Page from scratch.&lt;/p&gt;  &lt;p&gt;You can use a Web Part Page to present a variety of structured and unstructured information in an organized, useful, and convenient way. Web Part Pages often contain several Web Parts that are connected so that you can dynamically display data and content to see the results that you want.&lt;/p&gt;  &lt;p&gt;For example, you can create a Web Part Page called Customer Orders that you frequently use to display critical information. You get a call from a customer who has a question about an order, does not remember the order ID number, but does remember the date when the order was placed. You can use a Web Part Page to do the following.&lt;/p&gt;  &lt;hr align="center" /&gt;  &lt;p&gt;&lt;img title="Customer Orders Web Part Page with several Web Parts" alt="Customer Orders Web Part Page with several Web Parts" src="http://officeimg.vo.msecnd.net/en-us/files/171/549/ZA010099743.gif" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Callout 1" alt="Callout 1" src="http://officeimg.vo.msecnd.net/en-us/files/887/503/ZA001093948.gif" border="0" /&gt; Look up an order by order ID number or, in this case, the order date.&lt;/p&gt;  &lt;p&gt;&lt;img title="Callout 2" alt="Callout 2" src="http://officeimg.vo.msecnd.net/en-us/files/010/917/ZA001093949.gif" border="0" /&gt; Display all orders by date.&lt;/p&gt;  &lt;p&gt;&lt;img title="Callout 3" alt="Callout 3" src="http://officeimg.vo.msecnd.net/en-us/files/286/739/ZA001093950.gif" border="0" /&gt; Select the correct order, based on the customer's name, and look up the order details as well as the customer details.&lt;/p&gt;  &lt;p&gt;&lt;img title="Callout 4" alt="Callout 4" src="http://officeimg.vo.msecnd.net/en-us/files/517/472/ZA001093951.gif" border="0" /&gt; Select a line item in the order (in this case, the lamp), and display a product picture to confirm the customer's question.&lt;/p&gt;  &lt;p&gt;&lt;img title="Callout 5" alt="Callout 5" src="http://officeimg.vo.msecnd.net/en-us/files/815/610/ZA001093952.gif" border="0" /&gt; Scan for late-breaking business news that is pertinent to the customer's order.&lt;/p&gt;  &lt;hr align="center" /&gt;  &lt;h5&gt;WEB PART PROPERTIES&lt;/h5&gt;  &lt;p&gt;Each Web Part shares a set of common properties (also called base class properties) that are organized into sections in the tool pane and that control the Web Part's appearance (such as the title, height, and width), layout (such as the Web Part order in the zone and the direction of the content), and advanced characteristics (such as the image icon and description).&lt;/p&gt;  &lt;p&gt;Many Web Parts also have custom properties that are unique to the Web Part. These are usually displayed either above or below the common Web Part properties in the tool pane. For example, the Image Web Part has additional custom properties, including the image link, its horizontal and vertical alignment, and background color.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;NOTE &lt;/b&gt;&amp;#160; Depending on how the Web Part was created, a Web Part custom property may be displayed in a default Miscellaneous section below the common properties in the tool pane.&lt;/p&gt;  &lt;h5&gt;WEB PART VIEWS&lt;/h5&gt;  &lt;p&gt;You can customize a Web Part in one of two views:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Shared view&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can add a Web Part to a Web Part Page and then edit the Web Part Page in a shared view. Shared Web Parts are available to all users of a Web Part Page who have the appropriate permission. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Personal view&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can add a shared Web Part to your own personal view and then edit your view of the Web Part. The changes that you make to a Web Part while you are in a personal view are available only to you. Other users who did not make changes in a personal view continue to see the shared view of the Web Part. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The view of the Web Part that you are working with can be important because:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You may have permission to edit only some Web Parts on certain Web Part Pages but not on other Web Part Pages. &lt;/li&gt;    &lt;li&gt;You may be able to connect to certain Web Parts on a Web Part Page but not to other Web Parts on the same Web Part Page. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;WEB PARTS AND WEB PART CONNECTIONS&lt;/h5&gt;  &lt;p&gt;An additional feature of Web Parts is the ability to easily connect them by passing data between them and synchronizing their behavior. By connecting Web Parts, you can manage data in dynamic and interesting ways. In many products and technologies, the task of connecting sets of data from different data sources is not easy and often requires programming skill. But with Web Parts, making data connections is as simple as using menu commands. By connecting Web Parts, you can, for example, present data from two Web Parts in alternate views, perform related calculations between two Web Parts, and filter a Web Part by using values from another Web Part — all on one Web Part Page.&lt;/p&gt;  &lt;h5&gt;WEB PART ZONES AND THEIR PROPERTIES&lt;/h5&gt;  &lt;p&gt;Web Part zones are containers of Web Parts that are used to group and organize Web Parts on a Web Part Page. Web Part zones also have a set of properties that serve a dual purpose. You can use one subset of properties to organize the layout and format of Web Parts on the Web Part Page. You can use another subset of properties to provide an additional level of protection from modification (or &amp;quot;lock down&amp;quot;) of the Web Parts within the zone.&lt;/p&gt;  &lt;p&gt;The Web Part zone properties each have default settings or behaviors. As you add Web Parts to the Web Part Page, some of these property values are automatically set. These property values are not designed to be edited in the browser, but you can edit them by using a Web design program that is compatible with Windows SharePoint Services, such as Office SharePoint Designer 2007.&lt;/p&gt;  &lt;p&gt;For more information about Web Part zone properties, see the Windows SharePoint Services 3.0 SDK, which is available from the &lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/redir/XT001189651.aspx?CTT=5&amp;amp;origin=HA010024279"&gt;Windows SharePoint Services Developer Center on MSDN&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM2"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM2"&gt;&lt;/a&gt;Types of Web Parts&lt;/h4&gt;  &lt;p&gt;Windows SharePoint Services provides several Web Parts that are ready to use with your site. You can use these built-in Web Parts, customize them to suit your needs, or create new Web Parts and upload them for use throughout your site.&lt;/p&gt;  &lt;h5&gt;DEFAULT WEB PARTS&lt;/h5&gt;  &lt;p&gt;The following Web Parts are included by default in any site and can be customized to suit the needs of your team. Many of these Web Parts can also be connected to each other to create a variety of unique solutions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;b&gt;Content Editor Web Part&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can use the Content Editor Web Part to add formatted text, tables, hyperlinks, and images to a Web Part Page. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Form Web Part&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can use the Form Web Part to connect to and filter a column of data in another Web Part. Both Web Parts must run on the same server. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Image Web Part&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can use the Image Web Part to add a picture or graphic to a Web Part Page. To more easily coordinate the image with other Web Parts on the page, you can control the vertical alignment, horizontal alignment, and background color of the image inside the Image Web Part by editing its custom properties in a shared view. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;List View Web Part&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can use the List View Web Part to display and edit list or library data on your site and to connect to other Web Parts, including other List View Web Parts. Lists are information that you share with team members and often display in tabular format. List views display this information in different ways for different purposes, such as filtering, sorting, or selecting specific columns. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;NOTE &lt;/b&gt;&amp;#160; There is no Web Part called List View. When you create a list on your site, a List View Web Part is automatically created and named after the list. For example, if you create a list called Boats, a Web Part called Boats will be available in the &lt;i&gt;Site Name&lt;/i&gt; gallery. The Web Part automatically displays the data contained in the list that you created.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;b&gt;Page Viewer Web Part&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can use the Page Viewer Web Part to display a Web page, file, or folder on a Web Part Page. You enter a hyperlink, file path, or folder name to link to the content. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Site Users&lt;/b&gt; Web Part&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can use the Site Users Web Part to display a list of users and groups who have permission to use a site. The Site Users Web Part automatically appears on the home page of a Document Workspace site. You can also add the Site Users Web Part to any Web Part Page. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;NOTE &lt;/b&gt;&amp;#160; In sites that are running on Microsoft Windows SharePoint Services 2.0 and earlier, the Site Users Web Part was called the Members Web Part.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;b&gt;XML Web Part&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; You can use the XML Web Part to display Extensible Markup Language (XML) and apply Extensible Stylesheet Language Transformations (XSLT) to the XML before the content is displayed. For example, you might have an XML file that contains a list of boats, prices, and links to images of the boats. You can use the XSLT to transform the data to display a list of boats and prices and make the boat name a hyperlink to display the image in a separate window. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;PRECONFIGURED LIST VIEW WEB PARTS&lt;/h5&gt;  &lt;p&gt;The following Web Parts are built into the Windows SharePoint Services team site template and are automatically configured and ready to use on a Web Part Page when you create a new team site. Different combinations of these Web Parts are included when you create a team site or workspace site, depending on which site template you select.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;NOTE &lt;/b&gt;&amp;#160; These Web Parts are derived from the List View Web Part and use preconfigured Web Part templates to create their unique layout and design. To add data to these lists, on the Quick Launch, click&lt;b&gt; View All Site Content&lt;/b&gt;, and then click&lt;b&gt;Lists&lt;/b&gt;. On the All Site Content page, click the name of the list for which you want to add data.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;b&gt;Announcements&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; Use the Announcements Web Part to post news, status, and other short bits of information that you want to share with team members. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Calendar&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; Use the Calendar Web Part to display upcoming events or team schedules. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Links&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; Use the Links Web Part to post hyperlinks to Web pages that interest your team. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Shared Documents&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; Use the Shared Documents Web Part to share files from the default document library with site users. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Tasks&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; Use the Tasks Web Part to assign a task to a member of your team, specify its due date and priority, and indicate its status and progress. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;b&gt;Team Discussion&lt;/b&gt;&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; Use the Team Discussion Web Part to provide a forum for talking about topics that interest your team. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;CUSTOM WEB PARTS&lt;/h5&gt;  &lt;p&gt;By using a programming environment that is compatible with Windows SharePoint Services, such as Microsoft Visual Studio, developers can exploit the full feature set of Microsoft ASP.NET to create custom Web Parts. A Web Part Page is an ASP.NET file (.aspx), and Web Parts are derived from Web Form Controls. To further enhance Web Part Pages, developers can create their own Web Parts that provide new functionality. Developers can also add custom properties to the Web Parts, add custom builders in the tool pane for specialized user interfaces, and connect to other Web Parts by using Web Part connections. For more information about creating and deploying Web Parts, see the Windows SharePoint Services 3.0 SDK, which is available from the &lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/redir/XT001189651.aspx?CTT=5&amp;amp;origin=HA010024279"&gt;Windows SharePoint Services Developer Center on MSDN&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can also use Web Parts that other people or companies have created. You must have appropriate permissions to add a third-party Web Part to your Web Part Page or site. Some Web Parts may need to be deployed directly to the server. If you are unable to add a third-party Web Part to your Web Part Page or site, contact your administrator for assistance.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM3"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM3"&gt;&lt;/a&gt;Ways to use Web Parts and Web Part Pages&lt;/h4&gt;  &lt;p&gt;You can use Web Part Pages in the following ways:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Consolidate data from different data sources. &lt;/li&gt;    &lt;li&gt;Report and summarize critical data. &lt;/li&gt;    &lt;li&gt;Analyze and aggregate data (for example, sums, totals, or counts). &lt;/li&gt;    &lt;li&gt;Summarize key information that you want to see at the beginning of each day. &lt;/li&gt;    &lt;li&gt;Prioritize and highlight project or customer data to help you make effective decisions. &lt;/li&gt;    &lt;li&gt;Display an up-to-date work schedule and meeting information to quickly plan your day. &lt;/li&gt;    &lt;li&gt;Get quick access to business news, local weather, and your favorite Web sites to focus your Web browsing. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;WAYS TO CREATE AND CUSTOMIZE A WEB PART PAGE&lt;/h5&gt;  &lt;p&gt;There are several ways to create and customize a Web Part Page:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;The &lt;b&gt;New Web Part Page&lt;/b&gt; form&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; The most common way to create a Web Part Page is through the &lt;b&gt;New Web Part Page&lt;/b&gt; form. On the &lt;b&gt;Site Actions&lt;/b&gt;menu &lt;img title="Site Actions menu" alt="Site Actions menu" src="http://officeimg.vo.msecnd.net/en-us/files/140/014/ZA010074910.gif" border="0" /&gt;, click &lt;b&gt;Create&lt;/b&gt;, and then click &lt;b&gt;Web Part Page&lt;/b&gt; to open the &lt;b&gt;New Web Part Page&lt;/b&gt; form. After using this form to create a page, you can begin designing the page right away in the browser. When you want to browse through the page, just close the tool pane. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;A Web design program&lt;/b&gt;&amp;#160;&amp;#160;&amp;#160; By using a Web design program that is compatible with Windows SharePoint Services, such as Microsoft Office SharePoint Designer 2007, you can make advanced customizations to a Web Part Page, including the following:       &lt;ul&gt;       &lt;li&gt;Customize the theme of a Web Part Page that uses the site theme by default. &lt;/li&gt;        &lt;li&gt;Edit a Web Part Page template or create a new one. &lt;/li&gt;        &lt;li&gt;Customize the page layout. &lt;/li&gt;        &lt;li&gt;Edit zone properties. &lt;/li&gt;        &lt;li&gt;Add HTML code or Web controls. &lt;/li&gt;        &lt;li&gt;Change the way Web Parts are ordered inside a zone. &lt;/li&gt;        &lt;li&gt;Add Web Parts outside a zone, or add a Web Part to a Web page that is not a Web Part Page. &lt;/li&gt;        &lt;li&gt;Create connections between Web Parts on different Web Part Pages. &lt;/li&gt;        &lt;li&gt;Publish a Web Part Page to a Web site that is running Windows SharePoint Services. &lt;/li&gt;        &lt;li&gt;Customize the Form Web Part and use the Data View Web Part. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#top"&gt;&lt;img title="Top of Page" alt="Top of Page" src="http://officeimg.vo.msecnd.net/en-us/files/206/661/ZA010077668.gif" border="0" /&gt;&lt;/a&gt; &lt;a href="http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-customizing-pages-by-using-web-parts-HA010024279.aspx?CTT=5&amp;amp;origin=HA010250989#top"&gt;TOP OF PAGE&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="BM4"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="BM4"&gt;&lt;/a&gt;Web browser support for Web Part Pages&lt;/h4&gt;  &lt;p&gt;Web browser support for Web Part Pages can be categorized into two levels:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Level 1 support is the highest level of visual and functional support. Browsers that provide level 1 support include recent versions of Microsoft Internet Explorer for Microsoft Windows. &lt;/li&gt;    &lt;li&gt;At level 2 support, a few visual and functional features are not available to some browsers, and some other features are compromised and behave differently from the way they behave in level 1 browsers. However, the majority of features are still available to users. Browsers that provide level 2 support include Firefox 1.5 and later for Windows and Netscape Navigator 8.0 and later for Windows. Level 2 browsers are not supported for Windows SharePoint Services 3.0 Central Administration. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;NOTE &lt;/b&gt;&amp;#160; Level 2 browsers do not support the creation of connections between Web Parts.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-7440314289446361559?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/7440314289446361559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=7440314289446361559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7440314289446361559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7440314289446361559'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/02/introduction-to-customizing-pages-by.html' title='Introduction to customizing pages by using Web Parts'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3675728924383637655</id><published>2011-01-18T23:08:00.001-08:00</published><updated>2011-01-18T23:08:11.455-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='sub sites'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='size'/><title type='text'>A way to determine the size of subsites?</title><content type='html'>&lt;p&gt;&lt;font color="#0080ff"&gt;There's a tool on Codeplex that will give you this information: &lt;/font&gt;&lt;a href="http://www.codeplex.com/SPUsedSpaceInfo"&gt;&lt;font color="#0080ff"&gt;http://www.codeplex.com/SPUsedSpaceInfo&lt;/font&gt;&lt;/a&gt;&lt;font color="#0080ff"&gt; .&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;font color="#0080ff"&gt;Bob Klass also has a tip in his blog of another way to try to get that info:&lt;/font&gt;&lt;a href="http://bobklass.blogspot.com/2009/01/easy-way-how-to-find-sharepoint-subsite.html"&gt;&lt;font color="#0080ff"&gt;http://bobklass.blogspot.com/2009/01/easy-way-how-to-find-sharepoint-subsite.html&lt;/font&gt;&lt;/a&gt;&lt;font color="#0080ff"&gt; .&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bobklass.blogspot.com/2009/01/easy-way-how-to-find-sharepoint-subsite.html"&gt;Easy Way How to Find SharePoint Subsite Size&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I was looking for a GOOD way to find out the size of subsites. It seems a lot of people are struggling with this. You could try SharePoint Designer. That's fun. When you ask it site properties, it will give you a different answer depending on what document libraries or lists you touched. Obviously that is not going to be reliable. &lt;/p&gt;  &lt;p&gt;I'll cut to the chase (although I was trying to be as wordy as possible). This isn't a GOOD way, but it is a very simple way: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;open the site in Windows Explorer &lt;/li&gt;    &lt;li&gt;navigate to the root of the site or subsite in question &lt;/li&gt;    &lt;li&gt;right click, properties&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That may be a little resource intensive - it takes a while to open. I think it may have to open a lot more than it appears just to get you that number, but there it is in the properties window. Piece of cake.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Post Script: &lt;a href="http://www.codeplex.com/SPUsedSpaceInfo"&gt;http://www.codeplex.com/SPUsedSpaceInfo&lt;/a&gt; is a console app to get a CSV listing of sites and their size. Beware that the setup is pretty heavy handed - a Dotnet 3.5 SP1 installation starts right up if you aren't there already. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0080ff"&gt;If you only have a couple of sites you want to take a look at and don't want to install a tool, you might try it. I would caution you to take his approach with a grain of salt, I am a lot more confident in the accuracy of a solution that uses the SharePoint object model to retrieve this information than his &amp;quot;hack&amp;quot; through the Windows Explorer GUI. I just would expect the object model to be able to present a much more true picture of how much storage a site is using than the UI would.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3675728924383637655?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3675728924383637655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3675728924383637655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3675728924383637655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3675728924383637655'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/01/way-to-determine-size-of-subsites.html' title='A way to determine the size of subsites?'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2256210681073189470</id><published>2011-01-11T23:28:00.001-08:00</published><updated>2011-01-11T23:28:43.618-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Some queries with Share[point content DB</title><content type='html'>&lt;p&gt;&lt;strong&gt;Some queries with these tables:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;-- Query to get all the top level site collections&lt;/p&gt;  &lt;p&gt;SELECT SiteId AS Siteid, Id AS Webid, FullUrl AS FURL, Title, Author, TimeCreated FROM dbo.Webs WHERE (ParentWebId IS NULL)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-- Query to get all the child sites in a site collection&lt;/p&gt;  &lt;p&gt;SELECT SiteId AS Siteid, Id AS Webid, FullUrl AS FURl, Title, Author, TimeCreated FROM dbo.Webs WHERE (NOT (ParentWebId IS NULL))&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-- Query to get all the SharePoint groups in a site collection&lt;/p&gt;  &lt;p&gt;SELECT dbo.Webs.SiteId, dbo.Webs.Id, dbo.Webs.FullUrl, dbo.Webs.Title, dbo.Groups.ID AS Expr1, dbo.Groups.Title AS Expr2, dbo.Groups.Description FROM dbo.Groups INNER JOIN dbo.Webs ON dbo.Groups.SiteId = dbo.Webs.SiteId&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-- Query to get all the users in a site collection&lt;/p&gt;  &lt;p&gt;SELECT dbo.Webs.SiteId, dbo.Webs.Id, dbo.Webs.FullUrl, dbo.Webs.Title, dbo.UserInfo.tp_ID, dbo.UserInfo.tp_DomainGroup, dbo.UserInfo.tp_SiteAdmin, dbo.UserInfo.tp_Title, dbo.UserInfo.tp_Email FROM dbo.UserInfo INNER JOIN dbo.Webs ON dbo.UserInfo.tp_SiteID = dbo.Webs.SiteId&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-- Query to get all the members of the SharePoint Groups&lt;/p&gt;  &lt;p&gt;SELECT dbo.Groups.ID, dbo.Groups.Title, dbo.UserInfo.tp_Title, dbo.UserInfo.tp_Login FROM dbo.GroupMembership INNER JOIN dbo.Groups ON dbo.GroupMembership.SiteId = dbo.Groups.SiteId INNER JOINdbo.UserInfo ON dbo.GroupMembership.MemberId = dbo.UserInfo.tp_ID&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-- Query to get all the sites where a specific feature is activated&lt;/p&gt;  &lt;p&gt;SELECT dbo.Webs.Id AS WebGuid, dbo.Webs.Title AS WebTitle, dbo.Webs.FullUrl AS WebUrl, dbo.Features.FeatureId, dbo.Features.TimeActivatedFROM dbo.Features INNER JOIN dbo.Webs ON dbo.Features.SiteId = dbo.Webs.SiteId AND dbo.Features.WebId = dbo.Webs.Id WHERE (dbo.Features.FeatureId = '00AFDA71-D2CE-42fg-9C63-A44004CE0104')&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-- Query to get all the users assigned to roles&lt;/p&gt;  &lt;p&gt;SELECT dbo.Webs.Id, dbo.Webs.Title, dbo.Webs.FullUrl, dbo.Roles.RoleId, dbo.Roles.Title AS RoleTitle, dbo.UserInfo.tp_Title, dbo.UserInfo.tp_Login FROM dbo.RoleAssignment INNER JOIN dbo.Roles ON dbo.RoleAssignment.SiteId = dbo.Roles.SiteId AND dbo.RoleAssignment.RoleId = dbo.Roles.RoleId INNER JOIN dbo.Webs ON dbo.Roles.SiteId = dbo.Webs.SiteId AND dbo.Roles.WebId = dbo.Webs.Id INNER JOIN dbo.UserInfo ON dbo.RoleAssignment.PrincipalId = dbo.UserInfo.tp_ID&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-- Query to get all the SharePoint groups assigned to roles&lt;/p&gt;  &lt;p&gt;SELECT dbo.Webs.Id, dbo.Webs.Title, dbo.Webs.FullUrl, dbo.Roles.RoleId, dbo.Roles.Title AS RoleTitle, dbo.Groups.Title AS GroupName FROM dbo.RoleAssignment INNER JOINdbo.Roles ON dbo.RoleAssignment.SiteId = dbo.Roles.SiteId AND dbo.RoleAssignment.RoleId = dbo.Roles.RoleId INNER JOIN dbo.Webs ON dbo.Roles.SiteId = dbo.Webs.SiteId AND dbo.Roles.WebId = dbo.Webs.Id INNER JOIN dbo.Groups ON dbo.RoleAssignment.SiteId = dbo.Groups.SiteId AND dbo.RoleAssignment.PrincipalId = dbo.Groups.ID&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can also find interesting to read &lt;a href="http://manish-sharepoint.blogspot.com/2008/04/different-databases-created-with-moss.html"&gt;&lt;strong&gt;Different Database created with SharePoint&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Copy From &lt;a title="http://manish-sharepoint.blogspot.com/2008/06/some-important-tables-with-sharepoint.html" href="http://manish-sharepoint.blogspot.com/2008/06/some-important-tables-with-sharepoint.html"&gt;http://manish-sharepoint.blogspot.com/2008/06/some-important-tables-with-sharepoint.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;p&gt;&lt;a href="http://www.blogger.com/rearrange?blogID=3658264033927533748&amp;amp;widgetType=HTML&amp;amp;widgetId=HTML4&amp;amp;action=editWidget"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2256210681073189470?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2256210681073189470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2256210681073189470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2256210681073189470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2256210681073189470'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/01/some-queries-with-sharepoint-content-db.html' title='Some queries with Share[point content DB'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-8009094151582376795</id><published>2011-01-10T20:42:00.001-08:00</published><updated>2011-01-10T20:42:50.660-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='restore'/><category scheme='http://www.blogger.com/atom/ns#' term='orphan site'/><category scheme='http://www.blogger.com/atom/ns#' term='Moss issue'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='stsadm'/><title type='text'>How to deal with orphaned SharePoint sites</title><content type='html'>&lt;p&gt;Copy from &lt;a href="http://www.cjvandyk.com/blog/Lists/Posts/Post.aspx?ID=299"&gt;http://www.cjvandyk.com/blog/Lists/Posts/Post.aspx?ID=299&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;“in my case do all the step below cannot resolved , once do the step detach and attach db problem resolved” &amp;gt; keep track the nice step from &lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.cjvandyk.com/blog/"&gt;Cornelius J. van Dyk&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Whatever causes it, orphaned sites in SharePoint can be a very painful issue to deal with.&amp;#160; One way in which an orphaned site can occur is when a STSADM command it terminated during execution because of a drop of your remote desktop connection. &lt;/p&gt;  &lt;p&gt;If you are working with STSADM, be sure to configure your Remote Desktop settings in order to keep disconnected sessions alive.&amp;#160; Failure to do so, &lt;strong&gt;&lt;u&gt;WILL&lt;/u&gt;&lt;/strong&gt; cause problems for you in the future.&lt;/p&gt;  &lt;p&gt;The toughest orphaned site I've ever had to deal with occurred during such a case.&amp;#160; The site was being restored from a STSADM backup.&amp;#160; The server's Remote Desktop settings were not set to keep the session alive and when a blip in the wireless network cause the connection to be broken, Windows simply killed the session causing the site collection to become orphaned.&amp;#160; This was evident when the restore command was re-attempted:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;stsadm -o restore -url &lt;/strong&gt;&lt;strong&gt;&lt;a href="http://server/site"&gt;http://server/site&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt; -filename site.stsadm.bak -overwrite&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Which returned this puzzling message:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Another site already exists at &lt;/strong&gt;&lt;a href="http://server/site"&gt;&lt;strong&gt;http://server/site&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;. Delete this site before attempting to create a new site with the same URL, choose a new URL, or create a new inclusion at the path you originally specified.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is a puzzling message because... didn't we specify the &amp;quot;-overwrite&amp;quot; switch?&amp;#160; Why yes we did!&amp;#160; So what is going on here?   &lt;br /&gt;OK, OK.&amp;#160; So the site is there and the &amp;quot;-overwrite&amp;quot; switch isn't working.&amp;#160; Let's just delete the site.&amp;#160; The following command is issued:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;stsadm -o deletesite -url &lt;a href="http://server/site"&gt;http://server/site&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Only thing is, the site collection delete statement failed with the following error:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;The system cannot find the path specified. (Exception from HRESULT: 0x80070003)&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;No problem you say.&amp;#160; Just use the -force switch with the deletesite command.&amp;#160; Doing that, the following command is issued:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;stsadm -o deletesite -force -siteid 2a9fbc10-4a60-427b-8e6e-e1565d7e5796 &lt;/strong&gt;&lt;strong&gt;-databaseserver sql -databasename Site_Content&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Unfortunately, the response is not what you expected.&amp;#160; This is the error returned:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Database &amp;quot;Site_Content&amp;quot; is not associated with this Web application&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Of course, the message would make sense if the database was not associated with the web application, but it was.&amp;#160; It is time for the good old orphan identification and handling swich... databaserepair   &lt;br /&gt;We begin by identifying the orphaned content.&amp;#160; We issue the following command:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;stsadm -o databaserepair -url &lt;/strong&gt;&lt;strong&gt;&lt;a href="http://server/site"&gt;http://server/site&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt; -databasename Site_Content&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As expected, the command dumps a bunch of orphaned content.&amp;#160; Time to delete the corrupted content so we can restore the site again.&amp;#160; Simply add the -deletecorruption switch thus:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;stsadm -o databaserepair -url &lt;/strong&gt;&lt;strong&gt;&lt;a href="http://server/site"&gt;http://server/site&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt; -databasename Site_Content -deletecorruption&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Once the corrupted content has been deleted, rerunning the command without the -deletecorruption switch yields a clean bill of health for our database thus:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&amp;lt;OrphanedObjects Count=&amp;quot;0&amp;quot; /&amp;gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Unfortunately, retrying the restore still fails by with the same &amp;quot;site exists&amp;quot; error.&amp;#160; This is where I had the idea to detach and re-attach the database to try and clear up the issue.&amp;#160; Two quick STSADM commands later thus:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;stsadm -o deletecontentdb -url &lt;/strong&gt;&lt;strong&gt;&lt;a href="http://server/site"&gt;http://server/site&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt; -databasename Site_Content&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;and&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;stsadm -o addcontentdb -url &lt;/strong&gt;&lt;strong&gt;&lt;a href="http://server/site"&gt;http://server/site&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt; -databasename Site_Content&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;yielded:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Operation completed successfully.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now retrying the restore thus:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;stsadm -o restore -url &lt;/strong&gt;&lt;strong&gt;&lt;a href="http://server/site"&gt;http://server/site&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt; -filename site.stsadm.bak -overwrite&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;finally yielded the result we were looking for:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Operation completed successfully.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Hopefully this will help you get sticky orphaned sites handled quickly so you can move on to more important things!&lt;/p&gt;  &lt;p&gt;Later   &lt;br /&gt;C&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-8009094151582376795?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/8009094151582376795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=8009094151582376795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8009094151582376795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8009094151582376795'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/01/how-to-deal-with-orphaned-sharepoint.html' title='How to deal with orphaned SharePoint sites'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-811166500046124112</id><published>2011-01-03T19:21:00.001-08:00</published><updated>2011-01-03T19:21:59.843-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>Installing Microsoft SQL Server 2008 Reporting Services Add-On On a MOSS 2007 server</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;How to publish the SSRS to MOSS 2007 ? will it impact the MOSS 2007 Database?&amp;#160; So we get the advice from some expert as below :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;By default, it will be pretty safe for us to integrate reporting service with MOSS. It will add some application pages to MOSS instance, kind of like add a feature to the farm. As I said in the phone, the impact it involve is it will install some application pages to the SharePoint site and report file (.RDL) will be saved in ContentDBs (The version of the backend database is not a matter). However, we only support part of combination of the version of reporting service, reporting service add-in and SharePoint.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="40%"&gt;           &lt;p&gt;Report Server&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;Add-in&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SharePoint&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="6%"&gt;           &lt;p&gt;Supported&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="40%"&gt;           &lt;p&gt;SQL Server 2008 R2&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SQL Server 2008 R2&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SharePoint 2010 Products&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="6%"&gt;           &lt;p&gt;Y&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="40%"&gt;           &lt;p&gt;SQL Server 2008 R2&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SQL Server 2008 SP2 (*)&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SharePoint 2007 Products&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="6%"&gt;           &lt;p&gt;Y&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="40%"&gt;           &lt;p&gt;SQL Server 2008 SP1 Cumulative Update #8&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SQL Server 2008 R2&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SharePoint 2010 Products&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="6%"&gt;           &lt;p&gt;Y&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="40%"&gt;           &lt;p&gt;SQL Server 2008&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SQL Server 2008&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SharePoint 2010 Products&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="6%"&gt;           &lt;p&gt;N&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="40%"&gt;           &lt;p&gt;SQL Server 2008&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SQL Server 2008&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SharePoint 2007 Products&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="6%"&gt;           &lt;p&gt;Y&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="40%"&gt;           &lt;p&gt;SQL Server 2005 SP2&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SQL Server 2005&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top"&gt;           &lt;p&gt;SharePoint 2007 Products&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="6%"&gt;           &lt;p&gt;Y&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(*) It actually has been released and you could download it through &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=35c3a13f-4b5e-4d4a-86e4-07ee307b9638"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=35c3a13f-4b5e-4d4a-86e4-07ee307b9638&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As you could see, if your reporting service is SQL Server 2008 R2 and your SharePoint is 2007, there is no combination supported by us. More information about reporting service integration overview, you could refer to the following document.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Overview of Reporting Services and SharePoint Technology Integration&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb326358(SQL.105).aspx"&gt;http://msdn.microsoft.com/en-us/library/bb326358(SQL.105).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After installing Reporting Services Add-in, you could see the following feature in Central Admin in ‘Application Management’ page.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_Zt3nwMosIGc/TSKSPMDUMbI/AAAAAAAAArI/818htX-0AFM/s1600-h/clip_image001%5B4%5D.jpg"&gt;&lt;img title="clip_image001" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="197" alt="clip_image001" src="http://lh5.ggpht.com/_Zt3nwMosIGc/TSKSQ-YrWFI/AAAAAAAAArM/63u_H4VnJiI/clip_image001_thumb%5B1%5D.jpg?imgmax=800" width="406" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With these links you could configure where the report server is, what kind of authentication mode you want to use, etc.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_Zt3nwMosIGc/TSKSR8J1ZPI/AAAAAAAAArQ/fiAYnvJ5g1Y/s1600-h/clip_image002%5B4%5D.jpg"&gt;&lt;img title="clip_image002" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="141" alt="clip_image002" src="http://lh4.ggpht.com/_Zt3nwMosIGc/TSKSSyw-BqI/AAAAAAAAArU/TvtLtf7LBQ8/clip_image002_thumb%5B1%5D.jpg?imgmax=800" width="409" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You could also see the reporting in Site collection features page.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_Zt3nwMosIGc/TSKSUNZf3WI/AAAAAAAAArY/kSn9j5Yv-fI/s1600-h/clip_image003%5B5%5D.jpg"&gt;&lt;img title="clip_image003" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="251" alt="clip_image003" src="http://lh4.ggpht.com/_Zt3nwMosIGc/TSKSVSdIOhI/AAAAAAAAArc/6BI0_R3by20/clip_image003_thumb%5B2%5D.jpg?imgmax=800" width="406" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-811166500046124112?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/811166500046124112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=811166500046124112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/811166500046124112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/811166500046124112'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2011/01/installing-microsoft-sql-server-2008.html' title='Installing Microsoft SQL Server 2008 Reporting Services Add-On On a MOSS 2007 server'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Zt3nwMosIGc/TSKSQ-YrWFI/AAAAAAAAArM/63u_H4VnJiI/s72-c/clip_image001_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-7419679122463243596</id><published>2010-12-14T07:44:00.001-08:00</published><updated>2010-12-14T07:44:15.379-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='permission'/><category scheme='http://www.blogger.com/atom/ns#' term='reportadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>querying membership data</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Found one very usefull query from internet :&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://johnlivingstontech.blogspot.com/2009/11/sharepoint-2007-five-very-helpful-yet.html"&gt;http://johnlivingstontech.blogspot.com/2009/11/sharepoint-2007-five-very-helpful-yet.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;thanks for the creator to share this!!&amp;#160; Below is the SQL query&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;1. Select Groups By URL&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;USE [WSS_Content]&lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE [dbo].[usp_SelectGroupsByUrl]&lt;/p&gt;  &lt;p&gt;@url NVARCHAR(255)&lt;/p&gt;  &lt;p&gt;AS&lt;/p&gt;  &lt;p&gt;BEGIN&lt;/p&gt;  &lt;p&gt;SELECT Groups.ID AS &amp;quot;GroupID&amp;quot;, Groups.Title AS &amp;quot;GroupTitle&amp;quot;, Webs.Title AS WebTitle, Webs.FullURL AS WebURL, Roles.Title AS &amp;quot;RoleTitle&amp;quot;&lt;/p&gt;  &lt;p&gt;FROM RoleAssignment WITH (NOLOCK)&lt;/p&gt;  &lt;p&gt;INNER JOIN Roles WITH (NOLOCK) ON Roles.SiteId = RoleAssignment.SiteId&lt;/p&gt;  &lt;p&gt;AND Roles.RoleId = RoleAssignment.RoleId&lt;/p&gt;  &lt;p&gt;INNER JOIN Groups WITH (NOLOCK) ON Groups.SiteId = RoleAssignment.SiteId&lt;/p&gt;  &lt;p&gt;AND Groups.ID = RoleAssignment.PrincipalId&lt;/p&gt;  &lt;p&gt;INNER JOIN Sites WITH (NOLOCK) ON Sites.Id = RoleAssignment.SiteId&lt;/p&gt;  &lt;p&gt;INNER JOIN Perms WITH (NOLOCK) ON Perms.SiteId = RoleAssignment.SiteId&lt;/p&gt;  &lt;p&gt;AND Perms.ScopeId = RoleAssignment.ScopeId&lt;/p&gt;  &lt;p&gt;INNER JOIN Webs WITH (NOLOCK) ON Webs.Id = Perms.WebId&lt;/p&gt;  &lt;p&gt;WHERE ((Webs.FullUrl = @url) OR (@url IS NULL))&lt;/p&gt;  &lt;p&gt;ORDER BY&lt;/p&gt;  &lt;p&gt;Groups.Title, Webs.Title, Perms.ScopeUrl&lt;/p&gt;  &lt;p&gt;END&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sample Query&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;EXEC usp_SelectGroupsByUrl 'Sites/HR/Pay'&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Results&lt;/b&gt;     &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;GroupID&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;GroupTitle&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="63"&gt;           &lt;p&gt;WebTitle&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="94"&gt;           &lt;p&gt;WebURL&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="107"&gt;           &lt;p&gt;RoleTitle&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;71&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;Manager&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="63"&gt;           &lt;p&gt;Accounting&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="94"&gt;           &lt;p&gt;Sites/HR/PAY&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="107"&gt;           &lt;p&gt;View Only&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;74&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;Acct Sr Manager&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="63"&gt;           &lt;p&gt;Accounting&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="94"&gt;           &lt;p&gt;Sites/HR/PAY&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="107"&gt;           &lt;p&gt;Full Control&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;75&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;Member&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="63"&gt;           &lt;p&gt;Accounting&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="94"&gt;           &lt;p&gt;Sites/HR/PAY&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="107"&gt;           &lt;p&gt;View Only&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;76&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;Viewer&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="63"&gt;           &lt;p&gt;Accounting&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="94"&gt;           &lt;p&gt;Sites/HR/PAY&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="107"&gt;           &lt;p&gt;View Only&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;2. Select Groups By URL and User&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;USE [WSS_Content]&lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE [dbo].[usp_SelectGroupsByUrlUser]&lt;/p&gt;  &lt;p&gt;@login NVARCHAR(255),&lt;/p&gt;  &lt;p&gt;@url NVARCHAR(255)&lt;/p&gt;  &lt;p&gt;AS&lt;/p&gt;  &lt;p&gt;BEGIN&lt;/p&gt;  &lt;p&gt;SELECT G.ID AS &amp;quot;GroupID&amp;quot;, G.Title AS &amp;quot;GroupTitle&amp;quot;, W.Title AS WebTitle, W.FullURL AS WebURL, R.Title AS &amp;quot;RoleTitle&amp;quot;&lt;/p&gt;  &lt;p&gt;FROM RoleAssignment AS RA WITH (NOLOCK)&lt;/p&gt;  &lt;p&gt;INNER JOIN Roles AS R WITH (NOLOCK) ON R.SiteId = RA.SiteId&lt;/p&gt;  &lt;p&gt;AND R.RoleId = RA.RoleId&lt;/p&gt;  &lt;p&gt;INNER JOIN Groups AS G WITH (NOLOCK) ON G.SiteId = RA.SiteId&lt;/p&gt;  &lt;p&gt;AND G.ID = RA.PrincipalId&lt;/p&gt;  &lt;p&gt;INNER JOIN Sites AS S WITH (NOLOCK) ON S.Id = RA.SiteId&lt;/p&gt;  &lt;p&gt;INNER JOIN Perms AS P WITH (NOLOCK) ON P.SiteId = RA.SiteId&lt;/p&gt;  &lt;p&gt;AND P.ScopeId = RA.ScopeId&lt;/p&gt;  &lt;p&gt;INNER JOIN Webs AS W WITH (NOLOCK) ON W.Id = P.WebId&lt;/p&gt;  &lt;p&gt;WHERE ((W.FullUrl = @url) OR (@url IS NULL))&lt;/p&gt;  &lt;p&gt;AND G.ID IN&lt;/p&gt;  &lt;p&gt;(&lt;/p&gt;  &lt;p&gt;SELECT Groups.ID FROM GroupMemberShip WITH (NOLOCK)&lt;/p&gt;  &lt;p&gt;INNER JOIN Groups ON GroupMembership.GroupID = Groups.ID&lt;/p&gt;  &lt;p&gt;INNER JOIN UserInfo ON GroupMembership.MemberID = UserInfo.tp_ID&lt;/p&gt;  &lt;p&gt;WHERE ((tp_Login = @login) OR (@login IS NULL))&lt;/p&gt;  &lt;p&gt;)&lt;/p&gt;  &lt;p&gt;ORDER BY&lt;/p&gt;  &lt;p&gt;G.Title, W.Title, P.ScopeUrl&lt;/p&gt;  &lt;p&gt;END&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sample Query&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;EXEC usp_SelectGroupsByUrlUser 'acmedomain\jdoe', 'Sites/HR/Pay'&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Results&lt;/b&gt;     &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;GroupID&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="92"&gt;           &lt;p&gt;GroupTitle&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="90"&gt;           &lt;p&gt;WebTitle&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="102"&gt;           &lt;p&gt;WebURL&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="90"&gt;           &lt;p&gt;RoleTitle&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;74&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="92"&gt;           &lt;p&gt;Sr Manager&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="90"&gt;           &lt;p&gt;Accounting&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="102"&gt;           &lt;p&gt;Sites/HR/PAY&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="90"&gt;           &lt;p&gt;Full Control&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3. Select Groups By User Login&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;USE [WSS_Content]&lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE [dbo].[usp_SelectGroupsByUserLogin]&lt;/p&gt;  &lt;p&gt;@login NVARCHAR(255)&lt;/p&gt;  &lt;p&gt;AS&lt;/p&gt;  &lt;p&gt;BEGIN&lt;/p&gt;  &lt;p&gt;SELECT DISTINCT Groups.ID AS &amp;quot;GroupID&amp;quot;, Groups.Title AS &amp;quot;GroupTitle&amp;quot;&lt;/p&gt;  &lt;p&gt;FROM GroupMemberShip WITH (NOLOCK)&lt;/p&gt;  &lt;p&gt;INNER JOIN Groups WITH (NOLOCK) ON GroupMembership.GroupID = Groups.ID&lt;/p&gt;  &lt;p&gt;INNER JOIN UserInfo WITH (NOLOCK) ON GroupMembership.MemberID = UserInfo.tp_ID&lt;/p&gt;  &lt;p&gt;WHERE ((tp_Login = @login) OR (@login IS NULL))&lt;/p&gt;  &lt;p&gt;ORDER BY Groups.Title&lt;/p&gt;  &lt;p&gt;END&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sample Query&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;EXEC usp_SelectGroupsByUserLogin 'acmedomain\jdoe'&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Results&lt;/b&gt;     &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;GroupID&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;GroupTitle&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;74&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;Sr Manager&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;52&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;Corporate Viewer&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="65"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="128"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;4. Select Users By Group&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;USE [WSS_Content]&lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE [dbo].[usp_SelectUsersByGroup]&lt;/p&gt;  &lt;p&gt;@groupTitle NVARCHAR(255)&lt;/p&gt;  &lt;p&gt;AS&lt;/p&gt;  &lt;p&gt;BEGIN&lt;/p&gt;  &lt;p&gt;SELECT dbo.UserInfo.tp_ID AS UserID, dbo.UserInfo.tp_Title AS UserTitle, dbo.UserInfo.tp_Login AS UserLogin, dbo.UserInfo.tp_Email AS UserEmail, dbo.Groups.ID AS GroupsID, dbo.Groups.Title AS GroupsTitle&lt;/p&gt;  &lt;p&gt;FROM UserInfo WITH (NOLOCK)&lt;/p&gt;  &lt;p&gt;INNER JOIN GroupMembership WITH (NOLOCK) ON UserInfo.tp_ID = GroupMembership.MemberID&lt;/p&gt;  &lt;p&gt;INNER JOIN Groups WITH (NOLOCK) ON GroupMembership.GroupID = Groups.ID&lt;/p&gt;  &lt;p&gt;WHERE ((dbo.Groups.Title = @groupTitle) OR (@groupTitle IS NULL))&lt;/p&gt;  &lt;p&gt;ORDER by dbo.UserInfo.tp_Login&lt;/p&gt;  &lt;p&gt;END&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sample Query&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;EXEC usp_SelectUsersByGroup 'HR Team Member'&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Results&lt;/b&gt;     &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;UserID&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="144"&gt;           &lt;p&gt;UserTitle&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;UserLogin&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;UserEmail&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;GroupsID&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="141"&gt;           &lt;p&gt;GroupsTitle&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;23&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="144"&gt;           &lt;p&gt;Doe, John&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\jdoe&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:jdoe@acmedomain.com"&gt;jdoe@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="141"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;20&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="144"&gt;           &lt;p&gt;Doe, Jane&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\jadoe&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:jadoe@acmedomain.com"&gt;jadoe@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="141"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;2&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="144"&gt;           &lt;p&gt;Smith, Bob&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\bsmith&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:bsmith@acmedomain.com"&gt;bsmith@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="141"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;24&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="144"&gt;           &lt;p&gt;Yamamoto, Kazue&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\kyamamoto&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:kyamamoto@acmedomain.com"&gt;kyamamoto@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="141"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;46&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="144"&gt;           &lt;p&gt;Nakamura, Ichiro&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\inakamura&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:inakamura@acmedomain.com"&gt;inakamura@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="141"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;5 Select Users By Groups&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;USE [WSS_Content]&lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE [dbo].[usp_SelectUsersByGroups]&lt;/p&gt;  &lt;p&gt;@groupTitles VARCHAR(1000)&lt;/p&gt;  &lt;p&gt;AS&lt;/p&gt;  &lt;p&gt;BEGIN&lt;/p&gt;  &lt;p&gt;DECLARE @idoc INT&lt;/p&gt;  &lt;p&gt;EXEC sp_xml_preparedocument @idoc OUTPUT, @groupTitles&lt;/p&gt;  &lt;p&gt;SELECT dbo.UserInfo.tp_ID AS UserID, dbo.UserInfo.tp_Title AS UserTitle, dbo.UserInfo.tp_Login AS UserLogin, dbo.UserInfo.tp_Email AS UserEmail, Groups.Title AS GroupTitle&lt;/p&gt;  &lt;p&gt;FROM UserInfo WITH (NOLOCK)&lt;/p&gt;  &lt;p&gt;INNER JOIN GroupMembership WITH (NOLOCK) ON UserInfo.tp_ID = GroupMembership.MemberID&lt;/p&gt;  &lt;p&gt;INNER JOIN Groups WITH (NOLOCK) ON GroupMembership.GroupID = Groups.ID&lt;/p&gt;  &lt;p&gt;JOIN OPENXML(@idoc, '/Root/Group', 0) WITH (Name VARCHAR(100)) AS g&lt;/p&gt;  &lt;p&gt;ON dbo.Groups.Title = g.Name&lt;/p&gt;  &lt;p&gt;ORDER by dbo.Groups.Title, dbo.UserInfo.tp_Title&lt;/p&gt;  &lt;p&gt;END&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sample Query&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;EXEC usp_SelectUsersByGroups '&amp;lt;Root&amp;gt;&amp;lt;Group Name=&amp;quot;HR Team Member&amp;quot;&amp;gt;&amp;lt;/Group&amp;gt;&amp;lt;Group Name=&amp;quot;Acct Sr Managers&amp;quot;&amp;gt;&amp;lt;/Group&amp;gt;&amp;lt;/Root&amp;gt;'&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Results&lt;/b&gt;     &lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;UserID&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="156"&gt;           &lt;p&gt;UserTitle&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;UserLogin&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;UserEmail&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;GroupsID&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="160"&gt;           &lt;p&gt;GroupsTitle&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;23&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="156"&gt;           &lt;p&gt;Doe, John&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\jdoe&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:jdoe@acmedomain.com"&gt;jdoe@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="160"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;20&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="156"&gt;           &lt;p&gt;Doe, Jane&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\jadoe&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:jadoe@acmedomain.com"&gt;jadoe@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="160"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;2&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="156"&gt;           &lt;p&gt;Smith, Bob&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\bsmith&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:bsmith@acmedomain.com"&gt;bsmith@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="160"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;24&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="156"&gt;           &lt;p&gt;Yamamoto, Kazue&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\kyamamoto&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:kyamamoto@acmedomain.com"&gt;kyamamoto@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="160"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;46&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="156"&gt;           &lt;p&gt;Nakamura, Ichiro&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\inakamura&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:inakamura@acmedomain.com"&gt;inakamura@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="160"&gt;           &lt;p&gt;HR Team Member&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;7&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="156"&gt;           &lt;p&gt;Horowitz, Rick&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\rhorowitz&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:rhorowitz@acmedomain.com"&gt;rhorowitz@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;15&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="160"&gt;           &lt;p&gt;Acct Sr Managers&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="bottom" width="55"&gt;           &lt;p&gt;3&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="156"&gt;           &lt;p&gt;Davis, Jiro&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="169"&gt;           &lt;p&gt;acmedomain\jdavis&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="208"&gt;           &lt;p&gt;&lt;a href="mailto:jdavis@acmedomain.com"&gt;jdavis@acmedomain.com&lt;/a&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="70"&gt;           &lt;p&gt;15&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="bottom" width="160"&gt;           &lt;p&gt;Acct Sr Managers&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-7419679122463243596?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/7419679122463243596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=7419679122463243596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7419679122463243596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7419679122463243596'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/12/querying-membership-data.html' title='querying membership data'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-7553464270499468564</id><published>2010-12-14T07:16:00.001-08:00</published><updated>2010-12-14T07:16:10.877-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='permission'/><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>user's list of web sites in SharePoint : SharePoint</title><content type='html'>&lt;p&gt;SELECT DISTINCT w.Title, r.WebId, r.Title AS accessLevel, ui.tp_Login,   &lt;br /&gt;ui.tp_DomainGroup, ui.tp_Title, w.FullUrl, w.AlternateCSSUrl,    &lt;br /&gt;p.ScopeUrl    &lt;br /&gt;FROM RoleAssignment AS ra INNER JOIN    &lt;br /&gt;Roles AS r ON r.SiteId = ra.SiteId AND r.RoleId    &lt;br /&gt;= ra.RoleId INNER JOIN    &lt;br /&gt;UserInfo AS ui ON ui.tp_SiteID = ra.SiteId AND    &lt;br /&gt;ui.tp_ID = ra.PrincipalId INNER JOIN    &lt;br /&gt;Sites AS s ON s.Id = ra.SiteId INNER JOIN    &lt;br /&gt;Perms AS p ON p.SiteId = ra.SiteId AND p.ScopeId    &lt;br /&gt;= ra.ScopeId INNER JOIN    &lt;br /&gt;Webs AS w ON w.Id = p.WebId&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;copy from &lt;a href="http://objectmix.com/sharepoint/297279-users-list-web-sites-sharepoint.html"&gt;Forum&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-7553464270499468564?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/7553464270499468564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=7553464270499468564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7553464270499468564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7553464270499468564'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/12/user-list-of-web-sites-in-sharepoint.html' title='user&amp;#39;s list of web sites in SharePoint : SharePoint'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2416605472908896562</id><published>2010-12-14T07:06:00.001-08:00</published><updated>2010-12-14T07:06:39.084-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><title type='text'>Discovering all workflows in SharePoint farm</title><content type='html'>&lt;p&gt;I got a question from user to identify all workflow in my Sharepoint environment. I tried to identify some out of box option but could not find one. After that I have to put my DB cap on and write query on backend content database of MOSS farm to get list all sites and sub containers which are having active workflow running in them. Here is the query :&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;select distinct(w.fullurl) as SiteName, L.tp_Title as ListName from webs w,workflow wf , Alllists L where w.id=wf.webid and w.siteId=wf.siteId and wf.listId=L.tp_Id&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Copy from &lt;a href="http://mossforsure.blogspot.com/2009/01/discovering-all-workflows-in-shareoint.html"&gt;Here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2416605472908896562?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2416605472908896562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2416605472908896562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2416605472908896562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2416605472908896562'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/12/discovering-all-workflows-in-sharepoint.html' title='Discovering all workflows in SharePoint farm'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-876431332518662649</id><published>2010-12-08T21:23:00.001-08:00</published><updated>2010-12-08T21:23:20.758-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='profile'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><title type='text'>Clean Up Event ID 7888 and 5553.</title><content type='html'>&lt;p&gt;see the error at your event viewer ?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;failure trying to synch site 51d6d8b3-9ee0-4af3-af2f-fa5f78cc9651 for ContentDB 840eac13-c23e-4123-9fa2-9d2975d0ff13 WebApp 53ea7eb2-ec0f-4250-9d87-1550224223b8.&amp;#160; Exception message was Cannot insert duplicate key row in object 'dbo.UserMemberships' with unique index 'CX_UserMemberships_RecordId_MemberGroupId_SID'.   &lt;br /&gt;The statement has been terminated..&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Solution here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://social.technet.microsoft.com/Forums/en-US/sharepointadmin/thread/11af8a85-0fca-466d-beac-d29d03297edf"&gt;http://social.technet.microsoft.com/Forums/en-US/sharepointadmin/thread/11af8a85-0fca-466d-beac-d29d03297edf&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;solution summary :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Run '&lt;i&gt;stsadm- o preparetomove -Site &amp;lt;http://whatevertheguiltysiteis/&amp;gt; -OldContentDb &amp;lt;GUID of the contentdb listed in event log error&amp;gt;&lt;/i&gt;'&lt;/li&gt;    &lt;li&gt;Run '&lt;i&gt;stsadm -o sync -deleteolddatabases 0&lt;/i&gt;'&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;FQA:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How do i know which site is it by GUID ?&lt;/li&gt;    &lt;ul&gt;     &lt;pre&gt;-- QUERY#1 Run this against your config database, this will give you the content database name&lt;br /&gt;&lt;br /&gt;SELECT *&lt;br /&gt;FROM [SharePoint_Config].[dbo].[Objects]&lt;br /&gt;WHERE ID='&amp;lt;Content DB Id from error msg&amp;gt;'&lt;br /&gt;&lt;br /&gt;--QUERY#2&lt;br /&gt;-- Run followign queries against the database name returned by the QUERY#1&lt;br /&gt;&lt;br /&gt;SELECT [FullUrl]&lt;br /&gt;  ,[Id]&lt;br /&gt;  ,[RootWebId]&lt;br /&gt; FROM [WSS_Content_##_03].[dbo].[Sites]&lt;br /&gt;WHERE ID='&amp;lt;Site ID from event log message&amp;gt;'&lt;/pre&gt;&lt;br /&gt;  &lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;  &lt;ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;  &lt;ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;or you can run the query at sitemap table at the config database , then you will see all the site under this content db , then manually go to find out on the Path column of the site URL.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;SELECT [Id]&lt;br /&gt;  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,[ApplicationId]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,[DatabaseId]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,[Path]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,[Pairing]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,[Status]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,[Version]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,[RedirectUrl]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,[HostHeaderIsSiteName]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&amp;#160; FROM [MOSS_CONFIG_DB].[dbo].[SiteMap]&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;where [DatabaseId]='&amp;lt;Content DB Id from error msg&amp;gt;' &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-876431332518662649?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/876431332518662649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=876431332518662649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/876431332518662649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/876431332518662649'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/12/clean-up-event-id-7888-and-5553.html' title='Clean Up Event ID 7888 and 5553.'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2993286079425443377</id><published>2010-12-02T20:19:00.001-08:00</published><updated>2010-12-02T20:19:50.521-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Install'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS SP2'/><title type='text'>Create an installation source that includes software updates (Office SharePoint Server 2007)</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;is time to build another environment, to save some step to install the service pack so we can extract the sp2.exe to update folder at the installer folder then will help direct install during installed. **a&lt;em&gt;slipstreamed&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc261890(office.12).aspx"&gt;http://technet.microsoft.com/en-us/library/cc261890(office.12).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In server farm deployments, all your Web servers must have the same software update version applied. This means that, before you add a new Web server to an existing server farm, this new Web server must have the same software updates as the rest of the Web servers in your server farm. To accomplish this, we recommend that you follow the procedures in this topic to create an installation source that contains a copy of the released version of the software, along with software updates that match those installed on your server farm (also known as a&lt;em&gt;slipstreamed&lt;/em&gt; installation source). When you run Setup from this updated installation source, the new Web server will have the same software update version as the rest of the Web servers in your server farm.&lt;/p&gt;  &lt;p&gt;&lt;img alt="Note" src="http://i.technet.microsoft.com/Cc261890.note(en-us,office.12).gif" /&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In this article, we use the term &lt;em&gt;software update&lt;/em&gt; as a general term for all update types, including any service pack, update, update rollup, feature pack, critical update, security update, or hotfix used to improve or fix this software product.&lt;/p&gt;  &lt;h3&gt;Use the updates folder&lt;/h3&gt;  &lt;p&gt;To create an installation source, you must add software updates to the updates folder of the released version of the software.&lt;/p&gt;  &lt;h5&gt;To use the updates folder&lt;/h5&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;Copy the files from the released version source media for the product to a folder that you can use as an installation point for the servers in your server farm.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Download the appropriate software update package.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Extract the software update files, by using this command:&lt;/p&gt;      &lt;p&gt;&lt;em&gt;&amp;lt;package&amp;gt;&lt;/em&gt; &lt;strong&gt;/extract:&lt;/strong&gt; &lt;em&gt;&amp;lt;path&amp;gt;&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;The &lt;strong&gt;/extract&lt;/strong&gt; switch prompts you to provide a folder name for the files, for example, for x86 systems:&lt;/p&gt;      &lt;p&gt;&lt;strong&gt;wssv3sp2-kb953338-x86-fullfile-en-us.exe /extract:&lt;/strong&gt; &lt;em&gt;&amp;lt;C:\WSS&amp;gt;&lt;/em&gt; &lt;strong&gt;\Updates&lt;/strong&gt;&lt;/p&gt;      &lt;p&gt;&lt;em&gt;&amp;lt;C:\WSS&amp;gt;&lt;/em&gt; is the location to which you copied the files that you extracted from the Windows SharePoint Services 3.0 released version.&lt;/p&gt;      &lt;p&gt;&lt;img alt="Note" src="http://i.technet.microsoft.com/Cc261890.note(en-us,office.12).gif" /&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;      &lt;p&gt;You must use the default location for the updates folder. If you use the &lt;strong&gt;SupdateLocation=&amp;quot;path-list&amp;quot;&lt;/strong&gt; property to specify a different location, Setup stops responding.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Copy the files that you extracted from the Windows SharePoint Services 3.0 software update package to the updates folder you created in the previous step.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Extract the Microsoft Office SharePoint Server 2007 software update files, by using this command:&lt;/p&gt;      &lt;p&gt;&lt;strong&gt;officeserver2007sp2-kb953334-x86-fullfile-en-us.exe /extract:&lt;/strong&gt; &lt;em&gt;&amp;lt;C:\rtm_product_path&amp;gt;&lt;/em&gt; &lt;strong&gt;\Updates&lt;/strong&gt;&lt;/p&gt;      &lt;p&gt;&lt;em&gt;&amp;lt;C:\rtm_product_path&amp;gt;&lt;/em&gt; is the location to which you copied the files that you extracted from the Office SharePoint Server 2007 released version.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Copy the files that you extracted from the Office SharePoint Server 2007 software update package to the updates folder containing the source for the released version. You must verify that the Svrsetup.dll file has been copied from the Office SharePoint Server 2007 software update package and you should delete the Wsssetup.dll file.&lt;/p&gt;      &lt;p&gt;&lt;img alt="Important" src="http://i.technet.microsoft.com/Cc261890.important(en-us,office.12).gif" /&gt;&lt;strong&gt;Important:&lt;/strong&gt;&lt;/p&gt;      &lt;p&gt;Delete Wsssetup.dll because it may conflict with Svrsetup.dll. Having both Wsssetup.dll and Svrsetup.dll in the updates folder for a slipstreamed installation source is not supported.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;You can now use this location as an installation point, or you can create an image of this source that you can burn to a CD-ROM.&lt;/p&gt;      &lt;p&gt;&lt;img alt="Note" src="http://i.technet.microsoft.com/Cc261890.note(en-us,office.12).gif" /&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;      &lt;p&gt;If you extracted the software update files to a location to which you had previously copied the source for a released version, the source is updated and is ready to use.&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;For more information about using enterprise deployment tools to deploy updates, see the article &lt;a href="http://technet.microsoft.com/en-us/library/cc178995(office.12).aspx"&gt;Distribute product updates for the 2007 Office system&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can download the 32-bit or 64-bit edition of Service Pack 2 (SP2) for Office SharePoint Server 2007 at the following location:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=148352&amp;amp;clcid=0x409"&gt;The 2007 Microsoft Office Servers Service Pack 2 (SP2)&lt;/a&gt; (http://go.microsoft.com/fwlink/?LinkID=148352&amp;amp;clcid=0x409).&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Language template packs&lt;/h3&gt;  &lt;p&gt;Use the following procedure to create an installation location that you can use to install the language template packs with software updates already applied.&lt;/p&gt;  &lt;h5&gt;To use the updates folder with language template packs&lt;/h5&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;p&gt;Download the language template pack package for the released product.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Extract the files from the language template pack package.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Copy the extracted files to a folder that you can use as an installation point for the servers in your server farm.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Download the updated language template pack package for the released product.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Extract the files from the updated language template pack package.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Copy these extracted files to the updates folder, in the subfolder in which you stored the files for the released product in step 3.&lt;/p&gt;      &lt;p&gt;You can now use this location as an installation point, or you can create an image of this source that you can burn to a CD-ROM.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;To install the language template pack with the software update already applied, run Setup from this location, and then run the SharePoint Products and Technologies Configuration Wizard to complete the configuration.&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2993286079425443377?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2993286079425443377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2993286079425443377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2993286079425443377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2993286079425443377'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/12/create-installation-source-that.html' title='Create an installation source that includes software updates (Office SharePoint Server 2007)'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-623390176529350139</id><published>2010-12-01T20:31:00.001-08:00</published><updated>2010-12-01T20:37:27.445-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Delete old folder script</title><content type='html'>nice script from internet again :D &lt;a href="http://www.eggheadcafe.com/software/aspnet/31061977/an-easy-script-to-delete-folders-on-a-network-share-that-are-older-than-14-days.aspx"&gt;http://www.eggheadcafe.com/software/aspnet/31061977/an-easy-script-to-delete-folders-on-a-network-share-that-are-older-than-14-days.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;change at cint( XX ) &amp;gt; XX for how many days old&lt;br /&gt;Directory &amp;gt; location of the folder you want delete. Network drive also can  :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dim Directory   &lt;br /&gt;Dim Noofdays    &lt;br /&gt;Dim FSO    &lt;br /&gt;Dim FSO2    &lt;br /&gt;Dim LogFile    &lt;br /&gt;Dim Folderlist    &lt;br /&gt;Dim folders &lt;br /&gt;Directory ="C:\Program Files\Microsoft Office Servers\12.0\Logs\UAP\"   &lt;br /&gt;Noofdays=cint(30)    &lt;br /&gt;LogFile="C:\Program Files\Microsoft Office Servers\12.0\Logs\UAP\deleted.txt" &lt;br /&gt;Set FSO = CreateObject("Scripting.FileSystemObject")   &lt;br /&gt;Set FSO2 = CreateObject("Scripting.FileSystemObject")    &lt;br /&gt;Set oFSO = CreateObject("Scripting.FilesyStemObject")    &lt;br /&gt;'    &lt;br /&gt;If oFSO.FileExists(Logfile) Then    &lt;br /&gt;Const ForAppending = 8    &lt;br /&gt;Set ofile = oFSO.OpenTextFile(LogFile, ForAppending, True)    &lt;br /&gt;Else    &lt;br /&gt;Set oFile = oFSO.CreateTextFile(logfile, true)    &lt;br /&gt;End If    &lt;br /&gt;ofile.writeline "Delete Folders older than 30 days Started&amp;nbsp;&amp;nbsp; --&amp;gt; " &amp;amp; now() &lt;br /&gt;Set Folderlist = FSO.GetFolder(Directory) &lt;br /&gt;Set folders = Folderlist.SubFolders   &lt;br /&gt;For Each d In Folders    &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox d.name    &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox d.size    &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox d.dateCreated    &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox d.dateLastModified    &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgbox d.dateLastAccessed    &lt;br /&gt;tempdirectory = Directory &amp;amp; d.name &lt;br /&gt;If&amp;nbsp; datediff("d",d.dateCreated,now()) &amp;gt; Noofdays Then   &lt;br /&gt;FSO2.DeleteFolder(tempdirectory )    &lt;br /&gt;ofile.writeline "Deleting Folder...." &amp;amp; tempdirectory &lt;br /&gt;if err.number &amp;lt;&amp;gt;0 then   &lt;br /&gt;ofile.writeline cstr(now()) &amp;amp; "&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;amp; Err.description    &lt;br /&gt;err.clear    &lt;br /&gt;end if    &lt;br /&gt;End If    &lt;br /&gt;Next    &lt;br /&gt;ofile.writeline "Delete Folders older than 30 days Completed --&amp;gt; " &amp;amp;now()    &lt;br /&gt;ofile.writeline "--------------------------------------------"    &lt;br /&gt;ofile.close&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-623390176529350139?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/623390176529350139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=623390176529350139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/623390176529350139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/623390176529350139'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/12/delete-old-folder-script.html' title='Delete old folder script'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-8867897277556132790</id><published>2010-11-10T23:43:00.001-08:00</published><updated>2010-12-01T20:44:20.857-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='batch file'/><category scheme='http://www.blogger.com/atom/ns#' term='enumsites'/><category scheme='http://www.blogger.com/atom/ns#' term='stsadm'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Batch file to keep track enumsites with date :D</title><content type='html'>SET D1=%date:~-4,10%   &lt;br /&gt;SET D2=%date:~4,-8%    &lt;br /&gt;SET D3=%date:~-7,-5%&lt;br /&gt;&lt;br /&gt;set tarik=%D1%%D2%%D3%&lt;br /&gt;&lt;br /&gt;echo %tarik% &lt;br /&gt;&lt;br /&gt;"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm" -o enumsites -url &lt;a href="http://abc.com/"&gt;http://abc.com&lt;/a&gt; &amp;gt; %tarik%.csv&lt;br /&gt;&lt;br /&gt;This report will run at scheduled tasks and the purpose is keep track on the sites in which Database , when user need to restore the sites then we only know which DB need to restore back for the sites.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-8867897277556132790?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/8867897277556132790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=8867897277556132790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8867897277556132790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8867897277556132790'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/11/batch-file-to-keep-track-enumsites-with.html' title='Batch file to keep track enumsites with date :D'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-259427000445868951</id><published>2010-11-08T22:56:00.001-08:00</published><updated>2010-11-08T22:56:02.712-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wss V3'/><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><title type='text'>Site Collection Administrator VS Site Owner</title><content type='html'>&lt;p&gt;hi hi..one of the question ask by interviewer :D . as i understand is about the recycle bin and quota reach limit contact!!&amp;#160; After that i found the answer here :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.sharepointhosting.com/Lists/Posts/Post.aspx?ID=61"&gt;http://blogs.sharepointhosting.com/Lists/Posts/Post.aspx?ID=61&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;About twice a week someone calls or writes into support trying to figure out why their Site Owners &lt;a href="http://www.sharepointhosting.com/tutorials/change-sharepoint-users-password/change-sharepoint-users-password.html"&gt;cannot reset passwords&lt;/a&gt;, &lt;a href="http://www.sharepointhosting.com/tutorials/restore-deleted-sharepoint-documents/restore-deleted-sharepoint-documents.html"&gt;manage the recycle bin&lt;/a&gt;, or &amp;quot;see everything&amp;quot; in site settings. The answer is pretty easy – you have to be a Site Collection Administrator to be able to perform those actions. The next question we get from Site Owners is &amp;quot;how do I become a Site Collection Administrator?&amp;quot; The answer is easy enough, find out who your current Site Collection Administrator is and ask that individual to promote you to that role. Here's a short tutorial on how to &lt;a href="http://www.sharepointhosting.com/tutorials/add-new-sharepoint-site-collection-administrator/add-new-sharepoint-site-collection-administrator.html"&gt;create new Site Collection Administrator&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Take a look at the graphic below (&lt;a href="http://blogs.sharepointhosting.com/Lists/Photos/sites.jpg"&gt;click for full version&lt;/a&gt;). It displays the different views if you will see if you log into the Site Settings portion of your WSS 3.0 site as a member of the site owner's group and then as a Site Collection Administrator. Hint – the Site Collection Administrator's view is the top image. You can easily replicate this for yourself if you want to test it out – just create a test user that is a member of the Site Owners (or similar) SharePoint security group and go to the site settings page.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.sharepointhosting.com/Lists/Photos/sites.jpg"&gt;&lt;img height="261" alt="" src="http://blogs.sharepointhosting.com/Lists/Photos/101707_2134_SiteCollect1.jpg" width="461" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Extra this are at site setting :D [all the time our permission is Farm admin , then will never notice about this!! ha ha] Now you know? :D&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_Zt3nwMosIGc/TNjwe6pZGjI/AAAAAAAAApE/025oJ7a-AsA/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="220" alt="image" src="http://lh5.ggpht.com/_Zt3nwMosIGc/TNjwgD1so2I/AAAAAAAAApI/u3TGVFBVRuI/image_thumb%5B1%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-259427000445868951?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/259427000445868951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=259427000445868951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/259427000445868951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/259427000445868951'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/11/site-collection-administrator-vs-site.html' title='Site Collection Administrator VS Site Owner'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Zt3nwMosIGc/TNjwgD1so2I/AAAAAAAAApI/u3TGVFBVRuI/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-694100256196676689</id><published>2010-11-02T00:48:00.001-07:00</published><updated>2010-11-02T00:55:22.219-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><category scheme='http://www.blogger.com/atom/ns#' term='table'/><title type='text'>How to confirm your update item is going to do incremental crawl or not ?</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Search problem for the sub sites… unable to get any error from iis, uls log.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;so we need go to search database to see can get any information.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;in this case is we want to see the specify sites after i add the item in , this item going to involved in incremental crawl or not. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;normally we can see the item at MSSChangeLogCookies table before the incremental crawl start.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Run this query: select * from dbo.MSSChangeLogCookies order by UpdateTime desc &amp;gt; you will see all the item change going to crawl&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;This table keeps track of the last change that the crawler processed for each content database.&amp;#160; You'll want to look at the ChangeLogCookie_new column and you'll see several rows but the output of each will look something like this:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1;0;&lt;strong&gt;&lt;font color="#00ff00"&gt;1b82082a-66eb-47bb-a053-26dde844f5ac&lt;/font&gt;&lt;/strong&gt;;634242420353000000;&lt;strong&gt;&lt;font color="#ffff00"&gt;7403&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The GUID &lt;strong&gt;&lt;font color="#00ff00"&gt;1b82082a-66eb-47bb-a053-26dde844f5ac&lt;/font&gt;&lt;/strong&gt; is the content database id&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;i already have the Database ID on the sites (go to your content DB , check the database information table will know) , so i will search the results and see my database id is available on the MSSChangeLogCookies.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;if you want see how many crawl from the content DB you check, you can use below query on the targert content db:&lt;/p&gt;  &lt;p&gt;select * from eventcache with (NOLOCK) where ID &amp;gt; '’&lt;strong&gt;&lt;font color="#ffff00"&gt;7403&lt;/font&gt;&lt;/strong&gt;'&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;so the total row is the item goign to crawl&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;yeah&amp;#160; !! found the item…so go to run the incremental crawl now…but after run also not working!!! ha ha ha…continue checking….DAY 5&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;here you go for more detail on the .MSSChangeLogCookies :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/russmax/archive/2008/11/17/how-to-determine-the-number-of-changes-an-incremental-crawl-will-process-prior-to-initiating-the-crawl.aspx"&gt;http://blogs.msdn.com/b/russmax/archive/2008/11/17/how-to-determine-the-number-of-changes-an-incremental-crawl-will-process-prior-to-initiating-the-crawl.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cnblogs.com/awpatp/archive/2010/11/02/1866938.html"&gt;http://www.cnblogs.com/awpatp/archive/2010/11/02/1866938.html&lt;/a&gt; &amp;gt; Chinese version&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-694100256196676689?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/694100256196676689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=694100256196676689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/694100256196676689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/694100256196676689'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/11/how-to-confirm-your-update-item-is.html' title='How to confirm your update item is going to do incremental crawl or not ?'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-9151388691492463489</id><published>2010-11-01T03:21:00.001-07:00</published><updated>2010-11-01T03:21:35.233-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='crawl'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><title type='text'>Crawling history from SSP search DB ( SQL Query)</title><content type='html'>&lt;p&gt;Copy from MS:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;select * from MSSCrawlhistory &lt;/p&gt;  &lt;p&gt;select h.crawlid,   &lt;br /&gt;c.catalogid,    &lt;br /&gt;c.contentsourceid,    &lt;br /&gt;c.startaddressid,    &lt;br /&gt;typeofcrawl=    &lt;br /&gt;case h.crawltype    &lt;br /&gt;when 1 then 'full crawl'    &lt;br /&gt;when 2 then 'incremental crawl'    &lt;br /&gt;end,    &lt;br /&gt;h.status as status_id,    &lt;br /&gt;status=    &lt;br /&gt;case h.status    &lt;br /&gt;when 4 then 'start'    &lt;br /&gt;when 9 then 'pause'    &lt;br /&gt;when 10 then 'resume'    &lt;br /&gt;when 13 then 'stop'    &lt;br /&gt;when 11 then 'done'    &lt;br /&gt;else 'other'    &lt;br /&gt;end,    &lt;br /&gt;h.requesttime, h.starttime, h.endtime, datediff(n, h.starttime, h.endtime) as 'duration'    &lt;br /&gt;from msscrawlhistory h left join msscrawlcontent c    &lt;br /&gt;on h.crawlid=c.crawlid where h.projectid=1 order by h.requesttime desc &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-9151388691492463489?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/9151388691492463489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=9151388691492463489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/9151388691492463489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/9151388691492463489'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/11/crawling-history-from-ssp-search-db-sql.html' title='Crawling history from SSP search DB ( SQL Query)'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2638487391524422354</id><published>2010-10-26T03:49:00.001-07:00</published><updated>2010-10-26T03:49:41.192-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aspx'/><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><title type='text'>change sub-site to a new sub-site URL and wanted the old link auto redirect to the new link.</title><content type='html'>&lt;ol&gt;   &lt;li&gt;Go to old URL link and open in SPD&lt;/li&gt;    &lt;li&gt;Create an .aspx page &lt;/li&gt;    &lt;li&gt;Paste the coding in .aspx page(target site URL)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&amp;#160;&lt;b&gt;&amp;lt;meta http-equiv=&amp;quot;refresh&amp;quot; content=&amp;quot;0;url=http://xxxxx/sites/xxxxxxxxxx/yyyyyy&amp;quot;&amp;gt;&lt;/b&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Right click .aspx page &amp;gt; click Set as Home Page&lt;/li&gt;    &lt;li&gt;Rename the .aspx page to default.apsx&lt;/li&gt; &lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2638487391524422354?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2638487391524422354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2638487391524422354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2638487391524422354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2638487391524422354'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/change-sub-site-to-new-sub-site-url-and.html' title='change sub-site to a new sub-site URL and wanted the old link auto redirect to the new link.'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-1916449747079577986</id><published>2010-10-26T03:06:00.001-07:00</published><updated>2010-10-26T03:06:14.933-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><title type='text'>Search log where to see ?</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;problem with the search no results under some subsites , when can check the crawl log or error ?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;crawl log under SSP&lt;/li&gt;    &lt;li&gt;enable ULS for wss query with veberos, then can see the log at ULS log&lt;/li&gt;    &lt;li&gt;go to search database to run the query on terfert sites , see have crawl or not :&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;select * from MSSCrawlURL (nolock)        &lt;br /&gt;where DisplayURL like '%/sites/XXXXX%'&lt;/li&gt;   &lt;/ul&gt; &lt;/ol&gt;  &lt;p&gt;but the problem not yet resolved…to be continue… ha ha&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-1916449747079577986?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/1916449747079577986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=1916449747079577986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1916449747079577986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1916449747079577986'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/search-log-where-to-see.html' title='Search log where to see ?'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-1058413380019356222</id><published>2010-10-25T08:23:00.001-07:00</published><updated>2010-10-25T08:23:59.113-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='iis log'/><title type='text'>Who Deleted my SharePoint Top Level Sites!!!!</title><content type='html'>&lt;p&gt;have customer want to know who deleted his top level sites ( aka site collection ).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;the easy answer is the one site collection admin or the user have full control permission at your site collection!!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt; But let say have 100 site collection admin!!! ha ha..so which one is the one??&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;oh yeah easy to trace is go to the IIS log file then search it at the folder level:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;A word or phrase in the file with &lt;/p&gt;  &lt;p&gt; “&lt;font color="#00ff00" size="3"&gt;/sites/&amp;lt;sites collection name&amp;gt;/_layouts/deleteweb.aspx&lt;/font&gt; ”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;yeah!!! shoot the one delete it!!! ha ha&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-1058413380019356222?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/1058413380019356222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=1058413380019356222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1058413380019356222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1058413380019356222'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/who-deleted-my-sharepoint-top-level.html' title='Who Deleted my SharePoint Top Level Sites!!!!'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-1457532396069870992</id><published>2010-10-19T06:25:00.001-07:00</published><updated>2010-10-19T06:25:17.433-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reportadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>-- Query to get all the SharePoint groups in a site collection</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another cool query from &lt;a href="http://www.sharepointkings.com/2008/06/sql-queries-for-sharepoint-content.html"&gt;sharepointkings&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Customer request the report on all the user in the group on the specify sites collection.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00ff00"&gt;-- Query to get all the SharePoint groups in a site collection     &lt;br /&gt;&lt;/font&gt;SELECT dbo.Webs.SiteId, dbo.Webs.Id, dbo.Webs.FullUrl, dbo.Webs.Title, dbo.Groups.ID AS Expr1,    &lt;br /&gt;dbo.Groups.Title AS Expr2, dbo.Groups.Description    &lt;br /&gt;FROM dbo.Groups INNER JOIN    &lt;br /&gt;dbo.Webs ON dbo.Groups.SiteId = dbo.Webs.SiteId&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00ff00"&gt;-- Query to get all the members of the SharePoint Groups     &lt;br /&gt;&lt;/font&gt;SELECT dbo.Groups.ID, dbo.Groups.Title, dbo.UserInfo.tp_Title, dbo.UserInfo.tp_Login    &lt;br /&gt;FROM dbo.GroupMembership INNER JOIN    &lt;br /&gt;dbo.Groups ON dbo.GroupMembership.SiteId = dbo.Groups.SiteId INNER JOIN    &lt;br /&gt;dbo.UserInfo ON dbo.GroupMembership.MemberId = dbo.UserInfo.tp_ID&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;after query the all the memeber of the group, use excel to remove the duplicate data then you will know how many user in the group :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-1457532396069870992?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/1457532396069870992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=1457532396069870992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1457532396069870992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1457532396069870992'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/query-to-get-all-sharepoint-groups-in.html' title='-- Query to get all the SharePoint groups in a site collection'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5041217749768507370</id><published>2010-10-19T01:34:00.001-07:00</published><updated>2010-10-19T01:34:24.988-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Content Type'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Unable to reorder content type</title><content type='html'>&lt;p&gt;Have user copy the list template from another site and want to reorder the content type, when click on the column order at the content type you will see the error :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Object reference not set to an instance of an object.&amp;#160;&amp;#160; at Microsoft.SharePoint.ApplicationPages.ChangeFieldOrderPage.OnLoad(EventArgs e)    &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.Control.LoadRecursive()     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Work around:&lt;/p&gt;  &lt;p&gt;you will not be able to manage the order of your columns on the list settings page again until you switch “Allow management of content types” back to No. When the management of content types if enabled, you can then reorder the columns for each specific content type. You may or may not want this to be your standard setup, so my best practice here would be to turn this feature back off when you are finished managing the content type.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Detail step:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1. change the list setting at Advanced settings and change the Allow management of content types to &lt;b&gt;no&lt;/b&gt;. &amp;gt; click ok&lt;/p&gt;  &lt;p&gt;2. under the column, you will see Column ordering. Click on the column ordering and change the order.&amp;gt; click ok when you done&lt;/p&gt;  &lt;p&gt;3. change the list setting at Advanced settings and change the Allow management of content types to &lt;b&gt;yes&lt;/b&gt; &amp;gt; click ok&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;guessing of the root cause:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;i think because the content type is attach to the template and no content type created for the sites. once you click on ordering, then will go to search the content type gallery at site level. once cannot found it and error message will show at above. i guess is consider bug :) &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-5041217749768507370?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5041217749768507370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5041217749768507370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5041217749768507370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5041217749768507370'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/unable-to-reorder-content-type.html' title='Unable to reorder content type'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3216085788600690627</id><published>2010-10-14T19:32:00.001-07:00</published><updated>2010-10-14T19:32:55.447-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Default Recovery Models for MOSS2007 Databases</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Today attend SQL2008 training is talking about what is the different Simple recovery model VS Full recovery Model.Then i am thinking what is the moss2007 setting? Below is the Default Recovery Model. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Simple model : &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Automatic reclaims the transaction log &lt;/li&gt;    &lt;li&gt;Allow only Full backups&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Full Model:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Require transaction log backup (which mean not automatic to shrink your transaction log file)&lt;/li&gt;    &lt;li&gt;able to enable recovery the data very near to down time &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;* oh ya…please remember all the Database here, because one of my interview is asking about this :) . ha ha..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_Zt3nwMosIGc/TLe9TzDjSoI/AAAAAAAAAo8/Z2WsRrYkDtg/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="333" alt="image" src="http://lh3.ggpht.com/_Zt3nwMosIGc/TLe9VUC29NI/AAAAAAAAApA/4s0UgfyZiT4/image_thumb%5B1%5D.png?imgmax=800" width="442" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3216085788600690627?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3216085788600690627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3216085788600690627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3216085788600690627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3216085788600690627'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/default-recovery-models-for-moss2007.html' title='Default Recovery Models for MOSS2007 Databases'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_Zt3nwMosIGc/TLe9VUC29NI/AAAAAAAAApA/4s0UgfyZiT4/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5323134465232308702</id><published>2010-10-11T19:36:00.001-07:00</published><updated>2010-10-11T19:36:10.856-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='restore'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing ‘dbName’ database</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;familiar with this message?&amp;#160; one of my problem always face when restore the shaerpoint content DB from other farm with backup file. today i found out the solution at this blog : &lt;a href="http://www.linglom.com/2009/07/08/solved-system-data-sqlclient-sqlerror-the-backup-set-holds-a-backup-of-a-database-other-than-the-existing-dbname-database/"&gt;http://www.linglom.com/2009/07/08/solved-system-data-sqlclient-sqlerror-the-backup-set-holds-a-backup-of-a-database-other-than-the-existing-dbname-database/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;*if you restore the path to different path of mdf and ldf, you need to change it&lt;/p&gt;  &lt;p&gt;is great to keep it , so i will copy paste here for future reference.&lt;/p&gt;  &lt;p&gt;before start restore the bak file, you need to create the new Database then restore the bak.&lt;/p&gt;  &lt;h5&gt;Problem&lt;/h5&gt;  &lt;p&gt;You have backup a database on SQL Server 2005. Then, you try to restore the backup file on an existing database and receive the error message below:&lt;/p&gt;  &lt;p&gt;Restore failed for Server ‘&lt;em&gt;SQL Server name&lt;/em&gt;‘. (Microsoft.SqlServer.Smo)     &lt;br /&gt;&lt;strong&gt;Additional information:&lt;/strong&gt;     &lt;br /&gt;System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing ‘&lt;em&gt;dbName&lt;/em&gt;‘ database. (Microsoft.SqlServer.Smo)     &lt;br /&gt;&lt;a href="http://www.linglom.com/images/Windows/SQL-Server/Backup-Restore/Troubleshoot/Message2/1.png"&gt;&lt;img title="The backup set holds a backup of a database other than the existing" height="53" alt="The backup set holds a backup of a database other than the existing" src="http://www.linglom.com/images/Windows/SQL-Server/Backup-Restore/Troubleshoot/Message2/_1.png" width="200" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This error message indicates that you are going to restore a database on another database which are not the same database. For example, you have backup Northwind database and try to restore the backup to AdventureWorks database, the error will occur.&lt;/p&gt;  &lt;h5&gt;Solution&lt;/h5&gt;  &lt;p&gt;To solve the problem, you can use the &lt;strong&gt;overwrite the existing database&lt;/strong&gt; option while you’re restoring.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;On &lt;strong&gt;Restore Database&lt;/strong&gt;, select &lt;strong&gt;Options&lt;/strong&gt; tab on the left menu. Then, check &lt;strong&gt;Overwrite the existing database&lt;/strong&gt; on Restore options.       &lt;br /&gt;&lt;em&gt;&lt;strong&gt;Note: &lt;/strong&gt;&lt;/em&gt;This option will overwrite any existing data on the targeted database.       &lt;br /&gt;&lt;a href="http://www.linglom.com/images/Windows/SQL-Server/Backup-Restore/Troubleshoot/Message2/2.png"&gt;&lt;img title="Restore Database Option" height="179" alt="Restore Database Option" src="http://www.linglom.com/images/Windows/SQL-Server/Backup-Restore/Troubleshoot/Message2/_2.png" width="200" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Try to restore the database, the problem should be gone now.      &lt;br /&gt;&lt;a href="http://www.linglom.com/images/Windows/SQL-Server/Backup-Restore/Troubleshoot/Message2/3.png"&gt;&lt;img title="Restore Database Successful" height="41" alt="Restore Database Successful" src="http://www.linglom.com/images/Windows/SQL-Server/Backup-Restore/Troubleshoot/Message2/_3.png" width="200" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/em&gt; you can also delete the targeted database before perform restore a database. This way also gives the result as same as the solution above.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-5323134465232308702?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5323134465232308702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5323134465232308702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5323134465232308702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5323134465232308702'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/systemdatasqlclientsqlerror-backup-set.html' title='System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing ‘dbName’ database'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3832282916140503799</id><published>2010-10-06T22:51:00.001-07:00</published><updated>2010-10-06T22:51:25.251-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='column'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='calendar'/><title type='text'>Filter the calendar of today event</title><content type='html'>&lt;p&gt;The start time at calendar Filter is not available then we cannot use [Today] to filter the item. In this case you just created one column and select Calculated (calculation based on other columns)&amp;#160; then Formula =[Start Time].&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;after that you can edit the view with filter on column you created is equal to [Today]:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In this example , i created column name as DOB.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_Zt3nwMosIGc/TK1f2erTPeI/AAAAAAAAAo0/a0fPwINta04/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="247" alt="image" src="http://lh6.ggpht.com/_Zt3nwMosIGc/TK1f28mBFWI/AAAAAAAAAo4/BNl4Vkahboc/image_thumb%5B1%5D.png?imgmax=800" width="429" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3832282916140503799?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3832282916140503799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3832282916140503799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3832282916140503799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3832282916140503799'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/filter-calendar-of-today-event.html' title='Filter the calendar of today event'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_Zt3nwMosIGc/TK1f28mBFWI/AAAAAAAAAo4/BNl4Vkahboc/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3380181149351914279</id><published>2010-10-01T02:57:00.001-07:00</published><updated>2010-10-01T02:57:18.418-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>How to Move Large SharePoint Document Libraries</title><content type='html'>&lt;p&gt;Faced some problem to move large SharePoint Document during migration , so found out the solution here. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Scenario : one document library is over 25GB so unable to use stsadm export and import. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Solution: have 2 post is same, so i not sure who is the owner. anyway just like to keep track on the coding and sharing here :)&amp;#160; [This can move different farm :) ]&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.law.com/jsp/lawtechnologynews/PubArticleLTN.jsp?id=1202443237483"&gt;http://www.law.com/jsp/lawtechnologynews/PubArticleLTN.jsp?id=1202443237483&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://pravyns.blogspot.com/2010/08/how-to-move-large-sharepoint-document.html"&gt;http://pravyns.blogspot.com/2010/08/how-to-move-large-sharepoint-document.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;EXPORT AND IMPORT WITH THE SHAREPOINT OBJECT MODEL&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To accomplish the goal of copying an arbitrarily large document library, and only that document library, from one site to another, we'll need to use a bit of .NET code and the SharePoint object model. The code will perform two broad tasks:&lt;/p&gt;  &lt;blockquote&gt;   &lt;ol&gt;     &lt;li&gt;export the source document library to a set of one or more files on disk; and&lt;/li&gt;      &lt;li&gt;import the file-set created in step 1 to the target location.&lt;/li&gt;   &lt;/ol&gt; &lt;/blockquote&gt;  &lt;p&gt;You could write this code in a number of ways, but for simplicity, I'll create two .NET console applications: ExportDocLib and ImportDocLib. Both these applications must be run on the SharePoint web front-end server of the farm containing the source and target document libraries respectively.&lt;/p&gt;  &lt;p&gt;ExportDocLib exports the source document library to operating system files. To create the application, open Visual Studio 2005 or later, and create a new C# console application. Next, add a reference to the Windows SharePoint Services .NET assembly, and then add &amp;quot;using&amp;quot; statements at the top of the program to reference the Microsoft.SharePoint and Microsoft.SharePoint.Deployment namespaces.&lt;/p&gt;  &lt;p&gt;The rest of the code is fairly straightforward; you will need to provide references to the site collection and the web site within it that contains your document library (I simply referenced the RootWeb property of my site collection because my document library was contained in the top-level web site), a reference to the list to be copied, and information about where to create the export files and export log. I've also instructed SharePoint to retain the security via the IncludeSecurity switch, and to display progress to a command window as the program runs using the CommandLineVerbose switch. There are many other settings you can use, but those shown below are all you'll need for a basic list export:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;using System;&lt;/p&gt;  &lt;p&gt;using System.Collections.Generic;&lt;/p&gt;  &lt;p&gt;using System.Linq;&lt;/p&gt;  &lt;p&gt;using System.Text;&lt;/p&gt;  &lt;p&gt;using Microsoft.SharePoint;&lt;/p&gt;  &lt;p&gt;using Microsoft.SharePoint.Deployment;&lt;/p&gt;  &lt;p&gt;namespace ExportDocLib&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;class Program&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;  &lt;p&gt;static void Main(string[] args)&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;  &lt;p&gt;// Get handle to web and doclib to export&lt;/p&gt;  &lt;p&gt;SPSite site = new SPSite(&amp;quot;http://localhost/sites/SITE1&amp;quot;);&lt;/p&gt;  &lt;p&gt;SPWeb web = site.RootWeb;&lt;/p&gt;  &lt;p&gt;SPList list = web.Lists[&amp;quot;Shared Documents&amp;quot;];&lt;/p&gt;  &lt;p&gt;// Define export settings&lt;/p&gt;  &lt;p&gt;SPExportSettings settings = new SPExportSettings();&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.SiteUrl = &amp;quot;http://localhost/sites/SITE1&amp;quot;;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.FileLocation = @&amp;quot;C:\Export Files\&amp;quot;;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.BaseFileName = &amp;quot;SITE1.cmp&amp;quot;;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.ExportMethod = SPExportMethodType.ExportAll;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.LogFilePath =&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.FileLocation + &amp;quot;SITE1_export_log.txt&amp;quot;;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.CommandLineVerbose = true;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.IncludeSecurity = SPIncludeSecurity.All;&lt;/p&gt;  &lt;p&gt;// Add reference to document library to export&lt;/p&gt;  &lt;p&gt;SPExportObject exportObject =&lt;/p&gt;  &lt;p&gt;new SPExportObject(&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; list.ID,&lt;/p&gt;  &lt;p&gt;SPDeploymentObjectType.List,&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; web.ID, false);&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.ExportObjects.Add(exportObject);&lt;/p&gt;  &lt;p&gt;// Export it&lt;/p&gt;  &lt;p&gt;SPExport export = new SPExport(settings);&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; export.Run();&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;ImportDocLib is almost a mirror image of ExportDocLib. ImportDocLib will import the document library from the operating system files created by the ExportDocLib program. As before, start by creating a new C# console application in Visual Studio, adding a reference to the Windows SharePoint Services .NET assembly, and by adding &amp;quot;using&amp;quot; statements to reference the two Microsoft.SharePoint namespaces.&lt;/p&gt;  &lt;p&gt;Next you'll create a SPImportSettings object and set its properties to define the location of the import files, the location of the site collection and web site where you want your new copy of the document library, and a location for the import log.&lt;/p&gt;  &lt;p&gt;Although it’s beyond the scope of this article, the RetainObjectIdentity setting is noteworthy because its value will determine whether you can apply subsequent incremental imports to this same document library. For example, you could copy the full library once, and then periodically import only changed or new items from the source into the target library. To enable these subsequent imports, however, the RetainObjectIdentity setting must be set to &amp;quot;true.&amp;quot; However, you may not set it to &amp;quot;true&amp;quot; if you will be importing a document library into the same content database as the source library, because all objects in a SharePoint database must have unique object IDs. The most likely scenario for which you would use the RetainObjectIdentity switch is to create a copy of a document library on a different SharePoint farm, and subsequently to refresh that second library with updates from the original.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;using System;&lt;/p&gt;  &lt;p&gt;using System.Collections.Generic;&lt;/p&gt;  &lt;p&gt;using System.Linq;&lt;/p&gt;  &lt;p&gt;using System.Text;&lt;/p&gt;  &lt;p&gt;using Microsoft.SharePoint;&lt;/p&gt;  &lt;p&gt;using Microsoft.SharePoint.Deployment;&lt;/p&gt;  &lt;p&gt;namespace ImportDocLib&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;class Program&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;  &lt;p&gt;static void Main(string[] args)&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;  &lt;p&gt;// Settings for import&lt;/p&gt;  &lt;p&gt;SPImportSettings settings = new SPImportSettings();&lt;/p&gt;  &lt;p&gt;// File &amp;amp; path&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.FileLocation = @&amp;quot;C:\Export Files\&amp;quot;;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.BaseFileName = &amp;quot;SITE1.cmp&amp;quot;;&lt;/p&gt;  &lt;p&gt;// Site and web to import to&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.SiteUrl = &amp;quot;http://localhost/sites/SITE2&amp;quot;;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.WebUrl = &amp;quot;http://localhost/sites/SITE2&amp;quot;;&lt;/p&gt;  &lt;p&gt;// Set log file location&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.LogFilePath =&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.FileLocation + &amp;quot;SITE2_import_log.txt&amp;quot;;&lt;/p&gt;  &lt;p&gt;// Display messages while running&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.CommandLineVerbose = true;&lt;/p&gt;  &lt;p&gt;// Don't retain object GUIDs, only necessary&lt;/p&gt;  &lt;p&gt;// if want to do incremental imports to same list&lt;/p&gt;  &lt;p&gt;// at a later time&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.RetainObjectIdentity = false;&lt;/p&gt;  &lt;p&gt;// Keep security, versions, and date/time stamps&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.UpdateVersions = SPUpdateVersions.Append;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; settings.UserInfoDateTime =&lt;/p&gt;  &lt;p&gt;SPImportUserInfoDateTimeOption.ImportAll;&lt;/p&gt;  &lt;p&gt;// Import it&lt;/p&gt;  &lt;p&gt;SPImport import = new SPImport(settings);&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; import.Run();&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You might correctly observe that both the ExportDocLib and ImportDocLib routines can be combined into a single program. This would simplify the process in that you wouldn't need to execute two separate programs to complete the copy process. But when copying a document library from one SharePoint farm to another, you will need to run ExportDocLib on a WFE server in the source farm, and the ImportDocLib on a WFE in the target farm. Keeping them separate gives you the flexibility you need in such instances.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;CONCLUSION&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;With just a bit of .NET coding you can copy document libraries of arbitrary size from one site to another, within or between farms, without the need to purchase a third-party product. With a bit of additional coding you can add the capability of applying incremental updates from a master document library to a copy, thus keeping the secondary library in synch.&lt;/p&gt;  &lt;p&gt;At Fenwick &amp;amp; West we have found this technique invaluable for migrating large document libraries between SharePoint farms, filling the gap between the built-in capability to save small libraries using a list template, and backing up full site collections using the backup and export functions of STSADM.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3380181149351914279?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3380181149351914279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3380181149351914279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3380181149351914279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3380181149351914279'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/10/how-to-move-large-sharepoint-document.html' title='How to Move Large SharePoint Document Libraries'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3869869488104130858</id><published>2010-09-29T04:17:00.001-07:00</published><updated>2010-09-29T04:17:30.715-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Moss issue'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='stsadm'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>About TEMP folder concept</title><content type='html'>&lt;h4&gt;Error : &lt;a href="http://aboutdev.wordpress.com/2008/03/21/stsadmexe-export-there-is-not-enough-space-on-the-disk/"&gt;STSADM.EXE Export “There is not enough space on the disk”&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;I was recently doing an export for a pretty big MOSS site and I ran across the following error while using the following &lt;a href="http://technet.microsoft.com/en-us/library/cc262759.aspx"&gt;stsadm command&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt; stsadm -o export -url &lt;/em&gt;&lt;a href="http://servername/site"&gt;&lt;em&gt;http://servername/site&lt;/em&gt;&lt;/a&gt;&lt;em&gt; -filename D:\backup\sharepoint.cab -includeusersecurity -overwrite&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;We verified that the C drive had 1 GB of space and the D drive had 50 GB of space. Simple enought right. Wrong!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;After some head scratching, we figured out that the export uses the C drive to store the entirety of the backup files before writing it to the D drive. More specifically, the location pointed to by the TEMP environment variable was being used for the backup.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt; The solution we found was to&lt;strong&gt; change the TEMP and TMP environment variable to point to a temporary folder on the D drive and then do the backup&lt;/strong&gt;. (I had to also logout and login in order for the variables to take effect).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;detail step to change the temp is &lt;a href="http://ask-leo.com/how_do_i_change_the_location_of_windows_temporary_files.html"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Information from : &lt;a href="http://aboutdev.wordpress.com/2008/03/21/stsadmexe-export-there-is-not-enough-space-on-the-disk/"&gt;http://aboutdev.wordpress.com/2008/03/21/stsadmexe-export-there-is-not-enough-space-on-the-disk/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3869869488104130858?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3869869488104130858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3869869488104130858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3869869488104130858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3869869488104130858'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/09/about-temp-folder-concept.html' title='About TEMP folder concept'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-1562500922279963391</id><published>2010-09-23T10:37:00.001-07:00</published><updated>2010-09-23T10:38:47.131-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Tech insight 2010 Penang</title><content type='html'>&lt;p&gt;22-23 Sept 2010 at USM penang, so far for&amp;#160; the SharePoint related session only have 3 but this also help to increase some sharepoint 2010 knowledge.Today have one session is sharing on the SharePoint list Improvement , is look great a lot limitation user cannot get now already available.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Example, &lt;/p&gt;&lt;ul&gt;&lt;li&gt;unique column ( something like primary key for the list , cannot duplicate)&lt;/li&gt;&lt;li&gt;validate the columns ( using excel formula)&lt;/li&gt;&lt;li&gt;Lookup Field Relationship Behavior –&amp;#160; behavior that can be enforced includes; Project multiple fields into a child list; Joins between lists, Relational integrity between child and parent lists – this brings up new possible security issues &amp;amp; considerations&lt;/li&gt;&lt;li&gt;List Relationships &amp;amp; Data Integrity – one-to-many allows you to trigger cascade delete and restrict delete&lt;/li&gt;&lt;li&gt;more detail you can get from &lt;a href="http://chayadigital.wordpress.com/2010/08/24/new-list-improvements-in-sharepoint-2010/"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;ok let me finish the tomorrow session then will share more :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-1562500922279963391?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/1562500922279963391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=1562500922279963391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1562500922279963391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1562500922279963391'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/09/tech-insight-2001-penang.html' title='Tech insight 2010 Penang'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5662566734270764222</id><published>2010-09-13T22:19:00.001-07:00</published><updated>2010-09-13T22:19:28.678-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='People Picker'/><category scheme='http://www.blogger.com/atom/ns#' term='admi'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>Set searchadcustomquery back to OOB setting</title><content type='html'>&lt;p&gt;how do you reset the searchadcustomquery to oob setting? which is &amp;lt;Property Exist = “No”&amp;gt; , normally used stsadm the value will showed as &amp;lt;Property Exit=”Yes”, Value=””&amp;gt;”.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;to set the value back to &amp;lt;Property Exist = “No”&amp;gt;&amp;#160; , we can use simple coding as below to reset it.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;using System;   &lt;br /&gt;using System.Collections.Generic;    &lt;br /&gt;using System.Linq;    &lt;br /&gt;using System.Text;    &lt;br /&gt;using Microsoft.SharePoint;    &lt;br /&gt;using Microsoft.SharePoint.Administration; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;namespace reset_customQuery   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; class Program    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; static void Main(string[] args)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; using (SPSite site = new SPSite(@&amp;quot;&lt;a href="http://abc.com&amp;quot;))"&gt;http://abc.com&amp;quot;))&lt;/a&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SPWebApplication apps = site.WebApplication;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //reset to null    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; apps.PeoplePickerSettings.ActiveDirectoryCustomQuery = null;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; apps.Update(); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Done&amp;quot;);   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;to checking your value you can use the stsadm below:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;stsadm -o getproperty -url &amp;quot;&lt;a href="http://abc.com&amp;quot;"&gt;http://abc.com&amp;quot;&lt;/a&gt; -pn peoplepicker-activedirectorysearchtimeout    &lt;br /&gt;stsadm -o getproperty -url &amp;quot;&lt;a href="http://abc.com&amp;quot;"&gt;http://abc.com&amp;quot;&lt;/a&gt; -pn peoplepicker-distributionlistsearchdomains    &lt;br /&gt;stsadm -o getproperty -url &amp;quot;&lt;a href="http://abc.com&amp;quot;"&gt;http://abc.com&amp;quot;&lt;/a&gt; -pn peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode    &lt;br /&gt;stsadm -o getproperty -url &amp;quot;&lt;a href="http://abc.dhl.com&amp;quot;"&gt;http://abc.dhl.com&amp;quot;&lt;/a&gt; -pn peoplepicker-onlysearchwithinsitecollection    &lt;br /&gt;stsadm -o getproperty -url &amp;quot;&lt;a href="http://abc.dhl.com&amp;quot;"&gt;http://abc.dhl.com&amp;quot;&lt;/a&gt; -pn peoplepicker-searchadcustomquery&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-5662566734270764222?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5662566734270764222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5662566734270764222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5662566734270764222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5662566734270764222'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/09/set-searchadcustomquery-back-to-oob.html' title='Set searchadcustomquery back to OOB setting'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3780447958223779562</id><published>2010-09-05T19:17:00.001-07:00</published><updated>2010-09-05T19:17:38.537-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='People Picker'/><title type='text'>How People Picker works ?</title><content type='html'>&lt;p&gt;Recently have an issues with the people picker , so just understand how people picker works.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_Zt3nwMosIGc/TIRPP2pGTNI/AAAAAAAAAok/CYqm4zY9jxA/s1600-h/clip_image001%5B4%5D.jpg"&gt;&lt;img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="69" alt="clip_image001" src="http://lh5.ggpht.com/_Zt3nwMosIGc/TIRPQarr6VI/AAAAAAAAAoo/eLTaoLlie6Q/clip_image001_thumb%5B1%5D.jpg?imgmax=800" width="562" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/rajank/archive/2009/09/01/all-you-want-to-know-about-people-picker-in-sharepoint-functionality-configuration-troubleshooting-part-1.aspx"&gt;All you want to know about People Picker in SharePoint ( Functionality | Configuration | Troubleshooting ) Part-1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/rajank/archive/2009/09/20/all-you-want-to-know-about-people-picker-in-sharepoint-functionality-configuration-troubleshooting-part-2.aspx"&gt;All you want to know about People Picker in SharePoint ( Functionality | Configuration | Troubleshooting ) Part-2&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3780447958223779562?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3780447958223779562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3780447958223779562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3780447958223779562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3780447958223779562'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/09/how-people-picker-works.html' title='How People Picker works ?'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Zt3nwMosIGc/TIRPQarr6VI/AAAAAAAAAoo/eLTaoLlie6Q/s72-c/clip_image001_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5139213903492281175</id><published>2010-09-01T05:50:00.001-07:00</published><updated>2010-09-01T05:50:38.026-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><title type='text'>Workflow History Hidden list</title><content type='html'>&lt;p&gt;Workflow error ? where to check ?&amp;#160; as what i know we have 3 place to check the log :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://[servername]/[sitename]/lists/Workflow%20History"&gt;http://[servername]/[sitename]/lists/Workflow%20History&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;list settings &amp;gt; workflow settings &amp;gt; View workflow reports &lt;/li&gt;    &lt;li&gt;ULS log at \12\logs (CTRL + F search for Workflow Infrastructure ) &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/5630361457638146769-5139213903492281175?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5139213903492281175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5139213903492281175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5139213903492281175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5139213903492281175'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/09/workflow-history-hidden-list.html' title='Workflow History Hidden list'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-580533562113545961</id><published>2010-08-27T02:45:00.001-07:00</published><updated>2010-08-27T02:58:05.736-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web.config'/><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Development with ASP.NET'/><title type='text'>Basic sharing on Code Access Security (CAS)</title><content type='html'>&lt;span style="font-size: x-small;"&gt;Controlling access to system resources ( Dir structures and file)&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;WSS have 2 security approaches :&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;user identity-based&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;code identity-based [digital certificate or URL or site]&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;WSS is use .NET Framework , which is using code identity-based approach so call CAS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Levels of trust&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Full &amp;gt; unmanaged code &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;High &amp;gt; cannot call unmanaged code and enterprise service but can send email using SMTP servers , also can access sockets and file system&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Medium &amp;gt;&amp;nbsp; SMTP and SQL but cannot access sockets and registry&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Low &amp;gt; read only application virtual dir and no network connectivity&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;Minimal &amp;gt; have execute permission only&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;WSS have 2 policy ( Virtual server extedned to wss this policy will applied to)&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;wss_minimaltrust.config&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;wss_mediumtrust.config&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;WSS security setting for CAS:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;machine.config &amp;gt; c:\windows\micorsoft.net\framwork\V2.0.50727\config &lt;/li&gt;&lt;li&gt;web.config &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Web.config located &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;top level conetn root &amp;gt; C:\Inetpub\wwwroot &amp;gt; configuration for web server &lt;/li&gt;&lt;li&gt;web part resoucces of the global assemy cache &lt;/li&gt;&lt;li&gt;CONFIG ….\web server extensions\60\config\ &amp;gt; define for other extending vs&lt;/li&gt;&lt;li&gt;ISAPI ….for the /_vti_bin&lt;/li&gt;&lt;li&gt;LAYOUTS &amp;gt; for /_layouts&lt;/li&gt;&lt;li&gt;ADMIN &amp;gt; SharePoint CA&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/5630361457638146769-580533562113545961?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/580533562113545961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=580533562113545961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/580533562113545961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/580533562113545961'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/basic-sharing-on-code-access-security.html' title='Basic sharing on Code Access Security (CAS)'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-4417196715326403621</id><published>2010-08-26T07:02:00.001-07:00</published><updated>2010-08-26T07:02:37.246-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web master'/><category scheme='http://www.blogger.com/atom/ns#' term='theme'/><title type='text'>How to change the Sharepoint theme template option</title><content type='html'>&lt;p&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;have one file name SPTHEMES.XML , this is the file control the theme for SharePoint. if you want to add some custom theme make sure here is added&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1033 is for English version , 1031 is German…if you have more so different language keep at different folder .&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-4417196715326403621?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/4417196715326403621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=4417196715326403621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4417196715326403621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4417196715326403621'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/how-to-change-sharepoint-theme-template.html' title='How to change the Sharepoint theme template option'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-4477834511031987790</id><published>2010-08-23T05:14:00.001-07:00</published><updated>2010-08-24T00:40:08.204-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='codeplex'/><category scheme='http://www.blogger.com/atom/ns#' term='theme'/><category scheme='http://www.blogger.com/atom/ns#' term='Command'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS SP2'/><title type='text'>Utility to quickly reapply themes to sites collection</title><content type='html'>After MOSS SP2 Deployment have faced some problem on the theme, so we need to edit the CSS format then to make it take effect on all sites. &lt;br /&gt;&lt;br /&gt;now the problem come in …we have so many sites and subsites how going to get it done? as you know we need to reapply the theme then the CSS only take effect.&lt;br /&gt;&lt;br /&gt;Luckily have some good utility tool at coplex , is so call retheme.exe.&lt;br /&gt;&lt;br /&gt;this help a lot, you can download it from &lt;a href="http://gomiunik.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27145"&gt;CodePlex&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Below is the coding from the Codeplex reTheme :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using Microsoft.SharePoint;&lt;br /&gt;&lt;br /&gt;namespace reTheme&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;class Program&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static void Main(string[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string siteUrl;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (args.Length == 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.Write("Site Collection URL:");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;siteUrl = Console.ReadLine();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;siteUrl = args[0];&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;using (SPSite site = new SPSite(siteUrl))&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach (SPWeb web in site.AllWebs)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.Write(web.ServerRelativeUrl + ": ");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string themeName = web.Theme;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;web.ApplyTheme("");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;web.ApplyTheme(themeName);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine("OK");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine(e.Message);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine(e.Message);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-4477834511031987790?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/4477834511031987790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=4477834511031987790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4477834511031987790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4477834511031987790'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/utility-to-quickly-reapply-themes-to.html' title='Utility to quickly reapply themes to sites collection'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-7149362486642881047</id><published>2010-08-10T21:49:00.001-07:00</published><updated>2010-08-10T21:49:53.116-07:00</updated><title type='text'>Why There is a Shortage of SharePoint Experts</title><content type='html'>&lt;p&gt;Copied from &lt;a href="http://www.elumenotion.com/Blog/Lists/Posts/Post.aspx?ID=113"&gt;here&lt;/a&gt; : SharePoint expert are we on the right path ? :D&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This post started out as a short reply to a discussion on LinkedIn about this post: &lt;a href="http://nadirkamdar.blogspot.com/2010/08/why-there-is-shortage-of-sharepoint.html"&gt;Why there is a shortage of SharePoint Experts&lt;/a&gt;. Once I hit the fourth paragraph I decided it made a better blog post then a comment. :)&lt;/p&gt;  &lt;p&gt;There is a shortage of SharePoint experts because the learning curve for the base technologies is large and the learning curve for the breadth of SharePoint functionality is even larger.&lt;/p&gt;  &lt;p&gt;Consider SharePoint 2010 Server Enterprise edition. You can deploy the platform as a public facing site with heavy customization and branding, as a team collaboration portal, as a business intelligence and information delivery, as a stand-alone or connected enterprise content management system, as a search appliance, as a business process automation (workflow) platform, and as a basis for custom applications. There are even more uses, but hopefully you get the basic idea – you can use it for lots of unrelated things.&lt;/p&gt;  &lt;p&gt;To call yourself an expert, you should understand most or all of these core uses and the related tools used by end users, developers, and administrators. The SharePoint learning curve is honestly measured in years - assuming that you have a few years' experience building either Windows applications or building and administering complex server systems.&lt;/p&gt;  &lt;p&gt;Fortunately, most organizations do not need a full-time SharePoint expert to be successful. Most deployments involve a small subset of the functionality. Most people who work in a corporate setting will use a subset of the tools and fulfill a role in a larger team. If you are looking to implement SharePoint, my advice is to spend the money on a good consultant(s) who is an actual SharePoint expert to create a good foundation and focus on hiring or training full time staff to participate in the build-out and maintain the completed system. Once you are up and running, say goodbye for now to the experts and use them on an ongoing basis only as needed.&lt;/p&gt;  &lt;p&gt;The multi-year learning curve plus the sharp upward demand curve means that the supply of experts will be well short of demand for several more years. The supply of people who have serious SharePoint experience will obviously increase along with adoption, but there is no reason you should expect someone who worked in a large heavily controlled collaboration environment where the focus was to maximize stability and minimize risk through aggressive governance to know much about building high-quality public facing sites with significant branding and customization (or vice-versa). That's not to say the person could not make the switch, but it is to say that person is not an expert.&lt;/p&gt;  &lt;p&gt;For those organizations looking to find a &amp;quot;SharePoint expert&amp;quot; on the cheap - don't hold your breath. If you are offering a rate that is comparable to that earned by a qualified Web developer in your area, ask yourself why someone who is already a qualified to do work that pays the Web developer rate as a Web developer is willing to provide the additional value of their additional 3+ years of learning in the SharePoint domain at no additional cost to work on SharePoint. Instead try to hire to the narrower skill set you actually need.&lt;/p&gt;  &lt;p&gt;The pool of people who have solid experience in one of WCM, ECM, BPA, BI, information architecture, system administration, etc. who can be very productive in a SharePoint environment with the right training and mentoring is large. Build your team from this pool. Trying to build a team of SharePoint experts is much harder and more expensive. More importantly, it's probably an unnecessary and poor strategy.&lt;/p&gt;  &lt;p&gt;&lt;ins&gt;&lt;ins&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;/p&gt;  &lt;p&gt;Posted at 11:30 PM by &lt;a href="http://www.elumenotion.com/Blog/_layouts/userdisp.aspx?ID=11"&gt;Doug Ware&lt;/a&gt;&lt;img height="1" alt="" src="http://www.elumenotion.com/_layouts/images/blank.gif" width="3" border="0" /&gt;&lt;a href="http://www.elumenotion.com/"&gt;&lt;img title="" height="12" alt="No presence information" src="http://www.elumenotion.com/_layouts/images/blank.gif" width="12" border="0" /&gt;&lt;/a&gt; | Category: &lt;a href="http://www.elumenotion.com/Blog/Lists/Categories/Category.aspx?Name=Random%20Whatnot"&gt;Random Whatnot&lt;/a&gt; | &lt;a href="http://www.elumenotion.com/Blog/Lists/Posts/Post.aspx?ID=113"&gt;Permalink&lt;/a&gt; | &lt;a href="http://www.elumenotion.com/"&gt;Email this Post&lt;/a&gt; | &lt;a href="http://www.elumenotion.com/Blog/Lists/Posts/Post.aspx?ID=113#Comments"&gt;Comments (3)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="Comments"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;Comments&lt;/h5&gt;  &lt;h6&gt;great post&lt;/h6&gt;  &lt;p&gt;I started working with SharePoint back in 2004, was a member of the hosted SharePoint team at Microsoft (now called BPOS-Dedicated), and now work for a SharePoint ISV (echoTechnology, recently acquired by Axceler), and actively write and speak on SharePoitn solutions -- and yet I still feel like a newbie. I know several MVPs and MCMs who are &amp;quot;the&amp;quot; experts on the SharePoint platform who find themselves constantly learning as the platform growns and develops, and especially as partners and customers use it to create new solutions.   &lt;br /&gt;But here's my point for responding: If you're looking for SharePoint expertise, you really need to focus on the business problem you're trying to solve rather than find a generalist. Someone with deep vertical experience and some basic SharePoint training is probably a better bet than someone with years of SharePoint but new to your business.&lt;/p&gt;  &lt;p&gt;@buckleyplanet at 8/6/2010 1:59 AM&lt;/p&gt;  &lt;h6&gt;Nice response&lt;/h6&gt;  &lt;p&gt;The idea that the competency takes years to achieve is an interesting angle I did not consider - I saw it as a skill set developers are not interested in. &lt;/p&gt;  &lt;p&gt;Nadir Kamdar at 8/6/2010 11:39 AM&lt;/p&gt;  &lt;h6&gt;Lack of Investment&lt;/h6&gt;  &lt;p&gt;As a certified Master, I guess I am one of the *experts*, and I can attest to the enormous learning curve on SharePoint including not only the actual technical skills and APIs, but also the problem domains related to the solutions that SharePoint provides a platform for: Business Intelligence, Knowledge Management, Social Computing, Business Process Automation, etc. These all include significant learning burdens beyond just the technology.   &lt;br /&gt;My observations on the lack of SharePoint developers more firmly points a finger a broad problem within the IT industry: Organizations are no longer investing in employees who work in IT favoring to advocate hiring specialists that already have the skills to solve the problem at hand.    &lt;br /&gt;- the learning curve is steep and takes a lot of time    &lt;br /&gt;- organizations don't yet recognize the learning curve is steep    &lt;br /&gt;- organizations don't want to provide the required training    &lt;br /&gt;- organizations don't want to pay more for those skills    &lt;br /&gt;- organizations don't provide an environment where learning on the job is really tolerated anymore (how can you accurately estimate how long something will take or cost if you have never done it before)    &lt;br /&gt;There just isn't a lot of incentive for developers to absorb the learning costs for very little return. IT in general is already suffering from long hours, understaffed projects, and a new technology release cycle that makes it challenging just to keep your skills current, let alone learn significant chunks of new skills. I have seen very few IT organizations in recent years where the IT staff were not *just barely hanging on*.    &lt;br /&gt;To take advantage of the SharePoint platform and the considerable features it can provide for a Business Productivity platform, they are simply going to have to change their IT resource management strategies to make appropriate investments in skills development. Until they do, I see the shortage of qualified SharePoint Developers being in short supply for many years to come.&lt;/p&gt;  &lt;p&gt;Chris Beckett / SharePoint Bits at 8/6/2010 8:30 PM&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-7149362486642881047?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/7149362486642881047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=7149362486642881047' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7149362486642881047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/7149362486642881047'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/why-there-is-shortage-of-sharepoint.html' title='Why There is a Shortage of SharePoint Experts'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-1584906752907618976</id><published>2010-08-10T00:23:00.001-07:00</published><updated>2010-08-10T00:36:29.392-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='reportadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='enumsites'/><title type='text'>The faster way get the enumsites report in excel</title><content type='html'>Just notice have the easy way for you to get the nice report with the stsadm enumsites command. you can see the top level sites , owner, content db report between one minute!!! cool !!&lt;br /&gt;&lt;br /&gt;stsadm -o enumsites -url &lt;a href="http://abc.com/"&gt;http://abc.com&lt;/a&gt; &amp;gt; sitelist.xml&lt;br /&gt;Then just opened up the xml file with excel2007. (really beginning to like the features in this version)&lt;br /&gt;&lt;br /&gt;It warned that there was not an associated schema, would I like to create on from the file, ‘yes Please’!&lt;br /&gt;&lt;br /&gt;And now we can sort, filter, sum, etc.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-1584906752907618976?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/1584906752907618976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=1584906752907618976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1584906752907618976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/1584906752907618976'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/faster-way-get-enumsites-report-in.html' title='The faster way get the enumsites report in excel'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2830562954066584204</id><published>2010-08-04T23:16:00.001-07:00</published><updated>2010-08-04T23:19:19.371-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='end user'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><title type='text'>Great SharePoint Tutorials site to share</title><content type='html'>&lt;p&gt;here have some freebies to share from internet, if you like to have some training tutorials for your SharePoint user here is have good one.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Video Tutorials &amp;gt; easy to learn :D enjoy ya&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.fpweb.net/sharepoint-tutorials/"&gt;http://www.fpweb.net/sharepoint-tutorials/&lt;/a&gt;&lt;/p&gt; &lt;noscript&gt;    &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="575" height="418" title="AddNewUser"&gt;      &lt;param name="movie" value="/sharepoint-tutorials/_includes/_swf/AddNewUser_skin.swf" /&gt;      &lt;param name="quality" value="high" /&gt;      &lt;param name="loop" value="0" /&gt;      &lt;embed src="/sharepoint-tutorials/_includes/_swf/AddNewUser_skin.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="575" height="418"&gt;&lt;/embed&gt;    &lt;/object&gt; &lt;/noscript&gt;  &lt;li class="divider"&gt;&lt;strong&gt;Templates &amp;amp; Navigation&lt;/strong&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/CreateGroup.asp"&gt;Create a SharePoint Group&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/DeleteGroup.asp"&gt;Delete a Group&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/CreateSiteTemplate.asp"&gt;Create a Site Template&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/CreateListTemplate.asp"&gt;Create a List Template&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/ChangeTitleDescLogo.asp"&gt;Change Title Description &amp;amp; Logo&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/ChangeQLOrder.asp"&gt;Change Quicklist Order&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/AddQLLink.asp"&gt;Add Quicklist Link&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/ChangeTopLinkBarOrder.asp"&gt;Top Link Bar - Change Order&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/DeleteTopLinkBarItem.asp"&gt;Top Link Bar - Delete Item&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/AddTopLinkBarItem.asp"&gt;Top Link Bar - Add Item&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/EnableTreeView.asp"&gt;Enable Tree View&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/ExplorerView.asp"&gt;Explorer View&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/Logout.asp"&gt;Log out&lt;/a&gt; &lt;/li&gt;  &lt;li class="divider"&gt;&lt;strong&gt;Site &amp;amp; User Administration&lt;/strong&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/AddNewUser.asp"&gt;Add a new User&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/ResetPassword.asp"&gt;Reset User Password&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/CreateSiteCollectAdmin.asp"&gt;Create a Site Collection&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/DeleteSiteCollectAdmin.asp"&gt;Delete a Site Collection&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/SPDBackupSite.asp"&gt;SharePoint Designer - Backup Site&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/SiteUsage.asp"&gt;Check Site Usage&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/RegionalSettings.asp"&gt;Regional Settings&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/AnonAccess.asp"&gt;Set up Anonymous Access&lt;/a&gt; &lt;/li&gt;  &lt;li class="divider"&gt;&lt;strong&gt;Permissions &amp;amp; Alerts&lt;/strong&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/SetDocPermissions.asp"&gt;Set Document Permissions&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/SetLibPermissions.asp"&gt;Library Permissions&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/SetListPermissions.asp"&gt;List Permissions&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/SetEmailAlert.asp"&gt;Create Email Alerts&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/DeleteEmailAlert.asp"&gt;Delete an Email Alert&lt;/a&gt; &lt;/li&gt;  &lt;li class="divider"&gt;&lt;strong&gt;Documents &amp;amp; Tasks&lt;/strong&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/AssignTask.asp"&gt;Assign Tasks&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/DeassignTask.asp"&gt;Deassign Tasks&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/RestoreDeletedItem.asp"&gt;Restore Deleted Item&lt;/a&gt; &lt;/li&gt;  &lt;li class="divider"&gt;&lt;strong&gt;Web Parts&lt;/strong&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/AddWebPart.asp"&gt;Add Web Parts&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/CreateWebPartPage.asp"&gt;Create a Web Part Page&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="/sharepoint-tutorials/ContentEditorWebPart.asp"&gt;Content Editor Web Part&lt;/a&gt;     &lt;ul&gt;&lt;/ul&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/li&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2830562954066584204?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2830562954066584204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2830562954066584204' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2830562954066584204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2830562954066584204'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/great-sharepoint-tutorials-site-to.html' title='Great SharePoint Tutorials site to share'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3790567162269418535</id><published>2010-08-04T06:15:00.001-07:00</published><updated>2010-08-04T06:15:43.839-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='reportadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><title type='text'>SQL query to find "DayLastAccessed" in portal's Site DB</title><content type='html'>&lt;p&gt;is time to do clean up for the SharePoint environment , have 2 option i know we can do that. one is manual one is auto :P ha ha ha&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Auto one you can setup at CA, &lt;strong&gt;Site use confirmation and deletion&lt;/strong&gt;&amp;#160; /_admin/applications.aspx . not sure how correct is it!! ha ha&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;but i prefer manual one.so use below query to check day last accessed , so we can guess is still used or not.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;pre&gt;SELECT     FullUrl AS 'Site URL', TimeCreated, DATEADD(d,&lt;br /&gt;DayLastAccessed + 65536, CONVERT(datetime, '1/1/1899', 101)) AS&lt;br /&gt;lastAccessDate&lt;br /&gt;FROM         Webs&lt;br /&gt;WHERE     (DayLastAccessed &amp;lt;&amp;gt; 0) AND (FullUrl LIKE N'sites/%')&lt;br /&gt;ORDER BY lastAccessDate&lt;/pre&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3790567162269418535?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3790567162269418535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3790567162269418535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3790567162269418535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3790567162269418535'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/sql-query-to-find-in-portal-site-db.html' title='SQL query to find &amp;quot;DayLastAccessed&amp;quot; in portal&amp;#39;s Site DB'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5616529328206745559</id><published>2010-08-04T05:59:00.001-07:00</published><updated>2010-08-04T05:59:10.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='reportadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='sql query'/><title type='text'>Useful SQL Queries to Analyze and Monitor SharePoint Portal Solutions Usage</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;keep track on what i can get from internet about SQL query for SharePoint :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;i am looking for last access to sites query, but unable to find..but found some other interesting one.. at below from this &lt;a href="http://www.codeproject.com/KB/dotnet/QueriesToAnalyzeSPUsage.aspx"&gt;link&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;A List of SQL Queries&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Top 100 documents in terms of size (latest version(s) only):&lt;/b&gt;       &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;      &lt;pre&gt;SELECT TOP 100 Webs.FullUrl As SiteUrl, &lt;br /&gt;Webs.Title 'Document/List Library Title', &lt;br /&gt;DirName + '/' + LeafName AS 'Document Name',&lt;br /&gt;CAST((CAST(CAST(Size as decimal(10,2))/1024 As &lt;br /&gt;      decimal(10,2))/1024) AS Decimal(10,2)) AS 'Size in MB'&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName NOT LIKE '%.stp')  &lt;br /&gt;               AND (LeafName NOT LIKE '%.aspx') &lt;br /&gt;               AND (LeafName NOT LIKE '%.xfp') &lt;br /&gt;               AND (LeafName NOT LIKE '%.dwp') &lt;br /&gt;               AND (LeafName NOT LIKE '%template%') &lt;br /&gt;               AND (LeafName NOT LIKE '%.inf') &lt;br /&gt;               AND (LeafName NOT LIKE '%.css') &lt;br /&gt;ORDER BY 'Size in MB' DESC&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Top 100 most versioned documents:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT TOP 100&lt;br /&gt;Webs.FullUrl As SiteUrl, &lt;br /&gt;Webs.Title 'Document/List Library Title', &lt;br /&gt;DirName + '/' + LeafName AS 'Document Name',&lt;br /&gt;COUNT(Docversions.version)AS 'Total Version',&lt;br /&gt;SUM(CAST((CAST(CAST(Docversions.Size as decimal(10,2))/1024 As &lt;br /&gt;   decimal(10,2))/1024) AS Decimal(10,2)) )  AS  'Total Document Size (MB)',&lt;br /&gt;CAST((CAST(CAST(AVG(Docversions.Size) as decimal(10,2))/1024 As &lt;br /&gt;   decimal(10,2))/1024) AS Decimal(10,2))   AS  'Avg Document Size (MB)'&lt;br /&gt;FROM Docs INNER JOIN DocVersions ON Docs.Id = DocVersions.Id &lt;br /&gt;   INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 &lt;br /&gt;AND (LeafName NOT LIKE '%.stp')  &lt;br /&gt;AND (LeafName NOT LIKE '%.aspx')  &lt;br /&gt;AND (LeafName NOT LIKE '%.xfp') &lt;br /&gt;AND (LeafName NOT LIKE '%.dwp') &lt;br /&gt;AND (LeafName NOT LIKE '%template%') &lt;br /&gt;AND (LeafName NOT LIKE '%.inf') &lt;br /&gt;AND (LeafName NOT LIKE '%.css') &lt;br /&gt;GROUP BY Webs.FullUrl, Webs.Title, DirName + '/' + LeafName&lt;br /&gt;ORDER BY 'Total Version' desc, 'Total Document Size (MB)' desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of unhosted pages in the SharePoint solution:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select Webs.FullUrl As SiteUrl, &lt;br /&gt;case when [dirname] = '' &lt;br /&gt;then '/'+[leafname] &lt;br /&gt;else '/'+[dirname]+'/'+[leafname] &lt;br /&gt;end as [Page Url], &lt;br /&gt;CAST((CAST(CAST(Size as decimal(10,2))/1024 As &lt;br /&gt;   decimal(10,2))/1024) AS Decimal(10,2))   AS  'File Size in MB'&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;where [type]=0 &lt;br /&gt;and [leafname] like ('%.aspx') &lt;br /&gt;and [dirname] not like ('%_catalogs/%') &lt;br /&gt;and [dirname] not like ('%/Forms') &lt;br /&gt;and [content] is not null &lt;br /&gt;and [dirname] not like ('%Lists/%') &lt;br /&gt;and [setuppath] is not null &lt;br /&gt;order by [Page Url];&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of top level WSS sites and their total size, including child sites in the portal:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select FullUrl As SiteUrl,  &lt;br /&gt;CAST((CAST(CAST(DiskUsed as decimal(10,2))/1024 As &lt;br /&gt;   decimal(10,2))/1024) AS Decimal(10,2))   AS  'Total Size in MB'&lt;br /&gt;from sites &lt;br /&gt;Where FullUrl LIKE '%sites%' AND &lt;br /&gt;   fullUrl &amp;lt;&amp;gt; 'MySite' AND fullUrl &amp;lt;&amp;gt; 'personal'&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of portal area and total number of users:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select webs.FullUrl, Webs.Title, &lt;br /&gt;    COUNT(WebMembers.UserId) As 'Total User'&lt;br /&gt;from Webs INNER JOIN WebMembers &lt;br /&gt;ON Webs.Id = WebMembers.WebId&lt;br /&gt;Where fullurl NOT like '%sites%' AND &lt;br /&gt;    fullUrl &amp;lt;&amp;gt; 'MySite' AND fullUrl &amp;lt;&amp;gt; 'personal'&lt;br /&gt;Group BY webs.FullUrl,  Webs.Title&lt;br /&gt;Order By  'Total User' desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of top level and sub sites in the portal and the number of users:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select  webs.FullUrl ,Webs.Title, COUNT(WebMembers.UserId) As 'Total User'&lt;br /&gt;from Webs INNER JOIN WebMembers &lt;br /&gt;ON Webs.Id = WebMembers.WebId&lt;br /&gt;where fullurl  like '%sites%' AND fullUrl &amp;lt;&amp;gt; 'MySite' AND fullUrl &amp;lt;&amp;gt; 'personal'&lt;br /&gt;Group BY webs.FullUrl,  Webs.Title&lt;br /&gt;Order By  'Total User' desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of all portal area:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select Webs.FullUrl As [Site Url], &lt;br /&gt;Title AS [Area Title]&lt;br /&gt;from Webs &lt;br /&gt;Where fullurl NOT like '%sites%' AND fullUrl &amp;lt;&amp;gt; &lt;br /&gt;    'MySite' AND fullUrl &amp;lt;&amp;gt; 'personal'&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of the total portal area:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select COUNT(*)from Webs &lt;br /&gt;Where fullurl NOT like '%sites%' AND &lt;br /&gt;    fullUrl &amp;lt;&amp;gt; 'MySite' AND fullUrl &amp;lt;&amp;gt; 'personal'&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of all top level and sub sites in the portal:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select Webs.FullUrl As [Site Url], &lt;br /&gt;Title AS [WSS Site Title]&lt;br /&gt;from webs&lt;br /&gt;where fullurl  like '%sites%' AND fullUrl &amp;lt;&amp;gt; &lt;br /&gt;     'MySite' AND fullUrl &amp;lt;&amp;gt; 'personal'&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of the total top level and sub sites in the portal:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select COUNT(*) from webs&lt;br /&gt;where fullurl  like '%sites%' AND fullUrl &amp;lt;&amp;gt; &lt;br /&gt;    'MySite'  AND fullUrl &amp;lt;&amp;gt; 'personal'&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of all list/document libraries and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select  &lt;br /&gt;case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;case tp_servertemplate&lt;br /&gt;when 104 then 'Announcement'&lt;br /&gt;when 105 then 'Contacts'&lt;br /&gt;When 108 then 'Discussion Boards'&lt;br /&gt;when 101 then 'Docuemnt Library'&lt;br /&gt;when 106 then 'Events'&lt;br /&gt;when 100 then 'Generic List'&lt;br /&gt;when 1100 then 'Issue List'&lt;br /&gt;when 103 then 'Links List'&lt;br /&gt;when 109 then 'Image Library'&lt;br /&gt;when 115 then 'InfoPath Form Library'&lt;br /&gt;when 102 then 'Survey'&lt;br /&gt;when 107 then 'Task List'&lt;br /&gt;else 'Other' end as Type,&lt;br /&gt;tp_title 'Title', &lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate IN (104,105,108,101, &lt;br /&gt;    106,100,1100,103,109,115,102,107,120)&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;    &lt;p&gt;Note: the &lt;code&gt;tp_servertemplate&lt;/code&gt; field can have the following values:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;ul&gt;&lt;br /&gt;      &lt;li&gt;104&amp;#160; = Announcement &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;105 = Contacts List &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;108 = Discussion Boards &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;101 = Document Library &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;106 = Events &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;100 = Generic List &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;1100 = Issue List &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;103 = Links List &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;109 = Image Library &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;115 = InfoPath Form Library &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;102 = Survey List &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;      &lt;li&gt;107 = Task List &lt;/li&gt;&lt;br /&gt;    &lt;/ul&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of document libraries and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select  &lt;br /&gt;case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;lists.tp_title As Title,&lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate = 101&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of image libraries and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;lists.tp_title As Title,&lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate = 109  -- Image Library&lt;br /&gt;&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of announcement list and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;lists.tp_title As Title,&lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate = 104  -- Announcement List&lt;br /&gt;&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of contact list and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;lists.tp_title As Title,&lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate = 105   -- Contact List&lt;br /&gt;&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of event list and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;lists.tp_title As Title,&lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate = 106   -- Event List&lt;br /&gt;&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of all tasks and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select  &lt;br /&gt;case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;lists.tp_title As Title,&lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate = 107  -- Task List&lt;br /&gt;&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of all InfoPath form library and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select  &lt;br /&gt;case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;lists.tp_title As Title,&lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate = 115  -- Infopath Library&lt;br /&gt;&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;List of generic list and total items:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;select  &lt;br /&gt;case when webs.fullurl = '' &lt;br /&gt;then 'Portal Site' &lt;br /&gt;else webs.fullurl&lt;br /&gt;end as [Site Relative Url], &lt;br /&gt;webs.Title As [Site Title], &lt;br /&gt;lists.tp_title As Title,&lt;br /&gt;tp_description As Description, &lt;br /&gt;tp_itemcount As [Total Item]&lt;br /&gt;from lists inner join webs ON lists.tp_webid = webs.Id&lt;br /&gt;Where tp_servertemplate = 100  -- Generic List&lt;br /&gt;&lt;br /&gt;order by tp_itemcount desc&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total number of documents:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT COUNT(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName NOT LIKE '%.stp')  &lt;br /&gt;               AND (LeafName NOT LIKE '%.aspx') &lt;br /&gt;               AND (LeafName NOT LIKE '%.xfp') &lt;br /&gt;               AND (LeafName NOT LIKE '%.dwp') &lt;br /&gt;               AND (LeafName NOT LIKE '%template%') &lt;br /&gt;               AND (LeafName NOT LIKE '%.inf') &lt;br /&gt;               AND (LeafName NOT LIKE '%.css')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total MS Word documents:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName LIKE '%.doc') &lt;br /&gt;  AND (LeafName NOT LIKE '%template%')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total MS Excel documents:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName LIKE '%.xls') &lt;br /&gt;    AND  (LeafName NOT LIKE '%template%')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total MS PowerPoint documents:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName LIKE '%.ppt') &lt;br /&gt;    AND  (LeafName NOT LIKE '%template%')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total TXT documents:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName LIKE '%.txt')  &lt;br /&gt;    AND  (LeafName NOT LIKE '%template%')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total Zip files:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName LIKE '%.zip') &lt;br /&gt;    AND  (LeafName NOT LIKE '%template%')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total PDF files:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName LIKE '%.pdf') &lt;br /&gt;    AND  (LeafName NOT LIKE '%template%')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total JPG files:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName LIKE '%.jpg') &lt;br /&gt;               AND  (LeafName NOT LIKE '%template%')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total GIF files:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName LIKE '%.gif') &lt;br /&gt;               AND  (LeafName NOT LIKE '%template%')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total files other than DOC, PDF, XLS, PPT, TXT, Zip, ASPX, DEWP, STP, CSS, JPG, GIF:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT count(*)&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName NOT LIKE '%.pdf') &lt;br /&gt;AND  (LeafName NOT LIKE '%template%')&lt;br /&gt;AND (LeafName NOT LIKE '%.doc')&lt;br /&gt;AND (LeafName NOT LIKE '%.xls')&lt;br /&gt;AND (LeafName NOT LIKE '%.ppt')&lt;br /&gt;AND (LeafName NOT LIKE '%.txt')&lt;br /&gt;AND (LeafName NOT LIKE '%.zip')&lt;br /&gt;AND (LeafName NOT LIKE '%.aspx')&lt;br /&gt;AND (LeafName NOT LIKE '%.dwp')&lt;br /&gt;AND (LeafName NOT LIKE '%.stp')&lt;br /&gt;AND (LeafName NOT LIKE '%.css')&lt;br /&gt;AND (LeafName NOT LIKE '%.jpg')  &lt;br /&gt;AND (LeafName NOT LIKE '%.gif')  &lt;br /&gt;AND (LeafName &amp;lt;&amp;gt;'_webpartpage.htm')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;&lt;b&gt;Total size of all documents:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;    &lt;p&gt;&lt;img height="9" src="http://www.codeproject.com/images/minus.gif" width="9" /&gt; Collapse&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre&gt;SELECT SUM(CAST((CAST(CAST(Size as decimal(10,2))/1024 &lt;br /&gt;       As decimal(10,2))/1024) AS Decimal(10,2))) &lt;br /&gt;       AS  'Total Size in MB'&lt;br /&gt;FROM     Docs INNER JOIN Webs On Docs.WebId = Webs.Id&lt;br /&gt;INNER JOIN Sites ON Webs.SiteId = SItes.Id&lt;br /&gt;WHERE&lt;br /&gt;Docs.Type &amp;lt;&amp;gt; 1 AND (LeafName NOT LIKE '%.stp') &lt;br /&gt;               AND (LeafName NOT LIKE '%.aspx') &lt;br /&gt;               AND (LeafName NOT LIKE '%.xfp') &lt;br /&gt;               AND (LeafName NOT LIKE '%.dwp') &lt;br /&gt;               AND (LeafName NOT LIKE '%template%') &lt;br /&gt;               AND (LeafName NOT LIKE '%.inf') &lt;br /&gt;               AND (LeafName NOT LIKE '%.css') &lt;br /&gt;               AND (LeafName &amp;lt;&amp;gt;'_webpartpage.htm')&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-5616529328206745559?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5616529328206745559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5616529328206745559' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5616529328206745559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5616529328206745559'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/useful-sql-queries-to-analyze-and.html' title='Useful SQL Queries to Analyze and Monitor SharePoint Portal Solutions Usage'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3395821670096653605</id><published>2010-08-01T23:17:00.001-07:00</published><updated>2010-08-01T23:17:57.568-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><title type='text'>Shorting the content DB from enumlist.txt</title><content type='html'>&lt;p&gt;this morning try to get the URL and Database from enumlist for orphan object checking , but after import to excel with delimited but look like the information is not good enough. ha ha, then learnt some excel function to short it out. so want to keep track new excel command i learnt :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;lt;Site Url=&lt;a href="http://abc.abc.com"&gt;http://abc.abc.com&lt;/a&gt; Owner=&amp;quot;abc\abc&amp;quot; ContentDatabase=&amp;quot;MOSS_Content_DB1&amp;quot; StorageUsedMB=&amp;quot;28.7&amp;quot; StorageWarningMB=&amp;quot;80&amp;quot; StorageMaxMB=&amp;quot;100&amp;quot; /&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;this command is trim up the front part &lt;/p&gt;  &lt;p&gt;=RIGHT(A1,LEN(A1)-FIND(&amp;quot;e=&amp;quot;,A1)) &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Results is :&lt;/p&gt;  &lt;p&gt;=&amp;quot;MOSS_Content_DB1&amp;quot; StorageUsedMB=&amp;quot;28.7&amp;quot; StorageWarningMB=&amp;quot;80&amp;quot; StorageMaxMB=&amp;quot;100&amp;quot; /&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another column&amp;#160; is trim out the left over&lt;/p&gt;  &lt;p&gt;=LEFT(B2,(FIND(&amp;quot;St&amp;quot;,B2)))&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Results is:&lt;/p&gt;  &lt;p&gt;=&amp;quot;MOSS_Content_DB1&amp;quot; S&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;At last replace the “ and “ S with space, then you will get the DB name :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Maybe look stupid , but i get what i want!! i think will have more easy way , but i unable to think out yet. so i just use the faster skill i know to get my information i think this is fair. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;please do share with me the easy way , if you have :) &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3395821670096653605?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3395821670096653605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3395821670096653605' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3395821670096653605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3395821670096653605'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/08/shorting-content-db-from-enumlisttxt.html' title='Shorting the content DB from enumlist.txt'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-4891230571612569181</id><published>2010-07-24T02:29:00.001-07:00</published><updated>2010-07-24T02:29:06.145-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><title type='text'>SharePoint 2010 Advanced IT Pro Training</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;yeah… hear from management we are going to deploy this Q1 2011, so excited on this!! But not sure is true or not… ha ha..but anyway need to start prepare my self on this :D . &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Keep track on the Training first :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/sharepoint/ff420396.aspx"&gt;http://technet.microsoft.com/en-us/sharepoint/ff420396.aspx&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;SharePoint 2010 Advanced IT Pro Training&lt;/h6&gt;  &lt;p&gt;1&lt;a href="http://technet.microsoft.com/sharepoint/ff677987.aspx"&gt;Core Architecture of SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2&lt;a href="http://technet.microsoft.com/sharepoint/ff678022.aspx"&gt;Security in SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3&lt;a href="http://technet.microsoft.com/sharepoint/ff678027.aspx"&gt;IT Pro Management in SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4&lt;a href="http://technet.microsoft.com/sharepoint/ff678049.aspx"&gt;Upgrading to SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5&lt;a href="http://technet.microsoft.com/sharepoint/ff678050.aspx"&gt;Enterprise Search in SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6&lt;a href="http://technet.microsoft.com/sharepoint/ff678051.aspx"&gt;Content Management in SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;7&lt;a href="http://technet.microsoft.com/sharepoint/ff678052.aspx"&gt;Composite Solutions in SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8&lt;a href="http://technet.microsoft.com/sharepoint/ff678053.aspx"&gt;Communities in SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;9&lt;a href="http://technet.microsoft.com/sharepoint/ff678054.aspx"&gt;Business Intelligence in SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10&lt;a href="http://technet.microsoft.com/sharepoint/ff699513.aspx"&gt;SharePoint Online Overview&lt;/a&gt;&lt;/p&gt;  &lt;h6&gt;Additional Training&lt;/h6&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ff420377.aspx"&gt;&lt;strong&gt;SharePoint 2010 Advanced Developer Training&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Videos, hosted labs, presentations&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/sharepoint/ee518660.aspx"&gt;&lt;strong&gt;Get Started with SharePoint 2010 for IT Pros&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Videos on how IT Pros new to SharePoint Server 2010 can get started.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/learning/en/us/training/sharepoint.aspx"&gt;&lt;strong&gt;Microsoft Learning | SharePoint Training&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Certifications, instructor-led training, e-learning&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-4891230571612569181?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/4891230571612569181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=4891230571612569181' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4891230571612569181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4891230571612569181'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/07/sharepoint-2010-advanced-it-pro.html' title='SharePoint 2010 Advanced IT Pro Training'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5170681515959172690</id><published>2010-07-22T00:25:00.001-07:00</published><updated>2010-07-22T00:25:41.117-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server admin'/><category scheme='http://www.blogger.com/atom/ns#' term='vbs'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Disk space VBS</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;em&gt;CDisk.bat&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;cscript &amp;quot;DisksSpace.vbs&amp;quot; &amp;gt; Disks.txt //nologo   &lt;br /&gt;sendmail.bat&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;em&gt;DisksSpace.vbs&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;On Error Resume Next &lt;/p&gt;  &lt;p&gt;Const wbemFlagReturnImmediately = &amp;amp;h10    &lt;br /&gt;Const wbemFlagForwardOnly = &amp;amp;h20 &lt;/p&gt;  &lt;p&gt;aryServers = Array(&amp;quot;001.abc.com&amp;quot;,&amp;quot;002.abc.com&amp;quot;) &lt;/p&gt;  &lt;p&gt;WScript.Echo &lt;/p&gt;  &lt;p&gt;For Each strComputer In aryServers    &lt;br /&gt;&amp;#160;&amp;#160; WScript.Echo strComputer     &lt;br /&gt;&amp;#160;&amp;#160; Set objWMIService = GetObject(&amp;quot;winmgmts:\\&amp;quot; &amp;amp; strComputer &amp;amp; &amp;quot;\root\CIMV2&amp;quot;)     &lt;br /&gt;&amp;#160;&amp;#160; Set colItems = objWMIService.ExecQuery(&amp;quot;Select * From Win32_LogicalDisk Where DriveType = 3&amp;quot;, &amp;quot;WQL&amp;quot;, _     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; wbemFlagReturnImmediately + wbemFlagForwardOnly) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; For Each objItem In colItems    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SpaceFree = Round(objItem.FreeSpace/(1024*1024))     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Wscript.Echo objItem.Name &amp;amp; Chr(9) &amp;amp; SpaceFree &amp;amp; &amp;quot;MB free&amp;quot; &amp;amp; Chr(9) &amp;amp; &amp;quot;(&amp;quot; &amp;amp; Round(100 * (objItem.FreeSpace/objItem.Size),2) &amp;amp; &amp;quot;%)&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160; Next     &lt;br /&gt;&amp;#160;&amp;#160; WScript.Echo     &lt;br /&gt;Next &lt;/p&gt;  &lt;p&gt;WScript.Echo&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;em&gt;sendmail.bat&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;@Echo off   &lt;br /&gt;call &amp;quot;sendMail.wsf&amp;quot;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;sendmail.wsf&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;job&amp;gt; &lt;/p&gt;  &lt;p&gt;&amp;lt;script language=&amp;quot;vbscript&amp;quot;&amp;gt; &lt;/p&gt;  &lt;p&gt;Const ForReading = 1, ForWriting = 2, ForAppending = 8 &lt;/p&gt;  &lt;p&gt;Dim fso, f   &lt;br /&gt;Set fso = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)    &lt;br /&gt;Set f = fso.OpenTextFile(&amp;quot;Check_Disks.txt&amp;quot;, ForReading) &lt;/p&gt;  &lt;p&gt;BodyText = f.ReadAll &lt;/p&gt;  &lt;p&gt;f.Close   &lt;br /&gt;Set f = Nothing    &lt;br /&gt;Set fso = Nothing &lt;/p&gt;  &lt;p&gt;Set objMessage = CreateObject(&amp;quot;CDO.Message&amp;quot;)    &lt;br /&gt;objMessage.Subject = &amp;quot;Disk Report: &amp;quot; &amp;amp; Now() &amp;amp; &amp;quot; [ GMT+8 ]&amp;quot;    &lt;br /&gt;objMessage.From = &amp;quot;noreply@abc.com&amp;quot;     &lt;br /&gt;objMessage.To = &amp;quot;tosomeone@abc.com&amp;quot;     &lt;br /&gt;objMessage.Cc = &amp;quot;ccsomeone@abc.com&amp;quot;     &lt;br /&gt;objMessage.TextBody = BodyText    &lt;br /&gt;objMessage.Configuration.Fields.Item _    &lt;br /&gt; (&amp;quot;&lt;a href="http://schemas.microsoft.com/cdo/configuration/sendusing&amp;quot;)"&gt;http://schemas.microsoft.com/cdo/configuration/sendusing&amp;quot;)&lt;/a&gt; = 2     &lt;br /&gt;objMessage.Configuration.Fields.Item _    &lt;br /&gt; (&amp;quot;&lt;a href="http://schemas.microsoft.com/cdo/configuration/smtpserver&amp;quot;)"&gt;http://schemas.microsoft.com/cdo/configuration/smtpserver&amp;quot;)&lt;/a&gt; = &amp;quot;gateway.abc.com&amp;quot;    &lt;br /&gt;objMessage.Configuration.Fields.Item _    &lt;br /&gt; (&amp;quot;&lt;a href="http://schemas.microsoft.com/cdo/configuration/smtpserverport&amp;quot;)"&gt;http://schemas.microsoft.com/cdo/configuration/smtpserverport&amp;quot;)&lt;/a&gt; = 25&amp;#160; &lt;br /&gt; objMessage.Configuration.Fields.Update &lt;/p&gt;  &lt;p&gt;objMessage.Send &lt;/p&gt;  &lt;p&gt;&amp;lt;/script&amp;gt;   &lt;br /&gt;&amp;lt;/job&amp;gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-5170681515959172690?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5170681515959172690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5170681515959172690' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5170681515959172690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5170681515959172690'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/07/disk-space-vbs.html' title='Disk space VBS'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-345879349127063091</id><published>2010-07-19T23:47:00.001-07:00</published><updated>2010-07-19T23:47:47.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='availabilty'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='load balance'/><title type='text'>F5 with MOSS 2007 to improve our availability</title><content type='html'>&lt;p&gt;yahoo!! recently i have found out how to improve the SLA to customer by enable HTTP health Monitor at our BigIp pool TTP health Monitor at our BigIp pool .&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;if you have BIG-IP&lt;sup&gt;®&lt;/sup&gt; LOCAL TRAFFIC MANAGER then you can create the HTTP health Monitor to monitor your MOSS2007. This will help to monitor your MOSS site , if discover one your web front end server is not respond on the IIS between the timeout you set then big ip will not send any request from user to this server. So user will not impacted by that server :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;below have more information you can refer to how to set it :&lt;/p&gt;  &lt;p&gt;&lt;img alt="F5 logo (IT agility. Your way)" src="http://www.f5.com/images/assets/f5-logo.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.f5.com/products/big-ip/product-modules/local-traffic-manager.html"&gt;http://www.f5.com/products/big-ip/product-modules/local-traffic-manager.html&lt;/a&gt; Model&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.f5.com/pdf/deployment-guides/f5-sharepoint07-dg.pdf" href="http://www.f5.com/pdf/deployment-guides/f5-sharepoint07-dg.pdf"&gt;http://www.f5.com/pdf/deployment-guides/f5-sharepoint07-dg.pdf&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;setup F5 with MOSS 2007&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-345879349127063091?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/345879349127063091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=345879349127063091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/345879349127063091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/345879349127063091'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/07/f5-with-moss-2007-to-improve-our.html' title='F5 with MOSS 2007 to improve our availability'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-8398160751868935674</id><published>2010-07-19T00:02:00.001-07:00</published><updated>2010-07-19T00:02:05.491-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ISA2006'/><category scheme='http://www.blogger.com/atom/ns#' term='Caching'/><title type='text'>ISA 2006 Web Caching</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Recently user face the page cannot display problem , so i started to investigate on our ISA server on this problem… so i have found out how to set the web Caching step at below. emm..Look like our caching is enable but the rule is something wrong :D …ok, just want to keep the setup here &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;below information is from : &lt;a href="http://www.isaserver.org/tutorials/ISA-2006-Web-Caching.html"&gt;http://www.isaserver.org/tutorials/ISA-2006-Web-Caching.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;A lot of ISA Firewall admins might forget that the ISA Firewall isn’t only an enterprise class network firewall, but also a nifty Web caching device. The Web caching feature allows the ISA Firewall to cache the responses it gets from user requests from behind the ISA Firewall. This can speed up the Web browsing experience for users and even allow users to view cached content when the Web server hosting the content is offline.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/1931836191/wwwshindernet-20"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The first step in getting Web caching working is to turn it on. To do that, open the ISA Firewall console and then expand the &lt;b&gt;Configuration&lt;/b&gt; node in the left pane of the console. Click on the &lt;b&gt;Cache&lt;/b&gt; node and then click the &lt;b&gt;Tasks&lt;/b&gt; tab in the Task Pane. Click the &lt;b&gt;Define Cache Drives (Enable Caching)&lt;/b&gt; link.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0021190629209095.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;b&gt;Define Cache Drives&lt;/b&gt; dialog box, enter the size of the disk cache you want to have. I generally allow about 10 MB per user. In the example below you see that I’m setting the cache to be &lt;b&gt;250 MB&lt;/b&gt;. Keep in mind that the maximum size for a cache file on a single drive is 64 GB. Also, the drive much be formatted to use NTFS.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0041190629209110.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 2&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Right click the &lt;b&gt;Cache&lt;/b&gt; node in the left pane of the console and click &lt;b&gt;Properties&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0061190629209110.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 3&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The &lt;b&gt;General&lt;/b&gt; tab of the &lt;b&gt;Cache Settings&lt;/b&gt; dialog box tells you how big your cache is.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0081190629233720.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 4&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;b&gt;Advanced&lt;/b&gt; tab you have several options.&lt;/p&gt;  &lt;p&gt;The &lt;b&gt;Cache objects that have an unspecified last modification time&lt;/b&gt; option allows the ISA Firewall to cache objects that don’t have a time stamp. When the ISA Firewall caches these objects, you can set custom cache rules to determine how long these objects stay in the cache.&lt;/p&gt;  &lt;p&gt;The &lt;b&gt;Cache objects even if they do not have an HTTP status code of 200&lt;/b&gt; allows you to cache pages that do not return an OK response when connecting to the destination Web server. This allows for offline caching and other caching behaviors.&lt;/p&gt;  &lt;p&gt;The &lt;b&gt;Maximum size of URL cached in memory (bytes)&lt;/b&gt; option allows you to configure the maximum size of an object placed in the in-memory cache. The in-memory cache is much faster than the on-disk cache, so you don’t want to clog the in-memory cache with large objects, such as graphics and files. You can enter a custom value if you like, but the default is &lt;b&gt;12800&lt;/b&gt; bytes.&lt;/p&gt;  &lt;p&gt;You have two options for when &lt;b&gt;If Web site of expired object cannot be reached&lt;/b&gt;. You can configure the ISA Firewall to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Do not return the expired object (return an error page) &lt;/b&gt;This tells the ISA Firewall to return an error indicating that the object is not available, even if the object is in the cache. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Return the expired object only if expiration was&lt;/b&gt;. This allows the ISA Firewall to return objects in the cache even when the Web site is not available. How long the ISA Firewall will continue to return these objects from the cache depends on the following settings: &lt;b&gt;At less than this percentage of original Time-to-Live&lt;/b&gt;, &lt;b&gt;But no more than (minutes)&lt;/b&gt;. These two options determine how long the object can be returned from the cache when the Web server hosting that content is not available. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The &lt;b&gt;Percentage of free memory to use for caching&lt;/b&gt; is actually the percentage of memory you want to give to the cache file. It’s really not the percentage of “free” memory because the cache memory size won’t change over time and will not give up memory to other processes. So this is a static value based on how much memory your machine has. The default is 10%, but if you have lots of RAM, you might consider increasing this at 10% intervals until you run into trouble to see how much memory you can dedicate to Web caching.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0101190629233720.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 5&lt;/b&gt;&lt;/p&gt;  &lt;h4&gt;Creating Cache Rules&lt;/h4&gt;  &lt;p&gt;Cache rules allow you to define what objects you want to cache and the cache behavior for those objects. To create a cache rule, click on the &lt;b&gt;Cache&lt;/b&gt; node in the left pane of the ISA Firewall console and then click the &lt;b&gt;Tasks&lt;/b&gt; tab on the Task Pane. Click the &lt;b&gt;Create a Cache Rule&lt;/b&gt; link.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0121190629233735.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 6&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;b&gt;Welcome to the New Cache Rule Wizard&lt;/b&gt; page, enter a name for the cache rule. In this example we’ll create a cache rule that is applied to all content accessed from the Internet, with the exception of the Microsoft Update Site, which has its own rule that should be above all other rules. Click &lt;b&gt;Next&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0141190629256407.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 7&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;b&gt;Cache Rule Destination&lt;/b&gt; page, click the &lt;b&gt;Add&lt;/b&gt; button. In the &lt;b&gt;Add Network Entities&lt;/b&gt; dialog box you select which destination you want this rule to apply to. In this example we want the rule to apply to all Internet access, so we’ll click the &lt;b&gt;Networks &lt;/b&gt;folder and then double click on the &lt;b&gt;External&lt;/b&gt; entry. Note that you can create very finely tuned cache rules by having the destination be a &lt;b&gt;URL Set&lt;/b&gt; or a &lt;b&gt;Domain Name Set&lt;/b&gt;. Click &lt;b&gt;Close&lt;/b&gt; on the &lt;b&gt;Add Network Entities&lt;/b&gt;dialog box.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0161190629256423.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 8&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;b&gt;Content Retrieval &lt;/b&gt;page you set how objects stored in the cache are retrieved when requested by users. You have three options:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Only if a valid version of the object exists in cache. If no valid version exists, route the request to the server.&lt;/b&gt; So, if there is an expired version of the object in the cache, the ISA Firewall will connect to the Web server to get a fresh version of the object &lt;/li&gt;    &lt;li&gt;&lt;b&gt;If any version of the object exists in cache&lt;/b&gt;. &lt;b&gt;If none exists, route the request to the server.&lt;/b&gt; So, if there is any version of the object in the cache, it will return it to the user, even if it is expired. If no version of the object is in cache, it will go to the Web server to get it. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;If any version of the object exists in cache. If none exists, drop the request (never route the request to the server. &lt;/b&gt;So, if any version is in the cache, it will return it to the user. If there is no version of the object in the cache, the ISA Firewall will not try to get it from the Web server and will just drop the request &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The default option is &lt;b&gt;Only if a valid version of the object exists in the cache. If no valid version exists, route the request to the server&lt;/b&gt;. In this example we’ll select the default and click &lt;b&gt;Next&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0181190629256423.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 9&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;b&gt;Cache Content&lt;/b&gt; page you tell the ISA Firewall whether retrieved content is stored in the cache. By default, an object is stored in the cache only if its source and request headers indicate that the object should be cached. However, you have the option to select the option &lt;b&gt;Never, no content will ever be cached&lt;/b&gt;. So, if there is a site where you never want the content to be cached, maybe because you always need the most up to date content, then you should select that option.&lt;/p&gt;  &lt;p&gt;Three other options are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Dynamic content: &lt;/b&gt;When you select this option, the ISA Firewall will cache the content, even if the Web server indicates that the content should not be cached.&lt;b&gt;&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Content for offline browsing: &lt;/b&gt;This allows the ISA Firewall to cache content even when the Web server is not available or the location of the objects has changed.&lt;b&gt;&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Content requiring user authentication for retrieval: &lt;/b&gt;This allows the ISA Firewall to access content that required user authentication. Be careful with this one, because it has the potential to allow users to see the authenticated content from other users&lt;b&gt;&lt;/b&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Click &lt;b&gt;Next&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0201190629286595.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 10&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;b&gt;Cache Advanced Configuration&lt;/b&gt; page, you can limit the size of cached objects. By default, there is no limit to the size of an object that can be cached. However, if you select the &lt;b&gt;Do not cache objects larger than&lt;/b&gt; option, you can set a maximum size of cached objects. Use this option if you’re worried about your cache file getting filled up too quickly by very large objects, such as pictures or data files.&lt;/p&gt;  &lt;p&gt;The other option on this page is &lt;b&gt;Cache SSL responses&lt;/b&gt;. Be aware that the ISA Firewall cannot cache SSL responses in a forward Web proxy scenario because the ISA Firewall cannot see what’s inside the SSL tunnel. However, if you install Collective Software’s &lt;b&gt;ClearTunnel&lt;/b&gt;, you will be able to cache responses made over an SSL connection. For more information about &lt;b&gt;ClearTunnel&lt;/b&gt;, check out &lt;a href="http://www.collectivesoftware.com"&gt;www.collectivesoftware.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Click &lt;b&gt;Next&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0221190629286595.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 11&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;b&gt;HTTP Caching&lt;/b&gt; page, unless the source specifies an expiration time, HTTP objects stored in the cache are updated according to the time-to-live (TTL) settings. The TTL is the amount of time content remains in the cache before it expires. Content age is the amount of time since the object was created or modified, which is information contained in the object’s header.&lt;/p&gt;  &lt;p&gt;The &lt;b&gt;Set TTL of objects (% of content age)&lt;/b&gt; is set at 20% by default. HTTP objects remain valid in the cache according to TTL settings. TTL settings are based on the TTL defined in the response header, and the TTL boundaries defined in the cache rule. The percent of the content age is a percentage of the time of the content's existence. The higher the percentage, the less frequently the cache is updated.&lt;/p&gt;  &lt;p&gt;You can also set TTL time boundaries, so that you can set custom &lt;b&gt;No less than&lt;/b&gt; and &lt;b&gt;No more than&lt;/b&gt; times.&lt;/p&gt;  &lt;p&gt;Finally, you can override expiration times included in the cached object’s header by selecting the &lt;b&gt;Also apply these TTL boundaries to sources that specify expiration&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Click &lt;b&gt;Next&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0241190629286626.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 12&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The ISA Firewall can also cache objects obtained via FTP for Web Proxy clients (the ISA Firewall won’t cache FTP responses from non-Web proxy client applications). The default is to enable FTP caching and a TTL of 1 day is selected. You can change these defaults to meet your needs. Click &lt;b&gt;Next&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0261190629312985.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 13&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Click &lt;b&gt;Finish&lt;/b&gt; on the &lt;b&gt;Completing the New Cache Rule Wizard&lt;/b&gt; page.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0281190629313001.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 14&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;b&gt;Cache Rules&lt;/b&gt; tab, right click the &lt;b&gt;All Sites&lt;/b&gt; rule and click &lt;b&gt;Move Down&lt;/b&gt;. We need to do this because the&lt;b&gt;Microsoft Update Cache Rule&lt;/b&gt; needs to be on top.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;img alt="" hspace="0" src="http://www.isaserver.org/img/upl/image0301190629313001.jpg" align="baseline" border="0" /&gt;       &lt;br /&gt;Figure 15&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/5630361457638146769-8398160751868935674?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/8398160751868935674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=8398160751868935674' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8398160751868935674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8398160751868935674'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/07/isa-2006-web-caching.html' title='ISA 2006 Web Caching'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-630958048331098909</id><published>2010-07-14T02:23:00.001-07:00</published><updated>2010-07-14T02:23:09.883-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='codeplex'/><category scheme='http://www.blogger.com/atom/ns#' term='SPDisposeCheck.exe'/><title type='text'>SPDisposeCheck.exe &gt; check the coding have memory leaking or not</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;this tool can help us to detect the code , dll , cs and etc file have any possible memory leak coding use or not, since majority administrator and engineer not really have developer skill so we need to make sure the customization going to deploy to our sharepoint environment is safe and will not impacted our environment performance.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Download here &amp;gt;&amp;#160; &lt;a href="http://code.msdn.microsoft.com/SPDisposeCheck"&gt;http://code.msdn.microsoft.com/SPDisposeCheck&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;more explain here &amp;gt; &lt;a href="http://jomit.blogspot.com/2009/01/disposing-sharepoint-2007-and-wss-30.html"&gt;http://jomit.blogspot.com/2009/01/disposing-sharepoint-2007-and-wss-30.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;how to use?&lt;/u&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;after install then go to the .exe path and run the command as below :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;C:\Program Files\Microsoft\SharePoint Dispose Check&amp;gt;SPDisposeCheck.exe xxx.dll&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ok you will see the report. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-630958048331098909?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/630958048331098909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=630958048331098909' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/630958048331098909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/630958048331098909'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/07/spdisposecheckexe-check-coding-have.html' title='SPDisposeCheck.exe &amp;gt; check the coding have memory leaking or not'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-4010086477053269879</id><published>2010-06-23T02:49:00.001-07:00</published><updated>2010-06-23T02:49:23.580-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='wsp'/><title type='text'>Creating a SharePoint Solution Package (.wsp) in 5 steps – from Evgeny Tugarev</title><content type='html'>&lt;p&gt;&lt;strong&gt;F&lt;/strong&gt;or those who are new to the SharePoint solutions and features I would recommend to try the SharePoint Solutions Generator, which is a part of the&lt;em&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&amp;amp;displaylang=en"&gt;Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions&lt;/a&gt;. &lt;/em&gt;&lt;em&gt;It is a windows stand-alone application that converts your existing SharePoint web site into the solution package and creates a Visual Studio project for you to use. Nice isn’t it?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;What I personally don’t like in the automatic tools is that they always hide some part of the job they are doing behind the scenes. In this scenario you can’t really control and sometimes understand of that is going on. So, today I would like to blog about of how to manually create the SharePoint feature containing the list, how pack it into the solution package and finally deploy it to the production server. Everything will be done without any use of Visual Studio or other tools (only Notepad++).&lt;/p&gt;  &lt;p&gt;So, let’s start!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1. Folders&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;First, create the folder structure for the solution. I used &lt;em&gt;MySolution&lt;/em&gt; but you can give a name whatever you want. Two folders were created beneath&lt;em&gt;MySolution&lt;/em&gt; -&lt;em&gt; source&lt;/em&gt; and &lt;em&gt;bin&lt;/em&gt;. First is for the compiled package, second – to keep the feature and the customized list. I use the same file structure for the feature as in SharePoint - one folder per feature. Check out your SharePoint features hive at &lt;em&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\DiscussionsList &lt;/em&gt;and see how it’s organized.&lt;em&gt;     &lt;br /&gt;&lt;/em&gt;In the &lt;em&gt;source&lt;/em&gt; folder I made the feature folder called &lt;em&gt;MyList&lt;/em&gt; and 2 subfolders inside - &lt;em&gt;List Templates&lt;/em&gt; and &lt;em&gt;Messages&lt;/em&gt;. In the end you will have something like this:&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_Folders.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2. Building a Feature.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Here we create our feature based on the SharePoint discussions list. Go to MyList folder and create a file feature.xml, where we reference 2 files, first – list manifest &lt;em&gt;MyListManifest.xml &lt;/em&gt;and the second – &lt;em&gt;schema.xml &lt;/em&gt;which is describing the list metadata. And don’t forget to change the GUID of feature Id with your own!&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;feature.xml&lt;/u&gt;&lt;/em&gt;    &lt;br /&gt;&lt;em&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;     &lt;br /&gt;&amp;lt;Feature Id=&amp;quot;A8E6B85F-D81A-4cc1-9708-D15FEF359DE2&amp;quot;      &lt;br /&gt;Title=&amp;quot;My Feature&amp;quot;      &lt;br /&gt;Description=&amp;quot;This is my feature containing a list&amp;quot;      &lt;br /&gt;Version=&amp;quot;1.0.0.0&amp;quot;      &lt;br /&gt;Hidden=&amp;quot;FALSE&amp;quot;      &lt;br /&gt;Scope=&amp;quot;Web&amp;quot;      &lt;br /&gt;DefaultResourceFile=&amp;quot;core&amp;quot;      &lt;br /&gt;xmlns=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;&amp;gt;      &lt;br /&gt;&amp;lt;ElementManifests&amp;gt;      &lt;br /&gt;&amp;lt;ElementManifest Location=&amp;quot;ListTemplates\MyListManifest.xml&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;lt;ElementFile Location=&amp;quot;Messages\schema.xml&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;lt;/ElementManifests&amp;gt;      &lt;br /&gt;&amp;lt;/Feature&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Copy the original schema.xml file from the &lt;em&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\DiscussionsList\Discuss &lt;/em&gt;folder to the Messages folder, and you have a list schema to start from, MyListManifest.xml we’ll create manually in the &lt;em&gt;ListTemplates &lt;/em&gt;folder –&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;MyListManifest.xml&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;     &lt;br /&gt;&amp;lt;Elements xmlns=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;&amp;gt;      &lt;br /&gt;&amp;lt;ListTemplate      &lt;br /&gt;Name=&amp;quot;Messages&amp;quot;      &lt;br /&gt;Type=&amp;quot;108&amp;quot;      &lt;br /&gt;BaseType=&amp;quot;0&amp;quot;      &lt;br /&gt;OnQuickLaunch=&amp;quot;FALSE&amp;quot;      &lt;br /&gt;FolderCreation=&amp;quot;FALSE&amp;quot;      &lt;br /&gt;SecurityBits=&amp;quot;12&amp;quot;      &lt;br /&gt;Sequence=&amp;quot;999&amp;quot;      &lt;br /&gt;DisplayName=&amp;quot;My List&amp;quot;      &lt;br /&gt;Description=&amp;quot;This is my custom list based on the discussions list&amp;quot;      &lt;br /&gt;Image=&amp;quot;/_layouts/images/itdisc.gif&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;lt;/Elements&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;What is important here is that the Name attribute must have the same name as the folder where schema.xml is placed, Messages, as SharePoint will look for the schema.xml file at that location!&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;After the end of this step you have 3 new files as seen on the picture&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_feature.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3. Building a Solution Package (.wsp)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SharePoint Solution Packages (wsp ) provide a great way to distribute all your customization in just one flask and the creation of the .wsp ain’t so painful operation as you may think, I would say it is easy as hell! Everything starts from the traditional solution &lt;em&gt;manifest .xml&lt;/em&gt; file in the &lt;em&gt;Source&lt;/em&gt; folder:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;manifest .xml&lt;/u&gt;&lt;/em&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;     &lt;br /&gt;&amp;lt;Solution xmlns=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;      &lt;br /&gt;SolutionId=&amp;quot;EC2EFD73-DBA2-4c0e-9C18-C8FC43F72E6C&amp;quot; &amp;gt;      &lt;br /&gt;&amp;lt;FeatureManifests&amp;gt;      &lt;br /&gt;&amp;lt;FeatureManifest Location=&amp;quot;MyList\Feature.xml&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;lt;/FeatureManifests&amp;gt;      &lt;br /&gt;&amp;lt;/Solution&amp;gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Here, we reference our Feature.xml file that we had created before at the Step 2, and as you may guess it’s a good way to replace the the &lt;em&gt;SolutionId &lt;/em&gt;GUID with something brand new J. The next that should be created is the data definition file (.ddf). It’s a simple text file with the building instructions for the&lt;em&gt;makecab&lt;/em&gt; utility because the .wsp package is nothing more than a cabinet file with the .wsp extension. (If you rename .wsp or .stp file to .cab you’ll be able to see its contents). Let’s create a &lt;em&gt;wsp.ddf&lt;/em&gt; in the &lt;em&gt;Source &lt;/em&gt;folder:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;wsp.ddf&lt;/u&gt;&lt;/em&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;.OPTION Explicit     &lt;br /&gt;.Set DiskDirectory1=&amp;quot;..\bin&amp;quot;      &lt;br /&gt;.Set CabinetNameTemplate=&amp;quot;MyListSolution.wsp&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;manifest.xml&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;; These directory names (DestinationDir) are used for the folders creation under 12\TEMPLATE\Features&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;.Set DestinationDir=&amp;quot;MyList\ListTemplates&amp;quot;     &lt;br /&gt;MyList\ListTemplates\MyListManifest.xml&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;.Set DestinationDir=&amp;quot;MyList\Messages&amp;quot;     &lt;br /&gt;MyList\Messages\schema.xml&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;.Set DestinationDir=&amp;quot;MyList&amp;quot;     &lt;br /&gt;MyList\Feature.xml&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In this file we set an output folder for the compiled package..&lt;em&gt;\bin&lt;/em&gt;, its name &lt;em&gt;MyListSolution.wsp&lt;/em&gt; and we tell makecab to include 4 files (marked in red) and create 3 folders at the deployment phase (in blue). Now it’s time to build everything into a single file, but before we do that I create a &lt;em&gt;build.cmd&lt;/em&gt; file in the&lt;em&gt;Source &lt;/em&gt;folder with some lines to facilitate the building process&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;build.cmd&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;@setlocal     &lt;br /&gt;@pushd.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;@cd %~dp0&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;makecab /f wsp.ddf&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;@popd     &lt;br /&gt;@endlocal&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Here I reference the &lt;em&gt;wsp.ddf&lt;/em&gt; file with processing instructions which I created before. After you run it your solution package will appear in the bin folder:&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_solution.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4. Solution deployment.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So, the solution package has just been created and the last thing that is left to do is to deploy it to our production server. I always like then the script is doing my job, so I put 2 .cmd files into the &lt;em&gt;bin&lt;/em&gt; folder to deploy and retract my.wsp package so I don’t have to deal with stsadm utility from command line.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_deployment.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;DeployMyListSolution.cmd&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;@setlocal     &lt;br /&gt;@pushd.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;@set PATH=C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN;%PATH% @cd %~dp0&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;stsadm.exe -o addsolution -filename MyListSolution.wsp     &lt;br /&gt;stsadm.exe -o deploysolution -name MyListSolution.wsp -local&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;@pause     &lt;br /&gt;@popd      &lt;br /&gt;@endlocal&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;RetractMyListSolution.cmd&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;@setlocal   &lt;br /&gt;&lt;em&gt;@pushd.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;@set PATH=C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN;%PATH% @cd %~dp0&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;stsadm.exe -o retractsolution -name MyListSolution.wsp –local     &lt;br /&gt;stsadm.exe -o deletesolution -name MyListSolution.wsp&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;@pause     &lt;br /&gt;@popd      &lt;br /&gt;@endlocal&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_deploy.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_deploy1.PNG" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;After the solution is deployed you can activate the feature in the Site features menu of you site and start using the new list!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 5. Using the feature.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Before our custom list can be used the feature containing it must be activated within the SPWeb scope.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_activation.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_activation2.png" /&gt;&lt;/p&gt;  &lt;p&gt;After activation is done your custom list will appear on the site’s create page and you can create list instances!&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_create.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://geekswithblogs.net/images/geekswithblogs_net/evgenyblog/7601/o_instance.png" /&gt;&lt;/p&gt;  &lt;p&gt;Have fun!   &lt;br /&gt;Next time I will talk about site definitions inside the solutions.&lt;/p&gt;  &lt;p&gt;Evgeny Tugarev.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-4010086477053269879?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/4010086477053269879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=4010086477053269879' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4010086477053269879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4010086477053269879'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/06/creating-sharepoint-solution-package.html' title='Creating a SharePoint Solution Package (.wsp) in 5 steps – from Evgeny Tugarev'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-532254236938577500</id><published>2010-06-22T20:18:00.001-07:00</published><updated>2010-06-22T20:18:59.168-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>IU for deployment of SharePoint 2007 solution files</title><content type='html'>&lt;p&gt;more user friendly installation and deployment of SharePoint 2007 solution files to a SharePoint server farm. Distribute your SharePoint solution files with this installation program instead of a raw script using STSADM.EXE to install and deploy the solution.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Just notice we can package our .wsp to become exe, so we no need run the stsadm and few more step need to do only can deploy our solution.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;codeplex have offer the easy way for us to convert the .wsp to exe, which mean your admin/customer no need know the stsadm command also can install with click next !!&amp;#160; :D&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;here you go : &lt;a href="http://sharepointinstaller.codeplex.com/"&gt;http://sharepointinstaller.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-532254236938577500?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/532254236938577500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=532254236938577500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/532254236938577500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/532254236938577500'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/06/iu-for-deployment-of-sharepoint-2007.html' title='IU for deployment of SharePoint 2007 solution files'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-5211351315397531145</id><published>2010-06-21T21:43:00.001-07:00</published><updated>2010-06-21T21:43:10.705-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web.config'/><category scheme='http://www.blogger.com/atom/ns#' term='Moss issue'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Freeware to compare your Text file</title><content type='html'>&lt;p&gt;Yesterday&amp;#160; our sharepoint web.config suddenly change , not sure what going on. The faster recover is restore the backup config , after we restore service is up. Now is the problem we need to compare 2 web.config file see what is missing or edited…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;do a search on internet found out the good tool to use , which is &lt;a href="http://www.prestosoft.com/edp_examdiff.asp"&gt;ExamDiff&lt;/a&gt; . this tools is good to help you compare the different on the text file&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Issues&lt;/b&gt; : all user unable to log in to ishare , show error message “Parser error”&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Work around&lt;/b&gt; : restore the web.config from backup &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Root cause&lt;/b&gt; : Following changer “Configure Session State value from x to y minutes and changed back to 60minutes “ will cause the web.config file deleted some information at web.config. This changer only impacted with our highly customize web.config file. :(&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-5211351315397531145?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/5211351315397531145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=5211351315397531145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5211351315397531145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/5211351315397531145'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/06/freeware-to-compare-your-text-file.html' title='Freeware to compare your Text file'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-6196849603039322614</id><published>2010-06-16T20:27:00.001-07:00</published><updated>2010-06-16T20:27:52.628-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Walkthrough: Creating a Basic Web Part</title><content type='html'>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms415817(office.12).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms415817(office.12).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This walkthrough provides the steps for creating a basic custom Web Part that can be added to your Web Part Pages. It is a simple Web Part that allows the user to define a custom message to be displayed inside the Web Part. This Web Part will derive from the ASP.NET 2.0 Web Part class, which is the recommended practice for Windows SharePoint Services. Note that this walkthrough describes how to create a Web Part without the Visual Studio Extensions for Windows SharePoint Services.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;:) own bookmark for developer step&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-6196849603039322614?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/6196849603039322614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=6196849603039322614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6196849603039322614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6196849603039322614'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/06/walkthrough-creating-basic-web-part.html' title='Walkthrough: Creating a Basic Web Part'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-8624803848388172306</id><published>2010-06-09T20:01:00.001-07:00</published><updated>2010-06-16T19:27:29.063-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='permission'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>You have chosen to delete too many groups at once. Select fewer groups and try again. ( folder permission)</title><content type='html'>ha ha ha…Unable to delete too much user at folder permission !! try to remove user permission at folder permission level then get the error message “You have chosen to delete too many groups at once. Select fewer groups and try again.”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Work around :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;delete batch by batch (&amp;nbsp;maximum&amp;nbsp;user can delete one time is around 450 user)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;in this case,&amp;nbsp;because&amp;nbsp;of the admin not manager the user permission by domain or&amp;nbsp;share point&amp;nbsp;group and then cause too much individual user permission appear. If the admin manage the permission properly this issue will not happen.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-8624803848388172306?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/8624803848388172306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=8624803848388172306' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8624803848388172306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8624803848388172306'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/06/you-have-chosen-to-delete-too-many.html' title='You have chosen to delete too many groups at once. Select fewer groups and try again. ( folder permission)'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-6284335544784974179</id><published>2010-06-03T19:57:00.001-07:00</published><updated>2010-06-03T19:57:51.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='permission'/><category scheme='http://www.blogger.com/atom/ns#' term='user porfile'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='stsadm'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>The Login Name does not exist and SharePoint</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;After you migrate a user from a different Active Directory domain, the user can no longer access Windows SharePoint Services ??&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;yeah, if you get the error message&amp;#160; “The Login Name does not exist” i think probably is due to the user migrate from one domain to domain. After do some search at internet found have a lot good information. so i would like to share what i have found at internet.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/896593"&gt;Here&lt;/a&gt; &amp;gt;&amp;#160; from Microsoft , tell you what STSADM can help on this&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=75"&gt;Here&lt;/a&gt; &amp;gt; Tell how the stsadm work, can see from SQL table. this is cool!!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/blogs/bas/archive/2009/08/05/moss-migrating-and-merging-user-accounts-to-another-domain.aspx"&gt;Here&lt;/a&gt; &amp;gt; more step to let you check what permission the old account have :D&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-6284335544784974179?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/6284335544784974179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=6284335544784974179' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6284335544784974179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6284335544784974179'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/06/login-name-does-not-exist-and.html' title='The Login Name does not exist and SharePoint'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-6914877281640933617</id><published>2010-06-01T01:15:00.001-07:00</published><updated>2010-06-01T01:15:18.019-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mossrap'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>MOSSRAP at MOSS2007</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Pre-Implementation&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Scoping tool&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;During ( public folder for user 1 year)&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;RADT ( run at tool machine ) [Risk Assessment %]&lt;/p&gt;  &lt;p&gt;Data Collector ( run at wfe)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Post- Implementation&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Report Generator ( Private)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Install MOSSRAP 2.1 &amp;gt;&amp;#160; MOSSRAPToolset\public&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Step to run the tool :&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Client folder &amp;gt;&lt;/p&gt;  &lt;p&gt;Data Collector &amp;gt;&amp;#160; cut this folder to WFE or Application C drive&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Log in to WFE and open the folder and run MOSSRAP Data collector.client.exe ( gather context and topology file )&lt;/u&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Move cluster server to cluser , if the server not in manually add in.&lt;/li&gt;    &lt;li&gt;Add cluster server back to the cluster node. ( save the setting at MossContext.xml )&lt;/li&gt;    &lt;li&gt;Start and the process start ( take few hour to complete, depend on the number of sites )&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;After finish run cut the folder back to the MOSSRAP server back.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now can start to run the RADT at tool machine.&lt;/p&gt;  &lt;p&gt;locate XXXX output &lt;/p&gt;  &lt;p&gt;locate Engagement Manifest &amp;gt; EngagmentManifest.xml ( Installer folder )&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;start the RADT&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Change setting&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;performance monitoring &amp;gt; Perfmon Scheduler (1440 == 24 Hour )&lt;/li&gt;    &lt;li&gt;loading context&lt;/li&gt;    &lt;li&gt;loading topology file &amp;gt; General Tab (go to data collector open the topology file) , after setting change click save settings.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Run Tests &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Survey will not included , this is for private. &lt;/p&gt;  &lt;p&gt;after run need stop Engine&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Last step View Results&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Most information can view from the issues session.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-6914877281640933617?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/6914877281640933617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=6914877281640933617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6914877281640933617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6914877281640933617'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/06/mossrap-at-moss2007.html' title='MOSSRAP at MOSS2007'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3449697647637015839</id><published>2010-05-26T07:04:00.001-07:00</published><updated>2010-05-26T07:08:08.095-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='query'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>Query to Get Database Size</title><content type='html'>s&lt;br /&gt;easy method to show all your database size :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;    &lt;br /&gt;use master&lt;br /&gt;declare @PageSize varchar(10)&lt;br /&gt;select @PageSize=v.low/1024.0&lt;br /&gt;from master..spt_values v&lt;br /&gt;where v.number=1 and v.type='E'&lt;br /&gt;select name as DatabaseName, convert(float,null) as Size&lt;br /&gt;into #tem&lt;br /&gt;From sysdatabases where dbid&amp;gt;4&lt;br /&gt;declare @SQL varchar (8000)&lt;br /&gt;set @SQL=''&lt;br /&gt;while exists (select * from #tem where size is null)&lt;br /&gt;begin&lt;br /&gt;select @SQL='update #tem set size=(select round(sum(size)*'+@PageSize+'/1024,0) From '+quotename(databasename)+'.dbo.sysfiles) where databasename='''+databasename+''''&lt;br /&gt;from #tem&lt;br /&gt;where size is null&lt;br /&gt;exec (@SQL)&lt;br /&gt;end&lt;br /&gt;select * from #tem order by DatabaseName&lt;br /&gt;drop table #tem&lt;br /&gt;&lt;br /&gt;this script is created by &lt;a href="http://www.siusic.com/wphchen/t-sql-query-to-get-database-size-325.html"&gt;Here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3449697647637015839?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3449697647637015839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3449697647637015839' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3449697647637015839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3449697647637015839'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/05/query-to-get-database-size.html' title='Query to Get Database Size'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-483234557107675360</id><published>2010-05-26T06:36:00.001-07:00</published><updated>2010-05-26T07:08:37.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='codeplex'/><title type='text'>SharePoint Dispose Checker Tool</title><content type='html'>&lt;b&gt;ha ha..this is the tool to check on your dll or exe develop by your sharepoint developer have any memory leak on the solution or not. you can use the tools to check and tell the developer what going wrong and cause your server IIS out of memory.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;b&gt;Resource Page Description&lt;/b&gt;     &lt;br /&gt;SPDisposeCheck is a tool to help you to check your assemblies that use the SharePoint API so that you can build better code. It provides assistance in correctly disposing of certain SharePoint objects to help you follow published best practice. This tool may not show all memory leaks in your code. Further investigation is advised if you continue to experience issues.     &lt;br /&gt;SPDisposeCheck.exe takes the path to a managed .DLL or .EXE or the path to a directory containing many managed assemblies. It will recursively search for and analyze each managed module attempting to detect coding patterns based on the MDSN article.&lt;br /&gt;&lt;br /&gt;The SPDisposeCheck tool can be downloaded &lt;a href="http://download.microsoft.com/download/B/4/D/B4D279A0-E159-40BF-A5E8-F49ABDBE95C7/SPDisposeCheck.msi"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-483234557107675360?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/483234557107675360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=483234557107675360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/483234557107675360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/483234557107675360'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/05/sharepoint-dispose-checker-tool.html' title='SharePoint Dispose Checker Tool'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-8400898299795826493</id><published>2010-05-20T00:16:00.001-07:00</published><updated>2010-05-20T00:28:12.098-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='orphan site'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Delete MOSS orphan sites manually in SQL DB</title><content type='html'>Running Scoping tool and stsadm -o databaserepair but the results is showed different, but the scoping tool is listed more orphan sites. so we decide to clean up the orphan sites , due to the stsadm&amp;nbsp; unable to detect that mean the databaserepair will not able to help us to do clean up.&lt;br /&gt;&lt;br /&gt;after discuss with mircrosoft , we decide to remove it manually from MOSS SQL DB. This make me excited because can learnt a lot one the MOSS DB table.&lt;br /&gt;&lt;br /&gt;This clean up activity we can category in detect , confirm , delete.&lt;br /&gt;&lt;br /&gt;Detect stage: Run the scooping tool if don’t have than maybe you can follow the &lt;a href="http://blogs.technet.com/corybu/archive/2007/05/31/sharepoint-orphans-explained.aspx"&gt;script&lt;/a&gt; at internet . &lt;br /&gt;&lt;br /&gt;Confirm stage ( make sure the content is really not in used) :&lt;br /&gt;Results from the detect stage will provided the siteid and content DB.&lt;br /&gt;use the path URL from the script go to CA to check which one is actual use content DB. after this go to sql content DB check the Database id.&lt;br /&gt;once get the Databse id you can keep this is record then can refer to the database id you get from sitemap.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;select * from sitemap where id='xxxxxx-xxxxxx--xxxxxxx-xxxxxxxx’&lt;/strong&gt;&amp;nbsp; &lt;br /&gt;this results will give the orphan database id&lt;br /&gt;&lt;br /&gt;select * from SiteMap where Path like 'url'&lt;br /&gt;EXP:   &lt;br /&gt;&lt;strong&gt;Select * from SiteMap where Path like '/sites/accmgmt'&lt;/strong&gt; &lt;br /&gt;this will give you the database id same as the CA.(which is the database current in use)&lt;br /&gt;&lt;br /&gt;please confirm the orphan databaseid is not same as the CA databaseid&lt;br /&gt;&lt;br /&gt;Delete satage ( we will go to the content db to delete the orphan site)&lt;br /&gt;Use [databasename]&lt;br /&gt;exec proc_DeleteSite [siteId]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-8400898299795826493?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/8400898299795826493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=8400898299795826493' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8400898299795826493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/8400898299795826493'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/05/delete-moss-orphan-sites-manually-in.html' title='Delete MOSS orphan sites manually in SQL DB'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2497464797521011724</id><published>2010-05-19T18:18:00.001-07:00</published><updated>2010-05-19T19:13:16.075-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Command'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='batch file'/><title type='text'>Learn how to use excel generate Batch file</title><content type='html'>&lt;span style="font-family: Batang; font-size: small;"&gt;Some time we need to create some batch file with a lot command line from some list , example you have MOSS list in excel then you want add the parameter to stsadm then create batch file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: small;"&gt;here is the some command i learn and able to help on the purpose :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: x-small;"&gt;&lt;strong&gt;=VLOOKUP ( what you want to look , look from where, which column you want the return, false value is exact value)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: x-small;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: x-small;"&gt;&lt;strong&gt;=REPLACE( start from, start from which location ,how many world u want replace, copy from where ) &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: x-small;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: x-small;"&gt;&lt;strong&gt;=CONCATENATE( "string", c1 (Colum parameter)&amp;nbsp; ) &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Batang; font-size: x-small;"&gt;&lt;strong&gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; results is string [c1 value]&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-2497464797521011724?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/2497464797521011724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=2497464797521011724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2497464797521011724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/2497464797521011724'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/05/learn-how-to-use-excel-generate-batch.html' title='Learn how to use excel generate Batch file'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-6338867564624725525</id><published>2010-04-22T21:35:00.001-07:00</published><updated>2010-04-22T21:35:30.124-07:00</updated><title type='text'>MOSS Diagnostic Logging</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;hey!!! my sharepoint site have error!!! as you get the escalation from user , what log you will check first ?&amp;#160; for me i will check on the following sequence:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Event logs : this is the first log to check…because want to know server is working fine or not. (simple way to overview for application and server)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;IIS LOG: C:\WINDOWS\system32\LogFiles [different web apps have ID, so you can refer to IIS see which folder you should refer to the correct folder ]&lt;/p&gt;  &lt;p&gt;Over here you can get more detail on the user information and activity going on at IIS.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;ULS (Unified Logging Service )LOG : [%CommonProgramFiles%\Microsoft Shared\web server extensions\12\LOGS]&lt;/p&gt;  &lt;p&gt;This log mainly is for sharepoint log only , you need to enable the log at CA page.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-6338867564624725525?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/6338867564624725525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=6338867564624725525' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6338867564624725525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6338867564624725525'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/04/moss-diagnostic-logging.html' title='MOSS Diagnostic Logging'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-9201378690752761927</id><published>2010-04-13T23:50:00.001-07:00</published><updated>2010-04-13T23:50:28.181-07:00</updated><title type='text'>About Subsite backups</title><content type='html'>&lt;pre&gt;&lt;font face="FreesiaUPC"&gt;From the command line:&lt;br /&gt;Backup Farm/Content Databases: STSADM -o backup -directory&lt;br /&gt;Backup Site Collections: STSADM -o backup -filename&lt;br /&gt;Backup Web/subsite: STSADM -o export&lt;br /&gt;&lt;br /&gt;From the UI:&lt;br /&gt;Backup Farm/Content Databases: Central Admin &amp;gt; Operations &amp;gt; Perform a Backup&lt;br /&gt;Backup Site Collections:  emm…not yet discover any free one..u can develop one? not sure DPM able to do that or not…emm…maybe can :D&lt;br /&gt;Backup Web/subsite: SharePoint Designer&lt;/font&gt;&lt;/pre&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-9201378690752761927?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/9201378690752761927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=9201378690752761927' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/9201378690752761927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/9201378690752761927'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/04/about-subsite-backups.html' title='About Subsite backups'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-3102746747292110105</id><published>2010-04-07T20:31:00.001-07:00</published><updated>2010-04-07T20:42:38.747-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>CHANGING A SITE COLLECTION URL</title><content type='html'>Can i rename the URL with STSADM ? oh yeah… &lt;strong&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc287716.aspx"&gt;stsadm -o renameweb&lt;/a&gt;&lt;/strong&gt; maybe can help ….after check on that this, only can rename the subsites not the root (sites collection URL)&lt;br /&gt;&lt;br /&gt;ok so as a conclusion , the only way is Backup , Delete , Restore is the one!!&lt;br /&gt;&lt;br /&gt;The command line for doing this would look like:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;stsadm –o backup –url &lt;a href="http://team/sites/site1"&gt;http://team/sites/site1&lt;/a&gt; -overwrite -filename backupsite1.dat &lt;/li&gt;&lt;li&gt;stsadm –o deletesite –url &lt;a href="http://team/sites/site1"&gt;http://team/sites/site1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;stsadm –o restore –url &lt;a href="http://team/sites/site2"&gt;http://team/sites/site2&lt;/a&gt; -filename backupsite1.dat&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-3102746747292110105?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/3102746747292110105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=3102746747292110105' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3102746747292110105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/3102746747292110105'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/04/changing-site-collection-url.html' title='CHANGING A SITE COLLECTION URL'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-6509562786512305786</id><published>2010-04-05T19:51:00.001-07:00</published><updated>2010-04-07T20:43:37.224-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='improment'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Consultants'/><title type='text'>MOSSRAP</title><content type='html'>What is MOSSRAP, that is Risk and Health Assessment Program for Microsoft Office SharePoint Server®.&lt;br /&gt;&lt;br /&gt;I am sharing this because just want to keep track the process, so this this is the way i need to learn to become SharePoint consultants. &lt;br /&gt;&lt;br /&gt;&lt;span style="color: #80ff80;"&gt;Program Phase:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Environmental Assessment phase ( collect data from machine and staff ) &lt;/li&gt;&lt;li&gt;Analysis and Reporting phase (compared with Microsoft best practice) &lt;/li&gt;&lt;li&gt;Remediation phase. (Recommendations)&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: #80ff80;"&gt;Executive summary&lt;/span&gt; &amp;gt; summary of environment and action needed &lt;br /&gt;&lt;br /&gt;Listed our the issues at high risks and no risks &amp;gt; high risk one need to resolve it immediate&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #80ff80;"&gt;Risk Assessment Scorecards&lt;/span&gt; &amp;gt; rate in 3 indicates ( Low , Medium , High)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #80ff00;"&gt;MOSS RAP Consolidated Scorecard&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;MOSS Configuration&lt;/u&gt;      &lt;br /&gt;&lt;/strong&gt;Customizations ,Farm Topology ,Search ,Security&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Operational Excellence&lt;/u&gt;&lt;/strong&gt;    &lt;br /&gt;Change Management ,Database ,Disaster Recovery ,Monitoring ,Search ,Service Level Agreement High&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Server Configuration&lt;/strong&gt;&lt;/u&gt;    &lt;br /&gt;Antivirus ,Database ,Event Logs ,Farm Topology ,IIS Information ,Load Balancing ,Network ,OS Information ,Security &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Server Health &lt;/u&gt;&lt;/strong&gt;    &lt;br /&gt;Antivirus ,Customizations ,Event Logs ,IIS Information ,Performance ,Security , Security Updates&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #80ff80;"&gt;High Risk Scorecard &amp;gt; List down the high risk area detail&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff8040;"&gt;Medium Risk Scorecard &amp;gt; List down the Medium risk area detail&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0080ff;"&gt;Medium Risk Scorecard &amp;gt; List down the Low risk area detail&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Detail for all issues and recommendation :&lt;br /&gt;&lt;br /&gt;Issue: &amp;lt;area have issues&amp;gt;&lt;br /&gt;Importance: &amp;lt;why is important&amp;gt;&lt;br /&gt;Recommended Resolution: &amp;lt;Solution or Work around&amp;gt;&lt;br /&gt;Recommended Reading: &amp;lt;Microsoft URL&amp;gt;&lt;br /&gt;Description: &amp;lt;where is the problem&amp;gt;&lt;br /&gt;Detail: &amp;lt;specify the area have problem&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-6509562786512305786?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/6509562786512305786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=6509562786512305786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6509562786512305786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/6509562786512305786'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/04/mossrap.html' title='MOSSRAP'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-4279933503890120796</id><published>2010-03-28T23:45:00.001-07:00</published><updated>2010-03-28T23:54:24.301-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='custom list'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS admin'/><title type='text'>Formulas in calculated columns</title><content type='html'>hi hi.. recently start work on Sharepoint admin area also, so now want to share about the simple formulas in calculated columns. At the custom list you can add in one new column with calculated type, then can use simple formula to pull data from othe column and do some calculation .&lt;br /&gt;Below is the simple formula for IF :&lt;br /&gt;=IF(Column1&amp;lt;=Column2, "OK", "Not OK")&lt;br /&gt;However using the function like that causes a &lt;span style="font-size: medium;"&gt;&lt;strong&gt;&lt;u&gt;syntax-error&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;.     &lt;br /&gt;The correct syntax is     &lt;br /&gt;=IF(Column1&amp;lt;=Column2&lt;b&gt;;&lt;/b&gt; "OK"&lt;b&gt;;&lt;/b&gt; "Not OK")&lt;br /&gt;Date and time, Financial, Information, Logical, Lookup and reference, Math and trigonometry, Statistical,Text and data&lt;br /&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointtechnology/CH100650061033.aspx"&gt;http://office.microsoft.com/en-us/sharepointtechnology/CH100650061033.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://office.microsoft.com/en-us/sharepointtechnology/HA011609471033.aspx"&gt;http://office.microsoft.com/en-us/sharepointtechnology/HA011609471033.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5630361457638146769-4279933503890120796?l=nspsharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nspsharing.blogspot.com/feeds/4279933503890120796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5630361457638146769&amp;postID=4279933503890120796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4279933503890120796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5630361457638146769/posts/default/4279933503890120796'/><link rel='alternate' type='text/html' href='http://nspsharing.blogspot.com/2010/03/formulas-in-calculated-columns.html' title='Formulas in calculated columns'/><author><name>nsp</name><uri>http://www.blogger.com/profile/05129467294075533854</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://3.bp.blogspot.com/_Zt3nwMosIGc/SP3oO2iQgMI/AAAAAAAAANw/SXJy4RJiLzY/S220/DSC_0956.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5630361457638146769.post-2892129489510396133</id><published>2010-03-25T00:47:00.001-07:00</published><updated>2010-03-25T00:51:14.654-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reportadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='Cumulative Updates'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Overview of usage reports</title><content type='html'>&lt;h3&gt;&lt;span class="Apple-style-span" style="font-size: medium; font-weight: normal;"&gt;The following usage reports are available:&lt;/span&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;     &lt;br /&gt;&lt;strong&gt;Site usage report&lt;/strong&gt; Site administrators, including administrators of the Shared Services Administration site, can view usage reporting for their site by clicking &lt;strong&gt;Site usage reports&lt;/strong&gt; in the&lt;strong&gt;Site Administration&lt;/strong&gt; section of the Site Settings page.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;     &lt;br /&gt;&lt;strong&gt;Site collection usage report&lt;/strong&gt; Site collection administrators for most site collections can view usage reporting by clicking &lt;strong&gt;Site collection usage reports&lt;/strong&gt; in the &lt;strong&gt;Site Collection Administration&lt;/strong&gt;section of the Site Settings page.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;     &lt;br /&gt;&lt;strong&gt;Site collection usage summary&lt;/strong&gt; Site collection administrators for the Shared Services Administration site and individuals with personal sites can view the Site Collection Usage Summary page by clicking &lt;strong&gt;Usage summary&lt;/strong&gt; in the &lt;strong&gt;Site Collection Administration&lt;/strong&gt; section of the Site Settings page.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;[Below information from Kevin-lam]&lt;br /&gt;Problem description:   &lt;br /&gt;=================    &lt;br /&gt;The data in SpUsageWeb.aspx don’
