<?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-1024205468333953902</id><updated>2011-11-27T16:46:16.248-08:00</updated><category term='SHAREPOINT ADMINISTRATION'/><category term='SHAREPOINT DEVELOPEMENT'/><category term='.NET'/><title type='text'>Sharepoint Solution</title><subtitle type='html'>My continuous learning of SharePoint…</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sharepointsolution.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sharepointsolution.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sriram</name><uri>http://www.blogger.com/profile/03718522182741763371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1024205468333953902.post-5926238707327177500</id><published>2007-11-21T23:40:00.000-08:00</published><updated>2007-11-21T23:53:39.844-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT DEVELOPEMENT'/><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT ADMINISTRATION'/><title type='text'>Extending STSADM OPERATION</title><content type='html'>I am trying to explore the functionality of stsadm operation, i have seen lot of blogs extending the stsadm operation.&lt;br /&gt;for example, stsadm -o back &lt;a href="http://myportal/"&gt;http://myportal&lt;/a&gt;" c:\bacl.bak , this operation used to take a backup.&lt;br /&gt;if  i need to display/delete all the Sites,subsites(sites under subsites), there is no direct command to get this functionality.&lt;br /&gt;We can achive this functionality extending the stsadm operation.So i am going to write the operation as DisplaySites/DeleteSites, which means it will delete the sites/webs/sites under web.(Recursive).&lt;br /&gt;My Stsadm tool will look like this&lt;br /&gt;stsadm -o displaysites -url "http://myportal&lt;br /&gt;&lt;br /&gt;There are two steps required to achieve this functonality&lt;br /&gt;1.create a class which implements ISPStsadmCommand&lt;br /&gt;2.Create a xml which has the public key token of class file and placed in (config folder : c:\program files\common file\microsoft shared\webserver extension\12 \config\&lt;br /&gt;xmlfilename should be like this&lt;br /&gt;stsadmcommands.customsitedelete.xml&lt;br /&gt;&lt;br /&gt;Now will get into example&lt;br /&gt;&lt;br /&gt;namespace CustomStsCommand.DisplaySites&lt;br /&gt;{&lt;br /&gt;public class DisplaySite : ISPStsadmCommand&lt;br /&gt;{&lt;br /&gt;#region ISPStsadmCommand Members&lt;br /&gt;&lt;br /&gt;public string GetHelpMessage(string command)&lt;br /&gt;{&lt;br /&gt;return "-url &lt;url&gt;\r\n" + "Display the web and Subsites";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int Run(string command, System.Collections.Specialized.StringDictionary keyValues, out string output)&lt;br /&gt;{&lt;br /&gt;SPSite site = null;&lt;br /&gt;SPWeb web = null;&lt;br /&gt;output = string.Empty;&lt;br /&gt;&lt;br /&gt;if (keyValues.Count == 2)&lt;br /&gt;{&lt;br /&gt;if (keyValues["url"] == null)&lt;br /&gt;{&lt;br /&gt;output += "Not valid command parameter";&lt;br /&gt;return 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;site = new SPSite(keyValues["url"]);&lt;br /&gt;web=site.OpenWeb();&lt;br /&gt;&lt;br /&gt;if (web == null)&lt;br /&gt;output = "Web not found";&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;if (site.Url == web.Url)// Check because Openweb returning top level site if url passed doesn't exist&lt;br /&gt;{&lt;br /&gt;return 1;&lt;br /&gt;}&lt;br /&gt;DisplayWebRecursive(web.Webs,output);&lt;br /&gt;if (web.Url==keyValues["url"])&lt;br /&gt;{&lt;br /&gt;output = output + web.Title.ToString();&lt;br /&gt;}&lt;br /&gt;return 1;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;catch (Exception ex)&lt;br /&gt;{&lt;br /&gt;output = ex.Message;&lt;br /&gt;}&lt;br /&gt;finally&lt;br /&gt;{&lt;br /&gt;if (site != null) site.Dispose();&lt;br /&gt;if (web != null) web.Dispose();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;output = "Invalid number of parameters or missing parameters";&lt;br /&gt;}&lt;br /&gt;return 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public string DisplayWebRecursive(SPWebCollection webs,string output)&lt;br /&gt;{&lt;br /&gt;foreach (SPWeb wb in webs)&lt;br /&gt;{&lt;br /&gt;if (wb.Webs.Count &gt; 0)&lt;br /&gt;{&lt;br /&gt;DisplayWebRecursive(wb.Webs,output);&lt;br /&gt;}&lt;br /&gt;output = output + wb.Title.ToString() + "\r\n"; //wb.Title.ToString();&lt;br /&gt;}&lt;br /&gt;return output;&lt;br /&gt;}&lt;br /&gt;#endregion&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;and Xml file looks like this&lt;br /&gt;&lt;br /&gt;&lt;commands&gt;&lt;br /&gt;&lt;command class="CustomStsCommand.DisplaySites.DisplaySite,CustomStsCommand.DisplaySites,Version=" name="DisplaySites" culture="neutral,PublicKeyToken="&gt;&lt;br /&gt;&lt;/commands&gt;&lt;br /&gt;&lt;br /&gt;Hope this example helps you to achieve the stsadm extended functionality&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1024205468333953902-5926238707327177500?l=sharepointsolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointsolution.blogspot.com/feeds/5926238707327177500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1024205468333953902&amp;postID=5926238707327177500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/5926238707327177500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/5926238707327177500'/><link rel='alternate' type='text/html' href='http://sharepointsolution.blogspot.com/2007/11/extending-stsadm-operation.html' title='Extending STSADM OPERATION'/><author><name>Sriram</name><uri>http://www.blogger.com/profile/03718522182741763371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1024205468333953902.post-3730186746625158678</id><published>2007-11-19T05:09:00.000-08:00</published><updated>2007-11-19T05:30:21.153-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT DEVELOPEMENT'/><title type='text'>Creating Hidden field in sharepoint.</title><content type='html'>In sharepoint developement, we might require to create column which should not display while adding an item/or editing an item.&lt;br /&gt;for example, Current status is the column which is not required to show this column when end user while editing or adding an item.we can achieve this by using the below code.&lt;br /&gt;you can create this type of field by using below sample code.&lt;br /&gt;&lt;br /&gt;SPSite objSite = new SPSite("&lt;a href="http://portal/"&gt;http://portal/&lt;/a&gt;");&lt;br /&gt;SPWeb objWeb = objSite.OpenWeb();&lt;br /&gt;SPFieldCollection fields = objWeb.Lists["Oppurtunites"].Fields;&lt;br /&gt;string newField = "&lt;field type="\" showinnewform="\" showineditform="\" name="\" displayname="\"&gt;";&lt;br /&gt;fields.AddFieldAsXml(newField, true, SPAddFieldOptions.Default);&lt;br /&gt;Current Status is field created which doesnt appear while adding an item/editing an item thru sharepoint UI.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1024205468333953902-3730186746625158678?l=sharepointsolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointsolution.blogspot.com/feeds/3730186746625158678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1024205468333953902&amp;postID=3730186746625158678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/3730186746625158678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/3730186746625158678'/><link rel='alternate' type='text/html' href='http://sharepointsolution.blogspot.com/2007/11/creating-hidden-field-in-sharepoint.html' title='Creating Hidden field in sharepoint.'/><author><name>Sriram</name><uri>http://www.blogger.com/profile/03718522182741763371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1024205468333953902.post-6086219576651602582</id><published>2007-11-19T04:28:00.000-08:00</published><updated>2007-11-19T04:56:48.357-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT DEVELOPEMENT'/><title type='text'>Adding Server Side code Blocks in custom  pages using sharepoint designer</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;color:#3366ff;"&gt;In some situation we might require to add server side code in sharepoint.Generally we can do this by adding the server side code aspx in layout folder.For example, I need to run one custom aspx with server side code, then i need to place this file under layouts folder.so that i can call this page in sharepoint.But this page is under file system and not in the sharepoint content DB.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;color:#3366ff;"&gt;Here we are trying to explore how to add a custom code in custom page using sharepoint desinger.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;color:#3366ff;"&gt;To demonstra this, add a new .aspx page from sharepoint designer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;color:#3366ff;"&gt;add the below code...&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Trebuchet MS;font-size:85%;color:#3366ff;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_ruMvRWJWfik/R0GG-lNiYHI/AAAAAAAAADQ/cNTh5dh1BQo/s1600-h/ServerSideCode.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5134533459877978226" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_ruMvRWJWfik/R0GG-lNiYHI/AAAAAAAAADQ/cNTh5dh1BQo/s320/ServerSideCode.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Add this configuration to web.config file&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_ruMvRWJWfik/R0GHm1NiYJI/AAAAAAAAADg/tmvcxgT8T2Q/s1600-h/config.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5134534151367712914" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_ruMvRWJWfik/R0GHm1NiYJI/AAAAAAAAADg/tmvcxgT8T2Q/s320/config.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&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/1024205468333953902-6086219576651602582?l=sharepointsolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointsolution.blogspot.com/feeds/6086219576651602582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1024205468333953902&amp;postID=6086219576651602582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/6086219576651602582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/6086219576651602582'/><link rel='alternate' type='text/html' href='http://sharepointsolution.blogspot.com/2007/11/adding-server-side-code-blocks-in.html' title='Adding Server Side code Blocks in custom  pages using sharepoint designer'/><author><name>Sriram</name><uri>http://www.blogger.com/profile/03718522182741763371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ruMvRWJWfik/R0GG-lNiYHI/AAAAAAAAADQ/cNTh5dh1BQo/s72-c/ServerSideCode.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1024205468333953902.post-6089735411946812299</id><published>2007-11-07T01:20:00.000-08:00</published><updated>2007-11-07T01:26:29.822-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT ADMINISTRATION'/><title type='text'>Use of Import and Export utiltiy in sharepoint 2007</title><content type='html'>I am speding time of taking backup and restore, i have come across an option of using import and export.&lt;br /&gt;import and export used to create a site bacup and can restore at different site collection.the only disadvantage of using this, not to able to restore the pages modified by sharepoint designer.&lt;br /&gt;&lt;br /&gt;Syntax for using this tool.&lt;br /&gt;&lt;br /&gt;stsadm.exe -o export -url &lt;a href="http://samplesite/sites/mysite"&gt;http://samplesite/sites/mysite&lt;/a&gt; -filename "c:\mysite"&lt;br /&gt;&lt;br /&gt;stsadm.exe -o import -url &lt;a href="http://production.sites/mysite"&gt;http://production.sites/mysite&lt;/a&gt; -filename "c\mysite.cmp".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1024205468333953902-6089735411946812299?l=sharepointsolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointsolution.blogspot.com/feeds/6089735411946812299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1024205468333953902&amp;postID=6089735411946812299' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/6089735411946812299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/6089735411946812299'/><link rel='alternate' type='text/html' href='http://sharepointsolution.blogspot.com/2007/11/use-of-import-and-export-utiltiy-in.html' title='Use of Import and Export utiltiy in sharepoint 2007'/><author><name>Sriram</name><uri>http://www.blogger.com/profile/03718522182741763371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1024205468333953902.post-5163987605519170607</id><published>2007-11-06T20:49:00.000-08:00</published><updated>2007-11-19T02:19:11.776-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT ADMINISTRATION'/><title type='text'>Backup and Restore</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;I recently spent time on Backup and Restore on sharepoint 2007.I tried different option to take backup and resotre the sharepoint site.Each and every method has its own advantages and disadvantages.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;There are three ways to take backup and restore.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;1.Using web interface of sharepoint administration &lt;/div&gt;&lt;div&gt;2.using stsadm.exe&lt;/div&gt;&lt;div&gt;3.Take the sql content database backup and restore the same the content db and add this db at the site collection.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;WebInterface.&lt;/div&gt;&lt;div&gt;This is one of the easiest method to take backup and restore too.&lt;/div&gt;&lt;div&gt;Steps to take Backup using Sharepoint central administration tool.&lt;/div&gt;&lt;div&gt;1.Go to sharepoint central administraion from start - Programs - &gt; Sharepoint Central Administraion.&lt;/div&gt;&lt;div&gt;2.One the page is opened , Click on operation from left side navigation menu.&lt;/div&gt;&lt;div&gt;3.Click the "Perform Backup " from the menu Backup and Restore.&lt;/div&gt;&lt;div&gt;4.once you click, sharepoint takes you to another webpage, it shows all the webapplication to take the backup.&lt;/div&gt;&lt;div&gt;5.Select the webapplication to takeup backup.&lt;/div&gt;&lt;div&gt;6.Click the link "Continue to backup options" &lt;/div&gt;&lt;div&gt;7.System takes you to another screen , where we need to give the name of the backup file and where to store this backup file.&lt;/div&gt;&lt;div&gt;8.Click ok to take backup.&lt;/div&gt;&lt;div&gt;This creates a timer job in sharepoint.you can see this job under sharepoint timer jobs definition under "Global Configuration".&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;2.Backup using stsadm.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;stsadm.exe is under "\program files\common files\microsoft shared\web server extenstion\12\bin.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;the Syntax to take the backup &lt;/div&gt;&lt;div&gt;stsadm.exe -o backup -url "the webapplication url/site collection url" -filename "filename.bak"&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;to get the help for backup options&lt;/div&gt;&lt;div&gt;stsadm.exe -help backup&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Third method is easy, take the content database backup as how we do take the backup from sql server.this is sql server backup procedure.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&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/1024205468333953902-5163987605519170607?l=sharepointsolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointsolution.blogspot.com/feeds/5163987605519170607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1024205468333953902&amp;postID=5163987605519170607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/5163987605519170607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/5163987605519170607'/><link rel='alternate' type='text/html' href='http://sharepointsolution.blogspot.com/2007/11/backup-and-restore.html' title='Backup and Restore'/><author><name>Sriram</name><uri>http://www.blogger.com/profile/03718522182741763371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1024205468333953902.post-7216855266810184731</id><published>2007-11-06T04:33:00.000-08:00</published><updated>2007-11-06T05:07:21.269-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>Code Analysis tool in VS 2005</title><content type='html'>&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;I have been asked to do the code review for one of the projects. I am looking for the tool within VS.2005.I remembered when i install the VS.2005, I have seen some menu called "Code Analsyis , Performance and Testing.I Planned to try out the tool .&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;Based on the guidelines by microsoft site, i have described below , how to use this tool easily and quickly to review the code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Steps to Use the Code Analysis Tool using VS.2005&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;1.Install the Code Analysis tool from the VS.Net 2005 setup.&lt;br /&gt;2.Once you the tool, you will be able to see the code Analysis menu in Project Properties as below.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_ruMvRWJWfik/RzBhkIB-OnI/AAAAAAAAACM/P49y369a8eA/s1600-h/CodeAnalaysis.bmp"&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5129707248833935986" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_ruMvRWJWfik/RzBhkIB-OnI/AAAAAAAAACM/P49y369a8eA/s320/CodeAnalaysis.bmp" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;3.In this section, Developer can set the rules inorder to maintaint the standards.Microsoft uses an FxCop tool internally for thier developement.They defined the set of common rules used at their developement center.I have listed down the set of rules here.&lt;br /&gt;Design&lt;br /&gt;CA1008 EnumsShouldHaveZeroValue&lt;br /&gt;CA1009 DeclareEventHandlersCorrectly&lt;br /&gt;CA1011 ConsiderPassingBaseTypesAsParameters&lt;br /&gt;CA1012 AbstractTypesShouldNotHaveConstructors&lt;br /&gt;CA1014 MarkAssembliesWithClsCompliant&lt;br /&gt;CA1017 MarkAssembliesWithComVisible&lt;br /&gt;CA1018 MarkAttributesWithAttributeUsage&lt;br /&gt;CA1019 DefineAccessorsForAttributeArguments&lt;br /&gt;CA1023 IndexersShouldNotBeMultidimensional&lt;br /&gt;CA1025 ReplaceRepetitiveArgumentsWithParamsArray&lt;br /&gt;CA1026 DefaultParametersShouldNotBeUsed&lt;br /&gt;CA1027 MarkEnumsWithFlags&lt;br /&gt;CA1028 EnumStorageShouldBeInt32&lt;br /&gt;CA1030 UseEventsWhereAppropriate&lt;br /&gt;CA1032 ImplementStandardExceptionConstructors&lt;br /&gt;CA1034 NestedTypesShouldNotBeVisible&lt;br /&gt;CA1036 OverrideMethodsOnComparableTypes&lt;br /&gt;CA1038 EnumeratorsShouldBeStronglyTyped&lt;br /&gt;CA1039 ListsAreStronglyTyped&lt;br /&gt;CA1040 AvoidEmptyInterfaces&lt;br /&gt;CA1041 ProvideObsoleteAttributeMessage&lt;br /&gt;CA1043 UseIntegralOrStringArgumentForIndexers&lt;br /&gt;CA1044 PropertiesShouldNotBeWriteOnly&lt;br /&gt;CA1045 DoNotPassTypesByReference&lt;br /&gt;CA1046 DoNotOverloadOperatorEqualsOnReferenceTypes&lt;br /&gt;CA1050 DeclareTypesInNamespaces&lt;br /&gt;CA1051 DoNotDeclareVisibleInstanceFields&lt;br /&gt;CA1052 StaticHolderTypesShouldBeSealed&lt;br /&gt;CA1053 StaticHolderTypesShouldNotHaveConstructors&lt;br /&gt;CA1054 UriParametersShouldNotBeStrings&lt;br /&gt;CA1055 UriReturnValuesShouldNotBeStrings&lt;br /&gt;CA1056 UriPropertiesShouldNotBeStrings&lt;br /&gt;CA1057 StringUriOverloadsCallSystemUriOverloads&lt;br /&gt;CA1058 TypesShouldNotExtendCertainBaseTypes&lt;br /&gt;CA1059 MembersShouldNotExposeCertainConcreteTypes&lt;br /&gt;&lt;br /&gt;Globalization&lt;br /&gt;CA1300 SpecifyMessageBoxOptions&lt;br /&gt;CA1301 AvoidDuplicateAccelerators&lt;br /&gt;CA1304 SpecifyCultureInfo&lt;br /&gt;CA1305 SpecifyIFormatProvider&lt;br /&gt;CA1306 SetLocaleForDataTypes&lt;br /&gt;CA1307 SpecifyStringComparison&lt;br /&gt;CA1309 UseOrdinalStringComparison&lt;br /&gt;CA2101 SpecifyMarshalingForPInvokeStringArguments&lt;br /&gt;&lt;br /&gt;Interoperability&lt;br /&gt;CA1401 PInvokesShouldNotBeVisible&lt;br /&gt;CA1402 AvoidOverloadsInComVisibleInterfaces&lt;br /&gt;CA1403 AutoLayoutTypesShouldNotBeComVisible&lt;br /&gt;CA1404 CallGetLastErrorImmediatelyAfterPInvoke&lt;br /&gt;CA1405 ComVisibleTypeBaseTypesShouldBeComVisible&lt;br /&gt;CA1406 AvoidInt64ArgumentsForVB6Clients&lt;br /&gt;CA1408 DoNotUseAutoDualClassInterfaceType&lt;br /&gt;CA1413 AvoidNonpublicFieldsInComVisibleValueTypes&lt;br /&gt;&lt;br /&gt;Naming&lt;br /&gt;CA1700 DoNotNameEnumValuesReserved&lt;br /&gt;CA1701 ResourceStringCompoundWordsShouldBeCasedCorrectly&lt;br /&gt;CA1702 CompoundWordsShouldBeCasedCorrectly&lt;br /&gt;CA1703 ResourceStringsShouldBeSpelledCorrectly&lt;br /&gt;CA1704 IdentifiersShouldBeSpelledCorrectly&lt;br /&gt;CA1707 IdentifiersShouldNotContainUnderscores&lt;br /&gt;CA1708 IdentifiersShouldDifferByMoreThanCase&lt;br /&gt;CA1709 IdentifiersShouldBeCasedCorrectly&lt;br /&gt;CA1710 IdentifiersShouldHaveCorrectSuffix&lt;br /&gt;CA1711 IdentifiersShouldNotHaveIncorrectSuffix&lt;br /&gt;CA1712 DoNotPrefixEnumValuesWithTypeName&lt;br /&gt;CA1713 EventsShouldNotHaveBeforeOrAfterPrefix&lt;br /&gt;CA1714 FlagsEnumsShouldHavePluralNames&lt;br /&gt;CA1715 IdentifiersShouldHaveCorrectPrefix&lt;br /&gt;CA1716 IdentifiersShouldNotMatchKeywords&lt;br /&gt;CA1719 ParameterNamesShouldNotMatchMemberNames&lt;br /&gt;CA1720 IdentifiersShouldNotContainTypeNames&lt;br /&gt;CA1721 PropertyNamesShouldNotMatchGetMethods&lt;br /&gt;CA1722 IdentifiersShouldNotHaveIncorrectPrefix&lt;br /&gt;CA1724 TypeNamesShouldNotMatchNamespaces&lt;br /&gt;&lt;br /&gt;Performance&lt;br /&gt;CA1811 AvoidUncalledPrivateCode&lt;br /&gt;CA1812 AvoidUninstantiatedInternalClasses&lt;br /&gt;CA1813 AvoidUnsealedAttributes&lt;br /&gt;CA1815 OverrideEqualsAndOperatorEqualsOnValueTypes&lt;br /&gt;CA1816 DisposeMethodsShouldCallSuppressFinalize&lt;br /&gt;CA1819 PropertiesShouldNotReturnArrays&lt;br /&gt;&lt;br /&gt;Portability&lt;br /&gt;CA1900 ValueTypeFieldsShouldBePortable&lt;br /&gt;CA1901 PInvokeDeclarationsShouldBePortable&lt;br /&gt;&lt;br /&gt;Reliability&lt;br /&gt;CA2001 AvoidCallingProblematicMethods&lt;br /&gt;CA2002 DoNotLockOnObjectsWithWeakIdentity&lt;br /&gt;CA2004 RemoveCallsToGCKeepAlive&lt;br /&gt;CA2006 UseSafeHandleToEncapsulateNativeResources&lt;br /&gt;&lt;br /&gt;Security&lt;br /&gt;CA2102 CatchNonClsCompliantExceptionsInGeneralHandlers&lt;br /&gt;CA2103 ReviewImperativeSecurity&lt;br /&gt;CA2104 DoNotDeclareReadOnlyMutableReferenceTypes&lt;br /&gt;CA2105 ArrayFieldsShouldNotBeReadOnly&lt;br /&gt;CA2106 SecureAsserts&lt;br /&gt;CA2107 ReviewDenyAndPermitOnlyUsage&lt;br /&gt;CA2108 ReviewDeclarativeSecurityOnValueTypes&lt;br /&gt;CA2109 ReviewVisibleEventHandlers&lt;br /&gt;CA2111 PointersShouldNotBeVisible&lt;br /&gt;CA2112 SecuredTypesShouldNotExposeFields&lt;br /&gt;CA2114 MethodSecurityShouldBeASupersetOfType&lt;br /&gt;CA2115 CallGCKeepAliveWhenUsingNativeResources&lt;br /&gt;CA2116 AptcaMethodsShouldOnlyCallAptcaMethods&lt;br /&gt;CA2117 AptcaTypesShouldOnlyExtendAptcaBaseTypes&lt;br /&gt;CA2118 ReviewSuppressUnmanagedCodeSecurityUsage&lt;br /&gt;CA2119 SealMethodsThatSatisfyPrivateInterfaces&lt;br /&gt;CA2120 SecureSerializationConstructors&lt;br /&gt;CA2121 StaticConstructorsShouldBePrivate&lt;br /&gt;CA2122 DoNotIndirectlyExposeMethodsWithLinkDemands&lt;br /&gt;CA2123 OverrideLinkDemandsShouldBeIdenticalToBase&lt;br /&gt;CA2124 WrapVulnerableFinallyClausesInOuterTry&lt;br /&gt;CA2126 TypeLinkDemandsRequireInheritanceDemands&lt;br /&gt;CA2127 SecurityTransparentAssembliesShouldNotContainSecurityCriticalCode&lt;br /&gt;CA2128 SecurityTransparentCodeShouldNotAssert&lt;br /&gt;CA2129 SecurityTransparentCodeShouldNotReferenceNonpublicSecurityCriticalCode&lt;br /&gt;&lt;br /&gt;Usage&lt;br /&gt;CA1806 DoNotIgnoreMethodResults&lt;br /&gt;CA2207 InitializeValueTypeStaticFieldsInline&lt;br /&gt;CA2208 InstantiateArgumentExceptionsCorrectly&lt;br /&gt;CA2209 AssembliesShouldDeclareMinimumSecurity&lt;br /&gt;CA2211 NonConstantFieldsShouldNotBeVisible&lt;br /&gt;CA2213 DisposableFieldsShouldBeDisposed&lt;br /&gt;CA2214 DoNotCallOverridableMethodsInConstructors&lt;br /&gt;CA2216 DisposableTypesShouldDeclareFinalizer&lt;br /&gt;CA2217 DoNotMarkEnumsWithFlags&lt;br /&gt;CA2218 OverrideGetHashCodeOnOverridingEquals&lt;br /&gt;CA2220 FinalizersShouldCallBaseClassFinalizer&lt;br /&gt;CA2221 FinalizersShouldBeProtected&lt;br /&gt;CA2224 OverrideEqualsOnOverloadingOperatorEquals&lt;br /&gt;CA2225 OperatorOverloadsHaveNamedAlternates&lt;br /&gt;CA2227 CollectionPropertiesShouldBeReadOnly&lt;br /&gt;CA2228 DoNotShipUnreleasedResourceFormats&lt;br /&gt;CA2229 ImplementSerializationConstructors&lt;br /&gt;CA2230 UseParamsForVariableArguments&lt;br /&gt;CA2233 OperationsShouldNotOverflow&lt;br /&gt;CA2234 PassSystemUriObjectsInsteadOfStrings&lt;br /&gt;CA2235 MarkAllNonSerializableFields&lt;br /&gt;CA2236 CallBaseClassMethodsOnISerializableTypes&lt;br /&gt;CA2237 MarkISerializableTypesWithSerializable&lt;br /&gt;CA2240 ImplementISerializableCorrectly&lt;br /&gt;&lt;br /&gt;Non-Public Rule Set:&lt;br /&gt;&lt;br /&gt;Globalization&lt;br /&gt;CA2101 SpecifyMarshalingForPInvokeStringArguments&lt;br /&gt;&lt;br /&gt;Portability&lt;br /&gt;CA1900 ValueTypeFieldsShouldBePortable&lt;br /&gt;CA1901 PInvokeDeclarationsShouldBePortable&lt;br /&gt;&lt;br /&gt;Reliability&lt;br /&gt;CA2002 DoNotLockOnObjectsWithWeakIdentity&lt;br /&gt;&lt;br /&gt;Security&lt;br /&gt;CA2100 ReviewSqlQueriesForSecurityVulnerabilities&lt;br /&gt;CA2102 CatchNonClsCompliantExceptionsInGeneralHandlers&lt;br /&gt;CA2103 ReviewImperativeSecurity&lt;br /&gt;CA2104 DoNotDeclareReadOnlyMutableReferenceTypes&lt;br /&gt;CA2105 ArrayFieldsShouldNotBeReadOnly&lt;br /&gt;CA2106 SecureAsserts&lt;br /&gt;CA2107 ReviewDenyAndPermitOnlyUsage&lt;br /&gt;CA2108 ReviewDeclarativeSecurityOnValueTypes&lt;br /&gt;CA2109 ReviewVisibleEventHandlers&lt;br /&gt;CA2111 PointersShouldNotBeVisible&lt;br /&gt;CA2112 SecuredTypesShouldNotExposeFields&lt;br /&gt;CA2114 MethodSecurityShouldBeASupersetOfType&lt;br /&gt;CA2115 CallGCKeepAliveWhenUsingNativeResources&lt;br /&gt;CA2116 AptcaMethodsShouldOnlyCallAptcaMethods&lt;br /&gt;CA2117 AptcaTypesShouldOnlyExtendAptcaBaseTypes&lt;br /&gt;CA2118 ReviewSuppressUnmanagedCodeSecurityUsage&lt;br /&gt;CA2119 SealMethodsThatSatisfyPrivateInterfaces&lt;br /&gt;CA2120 SecureSerializationConstructors&lt;br /&gt;CA2121 StaticConstructorsShouldBePrivate&lt;br /&gt;CA2122 DoNotIndirectlyExposeMethodsWithLinkDemands&lt;br /&gt;CA2123 OverrideLinkDemandsShouldBeIdenticalToBase&lt;br /&gt;CA2124 WrapVulnerableFinallyClausesInOuterTry&lt;br /&gt;CA2126 TypeLinkDemandsRequireInheritanceDemands&lt;br /&gt;CA2127 SecurityTransparentAssembliesShouldNotContainSecurityCriticalCode&lt;br /&gt;CA2128 SecurityTransparentCodeShouldNotAssert&lt;br /&gt;CA2129 SecurityTransparentCodeShouldNotReferenceNonpublicSecurityCriticalCode&lt;br /&gt;&lt;br /&gt;Usage&lt;br /&gt;CA2233 OperationsShouldNotOverflow&lt;br /&gt;&lt;br /&gt;4. Right click the project property.you can able to see the "Run Code Analysis".&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_ruMvRWJWfik/RzBkroB-OpI/AAAAAAAAACc/9KXjxGO-_Yg/s1600-h/CodeAnalaysis1.bmp"&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5129710676217838226" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_ruMvRWJWfik/RzBkroB-OpI/AAAAAAAAACc/9KXjxGO-_Yg/s320/CodeAnalaysis1.bmp" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;font-size:85%;"&gt;5.Click the menu.&lt;br /&gt;6.VS.NET creates set of warnings based on the rules defined and code.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1024205468333953902-7216855266810184731?l=sharepointsolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointsolution.blogspot.com/feeds/7216855266810184731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1024205468333953902&amp;postID=7216855266810184731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/7216855266810184731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/7216855266810184731'/><link rel='alternate' type='text/html' href='http://sharepointsolution.blogspot.com/2007/11/code-analysis-tool-in-vs-2005.html' title='Code Analysis tool in VS 2005'/><author><name>Sriram</name><uri>http://www.blogger.com/profile/03718522182741763371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ruMvRWJWfik/RzBhkIB-OnI/AAAAAAAAACM/P49y369a8eA/s72-c/CodeAnalaysis.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1024205468333953902.post-8430023376134368113</id><published>2007-05-08T06:29:00.000-07:00</published><updated>2007-11-19T04:21:45.094-08:00</updated><title type='text'>New deployment feature in MOSS 2007</title><content type='html'>I am into Moss 2007 developement team, Most of my team mates developed lot of stuff, but they do the deployment in old style like xcopy deployment. I have search lot of blogs and MSDN, finally i got it , how to deploy webparts,features , templates using new deployment feature (Solution deployment). I like to thank to  Andrew cornelly,who showed some light , how to deploy a sharepoint solution using solution file.&lt;br /&gt;Sharepoint webparts/Templates/Features can be deployed thru WSP File.This is nothing but a cab file.Generally cab file can be created using MAKECAB.EXE (You can download this microsoft site).This makecab.exe looks for DDF file(the file ends with .ddf) which is input for makecabe.exe produces a cab/.WSP file.&lt;br /&gt;DDF file looks like below....&lt;br /&gt;&lt;br /&gt;;*** SPSolutions.SharePoint.FIM MakeCab Directive&lt;br /&gt;;&lt;br /&gt;.OPTION Explicit ; Generate errors&lt;br /&gt;;.Set CabinetNameTemplate=MyEventHandler.wsp&lt;br /&gt;.Set DiskDirectoryTemplate=CDROM&lt;br /&gt;.Set CompressionType=MSZIP&lt;br /&gt;.Set UniqueFiles=Off&lt;br /&gt;.Set Cabinet=On&lt;br /&gt;.Set DiskDirectory1=Package&lt;br /&gt;;&lt;br /&gt;; \&lt;br /&gt;;**************************************************&lt;br /&gt;manifest.xml&lt;br /&gt;bin\debug\MyEventHandler.dll&lt;br /&gt;.Set DestinationDir=MyEventHandler&lt;br /&gt;Feature.xml&lt;br /&gt;Elements.xml&lt;br /&gt;;&lt;br /&gt;;***End&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1024205468333953902-8430023376134368113?l=sharepointsolution.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointsolution.blogspot.com/feeds/8430023376134368113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1024205468333953902&amp;postID=8430023376134368113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/8430023376134368113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1024205468333953902/posts/default/8430023376134368113'/><link rel='alternate' type='text/html' href='http://sharepointsolution.blogspot.com/2007/05/new-deployment-feature-in-moss-2007.html' title='New deployment feature in MOSS 2007'/><author><name>Sriram</name><uri>http://www.blogger.com/profile/03718522182741763371</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
