<?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-1286429809968788187</id><updated>2012-01-30T18:45:30.176-05:00</updated><category term='jquery'/><category term='database diagram'/><category term='sharepoint'/><category term='ECQWP'/><category term='sql server 2003'/><category term='excel'/><category term='Sharepoint Designer'/><category term='infopath'/><category term='powershell'/><category term='Javascript'/><category term='SPD'/><category term='software engineering'/><category term='CAML'/><category term='SharePoint 2010'/><category term='moss'/><category term='Custom SharePoint Designer Activity'/><category term='stsadm'/><category term='sharepoint 2007'/><category term='.NET'/><title type='text'>Sumit's SharePoint  Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>84</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-3535660703778292418</id><published>2011-09-16T09:47:00.002-04:00</published><updated>2011-09-16T09:47:41.114-04:00</updated><title type='text'>SharePoint 2010 CQWP on page layouts with Metadata field filter</title><content type='html'>Somebody posted this issue on technet site http://social.technet.microsoft.com/Forums/en-CA/sharepoint2010customization/thread/4b0ac094-cbbb-4f24-badb-495c2c53a852?prof=required:I'm using the CQWP on a page layout in SP 2010 in order to provde users with links to associated content.  similar to this blog post.http://blogs.msdn.com/b/ecm/archive/2010/05/14/what-s-new-with-the-content-query-web-part.aspxWhen I try to filter a specifc content type with the Managed Metadata field and use the [PageFieldValue: Colmun Name] within the CQWP on a page layout in SP Desinger 2010 nothing happens when I click OK on the web part properties.  The web part will not accept the changes, but there is no error message.When I add the same CQWP via the browser the web part works fine, but it seam that I can't create a new page layout with this configuration.Can anybody tell me if this is a bug, if there is a work around or do I need to configure something to get this CQWP working.Solution:ok, this is a bug in SPD. This does not work in designer mode, but workaround is to do it in code. Lets suppose on the page there is the metadata field called "Site Owner", there is a list in "Site Name" sub-site called "Links" which has the same metadata field "Site Owner". If you include all these fields your page layout should rock!! Switch to the code view and make sure following attributes are added with correct value: ListGuid="bd3cfade-31d9-48d9-9ca0-a0e49923dcs272f0e" FilterField1="Site_x0020_Owner"  FilterValue1="[PageFieldValue:7bdc0fac-c3f6-481f-9114-0e086e923224d:Site_x0020_Owner:TaxonomyFieldTypeMulti]" FilterDisplayValue1="[PageFieldValue: Site Owner]" FilterField1="Site_x0020_Owner"WebUrl="~sitecollection/Site Name/" ListName ="Links"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-3535660703778292418?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/3535660703778292418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=3535660703778292418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3535660703778292418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3535660703778292418'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2011/09/sharepoint-2010-cqwp-on-page-layouts.html' title='SharePoint 2010 CQWP on page layouts with Metadata field filter'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-425938502567716036</id><published>2011-07-14T10:56:00.001-04:00</published><updated>2011-07-14T10:56:17.198-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint Error with duplicate field name</title><content type='html'>&lt;p&gt;This started happening last week, one fine day, out of no where users started getting error this error on one of the site collections:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-TTcFxxOd54M/Th8DjoDT-iI/AAAAAAAAN_0/wxDwUpHbya8/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-ujzjnQjEx-0/Th8DkFEso4I/AAAAAAAAN_4/WtYzaaV_Sbc/image_thumb%25255B1%25255D.png?imgmax=800" width="598" height="309" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;so looks like some how “Page” content type has duplicate column with id=”611f792f-35ce-4cb2-a183-7435e6b10bef”. I went to site &lt;em&gt;content type &amp;gt; Page &lt;/em&gt;and found nothing which looks duplicate. However we added few metadata fields to &lt;em&gt;Page&lt;/em&gt; content type. I did not want to delete the columns at random so did a quick search on finding the name of the field that can be duplicate. Here is the powershell script to find the name of &lt;/p&gt;  &lt;pre class="csharpcode"&gt;$web = Get-SPWeb &lt;a href="http://testserverforeach"&gt;http://testserver&lt;br /&gt;&lt;span class="kwrd"&gt;foreach&lt;/a&gt;&lt;/span&gt; ($field &lt;span class="kwrd"&gt;in&lt;/span&gt; $web.Fields)&lt;br /&gt;{&lt;br /&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt;($field.Id &lt;span class="preproc"&gt;-eq&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;611f792f-35ce-4cb2-a183-7435e6b10bef&amp;quot;&lt;/span&gt;){&lt;br /&gt;write-output &lt;span class="str"&gt;&amp;quot;Title: $($field.Title) | ID: $($field.Id)&amp;quot;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;$web.Dispose()&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;It gave me name of the field that causing the error. I went ahead and removed the column from the Page content type. Tried again…and Failed. This time it gave me another Id, removed that too. Eventually I remove almost all the metadata column from Page content type and it fixed the error. Still researching the issue with the metadata column. I case you want to enumerate all the fields in your site use this powershell script:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;$web = Get-SPWeb http://testserver&lt;br /&gt;&lt;span class="kwrd"&gt;foreach&lt;/span&gt; ($field &lt;span class="kwrd"&gt;in&lt;/span&gt; $web.Fields)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;write-output &lt;span class="str"&gt;&amp;quot;Title: $($field.Title) | ID: $($field.Id)&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;$web.Dispose()&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-425938502567716036?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/425938502567716036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=425938502567716036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/425938502567716036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/425938502567716036'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2011/07/sharepoint-error-with-duplicate-field.html' title='SharePoint Error with duplicate field name'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-ujzjnQjEx-0/Th8DkFEso4I/AAAAAAAAN_4/WtYzaaV_Sbc/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-7186979253588955381</id><published>2011-06-20T10:41:00.001-04:00</published><updated>2011-06-20T10:41:45.874-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>PowerShell SharePoint WebPart deployment Script</title><content type='html'>&lt;p&gt;I think everyone is creating either Visual WebParts or Sandbox Solutions for SharePoint 2010 using Visual Studio 2010 project template. Won’t it be nice if the project includes powershell deployment scripts as one of the artifacts when you create a project. As MS left that on us to do that, I am posting the scritps that I am using for install and uninstall of VisualWebPart Solution to a Web Application and activating it at “Web” scope.&lt;/p&gt;  &lt;p&gt;I have created a &lt;strong&gt;batch file&lt;/strong&gt; to kickoff the poweshell script. it looks like this:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;ET LaunchedFromBAT=1&lt;br /&gt;&lt;span class="kwrd"&gt;IF&lt;/span&gt; EXIST &lt;span class="str"&gt;&amp;quot;%~dp0\install.ps1&amp;quot;&lt;/span&gt; (&lt;br /&gt;    ECHO - Using standard Input File.&lt;br /&gt;    &lt;span class="kwrd"&gt;GOTO&lt;/span&gt; START&lt;br /&gt;    )&lt;br /&gt;ECHO - Input File &lt;span class="kwrd"&gt;not&lt;/span&gt; found! Please check &lt;span class="kwrd"&gt;for&lt;/span&gt; install.ps1, AutoSPInstallerInput&lt;br /&gt;&lt;span class="kwrd"&gt;GOTO&lt;/span&gt; &lt;span class="kwrd"&gt;END&lt;/span&gt;&lt;br /&gt;:START&lt;br /&gt;:: Check &lt;span class="kwrd"&gt;for&lt;/span&gt; Powershell&lt;br /&gt;&lt;span class="kwrd"&gt;IF&lt;/span&gt; &lt;span class="kwrd"&gt;NOT&lt;/span&gt; EXIST &lt;span class="str"&gt;&amp;quot;%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe&amp;quot;&lt;/span&gt; (&lt;br /&gt;    COLOR 0C&lt;br /&gt;    ECHO - &lt;span class="str"&gt;&amp;quot;powershell.exe&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;not&lt;/span&gt; found!&lt;br /&gt;    ECHO - This script requires PowerShell - install v2.0, &lt;span class="kwrd"&gt;then&lt;/span&gt; re-run this script.&lt;br /&gt;    COLOR&lt;br /&gt;    pause&lt;br /&gt;    &lt;span class="kwrd"&gt;EXIT&lt;/span&gt;&lt;br /&gt;    )&lt;br /&gt;:: Check &lt;span class="kwrd"&gt;for&lt;/span&gt; Powershell v2.0&lt;br /&gt;ECHO - Checking &lt;span class="kwrd"&gt;for&lt;/span&gt; Powershell 2.0...&lt;br /&gt;&lt;span class="str"&gt;&amp;quot;%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe&amp;quot;&lt;/span&gt; $host.Version.Major | find &lt;span class="str"&gt;&amp;quot;2&amp;quot;&lt;/span&gt; &amp;gt;nul&lt;br /&gt;&lt;span class="kwrd"&gt;IF&lt;/span&gt; ERRORLEVEL 1 (&lt;br /&gt;    COLOR 0C&lt;br /&gt;    ECHO - This script requires PowerShell version 2.0!&lt;br /&gt;    ECHO - Please uninstall v1.0, install v2.0, &lt;span class="kwrd"&gt;then&lt;/span&gt; re-run this script.&lt;br /&gt;    COLOR&lt;br /&gt;    pause&lt;br /&gt;    &lt;span class="kwrd"&gt;EXIT&lt;/span&gt;&lt;br /&gt;    )&lt;br /&gt;ECHO - OK.&lt;br /&gt;:: &lt;span class="kwrd"&gt;Get&lt;/span&gt; existing Powershell ExecutionPolicy&lt;br /&gt;&lt;span class="kwrd"&gt;FOR&lt;/span&gt; /F &lt;span class="str"&gt;&amp;quot;tokens=*&amp;quot;&lt;/span&gt; %%x &lt;span class="kwrd"&gt;in&lt;/span&gt; (&lt;span class="rem"&gt;'&amp;quot;%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe&amp;quot; Get-ExecutionPolicy') do (set ExecutionPolicy=%%x)&lt;/span&gt;&lt;br /&gt;:: &lt;span class="kwrd"&gt;Set&lt;/span&gt; Bypass, &lt;span class="kwrd"&gt;in&lt;/span&gt; &lt;span class="kwrd"&gt;case&lt;/span&gt; we are running over a net share &lt;span class="kwrd"&gt;or&lt;/span&gt; UNC&lt;br /&gt;&lt;span class="kwrd"&gt;IF&lt;/span&gt; &lt;span class="kwrd"&gt;NOT&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;%ExecutionPolicy%&amp;quot;&lt;/span&gt;==&lt;span class="str"&gt;&amp;quot;Bypass&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;IF&lt;/span&gt; &lt;span class="kwrd"&gt;NOT&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;%ExecutionPolicy%&amp;quot;&lt;/span&gt;==&lt;span class="str"&gt;&amp;quot;Unrestricted&amp;quot;&lt;/span&gt; (&lt;br /&gt;    ECHO - PS ExecutionPolicy &lt;span class="kwrd"&gt;is&lt;/span&gt; %ExecutionPolicy%, setting ExecutionPolicy &lt;span class="kwrd"&gt;to&lt;/span&gt; Bypass.&lt;br /&gt;    &lt;span class="str"&gt;&amp;quot;%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe&amp;quot;&lt;/span&gt; -Command Start-Process &lt;span class="str"&gt;&amp;quot;$PSHOME\powershell.exe&amp;quot;&lt;/span&gt; -Verb RunAs -ArgumentList &lt;span class="str"&gt;&amp;quot;'-Command Set-ExecutionPolicy Bypass'&amp;quot;&lt;/span&gt;&lt;br /&gt;    )&lt;br /&gt;&lt;span class="kwrd"&gt;GOTO&lt;/span&gt; LAUNCHSCRIPT&lt;br /&gt;:LAUNCHSCRIPT&lt;br /&gt;&lt;span class="str"&gt;&amp;quot;%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe&amp;quot;&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;.\install.ps1&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;GOTO&lt;/span&gt; END&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Installation script:&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;#Author: Sumit Rawat&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Script: install SampleSolution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Load SharePoint Snapin&lt;/span&gt;&lt;br /&gt;Add-PSSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Set up Web Application variable&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Only needed if solution contains Web Application scoped resources&lt;/span&gt;&lt;br /&gt;$webApp = Get-SPWebApplication -Identity $Args[0]&lt;br /&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;Adding Solution&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Add solution file to the farm&lt;/span&gt;&lt;br /&gt;$solution = Add-SPSolution -LiteralPath &lt;span class="str"&gt;&amp;quot;C:\SampleSolution.wsp&amp;quot;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;Deploying Solution&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Deploy solution&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Add -WebApplication $webApp to the line below if solution contains Web Application scoped resources&lt;/span&gt;&lt;br /&gt;Install-SPSolution $solution -WebApplication $webApp -Force -GACDeployment &lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Wait for solution to be deployed&lt;/span&gt;&lt;br /&gt;do {Start-Sleep -s 1} &lt;span class="kwrd"&gt;while&lt;/span&gt; ($solution.Deployed &lt;span class="preproc"&gt;-eq&lt;/span&gt; $false)&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Install Feature&lt;/span&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;Installing Feature&amp;quot;&lt;/span&gt;&lt;br /&gt;Install-SPFeature &lt;span class="str"&gt;&amp;quot;SampleFeature&amp;quot;&lt;/span&gt; -force&lt;br /&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;Activating Feature&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Activate web scoped feature in one site&lt;/span&gt;&lt;br /&gt;$web = Get-SPWeb $Args[0]&lt;br /&gt;Enable-SPFeature -Identity &lt;span class="str"&gt;&amp;quot;SampleFeature&amp;quot;&lt;/span&gt; -Url $web.Url &lt;br /&gt;$web.Dispose()&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;Installation Complete.....&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Uninstall script:&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;#Author: Sumit Rawat&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Script: Uninstall SampleSolution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Load SharePoint Snapin&lt;/span&gt;&lt;br /&gt;Add-PSSnapin Microsoft.SharePoint.PowerShell&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Set up Web Application variable. Only needed if solution contains Web Application scoped resources&lt;/span&gt;&lt;br /&gt;$webApp = Get-SPWebApplication -Identity $Args[0]&lt;br /&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;Disabling Feature&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Deactivate web scoped feature in one site&lt;/span&gt;&lt;br /&gt;$web = Get-SPWeb $Args[0]&lt;br /&gt;Disable-SPFeature -Identity &lt;span class="str"&gt;&amp;quot;SampleFeature&amp;quot;&lt;/span&gt; -Url $web.Url &lt;br /&gt;$web.Dispose()&lt;br /&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;Uninstalling Feature&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#UnInstall Feature&lt;/span&gt;&lt;br /&gt;UnInstall-SPFeature -Identity &lt;span class="str"&gt;&amp;quot;SampleFeature&amp;quot;&lt;/span&gt; -force&lt;br /&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;Retracting solution&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Add -WebApplication $webApp to the line below if solution contains Web Application scoped resources&lt;/span&gt;&lt;br /&gt;UnInstall-SPSolution -Identity &lt;span class="str"&gt;&amp;quot;SampleSolution.wsp&amp;quot;&lt;/span&gt; -WebApplication $webApp&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Wait for solution to be deployed&lt;/span&gt;&lt;br /&gt;do {Start-Sleep -s 20} &lt;span class="kwrd"&gt;while&lt;/span&gt; ($solution.Deployed &lt;span class="preproc"&gt;-eq&lt;/span&gt; $true)&lt;br /&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;removing solution&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;#Remove solution file to the farm&lt;/span&gt;&lt;br /&gt;Remove-SPSolution -Identity &lt;span class="str"&gt;&amp;quot;SampleSolution.wsp&amp;quot;&lt;/span&gt;  -force&lt;br /&gt;&lt;br /&gt;echo &lt;span class="str"&gt;&amp;quot;uninstall complete....&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-7186979253588955381?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/7186979253588955381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=7186979253588955381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/7186979253588955381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/7186979253588955381'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2011/06/powershell-sharepoint-webpart.html' title='PowerShell SharePoint WebPart deployment Script'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2087163023561329217</id><published>2011-04-16T08:24:00.000-04:00</published><updated>2011-04-16T08:24:35.719-04:00</updated><title type='text'>Peacetime CEO/Wartime CEO // ben's blog</title><content type='html'>&lt;a href="http://bhorowitz.com/2011/04/15/peacetime-ceowartime-ceo/"&gt;Peacetime CEO/Wartime CEO // ben&amp;#39;s blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Interesting analysis on google's new leadership. I can't wait to see how a war time looks like. How will it's motto "Don't be Evil" stands in intense battle with facebook and apple.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2087163023561329217?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://bhorowitz.com/2011/04/15/peacetime-ceowartime-ceo/' title='Peacetime CEO/Wartime CEO // ben&apos;s blog'/><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2087163023561329217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2087163023561329217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2087163023561329217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2087163023561329217'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2011/04/peacetime-ceowartime-ceo-bens-blog.html' title='Peacetime CEO/Wartime CEO // ben&apos;s blog'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1684622791074971025</id><published>2011-04-16T07:13:00.000-04:00</published><updated>2011-04-16T07:13:52.331-04:00</updated><title type='text'>Building a SharePoint House | Aquilent Blog</title><content type='html'>Recently posted this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aquilent.com/blog/2011/04/building-a-sharepoint-house/"&gt;Building a SharePoint House | Aquilent Blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;check it out!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-1684622791074971025?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aquilent.com/blog/2011/04/building-a-sharepoint-house/' title='Building a SharePoint House | Aquilent Blog'/><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/1684622791074971025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=1684622791074971025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1684622791074971025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1684622791074971025'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2011/04/building-sharepoint-house-aquilent-blog.html' title='Building a SharePoint House | Aquilent Blog'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-5165397531429732673</id><published>2011-03-25T16:35:00.001-04:00</published><updated>2011-03-26T16:57:40.254-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>All About Abstract, Virtual and Override in .NET</title><content type='html'>&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Abstract Class is something that &lt;strong&gt;cannot &lt;/strong&gt;be instantiated. There can be no instances of an Abstract Class. Some other things to note about abstract class are:&lt;/p&gt;  &lt;p&gt;1.&amp;#160;&amp;#160; Abstract class can have instant variable, instance Method, Virtual Method and Abstract Methods &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;abstract class BaseAbstract       &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; private int instanceVariable; &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; protected BaseAbstract()       &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; this.instanceVariable = 4;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public int InstanceVariable       &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; get { return instanceVariable; }        &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; set { instanceVariable = value; }        &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; public void InstanceMethod() { Console.WriteLine(&amp;quot;Base.InstanceMethod&amp;quot;); } &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public virtual void InstanceVirtualMethod() { Console.WriteLine(&amp;quot;Base.InstanceVirtualMethod&amp;quot;); }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private void InteralMethod() { Console.WriteLine(&amp;quot;Base.Internal&amp;quot;);}        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public abstract void AbstractMethod();        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; 2.&amp;#160;&amp;#160;&amp;#160; As Abstract Type can never be instantiated, but it can have public constructor. Now the question if you cannot instantiate a type, why will you need a constructor? Well if you define a constructor in the base abstract class you can use it instantiate base instance variable. Constructor should be either public or protected. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;abstract class BaseAbstract       &lt;br /&gt;&amp;#160;&amp;#160; {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private int instanceVariable; &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; protected BaseAbstract()       &lt;br /&gt;&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; this.instanceVariable = 4;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;3.&amp;#160;&amp;#160; A constructor cannot be marked as “abstract”, as you cannot override a constructor.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4.&amp;#160;&amp;#160; You can have derived abstract from parent abstract class. Child class can optionally provide implementation for abstract method in parent class.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 5.&amp;#160; Methods marked as abstract are implicitly virtual.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Virtual, Override and New&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;.NET is backward compatible. This means introduction to a method in base class which has same name as a method in derived class will not break the code. Basic tenants for &lt;em&gt;virtual &lt;/em&gt;and &lt;em&gt;new&lt;/em&gt; are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;base class method must be defined virtual.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;If the method in the derived class is not preceded by new or override keywords, the compiler will issue a warning and the method will behave as if the new keyword were present.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;If the method in the derived class is preceded with the new keyword, the method is defined as being independent of the method in the base class.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;If the method in the derived class is preceded with the override keyword, objects of the derived class will call that method instead of the base class method.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;The base class method can be called from within the derived class using the base keyword.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;The override, virtual, and new keywords can also be applied to properties, indexers, and events.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In essence if you do not use &lt;em&gt;override&lt;/em&gt; if the compile-time type is base then method from the compile will be called:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;abstract class BaseAbstract       &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; private int instanceVariable; &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; protected BaseAbstract()       &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; this.instanceVariable = 4;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public int InstanceVariable       &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; get { return instanceVariable; }        &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; set { instanceVariable = value; }        &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; public void InstanceMethod() { Console.WriteLine(&amp;quot;Base.InstanceMethod&amp;quot;); } &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public virtual void InstanceVirtualMethod() { Console.WriteLine(&amp;quot;Base.InstanceVirtualMethod&amp;quot;); }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private void InteralMethod() { Console.WriteLine(&amp;quot;Base.Internal&amp;quot;);}        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public abstract void AbstractMethod();        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;class Child1:BaseAbstract       &lt;br /&gt;&amp;#160;&amp;#160; {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public Child1()        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public new void InstanceMethod()       &lt;br /&gt;&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; Console.WriteLine(&amp;quot;Child.InstaMethod&amp;quot;);        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public override void AbstractMethod()        &lt;br /&gt;&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; Console.WriteLine(&amp;quot;Child.AbstractImplementation&amp;quot;);        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public override void InstanceVirtualMethod()       &lt;br /&gt;&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; Console.WriteLine(&amp;quot;Child.InstaceVirtualMethod&amp;quot;);        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&amp;#160;&amp;#160; }&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;static void Main(string[] args)       &lt;br /&gt;&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; BaseAbstract ba = new Child1();        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ba.AbstractMethod(); //Child.AbstractImplementation        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ba.InstanceVirtualMethod();//Child.InstanceVirtualMethod         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ba.InstanceMethod();//Base.InstanceMethod        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Method resolution basically follows this algorithm. In the example above compile-time type is BaseAbstract, run-time type is Child1 and the InstantMethod call is determined by following rule:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;First, overload resolution is applied to BaseAbstract to select a specific method InstantMethod from the set of methods declared in and inherited by BaseAbstract. &lt;/li&gt;    &lt;li&gt;Then, if InstantMethod is a non-virtual method, InstantMethod is invoked. &lt;/li&gt;    &lt;li&gt;Otherwise, InstantMethod is a virtual method, and the most derived implementation of InstantMethod with respect to &lt;font face="Courier New"&gt;Child1&lt;/font&gt; is invoked.&lt;/li&gt;    &lt;li&gt;If you make a non-virtual call to the method in base call &lt;em&gt;base.InstanceVirtualMethod() &lt;/em&gt;from the derived class then it goes back to inheritance chain and finds the most derived implementation.&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/1286429809968788187-5165397531429732673?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/5165397531429732673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=5165397531429732673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/5165397531429732673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/5165397531429732673'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2011/03/all-about-abstract-virtual-and-override.html' title='All About Abstract, Virtual and Override in .NET'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2457237241897761532</id><published>2011-03-25T10:13:00.001-04:00</published><updated>2011-03-25T16:37:25.066-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint 2010 Customization Cheat Sheet</title><content type='html'>&lt;p&gt;While customizing SharePoint 2010 I have compiled this cheat sheet to avoid basic mistakes:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Start with Heather Solomon’s essential guide to SharePoint branding. This apply to both 2007 and 2010:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.heathersolomon.com/blog/articles/brandsppart1.aspx"&gt;http://www.heathersolomon.com/blog/articles/brandsppart1.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://hermansberghem.blogspot.com/2010/05/how-to-build-publishing-masterpage-for.html"&gt;http://hermansberghem.blogspot.com/2010/05/how-to-build-publishing-masterpage-for.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Randy got awesome customization series:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/09/random-branding-tip-1.html"&gt;SP2010 Branding Tip Series&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-1-applying-custom.html"&gt;SP2010 Branding Tip #1 – Applying Custom Master Pages to _layouts Pages&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-2-custom-master.html"&gt;SP2010 Branding Tip #2 – Custom Master Pages and Dialog Boxes&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-3-getting-your-css.html"&gt;SP2010 Branding Tip #3 – Getting your CSS to be the last to load&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-4-easily-show.html"&gt;SP2010 Branding Tip #4 – Easily show a Favicon in SharePoint 2010&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-5-handling.html"&gt;SP2010 Branding Tip #5 – Handling unsupported browsers&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-6-mobile-browsers.html"&gt;SP2010 Branding Tip #6 – Mobile Browsers&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-7-using-simple.html"&gt;SP2010 Branding Tip #7 – Using Simple Rendering in SharePoint Navigation&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-8-alternate-css-can.html"&gt;SP2010 Branding Tip #8 – Alternate CSS can crash your site (until its fixed)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/sp2010-branding-tip-9-turn-on-anonymous.html"&gt;SP2010 Branding Tip #9 – Turn on Anonymous Access&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2009/11/starter-master-pages-for-sharepoint.html"&gt;SP2010 Branding Tip #10 Starter Master Pages for SharePoint 2010 (Formerly Known as Minimal Master Pages)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2010/01/sp2010-branding-tip-11-un-floating.html"&gt;SP2010 Branding Tip #11 – Un-Floating the Ribbon in custom Master Pages&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2010/09/sp2010-branding-tip-12-hiding-quick.html"&gt;SP2010 Branding Tip #12 – Hiding the Quick Launch on page Level&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.drisgill.com/2010/09/sp2010-branding-tip-13-hiding-recently.html"&gt;SP2010 Branding Tip #13 – Hiding the Recently Modified on Team Sites&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Joel’s customization resources page: &lt;a href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&amp;amp;ID=338"&gt;http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&amp;amp;ID=338&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Starter Master Pages for SharePoint 2010: &lt;a href="http://startermasterpages.codeplex.com/"&gt;http://startermasterpages.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;SharePoint team blog: &lt;a href="http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?PageType=4&amp;amp;ListId={72C1C85B-1D2D-4A4A-90DE-CA74A7808184}&amp;amp;pID=426"&gt;http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?PageType=4&amp;amp;ListId={72C1C85B-1D2D-4A4A-90DE-CA74A7808184}&amp;amp;pID=426&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;SharePoint 2010 CSS reference chart: &lt;a href="http://erikswenson.blogspot.com/2010/01/sharepoint-2010-base-css-classes.html"&gt;http://erikswenson.blogspot.com/2010/01/sharepoint-2010-base-css-classes.html&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/1286429809968788187-2457237241897761532?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2457237241897761532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2457237241897761532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2457237241897761532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2457237241897761532'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2011/03/sharepoint-2010-customization-cheat.html' title='SharePoint 2010 Customization Cheat Sheet'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2217354926914428402</id><published>2011-03-10T06:28:00.001-05:00</published><updated>2011-03-25T16:37:25.072-04:00</updated><title type='text'>CloudShare providing free hosting</title><content type='html'>If you are interested in sparing yourself from installing VM's, checkout CloudShare Pro program. They offer free (not trial) machines. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2217354926914428402?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2217354926914428402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2217354926914428402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2217354926914428402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2217354926914428402'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2011/03/cloudshare-providing-free-hosting.html' title='CloudShare providing free hosting'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-153254644777979210</id><published>2010-10-08T14:14:00.001-04:00</published><updated>2010-10-08T14:14:32.506-04:00</updated><title type='text'>Recent Reads</title><content type='html'>&lt;ol&gt;   &lt;li&gt;&lt;a href="http://arstechnica.com/apple/guides/2010/10/converting-video-for-the-iphone-4.ars"&gt;How to convert video for the iPhone 4's high-res display&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.khanacademy.org/"&gt;Khan Academy&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.turnkeylinux.org/blog/png-vs-jpg"&gt;PNG vs JPG: 6 simple lessons you can learn from our mistakes | TurnKey Linux Blog&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://jqfundamentals.com/book/book.html"&gt;jQuery Fundamentals&lt;/a&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/1286429809968788187-153254644777979210?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/153254644777979210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=153254644777979210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/153254644777979210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/153254644777979210'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/10/recent-reads.html' title='Recent Reads'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2503081117051937176</id><published>2010-09-13T13:35:00.001-04:00</published><updated>2010-09-13T13:35:58.454-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><title type='text'>Update the Project Type in Visual Studio</title><content type='html'>&lt;p&gt;When working against SharePoint or any other platform, you need to create projects for custom type like WSPBuilder project or Workflow project as they provide us with nice tools to compile and build the packages with one click. Problem with these projects are that they do not allow you to added web controls (usercontrols and aspx page). To overcome this issue you will need to update the project to be of different or multiple type. Here is the list of well know project types and their respective GUIDS:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;&lt;b&gt;Project Type Description&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;&lt;b&gt;Project Type Guid&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Windows (C#)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Windows (VB.NET)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{F184B08F-C81C-45F6-A57F-5ABD9991F28F}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Windows (Visual C++)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Web Application&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{349C5851-65DF-11DA-9384-00065B846F21}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Web Site&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{E24C65DC-7377-472B-9ABA-BC803B73C61A}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Distributed System&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{F135691A-BF7E-435D-8960-F99683D2D49C}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Windows Communication Foundation (WCF)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{3D9AD99F-2412-4246-B90B-4EAA41C64699}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Windows Presentation Foundation (WPF)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{60DC8134-EBA5-43B8-BCC9-BB4BC16C2548}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Visual Database Tools&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{C252FEB5-A946-4202-B1D4-9916A0590387}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Database&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{A9ACE9BB-CECE-4E62-9AA4-C7E7C5BD2124}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Database (other project types)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{4F174C21-8C12-11D0-8340-0000F80270F8}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Test&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{3AC096D0-A1C2-E12C-1390-A8335801FDAB}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Legacy (2003) Smart Device (C#)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{20D4826A-C6FA-45DB-90F4-C717570B9F32}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Legacy (2003) Smart Device (VB.NET)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{CB4CE8C6-1BDB-4DC7-A4D3-65A1999772F8}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Smart Device (C#)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{4D628B5B-2FBC-4AA6-8C16-197242AEB884}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Smart Device (VB.NET)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{68B1623D-7FB9-47D8-8664-7ECEA3297D4F}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Workflow (C#)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{14822709-B5A1-4724-98CA-57A101D1B079}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Workflow (VB.NET)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{D59BE175-2ED0-4C54-BE3D-CDAA9F3214C8}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Deployment Merge Module&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{06A35CCD-C46D-44D5-987B-CF40FF872267}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Deployment Cab&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{3EA9E505-35AC-4774-B492-AD1749C4943A}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Deployment Setup&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{978C614F-708E-4E1A-B201-565925725DBA}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Deployment Smart Device Cab&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{AB322303-2255-48EF-A496-5904EB18DA55}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Visual Studio Tools for Applications (VSTA)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{A860303F-1F3F-4691-B57E-529FC101A107}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Visual Studio Tools for Office (VSTO)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{BAA0C2D2-18E2-41B9-852F-F413020CAA33}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;SharePoint Workflow&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{F8810EC1-6754-47FC-A15F-DFABD2E3FA90}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;XNA (Windows)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{6D335F3A-9D43-41b4-9D22-F6F17C4BE596}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;XNA (XBox)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;XNA (Zune)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{D399B71A-8929-442a-A9AC-8BEC78BB2433}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;SharePoint (VB.NET)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{EC05E597-79D4-47f3-ADA0-324C4F7C7484}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;SharePoint (C#)&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{593B0543-81F6-4436-BA1E-4747859CAAE2}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Silverlight&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;{A1591282-1198-4647-A2B1-27E5FF5F6F3B}&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In order to update the project type guids follow these steps:&lt;/p&gt;  &lt;p&gt;1) Open up Visual Studio, right click the project in the solution explorer tab.&lt;/p&gt;  &lt;p&gt;2) Choose “Unload Project” from the menu. Once the project is unloaded right click the project again and choose “Edit projectname.csproj” .&lt;/p&gt;  &lt;p&gt;3) Find the “ProjectTypeGuids” element in the file and append the project type guids that you wish to include:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ProjectTypeGuids&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;{349c5851-65df-11da-9384-00065b846f21};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ProjectTypeGuids&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Note: Each guid is separated by “;”.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2503081117051937176?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2503081117051937176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2503081117051937176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2503081117051937176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2503081117051937176'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/09/update-project-type-in-visual-studio.html' title='Update the Project Type in Visual Studio'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-3707678775642561083</id><published>2010-08-11T12:22:00.001-04:00</published><updated>2010-08-11T12:24:13.711-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Infopath Contact Selector ‘To’ button error outs</title><content type='html'>&lt;p&gt;InfoPath Contact Selector is again trying my patience!!!&lt;/p&gt;  &lt;p&gt;I am trying to get users to search the Active Directory, but my contact selector control just not working. Here is the screen capture:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/TGLOWOPwPdI/AAAAAAAAHG4/gEF6pkRUjpI/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/TGLOWd14-vI/AAAAAAAAHHA/6-dmR3LGaNw/image_thumb%5B3%5D.png?imgmax=800" width="790" height="658" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It says “containerpicker.aspx error CS0118: ”..stack trace is quit long. At present I have no idea about this issue. This is all out-of-the-box functionality. Current workaround is not to use this, as name check button on the right still works.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-3707678775642561083?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/3707678775642561083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=3707678775642561083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3707678775642561083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3707678775642561083'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/08/infopath-contact-selector-to-button.html' title='Infopath Contact Selector ‘To’ button error outs'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_CdwbQksvcqY/TGLOWd14-vI/AAAAAAAAHHA/6-dmR3LGaNw/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-7888349096576470281</id><published>2010-08-08T09:21:00.002-04:00</published><updated>2010-08-08T09:22:30.278-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Big Think Interview With David Heinemeier Hansson</title><content type='html'>&lt;script src="http://video.bigthink.com/player.js?embedCode=F5bzRtMTqcyvX4UxNONSuPzRUZLJxNch&amp;height=245&amp;autoplay=0&amp;deepLinkEmbedCode=F5bzRtMTqcyvX4UxNONSuPzRUZLJxNch&amp;width=516"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-7888349096576470281?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/7888349096576470281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=7888349096576470281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/7888349096576470281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/7888349096576470281'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/08/big-think-interview-with-david.html' title='Big Think Interview With David Heinemeier Hansson'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1476737882543747239</id><published>2010-07-22T14:13:00.000-04:00</published><updated>2010-07-22T14:14:37.665-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Setting People Picker to search users within the forest</title><content type='html'>&lt;p&gt;So you setting up your SharePoint farm to import all the users into SharePoint User Profile database. You create a new profile connection and run the full import:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/TEiKhAjrK3I/AAAAAAAAHGI/g1FddMxoON4/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/TEiKhqfU9xI/AAAAAAAAHGQ/94otPiRijrs/image_thumb%5B3%5D.png?imgmax=800" width="644" height="418" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once you do this you are able to see all the imported users in the user profiles in your SSP:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/TEiKiUuHj6I/AAAAAAAAHGY/Y1qEa5aMukY/s1600-h/image%5B9%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/TEiKjAipmtI/AAAAAAAAHGg/RLUzybAGs4Q/image_thumb%5B5%5D.png?imgmax=800" width="644" height="453" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Eevery thing looks perfect and you create a web application and set this SSP as the primary provider. All the imported users should be able to access your site is you have given at “Read Only” permission to “NT Authority\authenticated users”. This all works, except you cannot lookup or search users with people picker control. By default people picker is only allowed to search people in site collection. SharePoint creates users in a site collection when they try to login into the site first time. Even if they fail to login that username is created in the site collection and it will appear in the people picker “Select people and groups” dialog box.&lt;/p&gt;  &lt;p&gt;If you find this behavior unacceptable (as I do) and want to search people in your Active Directory forest, you will have to use the following stsadm command:&lt;/p&gt;  &lt;p&gt;stsadm.exe -o setproperty –url “http://myportal.com” -pn &amp;quot;peoplepicker-searchadforests&amp;quot; –pv “forest:mydomain.com”,&amp;quot;domain:mydomain.com&amp;quot;, domain\username, password&lt;/p&gt; you will need an account that can access the domain controller and make the query. Once this is setup your people picker should able to search “mydomain.com”forest inside the “myportal”.    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-1476737882543747239?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/1476737882543747239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=1476737882543747239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1476737882543747239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1476737882543747239'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/07/setting-people-picker-to-search-users.html' title='Setting People Picker to search users within the forest'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_CdwbQksvcqY/TEiKhqfU9xI/AAAAAAAAHGQ/94otPiRijrs/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1964389466146070329</id><published>2010-07-19T12:46:00.001-04:00</published><updated>2010-07-19T12:46:44.647-04:00</updated><title type='text'>InfoPath version setting and its effect on existing forms</title><content type='html'>&lt;p&gt;I was working with an existing form library. Template for this form library is published with some fields and users wants to capture more information on the form. So we decide to add couple of more fields on the forms. In past I have no problem adding new fields or groups to the form unless I am promoting the fields as site columns (after certain limit your forms times out before it can publish). I made few changes and published the form, everything worked on new form. Users where able to go and save all the information on the form and submit it to form library. Issue occurred on existing forms, all the forms which were created before publishing the template showed new fields as read only or display only. I never had this issue so I was bit surprised with this behavior. After looking around on web I came to two possible source of errors:&lt;/p&gt;  &lt;p&gt;1) For some reason version number of the form is not updated. This is can easily fixed by going to &lt;strong&gt;Tools –&amp;gt; Form Options –&amp;gt; Versioning&lt;/strong&gt;&amp;#160; and updating the version number manually.&lt;/p&gt;  &lt;p&gt;2) You have not chosen “&lt;strong&gt;Automatically upgrade existing forms&lt;/strong&gt;” option in “&lt;strong&gt;On version upgrade&lt;/strong&gt;” drop down on the versioning tab. Other options is to “&lt;strong&gt;do nothing&lt;/strong&gt;” or “&lt;strong&gt;use custom events&lt;/strong&gt;” which allows you to bind a custom event handler that you can code in visual studio.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/TESBcUIhfyI/AAAAAAAAHFs/Pe-0ShU37IU/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/TESBc8d82jI/AAAAAAAAHF0/jdp3fzf2Wek/image_thumb%5B1%5D.png?imgmax=800" width="604" height="261" /&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/1286429809968788187-1964389466146070329?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/1964389466146070329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=1964389466146070329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1964389466146070329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1964389466146070329'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/07/infopath-version-setting-and-its-effect.html' title='InfoPath version setting and its effect on existing forms'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_CdwbQksvcqY/TESBc8d82jI/AAAAAAAAHF0/jdp3fzf2Wek/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-1286429809968788187.post-2348366449318793992</id><published>2010-04-07T09:58:00.001-04:00</published><updated>2010-04-07T09:58:57.336-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>GACUTIL.EXE hates 3.0/3.5 Framework assemblies</title><content type='html'>&lt;p&gt;You might be aware of a nifty tool from Microsoft to install/uninstall/query installed assemblies in a special folder “\\windows\assemblies” called gacutil. I use this tool a lot to determine what assemblies are installed on target machine. Today I installed 3.5 framework on our test server and try running this tool to determine the assemblies. To my surprise it works perfectly with assemblies until 2.0 framework, but does not show details for 3.0 and 3.5 framework. I can browse using my explorer and see these assemblies in the folder but using gacutil it does not show up:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/S7yPmrVunMI/AAAAAAAAG7c/0BDYUxC4kOw/s1600-h/image%5B18%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/S7yPnFT2HWI/AAAAAAAAG7k/qFwgVjASoCk/image_thumb%5B12%5D.png?imgmax=800" width="434" height="686" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This is the result of gacutil:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/S7yPnqPEv5I/AAAAAAAAG7s/yMasGKvn6N0/s1600-h/image%5B16%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/S7yPoC3-nMI/AAAAAAAAG70/qBmnpYxADFI/image_thumb%5B10%5D.png?imgmax=800" width="704" height="772" /&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/1286429809968788187-2348366449318793992?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2348366449318793992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2348366449318793992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2348366449318793992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2348366449318793992'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/04/gacutilexe-hates-3035-framework.html' title='GACUTIL.EXE hates 3.0/3.5 Framework assemblies'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_CdwbQksvcqY/S7yPnFT2HWI/AAAAAAAAG7k/qFwgVjASoCk/s72-c/image_thumb%5B12%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-4157522629215598994</id><published>2010-03-17T10:28:00.001-04:00</published><updated>2010-03-17T10:28:45.208-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><title type='text'>Convert Mixed Cased field to Lower, Upper and Title Case in InfoPath</title><content type='html'>&lt;p&gt;Requirement: I have field on Infopath form that is free text box, say “FirstName”. We want to store the FirstName in title case (first character uppercase and rest lower).&lt;/p&gt;  &lt;p&gt;Solution: I can to a regular expression check and ask users to enter data in correct format, but that will be quit limiting and reduces usability of the form. So, I decided to convert the case of the field after user enters the data. I accomplished this using no code. This solution is done using XPath expressions.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Convert FirstName to lower case:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;translate(my:FirstName, &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;, &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Convert FirstName to upper case:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;translate(my:FirstName, &amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;, &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Convert FisrtName to Title Case: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This one is bit convoluted. We use concat, substring, translate and string-length infopath functions to accomplish this task. Idea is to divide the original string into two sub string:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;first sub-string will the very first charecter that will converted to upper case.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;second sub-string will be from second to last character, which will be converted to lower case.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Last step it to combine the two sub strings. Here how I do this:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;concat(translate(substring(my:FirstName, 1, 1), &amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;, &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;), translate(substring(my:FirstName, 2, &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;string-length(my:FirstName) - 1), &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;, &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;))&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here how you can apply this formula in the rule after for the text area:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/S6DnFE3UtuI/AAAAAAAAG3I/13Vmh04-MOo/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/S6DnF2TSzTI/AAAAAAAAG3Q/SC-SlUMjL9o/image_thumb%5B3%5D.png?imgmax=800" width="354" height="239" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This is how it shows up:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/S6DnGuzZMGI/AAAAAAAAG3Y/ilEoOWQnR_E/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/S6DnHK_NIGI/AAAAAAAAG3g/LWlip5dK68c/image_thumb%5B1%5D.png?imgmax=800" width="533" height="42" /&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/1286429809968788187-4157522629215598994?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/4157522629215598994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=4157522629215598994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4157522629215598994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4157522629215598994'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/03/convert-mixed-cased-field-to-lower.html' title='Convert Mixed Cased field to Lower, Upper and Title Case in InfoPath'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_CdwbQksvcqY/S6DnF2TSzTI/AAAAAAAAG3Q/SC-SlUMjL9o/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-3803314817894343600</id><published>2010-03-09T08:50:00.001-05:00</published><updated>2010-03-09T08:50:17.188-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Quick Link to Kanban</title><content type='html'>&lt;p&gt;I was listening to one of the podcast on Kanban from David Anderson at &lt;a href="http://www.se-radio.net/podcast/2010-02/episode-156-kanban-david-anderson" target="_blank"&gt;Software Engineering Radio&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;One excellent resource to start Kanban is &lt;a href="http://blog.crisp.se/henrikkniberg/2009/11/19/1258614240000.html" target="_blank"&gt;Henrik KinBerg’s blog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can find a nice presentation here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://qconsf.com/sf2009/file?path=/qcon-sanfran-2009/slides/HenrikKniberg_KanbanVsScrumAPracticalGuide.pdf"&gt;http://qconsf.com/sf2009/file?path=/qcon-sanfran-2009/slides/HenrikKniberg_KanbanVsScrumAPracticalGuide.pdf&lt;/a&gt;&lt;/p&gt; Enjoy!!  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-3803314817894343600?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/3803314817894343600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=3803314817894343600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3803314817894343600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3803314817894343600'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2010/03/quick-link-to-kanban.html' title='Quick Link to Kanban'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-3670485303642226231</id><published>2009-11-25T14:33:00.001-05:00</published><updated>2009-11-25T14:33:05.160-05:00</updated><title type='text'>Sending Email from SharePoint Designer Workflow to a SharePoint Group</title><content type='html'>&lt;p&gt;I hate early morning adventure. I came to office and start working on a relatively trivial task:&lt;/p&gt;  &lt;p&gt;“Create a workflow in SharePoint designer to send an Email to a certain SharePoint Group when certain things happen.”&lt;/p&gt;  &lt;p&gt;Looks innocent..so I used out-of-box “Send Email” activity to create the Email and put the Group Name in the “To” field, ran the workflow and…..it did not send the mail. When I check the status of the workflow instead of “Completed” it said “Stopped”. Now it didn’t through any exception but just stopped. I make sure that there is no permission issue I reran the workflow as site collection administrator and…it ran successfully. Looks like a permission issue, but permission on what??&lt;/p&gt;  &lt;p&gt;User who is created the item already has permission on the item and list, so what’s going on. After scratching my head for few minutes it occurred to me that “Send Email” activity might not have access to the SharePoint group. I went to settings page of the SharePoint Group and under &lt;strong&gt;“Group Settings”&lt;/strong&gt; check &lt;strong&gt;“Who can view the membership of the group?” &lt;/strong&gt;to &lt;strong&gt;“Everyone”&lt;/strong&gt;:&lt;/p&gt;  &lt;h5&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/h5&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/Sw2Gb1_JOrI/AAAAAAAAAXE/vc5B5Tpedio/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/Sw2GcDy9bNI/AAAAAAAAAXI/i2Y0iaN0HzA/image_thumb%5B1%5D.png?imgmax=800" width="644" height="194" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This should allow you to send the mail to this group.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-3670485303642226231?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/3670485303642226231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=3670485303642226231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3670485303642226231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3670485303642226231'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/11/sending-email-from-sharepoint-designer.html' title='Sending Email from SharePoint Designer Workflow to a SharePoint Group'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_CdwbQksvcqY/Sw2GcDy9bNI/AAAAAAAAAXI/i2Y0iaN0HzA/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-1286429809968788187.post-467665724025612982</id><published>2009-11-25T07:27:00.001-05:00</published><updated>2009-11-25T07:27:07.620-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>Installing SharePoint 2010 beta</title><content type='html'>&lt;p&gt;Yesterday I woke up with this strange urge to setup development box for SharePoint 2010 beta. Now this might sound an easy task but it was quit daunting as I was running Vista Ultimate (32-bit). I double checked my hardware and strangely found that it supports&amp;#160; 64-bit operating system. This is great as SharePoint 2010&lt;font size="4"&gt;&lt;strong&gt; exclusively runs on 64-bit Vista, Windows 7 or Windows Server 2008. &lt;/strong&gt;&lt;/font&gt;&lt;font size="2"&gt;For reality check, I went through couple of posts and articles:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;1) &lt;a title="http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx" href="http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx"&gt;http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx&lt;/a&gt; and &lt;a title="http://www.codeproject.com/KB/sharepoint/SharePoint_Server_2010.aspx" href="http://www.codeproject.com/KB/sharepoint/SharePoint_Server_2010.aspx"&gt;http://www.codeproject.com/KB/sharepoint/SharePoint_Server_2010.aspx&lt;/a&gt; : This is probably best available guide to install SharePoint 2010. I followed all the steps faithfully and able to get through my installation. These posts will guide you&amp;#160; through your installation smooth except couple of things:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;i) When making changes to config.xml file that SharePoint installer uses copy this:&lt;/font&gt;&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&amp;lt;Configuration&amp;gt;&lt;br /&gt;&amp;lt;Package Id=&lt;span class="str"&gt;&amp;quot;sts&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;Setting Id=&lt;span class="str"&gt;&amp;quot;LAUNCHEDFROMSETUPSTS&amp;quot;&lt;/span&gt; Value=&lt;span class="str"&gt;&amp;quot;Yes&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;&amp;lt;/Package&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Package Id=&lt;span class="str"&gt;&amp;quot;spswfe&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;Setting Id=&lt;span class="str"&gt;&amp;quot;SETUPCALLED&amp;quot;&lt;/span&gt; Value=&lt;span class="str"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;&amp;lt;Setting Id=&lt;span class="str"&gt;&amp;quot;OFFICESERVERPREMIUM&amp;quot;&lt;/span&gt; Value=&lt;span class="str"&gt;&amp;quot;1&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&amp;lt;/Package&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Logging Type=&lt;span class="str"&gt;&amp;quot;verbose&amp;quot;&lt;/span&gt; Path=&lt;span class="str"&gt;&amp;quot;%temp%&amp;quot;&lt;/span&gt; Template=&lt;span class="str"&gt;&amp;quot;SharePoint Server Setup(*).log&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;&amp;lt;PIDKEY Value=&lt;span class="str"&gt;&amp;quot;PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&amp;lt;Setting Id=&lt;span class="str"&gt;&amp;quot;SERVERROLE&amp;quot;&lt;/span&gt; Value=&lt;span class="str"&gt;&amp;quot;SINGLESERVER&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;&amp;lt;Setting Id=&lt;span class="str"&gt;&amp;quot;USINGUIINSTALLMODE&amp;quot;&lt;/span&gt; Value=&lt;span class="str"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;&amp;lt;Setting Id=&lt;span class="str"&gt;&amp;quot;SETUPTYPE&amp;quot;&lt;/span&gt; Value=&lt;span class="str"&gt;&amp;quot;CLEAN_INSTALL&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;&amp;lt;Setting Id=&lt;span class="str"&gt;&amp;quot;SETUP_REBOOT&amp;quot;&lt;/span&gt; Value=&lt;span class="str"&gt;&amp;quot;Never&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;&amp;lt;Setting Id=&lt;span class="str"&gt;&amp;quot;AllowWindowsClientInstall&amp;quot;&lt;/span&gt; Value=&lt;span class="str"&gt;&amp;quot;True&amp;quot;&lt;/span&gt; /&amp;gt; &lt;br /&gt;&amp;lt;/Configuration&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;font size="2"&gt;ii) Posts mention a script that you can run to set IIS features that needs to be activated in order for installation to run. You might want to copy this from here:&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;&lt;br /&gt;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;&lt;br /&gt;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;&lt;br /&gt;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-HealthAndDiagnostics;&lt;br /&gt;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;&lt;br /&gt;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;&lt;br /&gt;IIS-RequestFiltering;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;&lt;br /&gt;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-IIS6ManagementCompatibility;&lt;br /&gt;IIS-Metabase;IIS-WMICompatibility;WAS-WindowsActivationService;WAS-ProcessModel;&lt;br /&gt;WAS-NetFxEnvironment;WAS-ConfigurationAPI;WCF-HTTP-Activation;&lt;br /&gt;WCF-NonHTTP-Activation&lt;/pre&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;font size="2"&gt;2) &lt;/font&gt;&lt;a title="http://blogs.msdn.com/opal/archive/2009/11/16/installation-notice-for-sharepoint-2010-public-beta.aspx" href="http://blogs.msdn.com/opal/archive/2009/11/16/installation-notice-for-sharepoint-2010-public-beta.aspx"&gt;http://blogs.msdn.com/opal/archive/2009/11/16/installation-notice-for-sharepoint-2010-public-beta.aspx&lt;/a&gt; : This link provides the pre-installation software list and product keys. I did not follow this walks you through &lt;strong&gt;&lt;font size="4"&gt;“Farm ”&lt;/font&gt;&lt;/strong&gt; install and I targeted a &lt;strong&gt;&lt;font size="4"&gt;“Standalone”&lt;/font&gt;&lt;/strong&gt; install. So what exactly “Standalone” install does for us, I like to compare it with SharePoint 2007 install without Active Directory integration. It uses SQL Server Express as the database and should only be used for development environment.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Actual Hardware: My box is running a&lt;font size="4"&gt;&lt;strong&gt; Intel core 2 duo (2.2 GHz)&lt;/strong&gt;&lt;/font&gt; with &lt;font size="4"&gt;&lt;strong&gt;2GB DDR2 dual channel PC2-6400 800 MHz&lt;/strong&gt;&lt;/font&gt; RAM. Install went quit smooth on this machine except when I try to spin SharePoint worker processes. My memory is not quit enough here is my memory graph:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/Sw0ihj1HFUI/AAAAAAAAAWk/lDxf2W_CgTc/s1600-h/MemoryUsage3.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="MemoryUsage" border="0" alt="MemoryUsage" src="http://lh3.ggpht.com/_CdwbQksvcqY/Sw0iiE31KTI/AAAAAAAAAWo/Ng7w_hipiI8/MemoryUsage_thumb1.png?imgmax=800" width="578" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I ran perfmon and added “Page Fault” as parameter and it clearly shows me why Microsoft recommends minimum of 4GB RAM:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/Sw0iibgkynI/AAAAAAAAAWs/8EspwrJzPwg/s1600-h/PageFault23.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="PageFault2" border="0" alt="PageFault2" src="http://lh3.ggpht.com/_CdwbQksvcqY/Sw0iigFTJMI/AAAAAAAAAWw/cyvKD4QGjSc/PageFault2_thumb1.png?imgmax=800" width="644" height="462" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Most of the time if you try to do a simple operation like add an item to list you will end up with an error. I have upgraded the system with 4GB extra RAM and now I am running 6GB and system is performing quit well.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;strong&gt;Current Issues:&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;O&lt;/font&gt;&lt;/strong&gt;nce I installed my SharePoint 2010, I got this error at the end of the install: Failed to create sample data&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/Sw0il-5AWAI/AAAAAAAAAW0/rHsSii4aprM/s1600-h/SharePoint%20Wizard%20Error%5B10%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SharePoint Wizard Error" border="0" alt="SharePoint Wizard Error" src="http://lh4.ggpht.com/_CdwbQksvcqY/Sw0imPlCAqI/AAAAAAAAAW4/MQhqf_3w3rE/SharePoint%20Wizard%20Error_thumb%5B8%5D.png?imgmax=800" width="644" height="406" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This is not a critical error, everything runs file except no sample data to play with. More information here: &lt;a title="http://www.gilham.org/Blog/Lists/Posts/Post.aspx?ID=720#Comments" href="http://www.gilham.org/Blog/Lists/Posts/Post.aspx?ID=720#Comments"&gt;http://www.gilham.org/Blog/Lists/Posts/Post.aspx?ID=720#Comments&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;At&amp;#160; this moment this issue actively discussed here: &lt;a title="http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/f239de4a-488e-47e1-8f1e-b382fd4668fa" href="http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/f239de4a-488e-47e1-8f1e-b382fd4668fa"&gt;http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/f239de4a-488e-47e1-8f1e-b382fd4668fa&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;O&lt;/font&gt;&lt;/strong&gt;ther issue that I ran into is with DataSheet Views. When I try to open my list in datasheetview it gives me this error:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/Sw0imXAwgkI/AAAAAAAAAW8/kGN9_MdAXa4/s1600-h/DataSheetViewError%5B4%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DataSheetViewError" border="0" alt="DataSheetViewError" src="http://lh6.ggpht.com/_CdwbQksvcqY/Sw0imnPuW8I/AAAAAAAAAXA/mmTDam3EFEw/DataSheetViewError_thumb%5B2%5D.png?imgmax=800" width="644" height="316" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I have to research this issue more. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here is the list of software installed on my development Box:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1) OS – Windows 7 (64-bit)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2) Visual Studio 2010 beta&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3) Office 2010 beta&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;4) SQL Server 2008 beta&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;5) Microsoft Sync Framework&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;6) Microsoft identity Framework (Geneva)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;7) SharePoint Designer 2010 beta (64-bit)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;8) InfoPath 2010 beta (64-bit)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;9) PowerPivot beta ( previously Gemini, you can download it here &lt;a title="http://www.powerpivot.com/download.aspx" href="http://www.powerpivot.com/download.aspx"&gt;http://www.powerpivot.com/download.aspx&lt;/a&gt; )&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Resources:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a title="http://www.google.com/reader/shared/sumit.rawat" href="http://www.google.com/reader/shared/sumit.rawat"&gt;http://www.google.com/reader/shared/sumit.rawat&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;a title="http://blogs.technet.com/gurmeets/default.aspx" href="http://blogs.technet.com/gurmeets/default.aspx"&gt;http://blogs.technet.com/gurmeets/default.aspx&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-467665724025612982?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/467665724025612982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=467665724025612982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/467665724025612982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/467665724025612982'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/11/installing-sharepoint-2010-beta.html' title='Installing SharePoint 2010 beta'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_CdwbQksvcqY/Sw0iiE31KTI/AAAAAAAAAWo/Ng7w_hipiI8/s72-c/MemoryUsage_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-4577284099256372425</id><published>2009-11-20T08:20:00.001-05:00</published><updated>2009-11-20T08:20:34.917-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><title type='text'>Quick note on case-insensitive comparison in InfoPath</title><content type='html'>&lt;p&gt;I am trying to compare current user who is trying to use a InfoPath form with a field which determines his access level on the form. I ran into a issue where sometimes user will complain that they are not able to see elements even though they have permissions on it. When I dug deeper into the issue I found that some time username() function that I am using to get the current logged in user returns string in mixed case (I guess cases are determined at the source&amp;#160; i.e. SSP). So I am fixing this issue with by using translate() function. Here is the code snippet that I am using:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;translate(my:CurrentUser,&amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;,&amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;) &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;!=translate(xdUser:get-UserName(),&amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;,&amp;quot;abcdefghijklmnopqrstuvwxyz&amp;quot;)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Thanks to Andrew Richter for this nice &lt;a href="http://arichterwork.blogspot.com/2008/04/comparing-infopath-fields-case.html" target="_blank"&gt;post&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/1286429809968788187-4577284099256372425?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/4577284099256372425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=4577284099256372425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4577284099256372425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4577284099256372425'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/11/quick-note-on-case-insensitive.html' title='Quick note on case-insensitive comparison in InfoPath'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-4245155964524234572</id><published>2009-11-14T10:31:00.001-05:00</published><updated>2009-11-14T10:31:03.231-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><title type='text'>SharePoint 2010 Workflow Features</title><content type='html'>&lt;p&gt;SharePoint 2007 workflow instances are associated with a list item. An instance can be created on creation or modification of a list item. This is limiting in many sense. How do I associate a workflow for a list/site level events? This is answered by Site base workflow. How do I associate with multiple documents? This is done by associating workflow instances with a new content type&lt;strong&gt; &lt;a href="http://www.helloitsliam.com/archive/2009/10/30/sharepoint-2010-user-experience-%E2%80%93-document-sets.aspx" target="_blank"&gt;Document Set&lt;/a&gt;&lt;/strong&gt; (basically it is collection of documents).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Visio Integration&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Workflow can be imported and exported between SharePoint Designer and Visio. Visio only allows Sequential workflows. Stencils in Visio will have conditions, actions and connectors. Saves as standard Visio (.vsd) file. File menu allows export to workflow file (.vdi) file which is a compacted set of “xoml” file.&lt;/p&gt;  &lt;p&gt;On the other side SPD has option “Import from Visio”. Wizard allows you to connect the workflow to a list.&lt;/p&gt;  &lt;p&gt;Video below shows a walkthrough by Ted Pattison on Channel 9 :&lt;/p&gt;  &lt;p&gt;&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_10_20.xap" /&gt; &lt;param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/learn/videos/SharePoint2010Developer-Workflow-WhatsNewinSharePoint2010Workflow/SharePoint2010Developer-Workflow-WhatsNewinSharePoint2010Workflow_kit.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://channel9.msdn.com/App_Themes/default/vp09_10_20.xap, postid=505187" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SharePoint Designer Enhancements&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Reusable workflow – It points to content type (including base item content type), so it can be associated with any list. You need to prudent on associating the workflow to content type as content type associated columns will be available to the workflow.&lt;/p&gt;  &lt;p&gt;Allows you to export as WSP. Can use aspx or InfoPath forms in the workflow. Nested actions – step inside a step. Out-of-the box workflows (like Approval Workflow) is configurable using SPD. SPD allows to create Workflow tasks. &lt;/p&gt;  &lt;p&gt;Approval Workflow is configurable using SPD. SPD allows to create Workflow tasks.&lt;/p&gt;  &lt;p&gt;Development Process: &lt;strong&gt;Visio –&amp;gt; SPD –&amp;gt; VS2010&lt;/strong&gt;. Ted Pattison explains this here:&lt;/p&gt;  &lt;p&gt;&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_10_20.xap" /&gt; &lt;param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/learn/videos/SharePoint2010Developer-Workflow-DesigningWorkflowswithSPD/SharePoint2010Developer-Workflow-DesigningWorkflowswithSPD_kit.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://channel9.msdn.com/App_Themes/default/vp09_10_20.xap, postid=505188" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SharePoint tools for Visual Studio 2010&lt;/strong&gt; – big step on easing development. More Events are available. Interaction with LOB systems by using custom External Data Exchange services. &lt;/p&gt;  &lt;p&gt;Paul Andrew provides a great introductory &lt;a href="http://msdn.microsoft.com/en-us/magazine/ee335710.aspx" target="_blank"&gt;article&lt;/a&gt; on this topic. Ted Pattison gives a simple walkthrough:&lt;/p&gt;  &lt;p&gt;&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_10_20.xap" /&gt; &lt;param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/learn/videos/SharePoint2010Developer-Workflow-DevelopingWorkflowswithVS2010/SharePoint2010Developer-Workflow-DevelopingWorkflowswithVS2010_kit.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://channel9.msdn.com/App_Themes/default/vp09_10_20.xap, postid=505189" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-4245155964524234572?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/4245155964524234572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=4245155964524234572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4245155964524234572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4245155964524234572'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/11/sharepoint-2010-workflow-features.html' title='SharePoint 2010 Workflow Features'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2452850845538922976</id><published>2009-10-23T11:09:00.001-04:00</published><updated>2009-10-23T11:11:08.780-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>InfoPath Repeating Table Lookup control on SharePoint List</title><content type='html'>&lt;p&gt;&lt;strong&gt;Scenario: &lt;/strong&gt;I have Repeating table control in my InfoPath form which look like this&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SuHHGJtTERI/AAAAAAAAATE/ZLoUNkEbZaM/s1600-h/image%5B9%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SuHHG9DDFLI/AAAAAAAAATI/HmoHDfC2Wck/image_thumb%5B5%5D.png?imgmax=800" width="644" height="80" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;and I am biding this Repeating table to a repeating group “Test” with four fields &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;1) Title&lt;/li&gt;    &lt;li&gt;2)Name&lt;/li&gt;    &lt;li&gt;3)Amount&lt;/li&gt;    &lt;li&gt;4)Date&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SuHHHMjcP-I/AAAAAAAAATM/oXnlu2OwoRc/s1600-h/image%5B8%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SuHHHrppQKI/AAAAAAAAATQ/kJegqYJdEPs/image_thumb%5B4%5D.png?imgmax=800" width="332" height="144" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I have a test list:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SuHHILo1T6I/AAAAAAAAATU/jwINKIohfwM/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SuHHI7OxSeI/AAAAAAAAATY/cSRLxp9CiZc/image_thumb%5B9%5D.png?imgmax=800" width="644" height="255" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;I create a data connection to this library in my InfoPath form. I then bind my &lt;em&gt;Title&lt;/em&gt; dropdown to the &lt;em&gt;Title &lt;/em&gt;column in the list.&amp;#160; What I want to happen is when user selects the a value in title he other fields in the form get auto-populated based on current &lt;em&gt;Title &lt;/em&gt;selection, as shown below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SuHHJctwRdI/AAAAAAAAATc/D6fmCyaWrBM/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/SuHHJ0K6reI/AAAAAAAAATg/3hvaxLHNhrg/image_thumb%5B11%5D.png?imgmax=800" width="644" height="100" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To achieve this, I have created a data connection “Test” and I have dropdown in the Title column and I am binding it to Title field from the data connection:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SuHHKiV7-RI/AAAAAAAAAUE/WctDXZjYMkQ/s1600-h/image%5B48%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SuHHLXaX-KI/AAAAAAAAAUM/m56IayF8AEE/image_thumb%5B32%5D.png?imgmax=800" width="644" height="281" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Then I added the rule on DropDown box select, that will set the&lt;em&gt; Name &lt;/em&gt;column of the repeating table with &lt;em&gt;Name1 &lt;/em&gt;field on the data connection filter by &lt;em&gt;&lt;a href="mailto:title@combobox=title@test-data-connection"&gt;title@combobox=title@test-data-connection&lt;/a&gt;:&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SuHHMJ65N4I/AAAAAAAAATs/Dy6ASjBqYQ0/s1600-h/image%5B37%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SuHHNEx4GqI/AAAAAAAAATw/qUr3vlZ4dC0/image_thumb%5B25%5D.png?imgmax=800" width="637" height="535" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;XPath of the rule is: &lt;em&gt;xdXDocument:GetDOM(&amp;quot;Test&amp;quot;)/dfs:myFields/dfs:dataFields/dfs:Test/@Name1[../@Title = xdXDocument:get-DOM()/my:myFields/my:Test/my:Title]&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Issue: &lt;/strong&gt;I published the form hoping that this will work fine, and found this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SuHHNz8z4yI/AAAAAAAAAT0/AhPLwr4S3ps/s1600-h/image%5B41%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SuHHO-0wuBI/AAAAAAAAAT4/jvFqA93QTtw/image_thumb%5B27%5D.png?imgmax=800" width="644" height="110" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The issue I am facing is that if I select &amp;quot;A1&amp;quot; first, it returns the correct value of “John”, but if I add a new row to the table, and choose, say &amp;quot;A5&amp;quot;, that too comes back as “John”. What’s more weird is that if I select &amp;quot;A5&amp;quot; as first row, then any subsequent rows work fine. It looks like first row returns back all the data from the list up to the value selected. If you choose &amp;quot;A1&amp;quot;, you only get first row from the list, but if you choose &amp;quot;A5&amp;quot; you will get all the rows up to this item.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution: &lt;/strong&gt;After googling for this behavior I found that XPth “current()” function should fix this problem. I modified the XPath on the rule as:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SuHHPXC7bVI/AAAAAAAAAT8/98T82ThPBcA/s1600-h/image%5B46%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SuHHQcDxG7I/AAAAAAAAAUA/9dfVcC6W-Zk/image_thumb%5B30%5D.png?imgmax=800" width="365" height="243" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;XPath for the rule looks like this:&lt;/p&gt;  &lt;p&gt;xdXDocument:GetDOM(&amp;quot;Test&amp;quot;)/dfs:myFields/dfs:dataFields/dfs:Test/@Name1[../@Title = current()/../my:Title]&lt;/p&gt;  &lt;p&gt;and that’s it, I am able to see the result I was hoping for.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2452850845538922976?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2452850845538922976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2452850845538922976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2452850845538922976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2452850845538922976'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/10/infopath-repeating-table-lookup-control.html' title='InfoPath Repeating Table Lookup control on SharePoint List'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_CdwbQksvcqY/SuHHG9DDFLI/AAAAAAAAATI/HmoHDfC2Wck/s72-c/image_thumb%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1297796536926900135</id><published>2009-10-18T09:51:00.001-04:00</published><updated>2009-10-19T14:12:28.016-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><title type='text'>InfoPath: Displaying SharePoint Group List Using “GetGroupCollectionFromUser” method</title><content type='html'>&lt;div id="codeSnippetWrapper"&gt;&amp;#160;&lt;/div&gt;  &lt;p&gt;In this post I will show a method to display Group membership of a user without writing any code behind in InfoPath form. This method will take advantage of the usergroup.asmx web service. We will try to get data from “GetGroupCollectionFromUser”.&lt;/p&gt;  &lt;h3&gt;Creating a Secondary Data Connection to UserGroup.asmx web service&lt;/h3&gt;  &lt;p&gt;1) Create a new Data Connection from “Tools” menu:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/StsdO0tT3KI/AAAAAAAAARQ/6xsOErTAduQ/s1600-h/DC-1%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-1" border="0" alt="DC-1" src="http://lh6.ggpht.com/_CdwbQksvcqY/StsdPJ3axQI/AAAAAAAAARU/sAxgt1ltNvQ/DC-1_thumb%5B1%5D.png?imgmax=800" width="441" height="441" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2) Create “Receive Data” connection:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/StsdPuGvJCI/AAAAAAAAARY/-hYCFcJ57S4/s1600-h/DC-2%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-2" border="0" alt="DC-2" src="http://lh4.ggpht.com/_CdwbQksvcqY/StsdPwt9nfI/AAAAAAAAARc/p2dMSWfkSHQ/DC-2_thumb%5B1%5D.png?imgmax=800" width="516" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3) Select Web Service as source of data:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/StsdQetrjDI/AAAAAAAAARg/f-WV5UdwZoQ/s1600-h/DC-3%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-3" border="0" alt="DC-3" src="http://lh4.ggpht.com/_CdwbQksvcqY/StsdQkxy9WI/AAAAAAAAARk/ycBjaTArtwk/DC-3_thumb%5B1%5D.png?imgmax=800" width="373" height="187" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4) Give service address (it should be &lt;a href="http://youserver/_vit_bin/usergroup.asmx"&gt;http://youserver/_vit_bin/usergroup.asmx&lt;/a&gt;):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/StsdRHglDuI/AAAAAAAAARo/a3UtJ28DvXs/s1600-h/DC-4%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-4" border="0" alt="DC-4" src="http://lh4.ggpht.com/_CdwbQksvcqY/StsdRaEnwwI/AAAAAAAAARs/MmSwHFjuiAI/DC-4_thumb%5B1%5D.png?imgmax=800" width="631" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;you can check in the browser first: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/StsdRiwkXcI/AAAAAAAAARw/JyeSA7XjZmU/s1600-h/DC-5%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-5" border="0" alt="DC-5" src="http://lh6.ggpht.com/_CdwbQksvcqY/StsdSG_GIrI/AAAAAAAAAR0/gABflLXKFtY/DC-5_thumb%5B1%5D.png?imgmax=800" width="332" height="317" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5) Select GetGroupCollectionFromUser web method:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/StsdSk-Ip8I/AAAAAAAAAR4/GN_uCRGmqgI/s1600-h/DC-6%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-6" border="0" alt="DC-6" src="http://lh4.ggpht.com/_CdwbQksvcqY/StsdTFMkB0I/AAAAAAAAAR8/4YSVNhSiyAM/DC-6_thumb%5B1%5D.png?imgmax=800" width="332" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6) Give a real username otherwise this will not allow you create the connection:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/StsdTa773NI/AAAAAAAAASA/LV9vlaJDs8c/s1600-h/DC-7%5B6%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-7" border="0" alt="DC-7" src="http://lh5.ggpht.com/_CdwbQksvcqY/StsdT5w-JhI/AAAAAAAAASE/bxGAuw13duQ/DC-7_thumb%5B2%5D.png?imgmax=800" width="488" height="269" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can leave next step blank as we will specify the input parameter from a input field:&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/StsdUIdfx6I/AAAAAAAAASI/7cD6vJziinU/s1600-h/DC-8%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-8" border="0" alt="DC-8" src="http://lh6.ggpht.com/_CdwbQksvcqY/StsdUbN1rlI/AAAAAAAAASM/E1XdqQLdtO0/DC-8_thumb%5B1%5D.png?imgmax=800" width="490" height="149" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;7) We will not store a copy of data for this example but you can chose to do that:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/StsdU8bxUgI/AAAAAAAAASQ/OFHRLs-OEsU/s1600-h/DC-9%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-9" border="0" alt="DC-9" src="http://lh6.ggpht.com/_CdwbQksvcqY/StsdVKByEPI/AAAAAAAAASU/mWS_z6tNG1k/DC-9_thumb%5B1%5D.png?imgmax=800" width="485" height="106" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8) I will give this connection a friendly name and will not try to automatically get data on opening form as I will specify the input parameter once form is loaded:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/StsdVdxsiLI/AAAAAAAAASY/m7qD-OhdW20/s1600-h/DC-10%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DC-10" border="0" alt="DC-10" src="http://lh4.ggpht.com/_CdwbQksvcqY/StsdVnYGBnI/AAAAAAAAASc/cDj7480CTQQ/DC-10_thumb%5B1%5D.png?imgmax=800" width="491" height="201" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;Saving Form as Source File&lt;/h3&gt;  &lt;p&gt;Once you have followed the above steps, you can choose data source in the tab view and see the fields available to you in this connection:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/StsdWIgEXmI/AAAAAAAAASg/THcyOxDN79U/s1600-h/BeforeFields%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="BeforeFields" border="0" alt="BeforeFields" src="http://lh5.ggpht.com/_CdwbQksvcqY/StsdWdzwY0I/AAAAAAAAASk/KwDGGCadVRY/BeforeFields_thumb%5B1%5D.png?imgmax=800" width="336" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you can see above return fields in the connection do not reflect the fields that are returned by the web service. To correct these fields we will have to modify the schema file. To modify the schema first same the form as “Source Files”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/StsdWmed8cI/AAAAAAAAASo/utqBHZk6hE8/s1600-h/SaveAsSource%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SaveAsSource" border="0" alt="SaveAsSource" src="http://lh4.ggpht.com/_CdwbQksvcqY/StsdXD_glbI/AAAAAAAAASs/rv6wIPHBBPE/SaveAsSource_thumb%5B1%5D.png?imgmax=800" width="336" height="322" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once you have done that you can browse to the folder and see the following files in uncompressed form:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/StsdXUInLbI/AAAAAAAAASw/qWOdgVPIySI/s1600-h/InfoPathFolder%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="InfoPathFolder" border="0" alt="InfoPathFolder" src="http://lh4.ggpht.com/_CdwbQksvcqY/StsdYVMzPcI/AAAAAAAAAS0/V8G2hI9fYKM/InfoPathFolder_thumb.png?imgmax=800" width="171" height="224" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;File of our interest is GetGroups1.xsd. &lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;Correcting the xsd for the Return Fields&lt;/h3&gt;  &lt;p&gt;In the code below you will see that GetGroupCollectionFromUser method return fields are not same the fields specified by the method in MSDN site: &lt;a href="http://msdn.microsoft.com/en-us/library/ms772552.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms772552.aspx&lt;/a&gt;. &lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 259px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetGroupCollectionFromUser&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;userLoginName&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetGroupCollectionFromUserResponse&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetGroupCollectionFromUserResult&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt; &lt;span style="color: #ff0000"&gt;mixed&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:any&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:any&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;According to the article we should have the schema which reflect following fields:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h6&gt;Return Value&lt;/h6&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;GetGroupCollectionFromUser xmlns=&lt;br /&gt;   &amp;quot;http://schemas.microsoft.com/sharepoint/soap/directory/&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;Groups&amp;gt;&lt;br /&gt;      &amp;lt;Group ID=&amp;quot;3&amp;quot; Name=&amp;quot;Group1&amp;quot; Description=&amp;quot;Description&amp;quot; OwnerID=&amp;quot;1&amp;quot; &lt;br /&gt;         OwnerIsUser=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;Group ID=&amp;quot;15&amp;quot; Name=&amp;quot;Group2&amp;quot; Description=&amp;quot;Description&amp;quot; &lt;br /&gt;         OwnerID=&amp;quot;12&amp;quot; OwnerIsUser=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;      &amp;lt;Group ID=&amp;quot;16&amp;quot; Name=&amp;quot;Group3&amp;quot; Description=&amp;quot;Description&amp;quot; &lt;br /&gt;         OwnerID=&amp;quot;7&amp;quot; OwnerIsUser=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;   &amp;lt;/Groups&amp;gt;&lt;br /&gt;&amp;lt;/GetGroupCollectionFromUser&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;  &lt;br /&gt;In order to correct the fields we will modify the GetGroups1.xsd file as following:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1) Add new “ComplexType” definition to the GetGroups1.xsd:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Just below this line:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:import&lt;/span&gt; &lt;span style="color: #ff0000"&gt;namespace&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:import&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Add this section:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetGroupCollectionFromUserType&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;userLoginName&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Groups&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;           &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;unbounded&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Group&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;               &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ID&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:unsignedShort&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;               &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Name&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;               &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Description&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;               &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;OwnerID&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:unsignedByte&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;               &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;OwnerIsUser&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;           &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2) Replace:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetGroupCollectionFromUser&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;userLoginName&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;with:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&amp;lt;s:element name=&amp;quot;GetGroupCollectionFromUser&amp;quot;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;      &amp;lt;s:complexType&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;          &amp;lt;s:sequence&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;              &amp;lt;s:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;1&amp;quot; name=&amp;quot;userLoginName&amp;quot; type=&amp;quot;s:string&amp;quot;&amp;gt;&amp;lt;/s:element&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;          &amp;lt;/s:sequence&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;      &amp;lt;/s:complexType&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;  &amp;lt;/s:element&amp;gt;--&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetGroupCollectionFromUser&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;tns:GetGroupCollectionFromUserType&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;After Saving the changes&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Once you save the GetGroups1.xsd file right click Manifest.xsf file and chose design. Now is you choose data source you will able to see the new fields:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/StsdYjtvRGI/AAAAAAAAAS4/QiwEjrHQyCI/s1600-h/AfterFields%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AfterFields" border="0" alt="AfterFields" src="http://lh6.ggpht.com/_CdwbQksvcqY/StsdY4jP6OI/AAAAAAAAAS8/qQvH324XZxU/AfterFields_thumb%5B1%5D.png?imgmax=800" width="341" height="346" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I drag-dropped the “Group” repeating group as “repeating table” and a text-field to input the username.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="GroupTable" border="0" alt="GroupTable" src="http://lh3.ggpht.com/_CdwbQksvcqY/StsdZUmiVlI/AAAAAAAAATA/xe_0GFUu9mY/GroupTable_thumb%5B1%5D.png?imgmax=800" width="696" height="130" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You have to provide fully qualified name domain name (domain\username) in order to get the group data.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-1297796536926900135?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/1297796536926900135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=1297796536926900135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1297796536926900135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1297796536926900135'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/10/infopath-displaying-sharepoint-group.html' title='InfoPath: Displaying SharePoint Group List Using “GetGroupCollectionFromUser” method'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_CdwbQksvcqY/StsdPJ3axQI/AAAAAAAAARU/sAxgt1ltNvQ/s72-c/DC-1_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2446184202332408268</id><published>2009-09-27T08:16:00.001-04:00</published><updated>2009-09-28T09:02:21.110-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Requirements Engineering for Software Project and Project Failures</title><content type='html'>&lt;p&gt;Requirement gathering is the basic activity to ask stack holders in a project “&lt;strong&gt;What&lt;/strong&gt; the need/value of the system”? It is very important to also know &lt;strong&gt;how &lt;/strong&gt;the current state of things are and how this system will address those concerns/challenges. &lt;/p&gt;  &lt;h4&gt;Pitfalls in Requirement Engineering&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Wrong Requirements:&lt;/strong&gt; If we fail to gather correct requirements we will end up producing system that is not desired or a system with missing feature that other competing products will have.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Missing Requirements:&lt;/strong&gt; Not talking/recognizing to &lt;strong&gt;all&lt;/strong&gt; the stack holder may result in missing requirements. Usually a system will multiple type of stack holders like management, end user, administrators. If you do not address them you might end up delivering a system with missing feature like (Reports, usability or configuration management plan, deployment paths).&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Changing Requirements&lt;/strong&gt;: Not foreseeing the need of requirement changes. Requirements changes, it is an inevitable fact in software project. Most project team do not have plan to incorporate the changing requirements. This is eventually lead to failed project/product.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Consequences of Failing in Requirements Engineering&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;Failed products with unwanted functionality.&lt;/p&gt;    &lt;p&gt;Projects late in delivery. Projects run over-time and over-budget.&lt;/p&gt;    &lt;p&gt;Systems with missing functionalities.&lt;/p&gt;    &lt;p&gt;System with poor quality.&lt;/p&gt;    &lt;p&gt;Incorrect technology or tools.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Requirement Engineering Categories&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Market Requirements/Externals Requirements&lt;/strong&gt;: Should provide by the client or the marketing analysis team. What product should do. Owners should be involved.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Product Requirements/Features Set&lt;/strong&gt;: These requirements drives the future functionality and enhancements addressing marketing requirements. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Component Requirements&lt;/strong&gt;: These are the low level requirements that are addressing how the system will the addressing the features that are requested by product requirements.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Functional/Non-Functional Requirements&lt;/strong&gt;: Functional requirements are the explicit requirements that clients expects from the system. Non-functional requirements are the implicit or quality attributes of a system like usability, maintenance, scalability of a system.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;Requirement Engineering Activities&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/Sr-QNaceEkI/AAAAAAAAARI/wx4tYqCHnRE/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/Sr-QN44F2TI/AAAAAAAAARM/5uchtcanpH8/image_thumb%5B5%5D.png?imgmax=800" width="458" height="186" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Requirements Elicitation&lt;/strong&gt;: Requirement Elicitation is the process of exactly stating what users want from the system. This process should provide a way for closure to all system requirements. Elicitation failures can show up as late as user acceptance testing. Before this step can starts it is very important to remove internal conflicts between the users.&amp;#160;&amp;#160; &lt;/p&gt;    &lt;div&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;In 1994, the Federal Aviation Administration (FAA) canceled its 10-year &lt;br /&gt;effort to modernize the nation's air control system. $1.3 billion was &lt;br /&gt;written off. Requirements elicitation phase was incomplete.This &lt;span style="color: #0000ff"&gt;is&lt;/span&gt; one of &lt;br /&gt;the most expensive development failure due to a requirements failure.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;  &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;div&gt;&lt;br /&gt;    &lt;br /&gt;Challenges in requirements elicitation:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;ul&gt;&lt;br /&gt;    &lt;li&gt;&lt;strong&gt;L&lt;/strong&gt;ack of User Inputs. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;&lt;strong&gt;L&lt;/strong&gt;ack of development team involvement. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;&lt;strong&gt;F&lt;/strong&gt;ailure to remove “Yes, but..” reaction of the user when they first see the system. Team should try to get “This is cool” reaction from the end users. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;&lt;strong&gt;R&lt;/strong&gt;ecognizing the scope of elicitation (when to stop elicitation activity). &lt;/li&gt;&lt;br /&gt;  &lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;div&gt;&lt;strong&gt;Requirements Analysis&lt;/strong&gt;:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;div&gt;This one of the more studies area of requirement engineering. You can find more detailed description of it in &lt;a title="Requirement Analysis" href="http://en.wikipedia.org/wiki/Requirements_analysis" target="_blank"&gt;wikipedia&lt;/a&gt;.&amp;#160; One of the largest failed system reported is &lt;a href="http://news.bbc.co.uk/2/hi/health/7887438.stm" target="_blank"&gt;NHS&lt;/a&gt;, more information can be found &lt;a href="  http://www.i-logue.com/content/view/82/54/" target="_blank"&gt;here&lt;/a&gt;. Another great article can be found on &lt;a href="http://www.spectrum.ieee.org/computing/software/why-software-fails" target="_blank"&gt;IEEE Spectrum&lt;/a&gt; portal. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;p&gt;&lt;strong&gt;Requirements Specification&lt;/strong&gt;: A Software Requirements Specification (&lt;b&gt;SRS&lt;/b&gt;) is a complete description of the behavior of the system to be developed. Modeling languages like UML can help a lot in this process, but the end goal of this activity is to communicate “&lt;strong&gt;what&lt;/strong&gt;” or “&lt;strong&gt;how&lt;/strong&gt;” things needs to be done to all the stack holders. Read more &lt;a href="http://en.wikipedia.org/wiki/Software_Requirements_Specification" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;  &lt;p&gt;&lt;strong&gt;Requirements Verification: &lt;/strong&gt;Verification provide “traceability” of the activity with the business value. This activity helps you align every activity of the project with the real business need. Remember that a good requirement is the one that can be measured/tested against a business need. Verification&amp;#160; is an ongoing process. H&lt;a href="http://www.testinggeek.com/index.php/testing-templates/checklist-guidelines/75-requirement-verification" target="_blank"&gt;ere&lt;/a&gt; is a good resource for requirement verification.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;  &lt;p&gt;&lt;strong&gt;Requirements Management&lt;/strong&gt;:&amp;#160; The purpose of requirements management is to assure the organization meets the expectations of its customers and internal or external stakeholders.&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Always remember:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Refractor processes. Through wasteful practices. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Perfection us attend not when there is nothing to add but when there is nothing to take away. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Add talent not skills. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Software specifications: describes how problems will be solved. Written by software architects. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Success is should be measured in business values. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Great software can fail when they do not provide ROI to organization. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;It takes 25 min to regain train of thought. On an average distractions costs 30% of the day. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Don't measure software teams against wrong parameters. Measuring number of hours is BIG mistake. Hours measure &amp;quot;more&amp;quot; Or &amp;quot;faster&amp;quot; not &amp;quot;critical&amp;quot; work. Also suffers from degraded quality as a side affect. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Projects depend on teamwork. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Do not try to write perfect system/code. Do not run after complete knowledge. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Promote communication among team members. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li type="circle"&gt;Always keep Your eye on the END. &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Utilities and Resources;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.processimpact.com/goodies.shtml#reqs"&gt;http://www.processimpact.com/goodies.shtml#reqs&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Failed Projects and analysis:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://spectrum.ieee.org/blog/computing/it/riskfactor/tennessees-erp-project-mess"&gt;http://spectrum.ieee.org/blog/computing/it/riskfactor/tennessees-erp-project-mess&lt;/a&gt; &lt;a href="http://spectrum.ieee.org/blog/computing/it/riskfactor/good_it_news_bad_it_news_at_de"&gt;http://spectrum.ieee.org/blog/computing/it/riskfactor/good_it_news_bad_it_news_at_de&lt;/a&gt; &lt;a href="http://spectrum.ieee.org/blog/computing/it/riskfactor/philadelphias_serial_it_blunde"&gt;http://spectrum.ieee.org/blog/computing/it/riskfactor/philadelphias_serial_it_blunde&lt;/a&gt; &lt;a href="http://spectrum.ieee.org/print/1455"&gt;http://spectrum.ieee.org/print/1455&lt;/a&gt; &lt;a href="http://it-project-failures.blogspot.com/"&gt;http://it-project-failures.blogspot.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/1286429809968788187-2446184202332408268?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2446184202332408268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2446184202332408268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2446184202332408268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2446184202332408268'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/09/requirements-engineering-for-software.html' title='Requirements Engineering for Software Project and Project Failures'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_CdwbQksvcqY/Sr-QN44F2TI/AAAAAAAAARM/5uchtcanpH8/s72-c/image_thumb%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2787506025658998022</id><published>2009-09-19T17:57:00.001-04:00</published><updated>2009-09-19T17:58:55.250-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><title type='text'>Importing Excel data into InfoPath</title><content type='html'>&lt;p&gt;There is always a need to create a &lt;strong&gt;InfoPath forms from Excel&lt;/strong&gt;. Now this can be bit more trickier. Again there are be couple of different approaches:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1) Using workflow activities to copy List data to InfoPath forms&lt;/strong&gt;: First part of this exercise is to create a SharePoint List from a Spreadsheet (shown in the &lt;a href="http://rawatsumit.blogspot.com/2009/09/tips-and-tricks-importing-excel-sheet.html" target="_blank"&gt;previous post&lt;/a&gt;). Second part of the process is to generate and update the InfoPath forms in a form library. You can accomplish this by following steps:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;a) You will have to prepare the form library to take data. Specifically you will have to promote all the fields in the form that needs to be updated as site columns. This has some serious performance issues.&lt;/p&gt;    &lt;p&gt;b) Create a black InfoPath by hitting new button on the form library.&lt;/p&gt;    &lt;p&gt;c) Download it on your local machine by choosing “Download a Copy” option in the listitem menu.&lt;/p&gt;    &lt;p&gt;d) Make multiple copies of this form (one per record in your spreadsheet).&lt;/p&gt;    &lt;p&gt;e) Rename and upload the forms. This is most effectively done with the “Explorer view” of form library. Other options is to use “Upload Multiple Files” from list menu or in SharePoint Designer.&lt;/p&gt;    &lt;p&gt;f) Now Write a SPD workflow for the SharePoint list which was created by getting data from spreadsheet and coping it over to the corresponding column in the Form Library (that is the reason to expose the column). You can use “Update List Item” activity to do this.&lt;/p&gt;    &lt;p&gt;g) Trigger the update on each row of SP list so it copies the data in the InfoPath form.&lt;/p&gt;    &lt;p&gt;Now there can be some serious issue if you can more than 40 columns in the sheet. Limitation occurs with Form Library promoted columns. As you promote more and more columns it will take more time to publish the form template. The web service that publishes the Form Templates starts to timeout and you will not be able to publish the forms.&lt;/p&gt;    &lt;p&gt;There is a CodePlex Activity &lt;a href="http://spdactivities.codeplex.com/Wiki/View.aspx?title=Set%20InfoPath%20field%20inner%20text" target="_blank"&gt;“Set InfoPath field inner text”&lt;/a&gt; available to get around this issue. This activity basically allows you to copy text directly into the form.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2) I have not tested this approach but this can be every simple thing to do. I came across &lt;a href="http://www.qdabra.com/en/products/ExcelToInfoPath.aspx" target="_blank"&gt;Qdabra’s Excel to InfoPath Migration Tool&lt;/a&gt; . This tool looks quit promising to me as it uses very simple approach to generate the xml per record in the Spreadsheet. Mapping also looks easy it uses one xml file to map excel sheet columns to Form fields. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2787506025658998022?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2787506025658998022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2787506025658998022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2787506025658998022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2787506025658998022'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/09/importing-excel-data-into-infopath.html' title='Importing Excel data into InfoPath'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1806442438912170072</id><published>2009-09-19T14:01:00.001-04:00</published><updated>2009-09-19T17:59:03.489-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><title type='text'>Tips and Tricks Importing Excel Sheet to SharePoint List</title><content type='html'>&lt;p&gt;This article is about importing Excel Sheet data into SharePoint 2007 list. Now this looks like a decent task for SharePoint to handle provided tight integration between SharePoint Office server and Microsoft Office 2007. I am running my test on MOSS 2007 with MS Excel 2007. So I couple approaches to import the data from excel sheet to SharePoint list:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1) Importing data by copy pasting columns from Excel to SP List&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Steps to do this as follows:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;a) Create a SP list.&lt;/p&gt;    &lt;p&gt;b) Create the columns in the list mapping the columns in the spreadsheet.&lt;/p&gt;    &lt;p&gt;c) Open the SP list in datasheet view.&lt;/p&gt;    &lt;p&gt;d) Copy the primary key\identifier column to the “Title” column in the datasheet view. This will take care of creating new the records in the SP list. &lt;/p&gt;    &lt;p&gt;e) Now Copy one or multiple columns from the spread sheet to datasheet view.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Note: It is important to same number of rows in spreadsheet and datasheet view once you have run step “d”, otherwise it will not allow you copy and you will end up getting “The Information cannot be pasted because the&amp;#160; cut or copy area is not the same size as the paste area. Click one cell and then try pasting again”. This simple means that the number of rows and columns selected from the source sheet is not same as destination:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SrUcdxMd15I/AAAAAAAAAQQ/LpzI4VFwfnw/s1600-h/image%5B10%5D.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px auto 10px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/SrUceZ4cdrI/AAAAAAAAAQU/p9gplH4kpFg/image_thumb%5B8%5D.png?imgmax=800" width="582" height="150" /&gt;&lt;/a&gt;Other consideration that you make is for the data types that you choose for the columns in SP list. Some tricks I learned are:&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;a) It is better to create SP list columns as simple “Single Line of Text” columns.&lt;/p&gt;    &lt;p&gt;b) If you are creating a number column in SP List, SharePoint forgives different formatting on the numbers when try to past. For example is you have 2.3, 1,222, 344 and 333.333 , SharePoint will allow you to make those entry in a number column as oppose to getting “Field ‘Number Test’ contains invalid data. Enter a valid numeric value.” (which you get is you enter anything except 0-9, “,” and “.’ in the field):&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SrUce62mxCI/AAAAAAAAAQY/R7xSdU8epwM/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/SrUcfCHtdQI/AAAAAAAAAQc/LqMV2oZAw5A/image_thumb%5B11%5D.png?imgmax=800" width="411" height="131" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;c) When copying Date,&amp;#160; create a Date column in SP. My testing shows Date field can take input in following formats:&lt;/p&gt;    &lt;ol&gt;     &lt;li&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; i) mm/dd/yyyy &lt;/li&gt;      &lt;li&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; ii) mm/dd/yy &lt;/li&gt;      &lt;li&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; iii) month dd, yyyy (eg. July 14, 1993) or month dd yyyy (eg. July 12 1932) &lt;/li&gt;   &lt;/ol&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2) Second method is by creating the SharePoint List by importing Excel sheet&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;To do this follow these steps:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1) Go to Create page on your portal, it should be located at &lt;a href="http://yourportal/_layouts/create.aspx"&gt;http://yourportal/_layouts/create.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;2) Choose “Import Spreadsheet” option under “Custom Lists” tab.&lt;/p&gt;    &lt;p&gt;3) In “File Location” section specify the path of the file. Hit “Import” button. This will open up excel import file:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SrUcfi3h6iI/AAAAAAAAAQg/IGIuSaEpcd0/s1600-h/image%5B20%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SrUcgO242_I/AAAAAAAAAQk/-2Zo6mQffNc/image_thumb%5B14%5D.png?imgmax=800" width="600" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;I have selected Range of Cells to import. Hit Import button and&amp;#160; it should create a List for you with the columns:&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SrUcgWz_88I/AAAAAAAAAQo/sWZyHlzhhaE/s1600-h/image%5B25%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SrUcgn1FUCI/AAAAAAAAAQs/QPp30v_2gT0/image_thumb%5B17%5D.png?imgmax=800" width="548" height="213" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Sweet!! Lets take a look at the data type of the columns that were created:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SrUchC-sB8I/AAAAAAAAAQw/qAsakBE6MKA/s1600-h/image%5B30%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SrUchoAYf-I/AAAAAAAAAQ0/Y83GWfrQhM0/image_thumb%5B20%5D.png?imgmax=800" width="425" height="157" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Now this is impressive. As you can see the conversion service tool care of putting correct data type by looking at the values in the columns. Also the Title column is correctly mapped to the title column in the library. Another good feature about this import is that it forgives the black values even in the title column:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SrUciNZtxhI/AAAAAAAAAQ4/7twENRHhpAI/s1600-h/image%5B37%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SrUciSJHUFI/AAAAAAAAAQ8/sru9MNVVVcY/image_thumb%5B23%5D.png?imgmax=800" width="269" height="153" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;will result in this list:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SrUci_KLQ7I/AAAAAAAAARA/clXPn1_7dUo/s1600-h/image%5B38%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SrUcjM9Qa2I/AAAAAAAAARE/xqyCjVGR_0U/image_thumb%5B24%5D.png?imgmax=800" width="556" height="212" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;&amp;#160; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;&lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Errors&lt;/strong&gt;:&lt;/p&gt;    &lt;p&gt;If you are running the import first time you might experience following errors:&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;“Method ‘Post’ of object ‘IOWSPostData’ failed”&lt;/strong&gt; : This error is cause by Application.SharePointVersion(URL) call in EXPTOOWS.XLA Addin. To fix this error replace:&lt;/p&gt;    &lt;p&gt;lVer = Application.SharePointVersion(URL)&lt;/p&gt;    &lt;p&gt;line in EXPTOOWS.XLA file with:&lt;/p&gt;    &lt;p&gt;lVer = 2&lt;/p&gt;    &lt;p&gt;There is a very good &lt;a href="http://blog.techgalaxy.net/archives/871" target="_blank"&gt;post&lt;/a&gt; here explain the complete process.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&amp;quot;The specified file is not a valid spreadsheet or contains no data to import&amp;quot;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;This error is simply caused by because the site you are opening do not have permission to file system. To give permission just add this site to “Trusted Sites” list in the IE. This should fix the error.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Overall second method proved to be much easier than first.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-1806442438912170072?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/1806442438912170072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=1806442438912170072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1806442438912170072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1806442438912170072'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/09/tips-and-tricks-importing-excel-sheet.html' title='Tips and Tricks Importing Excel Sheet to SharePoint List'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_CdwbQksvcqY/SrUceZ4cdrI/AAAAAAAAAQU/p9gplH4kpFg/s72-c/image_thumb%5B8%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-4830806042712215920</id><published>2009-09-02T18:46:00.002-04:00</published><updated>2009-09-02T18:52:20.815-04:00</updated><title type='text'>Tech Talks</title><content type='html'>&lt;a href="http://www.youtube.com/view_play_list?p=05D94CA1ADAF07B5&amp;sort_field=viewcount"&gt;Google Tech Talks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/p/05D94CA1ADAF07B5&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/p/05D94CA1ADAF07B5&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" width="480" height="385" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developer.yahoo.com/yui/theater/"&gt;YUI Theater&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;object width="512" height="322"&gt;&lt;param name="movie" value="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.46" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="AllowScriptAccess" VALUE="always" /&gt;&lt;param name="bgcolor" value="#000000" /&gt;&lt;param name="flashVars" value="id=1710507&amp;vid=111593&amp;lang=en-us&amp;intl=us&amp;thumbUrl=http%3A//l.yimg.com/a/i/us/sch/cn/v/v0/w327/111593_320_240.jpeg&amp;embed=1" /&gt;&lt;embed src="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.46" type="application/x-shockwave-flash" width="512" height="322" allowFullScreen="true" AllowScriptAccess="always" bgcolor="#000000" flashVars="id=1710507&amp;vid=111593&amp;lang=en-us&amp;intl=us&amp;thumbUrl=http%3A//l.yimg.com/a/i/us/sch/cn/v/v0/w327/111593_320_240.jpeg&amp;embed=1" &gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://video.yahoo.com/watch/111593/1710507"&gt;Douglas Crockford: &amp;quot;The JavaScript Programming Language&amp;quot;/1 of 4&lt;/a&gt; @ &lt;a href="http://video.yahoo.com" &gt;Yahoo! Video&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-4830806042712215920?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/4830806042712215920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=4830806042712215920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4830806042712215920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4830806042712215920'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/09/tech-talks.html' title='Tech Talks'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1230677586895855478</id><published>2009-08-31T20:06:00.001-04:00</published><updated>2009-08-31T20:06:17.439-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><title type='text'>Setting Group Permissions for InfoPath Form Library</title><content type='html'>&lt;p&gt;Whenever I am tasked to created a new Form Library the first thing that I worry about is the Permission’s/Access Levels that users need on the library. It is always helpful to know the answers for the following questions:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; Who needs access?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; Should users be able to see the forms that are submitted by other users?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; Should users&amp;#160; be able to access other resources on the site and what access level they should have?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4)&lt;/strong&gt; What resources InfoPath Form need access to (web services, images)?&lt;/p&gt;  &lt;p&gt;Some of the practices that I follow are:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; Always create a separate sub-site to host the form library. This always help to set custom permission level, groups and users. You can always break the inherited permission and set up custom levels, without breaking permission or affecting other functionality of the parent site.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; In order to submit a form to the library users must at least have “Contribute”. “Read” permission on the Form library where the forms are submitted will not work. User will get access denied.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; If you are publishing the “Form Template” to a different Form library than the one that will be used to submit the Form, be careful to give users at least “Read” permission, otherwise users will get a access denied error. In most scenario you do not want your users to modify the Template, so do not give any more permission on the Form Template Library. But you have to give “Contribute” on the actual library where the xml’s will be stored.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4)&lt;/strong&gt; Important thing to remember while working with any SharePoint Library is unlike Lists you do not have a “Item-level Permissions” setting:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/Spxld0TE-pI/AAAAAAAAAPo/Otz3Tg51zH4/s1600-h/image4.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="133" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/SpxleNPOWcI/AAAAAAAAAPs/9DGdzjW6kLc/image_thumb2.png?imgmax=800" width="565" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So out-of-box you cannot set Item Level Permission on the document library and Form Library is inherited from document library. But there are &lt;a href="http://rawatsumit.blogspot.com/2009/08/setting-listitem-permission-in.html" target="_blank"&gt;workaround&lt;/a&gt; available to alleviate this problem.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5)&lt;/strong&gt; It is always better to create SharePoint groups for the giving access to users. Even though you have AD groups, just add the AD groups to SharePoint group. This will always prove to be more manageable and easy for debugging.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-1230677586895855478?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/1230677586895855478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=1230677586895855478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1230677586895855478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1230677586895855478'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/08/setting-group-permissions-for-infopath.html' title='Setting Group Permissions for InfoPath Form Library'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_CdwbQksvcqY/SpxleNPOWcI/AAAAAAAAAPs/9DGdzjW6kLc/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-4094480212400594131</id><published>2009-08-28T15:40:00.004-04:00</published><updated>2009-08-28T18:50:30.765-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>JavaScript Constructors and Methods</title><content type='html'>&lt;p&gt;In JS both a constructor of an object and a method are simple functions. There is very little actual difference between them, main difference is the way you use a function.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Constructor&lt;/strong&gt;: In JS contractor is function that can be used for initializing the an object. it does not have to return the object.&lt;/p&gt;  &lt;p&gt;One special characteristic of constructor it is invoked via &lt;em&gt;“new” &lt;/em&gt;keyword.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="color: #3333ff"&gt;var&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #000066"&gt; smallCircle=&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="color: #3333ff"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #000066"&gt; Circle(0.3);&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;div id="codeSnippetWrapper"&gt;Another special thing about constructor function is when invoked it is passed a newly created empty object as &lt;em&gt;“this”&lt;/em&gt;.&lt;/div&gt;  &lt;blockquote&gt;   &lt;div&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; Circle(r)&lt;/div&gt;    &lt;div&gt;{&lt;/div&gt;    &lt;div&gt;&lt;span style="color: #008000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //this points to newly created empty object&lt;/span&gt;&lt;/div&gt;    &lt;div&gt;&lt;span style="color: #0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this&lt;/span&gt;.radius=r;&lt;/div&gt;    &lt;div&gt;}&lt;/div&gt; &lt;/blockquote&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div id="codeSnippetWrapper"&gt;Every contractor has a prototype object. This prototype object can hold the instance variables including functions.&lt;/div&gt;  &lt;p&gt;&lt;strong&gt;Method&lt;/strong&gt;: This is a special JS function that is invoked using “.” operator through an object like &lt;em&gt;“smallCircle.getDiameter()”&lt;/em&gt;. Important thing to note about methods is that they are passed the invoking object as &lt;em&gt;“this”&lt;/em&gt; . So inside &lt;em&gt;this&lt;/em&gt; inside the &lt;em&gt;getDiameter&lt;/em&gt; function refer to &lt;em&gt;smallCircle&lt;/em&gt; object and thus can use\modify its values.&lt;/p&gt;  &lt;p&gt;We can define methods in 3 ways:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; Defining function as the property of the instances: This can be useful in a situation when you need to manipulate or add value in a particular instance. This approach is hard to manage. Biggest drawback is it is not available to any other instances.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span style="color: #008000"&gt;//Constructor function&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; Cicle(r)&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #008000"&gt;//class variable&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt; PI=3.14;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #008000"&gt;//instance variable&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.radius=r;&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; &lt;span class="Apple-style-span" style="color: #000000"&gt;PrintCircle()&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #008000"&gt;//Create instances of Circle&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;c1=&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Cicle(3);&lt;/p&gt;    &lt;p&gt;c2=&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Cicle(4);&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #008000"&gt;//add a new method to c1 instance&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;c1.getArea=&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;(){&lt;span style="color: #0000ff"&gt;return&lt;/span&gt; Cicle.PI*&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.r*&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.r;};&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #008000"&gt;//call the function&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;alert(c1.getArea());&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;div&gt;   &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: #f4f4f4; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; border-right-style: none; border-left-style: none"&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; Defining function inside the constructor: We can modify to the Circle class above to have a instance function. Hugh draw back is you will be making the copy of the method variable in each instance, as this function definition is nothing more than a variable that holds a reference to the memory were the function code is stored.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; Circle(r)&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.radius=r;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #008000"&gt;//this is a instance method&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.getDiameter=&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;(){reutrn 2*r;}';&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;div&gt;   &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: #f4f4f4; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; border-right-style: none; border-left-style: none"&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;/div&gt; &lt;/div&gt;  &lt;div id="codeSnippetWrapper"&gt;&amp;#160;&lt;/div&gt;  &lt;p&gt;&lt;span class="Apple-style-span" style="line-height: normal; font-family: georgia; white-space: normal"&gt;&lt;font size="2"&gt;&lt;span&gt;3) Defining function as the property of the prototype of the constructor: This technique is preferred way to create instance methods. There is preferred because you do not want to make mu&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium"&gt;ltiple copies of the method with each instance invocation as oppose to instance variable where you do want to make of the variables for each instance:&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span style="color: #008000"&gt;// add a instance method to property of the prototype of the constructor&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;Cicle.prototype.setRadius=&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;(r){&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.radius=r;};&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;One advantage of this approach is function will be available to all instances, even to the instances that are declared before this code.&lt;/p&gt;  &lt;p&gt;note: if you invoke a function without a “.” operator in conjunction with an object &lt;em&gt;this&lt;/em&gt; point to global object. This makes sense as a function in JS is value stored in a variable and variables are properties of an object. In this case it is property of the global object.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-4094480212400594131?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/4094480212400594131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=4094480212400594131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4094480212400594131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4094480212400594131'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/08/javascript-constructors-and-methods.html' title='JavaScript Constructors and Methods'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-6094870596971720090</id><published>2009-08-24T10:30:00.006-04:00</published><updated>2009-08-28T10:46:42.577-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>JavaScript Variables for Newbie’s</title><content type='html'>&lt;div id="codeSnippetWrapper"&gt;&lt;/div&gt;  &lt;p&gt;As I come from .Net background I had some trouble understanding prototypal inheritance in javascript. Even more confusing is the variables scopes, proper use of&lt;em&gt;“this”&lt;/em&gt; and functional nature of javascript. In this article i will try to explain some JS concepts around variables and how functions accesses them. We can categories functions as:&lt;/p&gt;  &lt;p&gt;1) Public Function: Added via prototype property bag. Public property is possible because of prototypal inheritance in JS.&lt;/p&gt;  &lt;p&gt;2) Privileged Function: defined in the object body using &lt;em&gt;“this”&lt;/em&gt; keyword. Associates the function as a property of the object created by the constructor. This is potentially bad bad because we will be making several copies of the same function with each object instantiation.&lt;/p&gt;  &lt;p&gt;note: Contractor function returns an object when invoked by &lt;em&gt;new&lt;/em&gt; operator. Its does not have to return an object explicitly. When it is invoked by new operator JS creates a empty object, initialize the variables as defined in the constructor body and returns the object. &lt;/p&gt;  &lt;p&gt;3) Private Function: Defined using &lt;em&gt;“var”&lt;/em&gt; or without &lt;em&gt;“this”&lt;/em&gt; keyword.&lt;/p&gt;  &lt;p&gt;Here is a example of public and privileged functions:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div id="codeSnippet"   style="border-style: none; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;     &lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;   &lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;script&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="text/javascript"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; Ex1 = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt;(name)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;//public variable&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.myname=name;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum6" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;//previledged function&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum7" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.getName=&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt;(){&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.myname;};&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum8" style="color: rgb(96, 96, 96);"&gt;   &lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum10" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;//public function, this function do not access to any&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum11" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;// private variable in Ex1 object&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum12" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; Ex1.prototype.setName = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt;(argNewName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum13" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum14" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.name=argNewName;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum15" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.name;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum16" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; };&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum17" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum18" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;//create a new object&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum19" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; &lt;span style="color: rgb(51, 0, 51);"&gt;myName=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(51, 0, 51);"&gt;Ex1(&lt;/span&gt;&lt;span style="color: rgb(0, 96, 128);"&gt;"Test"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum20" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum21" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; &lt;span style="color: rgb(51, 0, 51);"&gt;alert(myName.myname);&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;//returns "Test"&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum22" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum23" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(51, 0, 51);"&gt; alert(myName.getName());&lt;/span&gt; &lt;span style="color: rgb(0, 128, 0);"&gt;//returns "Test"&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span id="lnum24" style="color: rgb(96, 96, 96);"&gt; &lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum25" style="color: rgb(51, 0, 51);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(51, 0, 51);"&gt; alert(myName.setName&lt;/span&gt;(&lt;span style="color: rgb(0, 96, 128);"&gt;"Test 2"&lt;/span&gt;)); &lt;span style="color: rgb(0, 128, 0);"&gt;//return "Test 2"&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;       &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;script&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;  &lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;In the above example both &lt;em&gt;“getName”&lt;/em&gt; is becomes property of the “this” (which is set by the &lt;em&gt;new &lt;/em&gt;operator, in this case it points to &lt;em&gt;“myName”&lt;/em&gt;) and &lt;em&gt;“setName” &lt;/em&gt;function is a property of the prototype object of the “&lt;em&gt;this”&lt;/em&gt; also pointing to &lt;em&gt;myName&lt;/em&gt;. This allows them to access the variables associated with &lt;em&gt;myName&lt;/em&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Note: I am Visual Studio 2008 as my IDE and the intellisence does not show &lt;em&gt;“setName”&lt;/em&gt; method as one of the property of &lt;em&gt;“myName”&lt;/em&gt; object even though you can make a call and get the result. another bug??&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SpKj73cETwI/AAAAAAAAAPA/MDUxio8LOz4/s1600-h/image%5B9%5D.png"&gt;&lt;img title="image" style="border-width: 0px; display: inline;" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SpKj8pn02RI/AAAAAAAAAPE/zhRMjAizsx4/image_thumb%5B5%5D.png?imgmax=800" border="0" height="273" width="515" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Now lets define a private variable &lt;em&gt;“phone”&lt;/em&gt; in our Ex1 object. Syntax is:&lt;/p&gt;&lt;div&gt;&lt;br /&gt; &lt;pre id="codeSnippet" style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;var phone=argName;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;JS private variables are only accessible to private or privileged members. So our &lt;em&gt;“getName”&lt;/em&gt; function will have access to “phone”. Lets create a private function &lt;em&gt;“getPhone”&lt;/em&gt; see if it can access private variable &lt;em&gt;“phone”&lt;/em&gt; (remember you cannot call this function from the object). As you can see in the image below it does have access to “phone”, but it does not have access to &lt;em&gt;“name”&lt;/em&gt;. This happens because “name” is a public (instance) property and can only be accessed via use of &lt;em&gt;“this”&lt;/em&gt; keyword. But&lt;em&gt; “this”&lt;/em&gt; keyword in &lt;em&gt;“getPhone”&lt;/em&gt; function point to Global Object (windows). if you try to return &lt;em&gt;“this.name”&lt;/em&gt; or “name” you will get a &lt;em&gt;“undefined”&lt;/em&gt; value.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SpKj9PBBjbI/AAAAAAAAAPI/b9lrVXHv4_8/s1600-h/image%5B15%5D.png"&gt;&lt;img title="image" style="border-width: 0px; display: inline;" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/SpKj93iZloI/AAAAAAAAAPM/W7lt8HKLWYI/image_thumb%5B9%5D.png?imgmax=800" border="0" height="281" width="525" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Also the public function &lt;em&gt;“setName&lt;/em&gt;” will have no access to &lt;em&gt;“getPhone”&lt;/em&gt; or &lt;em&gt;“phone”&lt;/em&gt; properties.&lt;/p&gt;&lt;p&gt;Here is another snippet that demonstrates this:&lt;/p&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;div id="codeSnippet"   style="border-style: none; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;br /&gt;   &lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Public function&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; SimpleThisUse = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (privnum, pubnum)&lt;/pre&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;{&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//private value &lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"   &gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; value=privnum;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//pulic or instace variable&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"   &gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.value2=pubnum;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//this is very important, it allows you to access public variable in&lt;/span&gt;&lt;/pre&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;// private methods&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; that=&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//this function is defined in global object "window",&lt;/span&gt;&lt;/pre&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;// because we did not use var keyword to define the variable&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; DoublePrivatePrivateVariable()&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;" color="white" size="8pt" face="'Courier New',courier,monospace"&gt;  {&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; value+value;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;" color="white" size="8pt" face="'Courier New',courier,monospace"&gt;  }&lt;/pre&gt;&lt;pre face="'Courier New',courier,monospace" size="8pt" color="white" style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//this points to windows, so returns NaN&lt;/span&gt;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; DoublePrivatePublicVariable()&lt;/pre&gt;&lt;pre face="'Courier New',courier,monospace" size="8pt" color="white" style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;"&gt;  {&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.value2+&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.value2;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: rgb(51, 0, 51); direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: white; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//as this function is property of global variable &lt;/span&gt;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; DoublePrivatePublicVariableHack()&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: rgb(51, 0, 51); direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace;"&gt;{ &lt;/pre&gt;    &lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; that.value2+that.value2;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: rgb(51, 0, 51); direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: white; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//privileged method or instance variable, copied to each instance &lt;/span&gt;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.DoublePriviledgePrivateVariable = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; ()&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:black;"   &gt;  {&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; DoublePrivatePrivateVariable();&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:black;"   &gt;  }&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;" color="black" size="8pt" face="'Courier New',courier,monospace"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//privileged method, works but underlying private method fails to get &lt;/span&gt;&lt;/pre&gt;&lt;pre   style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//the public variable&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; direction: ltr; line-height: 12pt;" color="black" size="8pt" face="'Courier New',courier,monospace"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.DoublePriviledgePublicVariable=&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt;()&lt;/pre&gt;&lt;pre face="'Courier New',courier,monospace" size="8pt" style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;"&gt;  {&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"   &gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; DoublePrivatePublicVariable();&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;font-family:'Courier New',courier,monospace;font-size:8pt;"  &gt;  }&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;" size="8pt" face="'Courier New',courier,monospace"&gt;  &lt;span style="color: rgb(0, 128, 0);"&gt;//this should fix the above error&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"   &gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.DoublePriviledgePublicVariableHack = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt;()&lt;/pre&gt;&lt;pre face="'Courier New',courier,monospace" size="8pt" style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt; background-color: rgb(244, 244, 244); text-align: left;"&gt;  {&lt;/pre&gt;&lt;pre    style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt;font-family:'Courier New',courier,monospace;font-size:8pt;color:white;"&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; DoublePrivatePublicVariableHack();&lt;br /&gt;&lt;/pre&gt;&lt;pre face="'Courier New',courier,monospace" size="8pt" color="white" style="border-style: none; margin: 0em; padding: 0px; overflow: visible; width: 100%; color: black; direction: ltr; line-height: 12pt;"&gt;  }&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//public method, preferred way to declare a instance function&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;SimpleThisUse.prototype.ReturnValue=&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt;(){&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.value2};&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; CallSimpleThisUse()&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; t=&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SimpleThisUse(23, 34);&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;  alert(t.ReturnValue());&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;  alert(t.DoublePriviledgePrivateVariable());&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;  alert(t.DoublePriviledgePublicVariable());&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;  alert(t.DoublePriviledgePublicVariableHack());&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;}  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;This script illustrates the OOP view of the JS programming:&lt;/p&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;br /&gt;   &lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;//constructor function or class constructor &lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;function Person(ssn, name, department)&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;//instance variables&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;this.ssn=ssn;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;this.name=name;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;this.department=department;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;}&lt;/pre&gt;    &lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;//instance functions, every object returned by&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;//Person constructor will have a prototype property&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;Person.prototype.setDepartment=function(department)&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;  this.department=department;    &lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;}&lt;/pre&gt;&lt;br /&gt;   &lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;Person.prototype.getName=function()&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;{&lt;/pre&gt;    &lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;  return this.name;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt; &lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;Person.prototype.getDepartment=function()&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;  return this.department;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;//private variabel of the function or Class or Static method&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;Person.IsSameDepartment=function(p1,p2)&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;    if(p1.department==p2.department)&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;    return true;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;        else&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;    return false;&lt;/pre&gt;    &lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;//this will never work&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;Person.NeverWillWork=function()&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;   alert(this.department);&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;}&lt;/pre&gt;&lt;br /&gt;   &lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;function PlayWithEmployee()&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;try{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;   e1=new Person("233-333-3333","John Hodge", "Nothing");&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;   e1.setDepartment("Accounting");&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;   alert("E1{ Name: "+e1.getName() +", Department: "+e1.getDepartment()+"}");&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;   e2=new Person("233-333-2333","Barack Obama", "Accounting"); &lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;   alert("E2{ Name: "+e2.getName() +", Department: "+e2.getDepartment()+"}");&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;   alert(Person.IsSameDepartment(e1, e2));&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;   alert(Person.NeverWillWork()); //through undefined exception&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;catch(e)&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;   alert(e);&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;}&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;//instance member, still works even though code comes&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;//after the call in the above function&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;Person.prototype.setName=function(name)&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;{&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;  this.name=name;&lt;/pre&gt;&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;a title="http://www.crockford.com/javascript/private.html" href="http://www.crockford.com/javascript/private.html"&gt;http://www.crockford.com/javascript/private.html&lt;/a&gt;&lt;/div&gt;&lt;br /&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/1286429809968788187-6094870596971720090?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/6094870596971720090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=6094870596971720090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/6094870596971720090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/6094870596971720090'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/08/javascript-variables-for-newbies.html' title='JavaScript Variables for Newbie’s'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_CdwbQksvcqY/SpKj8pn02RI/AAAAAAAAAPE/zhRMjAizsx4/s72-c/image_thumb%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-8152569403551730761</id><published>2009-08-13T11:48:00.001-04:00</published><updated>2009-08-13T15:48:17.759-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Quick Note on WSS Internal Name of columns</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/08/quick-note-on-wss-internal-name-of.html";digg_title = "Quick Note on WSS Internal Name of columns";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;SharePoint Fields allows columns to have different “Display Name” than “Internal Name” of the column. One quick trick to find the internal name of a column is to add the columns to a view and sort the library\list using that column.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SoQ1xeYj2bI/AAAAAAAAAOo/NwKPCFjuP_g/s1600-h/image%5B11%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="72" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/SoQ1xqjgxUI/AAAAAAAAAOs/wiKDkTyp8jw/image_thumb%5B7%5D.png?imgmax=800" width="358" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This should put “SortField” querustring which should look like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SoQ1x3VJ4oI/AAAAAAAAAOw/WgiPI9jpKws/s1600-h/image%5B10%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="30" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SoQ1yl2pR-I/AAAAAAAAAO0/vvXJBYR63dk/image_thumb%5B6%5D.png?imgmax=800" width="407" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here are some columns created by document library and their internal names:&lt;/p&gt;  &lt;div align="center"&gt;   &lt;table cellspacing="0" cellpadding="2" width="400" align="center" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="200"&gt;&lt;strong&gt;&lt;font color="#000080"&gt;Display Name&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;strong&gt;&lt;font color="#000080"&gt;Internal Name&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;Name (linked to document)&lt;/font&gt;&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;LinkFilenameNoMenu&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;Name (for use in forms)&lt;/font&gt;&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;FileLeafRef&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;Name (linked to document with edit menu)&lt;/font&gt;&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;LinkFilename&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;Type (icon linked to document)&lt;/font&gt;&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;DocIcon&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;Title &lt;/font&gt;&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;font color="#000080"&gt;Title&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;I don’t know why they left “Title” column as “Title”. So incoherent.&lt;/p&gt;  &lt;p&gt;Anyway, these internal names are quit useful while making CAML query with a content query web part or using SPQuery object:&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;   &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;SPQuery query = new SPQuery();&lt;br /&gt;query.Query = &amp;quot;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Where&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Eq&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldRef&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;='LinkFileName'&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldRef&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Value&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;='Text'&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&amp;quot; + var1 + &amp;quot;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Eq&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Where&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&amp;quot;;&lt;br /&gt;SPListItemCollection listitems = list.GetItems(query);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Another great utility comes with &lt;em&gt;OWSSVR.DLL.&lt;/em&gt; Probably you have come across this library as this is the core library implementing most of the functions (including some RPC calls) for SharePoint. You can find some more information on this &lt;a href="http://rawatsumit.blogspot.com/2009/08/why-we-have-to-dispose-spsite-object.html" target="_blank"&gt;here&lt;/a&gt;. One quick way to see columns is call this RPC method:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;http://youportal/_vti_bin/owssvr.dll?Cmd=Display&amp;amp;List=%734324344167AF05%2D5DAB%2D4C345CF%2343DAA37%2D7366A4191343838%7D&amp;amp;XMLDATA=TRUE&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This should return the xml with the columns in the list:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SoRt_9L65vI/AAAAAAAAAO4/C3RoCmbZIuM/s1600-h/image%5B5%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="60" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SoRuAKvL71I/AAAAAAAAAO8/Dmvya8ijsgc/image_thumb%5B2%5D.png?imgmax=800" width="413" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;note: if you call “Display” method with only “List” query string it will return the columns in the default view. If you want to return the columns from other view use this format:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;http://yourportal/_vti_bin/owssvr.dll?Cmd=Display&amp;amp;List={GUID}&amp;amp;XMLDATA=TRUE&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If you want to filter the results on a column you can use this version:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;br /&gt;http://yourportal/_vti_bin/owssvr.dll?Cmd=Display&amp;amp;List={GUID}&amp;amp;FilterField1={GUID}&amp;amp;FilterValue1={Text}&amp;amp;XMLDATA=TRUE&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-8152569403551730761?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/8152569403551730761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=8152569403551730761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/8152569403551730761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/8152569403551730761'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/08/quick-note-on-wss-internal-name-of.html' title='Quick Note on WSS Internal Name of columns'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_CdwbQksvcqY/SoQ1xqjgxUI/AAAAAAAAAOs/wiKDkTyp8jw/s72-c/image_thumb%5B7%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-3218418657326155181</id><published>2009-08-11T16:00:00.001-04:00</published><updated>2009-08-11T16:09:27.675-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Why we have to dispose SPSite Object</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/08/why-we-have-to-dispose-spsite-object.html";digg_title = "Why we have to dispose SPSite Object";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;If you every wrote any code against WSS 3.0 API you will be familiar with &lt;em&gt;SPSite&lt;/em&gt; class. Basically this class gives you access to a site collection. Once you have access to site collection, you can access any items in this collection like &lt;em&gt;SPWeb&lt;/em&gt; (site), &lt;em&gt;SPList,&lt;/em&gt; &lt;em&gt;SPFile&lt;/em&gt;, &lt;em&gt;SPUser&lt;/em&gt; etc. One of the best practices while writing code against SharePoint is to dispose &lt;em&gt;SPSite&lt;/em&gt; object or it with “using” block. .Net garbage collector will not able to clean up &lt;em&gt;SPSite&lt;/em&gt; and we will have to explicitly call &lt;em&gt;Dispose()&lt;/em&gt;. We need to explicitly dispose any object if they create unmanaged objects. In case of &lt;em&gt;SPSite&lt;/em&gt; this object is &lt;em&gt;SPRequest&lt;/em&gt;. &lt;em&gt;SPRequest&lt;/em&gt; class is .net wrapper over &lt;em&gt;SP.SPRequest (ClassID: BDEADEE2-C265-11D0-BCED-00A0C90AB50F)&amp;#160; &lt;/em&gt;that contains all the basic operations related to a site collection, site, list and users. This is the file that reads and write data to WSS Content databases. This class is implemented in OWSSVR.DLL library. .Net &lt;em&gt;SPRequest&lt;/em&gt; &lt;em&gt;ISPRequest&lt;/em&gt; interface exposed by &lt;em&gt;SP.SPRequest&lt;/em&gt; COM object. What this means is we should always limit the number of SPSite objects that you create. Try to dispose those which are not in use.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;you can read more about this at “&lt;a href="http://msdn.microsoft.com/en-us/library/aa973248.aspx" target="_blank"&gt;Best Practices: Using Disposable Windows SharePoint Services Objects&lt;/a&gt;”.&lt;/p&gt;  &lt;p&gt;Some other good posts are provided here at “&lt;a href="http://msdn.microsoft.com/en-us/library/dd588689%28office.11%29.aspx" target="_blank"&gt;Overview of the SharePoint Team Services Architecture&lt;/a&gt;”.&lt;/p&gt;  &lt;p&gt;This post provides information on how to access OWSSVR.dll through &lt;a href="http://msdn.microsoft.com/en-us/library/ms478653.aspx" target="_blank"&gt;URL Protocol&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Check &lt;a href="http://msdn.microsoft.com/en-us/library/ms440037.aspx" target="_blank"&gt;Client-side Active-x control list used by WSS 3.0&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/1286429809968788187-3218418657326155181?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/3218418657326155181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=3218418657326155181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3218418657326155181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3218418657326155181'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/08/why-we-have-to-dispose-spsite-object.html' title='Why we have to dispose SPSite Object'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-544696738303237807</id><published>2009-08-06T13:03:00.001-04:00</published><updated>2009-08-06T13:03:51.369-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Filtering List Items by CAML query in web based InfoPath form</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/08/filtering-list-items-by-caml-query-in.html";digg_title = "Filtering List Items by CAML query in web based InfoPath form";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;In this article we will try to solve a particular problem related to InfoPath web based forms. When you are working with InfoPath once very common requirement you get is to show filter items from a list. This can be achieved by: &lt;/p&gt;  &lt;p&gt;1) Creating a data connection to a SharePoint list and get the data: This option should be preferred way to get the data unless you are using a web based form and you are trying to filter the results by some field set on runtime inside the form. e.g. shows two dropdowns, second drop shows filter values that are selected from first dropdown control : &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="398"&gt;Source List:&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SnsM4EVMb3I/AAAAAAAAANI/Jo6AKRQVzQc/s1600-h/image111.png"&gt;            &lt;br /&gt;            &lt;br /&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="207" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SnsM4jH3cpI/AAAAAAAAANM/Ehbt5unCanQ/image_thumb5.png?imgmax=800" width="351" border="0" /&gt;&lt;/a&gt;           &lt;br /&gt;          &lt;br /&gt;InfoPath Form:           &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SnsM46-9doI/AAAAAAAAANQ/bV-kGvRrZps/s1600-h/image10.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="48" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SnsM5Dm1OtI/AAAAAAAAANU/Cu9PRTrPnnk/image_thumb41.png?imgmax=800" width="344" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;Issue&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;Web based InfoPath forms does not support filtering the results. When you try to filter the results while binding it gives this error:    &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SnsM5UrsdtI/AAAAAAAAANY/YJqMM_gH9ig/s1600-h/image16.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="180" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SnsM5pRnY-I/AAAAAAAAANc/bqWyWYoVRss/image_thumb8.png?imgmax=800" width="343" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2) Write code for InfoPath Form that can access the results using the data connection and inside the code you filter the results. This approach runs very well if you want to write code for the forms. For our purpose we are not allowed to write any code for the form as if you write code for the form you have to publish the form as Farm Level Template in the Central Administration. As we do not have access to Central Admin, there is a huge time deploy between deploying and debugging. &lt;/p&gt;  &lt;p&gt;3) Create a custom web service that returns the filtered data. This takes a longer route to get the filtered results from a list to the form but this is helpful in a situation when:    &lt;br /&gt;&amp;#160;&amp;#160; a) You are creating a web based form.     &lt;br /&gt;&amp;#160;&amp;#160; b) Writing code in the form is not an option.     &lt;br /&gt;&amp;#160;&amp;#160; c) Want to get the data in form filtered by a form field whose value is set on the runtime. &lt;/p&gt;  &lt;p&gt;I am creating a custom web service that eventually calls GetListItems method in Lists.asmx web service. We need to create a wrapper over the GetListItems method because &amp;quot;query&amp;quot; input parameter of the web service method takes a string. When you assign a CAML query in the form it converts the type to &amp;quot;string&amp;quot; and GetListItems expects &amp;quot;XmlNode&amp;quot; data type. I got a good pointer from this article: (&lt;a href="http://didierdanse.net/blogs/dev_en/archive/2009/01/02/sharepoint-a-proxy-web-service-that-allows-the-use-of-getlistitems-in-lists-asmx-from-infopath.aspx)"&gt;http://didierdanse.net/blogs/dev_en/archive/2009/01/02/sharepoint-a-proxy-web-service-that-allows-the-use-of-getlistitems-in-lists-asmx-from-infopath.aspx)&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;In order to create custom web service I faithfully followed this MSDN walk through (&lt;a href="http://msdn.microsoft.com/en-us/library/ms464040.aspx)"&gt;http://msdn.microsoft.com/en-us/library/ms464040.aspx)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Utility to generate disco and WSDL for WSS web services: &lt;a href="http://www.codeproject.com/KB/XML/wss_web_service_helper.aspx"&gt;http://www.codeproject.com/KB/XML/wss_web_service_helper.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Utility to build solution package (WSP Builder): &lt;a href="http://www.codeplex.com/wspbuilder"&gt;http://www.codeplex.com/wspbuilder&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Code for Web Service:&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;   &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;using System;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;using System.Collections.Generic;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;using System.Text;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;using Microsoft.SharePoint;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;using System.Xml;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;using System.Web.Services;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;namespace ListsHelper&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;{&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    /// &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;summary&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    /// Returns the item by CAML Query&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    /// &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;summary&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    [WebService(Namespace = &amp;quot;http://infopath/ws/&amp;quot;)]&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    public class ListWebService : System.Web.Services.WebService&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        [WebMethod]&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        public XmlNode GetListItems(string listName, string viewID, string query, string viewFields, string rowLimit, string queryOptions, string webID)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        { &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            ListsWS.Lists service=GetWebServiceInstance(webID);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            XmlNode queryElement = CreateNode(&amp;quot;Query&amp;quot;, query);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            XmlNode viewFieldsElement  = CreateNode(&amp;quot;ViewFields&amp;quot;, viewFields);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            XmlNode queryOptionsElement = CreateNode(&amp;quot;QueryOptions&amp;quot;, queryOptions);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            return service.GetListItems(listName, viewID, queryElement, viewFieldsElement, rowLimit, queryOptionsElement, webID);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        private ListsWS.Lists GetWebServiceInstance(string webID)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            ListsWS.Lists service = new ListsWS.Lists();&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            service.Credentials = System.Net.CredentialCache.DefaultCredentials;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            service.Url = SPContext.Current.Web.Url + &amp;quot;/_vti_bin/Lists.asmx&amp;quot;;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            return service;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        private XmlNode CreateNode(string name, string innerXml)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            XmlDocument document=new XmlDocument();&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            XmlNode node = document.CreateElement(name);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            node.InnerXml = innerXml;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            return node;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; WSList.asmx file looks like this:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; height: 14px; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%@ WebService Language=&amp;quot;C#&amp;quot; Class=&amp;quot;ListsHelper.ListWebService, ListsHelper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1234451984be79b8a1&amp;quot; %&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Once you have the WSList.asmx and the assembly follow these steps:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1) Copy the Assembly to the GAC.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2) Generate discovery and WSDL file for web service. To do that follow these steps:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; a) Create a web application in IIS or use existing web application and copy the asmx file.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; b) Run the disco.exe tool passing the service url:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SnsM5-cHUBI/AAAAAAAAANg/x8HHi-VACIg/s1600-h/image%5B5%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="51" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SnsM6CKk9rI/AAAAAAAAANk/MjVL6Cc2SKQ/image_thumb%5B2%5D.png?imgmax=800" width="338" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c) This will generate the wslist.disco and wslist.wsdl file for you.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; d) rename them as wslistdisco.aspx and wslistwsdl.aspx.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; e) Replace the wslistdisco.aspx code by:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; Inherits=&amp;quot;System.Web.UI.Page&amp;quot; %&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%@ Assembly Name=&amp;quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%@ Import Namespace=&amp;quot;Microsoft.SharePoint.Utilities&amp;quot; %&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%@ Import Namespace=&amp;quot;Microsoft.SharePoint&amp;quot; %&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt;  Response.ContentType = &lt;span style="color: #006080"&gt;&amp;quot;text/xml&amp;quot;&lt;/span&gt;; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;span style="background-color: #ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;discovery&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:xsd&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.xmlsoap.org/disco/&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;contractRef&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ref&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;amp&lt;/span&gt;;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;OriginalBaseUrl&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;Request&lt;/span&gt;) + &lt;span style="color: #0000ff"&gt;&amp;quot;?wsdl&amp;quot;&lt;/span&gt;),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;amp&lt;/span&gt;;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #ff0000"&gt;docRef&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;amp&lt;/span&gt;;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;OriginalBaseUrl&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;Request&lt;/span&gt;)),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;amp&lt;/span&gt;;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.xmlsoap.org/disco/scl/&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;soap&lt;/span&gt; &lt;span style="color: #ff0000"&gt;address&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;amp&lt;/span&gt;;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;OriginalBaseUrl&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;Request&lt;/span&gt;)),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;amp&lt;/span&gt;;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #ff0000"&gt;xmlns:q1&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.microsoft.com/sharepoint/soap/directory/&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;q1:UserGroupSoap&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.xmlsoap.org/disco/soap/&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;soap&lt;/span&gt; &lt;span style="color: #ff0000"&gt;address&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;amp&lt;/span&gt;;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;OriginalBaseUrl&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;Request&lt;/span&gt;)),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;amp&lt;/span&gt;;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #ff0000"&gt;xmlns:q2&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.microsoft.com/sharepoint/soap/directory/&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;q2:UserGroupSoap12&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.xmlsoap.org/disco/soap/&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;discovery&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;d) Modify the wslistwsdl.aspx as shown below:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; add this ComplexType definition inside the “s:schema” element:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetListItems&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;listName&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;viewID&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;query&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;viewFields&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;rowLimit&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;queryOptions&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;webID&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;also replace the “wsdl:service” and “wsdl:port” elements as:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;wsdl:service&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ListWebService&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;wsdl:port&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ListWebServiceSoap&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;tns:ListWebServiceSoap&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;soap:address&lt;/span&gt; &lt;span style="color: #ff0000"&gt;location&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;OriginalBaseUrl&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;Request&lt;/span&gt;)),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;wsdl:port&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;wsdl:port&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ListWebServiceSoap12&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;tns:ListWebServiceSoap12&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;soap12:address&lt;/span&gt; &lt;span style="color: #ff0000"&gt;location&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;OriginalBaseUrl&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;Request&lt;/span&gt;)),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;wsdl:port&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;wsdl:service&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;  &lt;br /&gt;f) Modify the spdisco.aspx file to make this service available to visual studio tools. Add the following elements to the “discovery” element:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;contractRef&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ref&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;spWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Url&lt;/span&gt; + &lt;span style="color: #0000ff"&gt;&amp;quot;/_vti_bin/WSListsdisco.aspx&amp;quot;&lt;/span&gt;),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #ff0000"&gt;docRef&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;spWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Url&lt;/span&gt; + &lt;span style="color: #0000ff"&gt;&amp;quot;/_vti_bin/WSLists.asmx&amp;quot;&lt;/span&gt;),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.xmlsoap.org/disco/scl/&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;discoveryRef&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ref&lt;/span&gt;=&amp;amp;&lt;span style="color: #ff0000"&gt;lt&lt;/span&gt;;% &lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;AddQuote&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;SPHttpUtility&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color: #ff0000"&gt;spWeb&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Url&lt;/span&gt; + &lt;span style="color: #0000ff"&gt;&amp;quot;/_vti_bin/WSListswsdl.aspx&amp;quot;&lt;/span&gt;),&lt;span style="color: #ff0000"&gt;Response&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Output&lt;/span&gt;); %&amp;amp;&lt;span style="color: #ff0000"&gt;gt&lt;/span&gt;; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.xmlsoap.org/disco/&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;All done!! Now you need to copy these items to right location:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1) Copy wslists.asmx, wslistsdisco.aspx, wslistswsdl.aspx and spdisco.aspx to 12 Hive\ISAPI folder.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2) Make sure the assembly is deployed to GAC.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3) Do a IISRESET.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Try accessing http://portal/_vti_bin/wslists.asmx , and you should be able to see the web method:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SnsM6SfAKHI/AAAAAAAAANo/hm6gcFfDFls/s1600-h/image21.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="130" alt="image" src="http://lh3.ggpht.com/_CdwbQksvcqY/SnsM6intE2I/AAAAAAAAANs/L7ScN1RONxI/image_thumb12.png?imgmax=800" width="375" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Also verify the WSDL at http://portal/_vti_bin/wslists.asmx?WSDL:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SnsM6zAc74I/AAAAAAAAANw/c3OVA-fqPPs/s1600-h/image27.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="173" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SnsM7F4hreI/AAAAAAAAAN0/upVXsehnlSI/image_thumb16.png?imgmax=800" width="368" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Create a Data Connection to the web service in InfoPath:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SnsM7oTsCcI/AAAAAAAAAN4/4nBadvdjfXo/s1600-h/image161.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="252" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SnsM71-Ck4I/AAAAAAAAAN8/MgWRj73B9T8/image_thumb9.png?imgmax=800" width="380" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Set the parameters and call the web service:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SnsM75TktJI/AAAAAAAAAOA/9kpuZrRB59I/s1600-h/image7%5B2%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="263" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SnsM8J-9NrI/AAAAAAAAAOE/66Cum99Yraw/image7_thumb%5B1%5D.png?imgmax=800" width="340" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;On return you should be able to bind the web service results to any control that takes repeating string data type.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SnsM8d97AVI/AAAAAAAAAOI/k1N1yHsrcnA/s1600-h/image14.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="332" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SnsM8g6mdhI/AAAAAAAAAOM/-zwud1xk7_4/image_thumb7.png?imgmax=800" width="313" 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/1286429809968788187-544696738303237807?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/544696738303237807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=544696738303237807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/544696738303237807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/544696738303237807'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/08/filtering-list-items-by-caml-query-in.html' title='Filtering List Items by CAML query in web based InfoPath form'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_CdwbQksvcqY/SnsM4jH3cpI/AAAAAAAAANM/Ehbt5unCanQ/s72-c/image_thumb5.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-4705700524028696592</id><published>2009-08-05T21:34:00.001-04:00</published><updated>2009-08-19T10:06:44.426-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Setting ListItem Permission in a SharePoint Library</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/08/setting-listitem-permission-in.html";digg_title = "Setting ListItem Permission in a SharePoint Library";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/font&gt;&lt;font size="2"&gt;s we know that out-of-box SharePoint does not support ListItem permission like a simple list, i.e. on creating a list you get option to say weather or not you want the other users than the creator of the document to have access to the item. Even though this setting is not enough for most scenarios, still can help by just not have to remove the users by code.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;So how can you give custom permission to the items in a library. You can write either of the following:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;1) Write a event receiver and bind it to ItemUpdating event.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;2) Write a SPD Activity.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;3) Write a custom Workflow.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;No matter what you decide to write you need to some facts about SharePoint Permissions:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;1) All the items by default Inherit the Parent’s Permission:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;Site Collection–&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; Site–&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; List\Library–&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; ListItem&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;font size="2"&gt;When a new item is created It will have the same permission as the list and list will inherits the permission from site, unless you explicitly break them. Also these are four places where you can break the permissions. As soon as you break permission on a level, new permissions will flow down to the List\ListItem level.&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;font size="2"&gt;2) Limited Access: This is a special Permission Level only use for internal use. This is from Microsoft site:&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;“The Limited Access permission level is designed to be combined with &lt;br /&gt;fine-grained permissions to give users access to a specific list, document &lt;br /&gt;library, item, or document, without giving them access to the entire site. &lt;br /&gt;However, to access a list or library, for example, a user must have permission &lt;br /&gt;to open the parent Web site and read shared data such as the theme and &lt;br /&gt;navigation bars of the Web site. The Limited Access permission level cannot be &lt;br /&gt;customized or deleted. &lt;br /&gt;You cannot assign this permission level to &lt;br /&gt;users or SharePoint groups. Instead, Windows SharePoint Services 3.0 &lt;br /&gt;automatically assigns this permission level to users and SharePoint groups when &lt;br /&gt;you grant them access to an object on your site that requires that they have &lt;br /&gt;access to a higher level object on which they do not have permissions. For &lt;br /&gt;example, if you grant users access to an item in a list and they do not have &lt;br /&gt;access to the list itself, Windows SharePoint Services 3.0 automatically grants &lt;br /&gt;them Limited Access on the list, and also the site, if needed.”&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Check this from &lt;a href="http://www.codeplex.com/SPLimitedAccessDisco" target="_blank"&gt;codeplex&lt;/a&gt; to see the “Limited Access” permissions.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;font size="2"&gt;3) Code: Some important classes are: &lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;SPRoleAssignment: This class binds the SPPrincipal (SPGroup, SPUser) object with &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;SPRoleDefinition. Each ISecurable item in SharePoint carries a SPRoleAssignmentCollection.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;SPRoleDefinition: Defines a Permission Level for SharePoint.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;BreakRoleInheritance function: This function is to break the inheritance from the parent container. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here is code to remove the permission and adding the permission:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;public void SetListItemPermissions(SPListItem item, string groupName)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;   try&lt;br /&gt;&lt;br /&gt;   {&lt;br /&gt;     SPSecurity.RunWithElevatedPrivileges(delegate()&lt;br /&gt;      {&lt;br /&gt;      SPWeb web = item.Web;&lt;br /&gt;&lt;br /&gt;      SPGroupCollection spc = web.Groups;&lt;br /&gt;&lt;br /&gt;      SPGroup group = spc[groupName];&lt;br /&gt;&lt;br /&gt;      SPRoleAssignment roleAssignment = new SPRoleAssignment((SPPrincipal)group);&lt;br /&gt;&lt;br /&gt;      SPRoleDefinition RoleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Reader);&lt;br /&gt;&lt;br /&gt;      web.AllowUnsafeUpdates = true;&lt;br /&gt;&lt;br /&gt;      if (!item.HasUniqueRoleAssignments)&lt;br /&gt;&lt;br /&gt;      {&lt;br /&gt;&lt;br /&gt;           item.BreakRoleInheritance(false);  // Error : &amp;quot;Operation is not valid due to the current state of the object.&amp;quot;&lt;br /&gt;&lt;br /&gt;          web.AllowUnsafeUpdates = true; &lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      roleAssignment.RoleDefinitionBindings.Add(RoleDefinition);&lt;br /&gt;&lt;br /&gt;      item.RoleAssignments.Add(roleAssignment);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  catch (Exception ex)&lt;br /&gt;&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;      throw;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;In some cases BreakRoleInheritence(true) can be very slow or even fail. You can see this behavior increasing when you keep adding users to list level with “Limited Access” (or SharePoint adds them for you when you give a user some permission on the ListItem)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;You can read more about this here on following :&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/2a7f75f3-66fa-4be9-b8cf-85721920b7e8"&gt;http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/2a7f75f3-66fa-4be9-b8cf-85721920b7e8&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a title="http://www.chakkaradeep.com/post/2008/11/27/SharePoint-ndash3b-Setting-Item-level-permission.aspx" href="http://www.chakkaradeep.com/post/2008/11/27/SharePoint-ndash3b-Setting-Item-level-permission.aspx"&gt;http://www.chakkaradeep.com/post/2008/11/27/SharePoint-ndash3b-Setting-Item-level-permission.aspx&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;You can use this code instead:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; height: 115px; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;br /&gt;while ( item.RoleAssignments.Count &lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; 0)&lt;br /&gt;{&lt;br /&gt;   item.RoleAssignments.Remove(0);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;updated Aug 19, 2009:&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Some information of this topic:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;“Joris Poelmans” shed some more light on the problem with more then 2000 principle objects in ACL:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://jopx.blogspot.com/2009/08/sharepoint-and-2000-principal-limit.html"&gt;http://jopx.blogspot.com/2009/08/sharepoint-and-2000-principal-limit.html&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc262787.aspx" target="_blank"&gt;Microsoft governance article&lt;/a&gt; states that this might be a performance issue. This is what Microsoft article states:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="2" width="806" border="1"&gt;&lt;tbody&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td valign="top" width="133"&gt;Security principal&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;      &lt;td valign="top" width="133"&gt;Approximately 2,000 per ACL (Access Control List) on any securable object (scope)&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;      &lt;td valign="top" width="538"&gt;&lt;br /&gt;        &lt;p&gt;The total size of the ACL on scopes can be no larger than 64kb. Because each security principal is approximately 32 bytes in size, there can be no more than approximately 2,000 security principals or less for each scope.&amp;#160; If this limit is reached, indexing of items in that scope, and all items below that scope, to fail. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;        &lt;p&gt;Also, because SharePoint Groups are expanded during the indexing process, having more than 2,000 users or Directory Groups in a SharePoint group and using that group for securing scopes may cause indexing of items secured with these groups, and all items below them, to fail. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;        &lt;p&gt;This limit only occurs when Windows Integrated Authentication is utilized.&lt;/p&gt;&lt;br /&gt;      &lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;  &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-4705700524028696592?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/4705700524028696592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=4705700524028696592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4705700524028696592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/4705700524028696592'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/08/setting-listitem-permission-in.html' title='Setting ListItem Permission in a SharePoint Library'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-6608953253761071138</id><published>2009-07-28T10:09:00.001-04:00</published><updated>2009-07-28T10:09:05.452-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Exception from HRESULT: 0x80041051 on accessing SharePoint Publishing site</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/07/exception-from-hresult-0x80041051-on.html";digg_title = "Exception from HRESULT: 0x80041051 on accessing SharePoint Publishing site";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;We have strange error while authoring publishing site on our portal. We created the site using “Publishing Site Template” and when we navigated to the site we got this error:&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;Exception from HRESULT: 0x80041051&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;This is the page:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/Sm8Gdn9d2DI/AAAAAAAAAM4/tLs4A7YBKZQ/s1600-h/clip_image001%5B6%5D.jpg"&gt;&lt;img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="185" alt="clip_image001" src="http://lh6.ggpht.com/_CdwbQksvcqY/Sm8GeAUqWQI/AAAAAAAAAM8/5XdXxFE-DFk/clip_image001_thumb%5B3%5D.jpg?imgmax=800" width="414" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After googling for some time, I came across couple of forums that mentioned that this error is caused by MIcrosoft ForeFront server!! Never have guessed that. But as a solution run the following script against troubled portal Content Database in SQL Server Manager:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;SELECT *&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;FROM Docs&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;WHERE (VirusStatus &lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; 0) AND (VirusStatus IS NOT &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;NULL)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If result comes back with any row run this script:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;Update dbo.allDocs&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;Set VirusVendorID=NULL, VirusStatus=NULL, &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;VirusInfo=NULL&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;where (VirusStatus &lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt; 0) AND (VirusStatus IS NOT NULL)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Access the site and this time you should see the publishing bar:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/Sm8Ge5cSX1I/AAAAAAAAANA/i3Pll1KFpzU/s1600-h/image%5B5%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://lh3.ggpht.com/_CdwbQksvcqY/Sm8Gfkal31I/AAAAAAAAANE/I9gAwpWonWY/image_thumb%5B3%5D.png?imgmax=800" width="451" 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/1286429809968788187-6608953253761071138?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/6608953253761071138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=6608953253761071138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/6608953253761071138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/6608953253761071138'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/07/exception-from-hresult-0x80041051-on.html' title='Exception from HRESULT: 0x80041051 on accessing SharePoint Publishing site'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_CdwbQksvcqY/Sm8GeAUqWQI/AAAAAAAAAM8/5XdXxFE-DFk/s72-c/clip_image001_thumb%5B3%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2534229703831393031</id><published>2009-07-17T14:01:00.001-04:00</published><updated>2009-07-20T11:33:30.518-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='infopath'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Extracting Complex data type from Web Service in InfoPath</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/07/extracting-complex-data-type-from-web.html";digg_title = "Extracting Complex data type from Web Service in InfoPath";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;We have a requirement to use the user information on InfoPath forms. Problem with using UserGroup.asmx web services is, when you create a data connection to the UserGroup SharePoint Web Service and select the a web method, InfoPath does not return correct return type object. To get around this problem you can:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;1) Writing InfoPath form code. &lt;/li&gt;    &lt;li&gt;2) By modifying connection xsd file inside xsn package. This tutorial\code will show this method. You can find very good tutorial &lt;a href="http://blog.ianchivers.com/wordpress/?p=37" target="_blank"&gt;here&lt;/a&gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Here are couple of example with UserGroup.asmx (&lt;a title="http://msdn.microsoft.com/en-us/library/ms774422.aspx" href="http://msdn.microsoft.com/en-us/library/ms774422.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms774422.aspx&lt;/a&gt;) web service. In order to use complex data type returned by web methods replace these lines in “Connection1.xsd” files:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="743" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="741"&gt;         &lt;h5&gt;GetUserInfo&lt;/h5&gt;          &lt;div id="codeSnippetWrapper"&gt;           &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 76.25%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt;             &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100.18%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; height: 304px; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:import&lt;/span&gt; &lt;span style="color: #ff0000"&gt;namespace&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:import&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--Insert this section--&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetUserInfoType&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;User&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Notes&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Name&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;IsSiteAdmin&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Sid&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ID&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;LoginName&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Email&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;IsDomainGroup&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetUserCollectionFromSite&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;            &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;          &lt;div id="codeSnippetWrapper"&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;          &lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;            &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;        &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 76.42%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; height: 182px; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;          &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&amp;lt;s:element name=&amp;quot;GetUserInfo&amp;quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;        &amp;lt;s:complexType&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;            &amp;lt;s:sequence&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;                &amp;lt;s:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;1&amp;quot; name=&amp;quot;userLoginName&amp;quot; type=&amp;quot;s:string&amp;quot;&amp;gt;&amp;lt;/s:element&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;            &amp;lt;/s:sequence&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;        &amp;lt;/s:complexType&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;    &amp;lt;/s:element&amp;gt;--&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetUserInfo&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;tns:GetUserInfoType&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;        &lt;div&gt;&lt;br /&gt;          &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;      &lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td valign="top" width="741"&gt;&lt;strong&gt;&lt;br /&gt;          &lt;h5&gt;GetUserCollectionFromGroup&lt;/h5&gt;&lt;br /&gt;        &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;        &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 76.55%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;          &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:import&lt;/span&gt; &lt;span style="color: #ff0000"&gt;namespace&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:import&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--add this section --&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetUserCollectionFromGroupType&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;minOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Users&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;maxOccurs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;unbounded&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;User&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Notes&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Name&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;IsSiteAdmin&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Sid&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ID&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;LoginName&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Email&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;IsDomainGroup&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;s:string&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:attribute&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                            &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:sequence&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;s:complexType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetUserCollectionFromSite&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;        &lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;          &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;        &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 76.64%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; height: 178px; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;          &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&amp;lt;s:element name=&amp;quot;GetUserCollectionFromGroup&amp;quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;        &amp;lt;s:complexType&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;            &amp;lt;s:sequence&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;                &amp;lt;s:element minOccurs=&amp;quot;0&amp;quot; maxOccurs=&amp;quot;1&amp;quot; name=&amp;quot;groupName&amp;quot; type=&amp;quot;s:string&amp;quot;&amp;gt;&amp;lt;/s:element&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;            &amp;lt;/s:sequence&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;        &amp;lt;/s:complexType&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;    &amp;lt;/s:element&amp;gt;--&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;s:element&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;GetUserCollectionFromGroup&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;tns:GetUserCollectionFromGroupType&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;          &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;        &lt;div id="codeSnippetWrapper"&gt;&lt;/div&gt;&lt;br /&gt;      &lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;  &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2534229703831393031?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2534229703831393031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2534229703831393031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2534229703831393031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2534229703831393031'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/07/extracting-complex-data-type-from-web.html' title='Extracting Complex data type from Web Service in InfoPath'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1234764319414692570</id><published>2009-07-16T17:00:00.001-04:00</published><updated>2009-07-16T17:01:01.250-04:00</updated><title type='text'>Error while deploying Custom Web Service for WSS 3.0</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/07/error-while-deploying-custom-web.html";digg_title = "Error while deploying Custom Web Service for WSS 3.0";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;I was following &amp;quot;&lt;a href="http://msdn.microsoft.com/en-us/library/ms464040.aspx" target="_blank"&gt;Creating Custom Web Service Walkthrough&lt;/a&gt;&amp;quot; tutorial to create WSS 3.0 web service. For most part this worked and I am able to successfully able to browse my service through browser (did not discover through WSDL).&lt;/p&gt;  &lt;p&gt;I get the following error message while creating receiver data connection inside InfoPath form, which i don't get from when addressed via the _layouts folder.&lt;/p&gt;  &lt;p&gt;The file is not a valid XML file. The form contains XML that cannot be parsed:   &lt;br /&gt;&lt;/p&gt;  &lt;div&gt;   &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;br /&gt;A string literal was expected, but no opening quote character was found.&lt;br /&gt;&lt;br /&gt;Line 19, Position 38&lt;br /&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TABLE&lt;/span&gt; &lt;span style="color: #ff0000"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ms-main&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;CELLPADDING&lt;/span&gt;=&lt;span style="color: #ff0000"&gt;0&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #ff0000"&gt;CELLSPACING&lt;/span&gt;=&lt;span style="color: #ff0000"&gt;0&lt;/span&gt; &lt;span style="color: #ff0000"&gt;BORDER&lt;/span&gt;=&lt;span style="color: #ff0000"&gt;0&lt;/span&gt; &lt;span style="color: #ff0000"&gt;WIDTH&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;100%&amp;quot;&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #ff0000"&gt;HEIGHT&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;100%&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;-------------------------------------^&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;  &lt;br /&gt;as usual this is “special” way of InfoPath telling you that your WSDL either is not found or is incorrect. In my case WSDL was present but had bad markup. I was using Visual Studio to edit the WSDL files. In turned out that editor keep inserting quotes inside XML:&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Instead of &lt;font color="#008000"&gt;&lt;strong&gt;Correct line:&lt;/strong&gt;&lt;/font&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;    &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; Inherits=&amp;quot;System.Web.UI.Page&amp;quot; %&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;it puts &lt;font color="#ff0000"&gt;&lt;strong&gt;Wrong line:&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="background-color: #ffff00"&gt;&amp;lt;%@ Page=&amp;quot;&amp;quot; Language=&amp;quot;C#&amp;quot; Inherits=&amp;quot;System.Web.UI.Page&amp;quot;%&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Once I fixed this error my web service started working fine.&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-1234764319414692570?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/1234764319414692570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=1234764319414692570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1234764319414692570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1234764319414692570'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/07/error-while-deploying-custom-web.html' title='Error while deploying Custom Web Service for WSS 3.0'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-7659237212879762402</id><published>2009-07-15T22:02:00.002-04:00</published><updated>2009-07-16T09:20:19.186-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>“Quality in Software”</title><content type='html'>&lt;div&gt;&lt;object width="512" height="322"&gt;&lt;param name="movie" value="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.40"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="bgcolor" value="#000000"&gt;&lt;param name="flashVars" value="id=2724346&amp;amp;vid=529579&amp;amp;lang=en-us&amp;amp;intl=us&amp;amp;thumbUrl=http%3A//l.yimg.com/a/i/us/sch/cn/v/v1/w529/529579_100_70.jpeg%3Fx%3D158%26y%3D111%26sig%3DkA.KarKM2jJHPLNqRFLf7w--&amp;amp;embed=1"&gt;&lt;embed src="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.40" type="application/x-shockwave-flash" width="512" height="322" allowfullscreen="true" allowscriptaccess="always" bgcolor="#000000" flashvars="id=2724346&amp;amp;vid=529579&amp;amp;lang=en-us&amp;amp;intl=us&amp;amp;thumbUrl=http%3A//l.yimg.com/a/i/us/sch/cn/v/v1/w529/529579_100_70.jpeg%3Fx%3D158%26y%3D111%26sig%3DkA.KarKM2jJHPLNqRFLf7w--&amp;amp;embed=1"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://video.yahoo.com/watch/529579/2724346"&gt;Douglas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Crockford&lt;/span&gt;: "Quality"&lt;/a&gt; @ &lt;a href="http://video.yahoo.com/"&gt;Yahoo! Video&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Doug - Always Entertaining!! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-7659237212879762402?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/7659237212879762402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=7659237212879762402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/7659237212879762402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/7659237212879762402'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/07/quality-in-software.html' title='“Quality in Software”'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-246931527624283518</id><published>2009-07-14T12:15:00.001-04:00</published><updated>2009-07-14T12:15:27.786-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Moving List Template \ Site Template to different Site Collection</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/07/moving-list-template-site-template-to.html";digg_title = "Moving List Template \\ Site Template to different Site Collection";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;I&lt;/font&gt;&lt;/strong&gt;n a WSS 3.0 web application each site collection has a “list template” (_catalogs/lt/) and “site template” (_catalogs/wt/) gallery. You can use any of the available templates to provision a new list\library\site. These provisioning templates help great deal when you need to create similar list\site across multiple sites. All the sites in the site collection have access to the templates so they can be used in any sub-sites. You can check &lt;a href="http://rawatsumit.blogspot.com/2008/08/save-site-as-template.html" target="_blank"&gt;&amp;quot;Save site as Template&amp;quot;&lt;/a&gt; post to see how to create a site template based on existing site.&lt;/p&gt;  &lt;p&gt;To create a list template based on existing list, follow these steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;1) Open “List Settings” page of the source List.&lt;/li&gt;    &lt;li&gt;2) Under “Permissions and Management” tab select “Save form library as template” link.&lt;/li&gt;    &lt;li&gt;3) On “/_layouts/savetmpl.aspx” page give a name to the template save its.&lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SlyvFWIru1I/AAAAAAAAAL4/T51kOUpT1EQ/s1600-h/image%5B2%5D.png"&gt;&lt;/a&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="221" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SlyvF-SGC1I/AAAAAAAAAL8/a_drjg6tivQ/image_thumb.png?imgmax=800" width="244" border="0" /&gt;        &lt;p&gt;&lt;/p&gt;  4) you can see the newly created template in the list template gallery.&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SlyvGJSiUSI/AAAAAAAAAMA/0-BDT0OEmTo/s1600-h/image%5B5%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="33" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SlyvGRpjmaI/AAAAAAAAAME/7moiC2toWBY/image_thumb%5B1%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Pretty Easy!!&lt;/p&gt;  &lt;p&gt;Every thing runs smooth for few days, testing is conducted and now you wanted to move this list from your test environment to production. Surely you do not want to recreate the list by hand. Also you cannot backup and restore the site collection from test to production probably because you might not want to overwrite the production with the junk. So how do you move this Sample.stp file from one site collection to other. On initial look it looks easy enough to download the stp from source portal and upload it to destination portal list template library and start creating the lists. However in practice, this does not work, if you try to upload the template without small modification, you will see that “Language”, “Product Version” and “Feature ID” columns are blanks, which indicate that the template was not installed properly (i.e. template will not show up on the /_layouts/create.aspx page).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Moving stp files between site collections\web applications&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;A&lt;/font&gt;&lt;/strong&gt;s it turns out stp files are simple cabinet files and can be generated using “makecab” utility available in windows. So basic idea is to:&lt;/p&gt;  &lt;p&gt;1) Download the stp file on the file system.&lt;/p&gt;  &lt;p&gt;2) Rename the Sample.stp file to Sample.cab.&lt;/p&gt;  &lt;p&gt;3) Use archiving utility like winrar\winzip to extract the files. Find the manifest.xml file.&lt;/p&gt;  &lt;p&gt;4) Change the Manifest.xml file (specifically change the “WebUrl” attribute of “ListTemplate” element to point from old portal to new portal). Save the Manifest.xml file.&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;   &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ListTemplate&lt;/span&gt; &lt;span style="color: #ff0000"&gt;WebUrl&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&lt;a href="http://destinationportal/"&gt;http://destinationportal/&lt;/a&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;5) Create a directive file to use with makecab. Here is the sample for the file:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;  &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 110.16%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;    &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; ;*** Sample Source Code MakeCAB Directive file example&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; ;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt; .OPTION EXPLICIT ; Generate errors &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt; .Set CabinetNameTemplate=Sample.cab    &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt; .set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt; .Set CompressionType=MSZIP ;** All files are compressed in cabinet files&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt; .Set UniqueFiles=&amp;quot;OFF&amp;quot;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt; .Set Cabinet=on&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt; .Set DiskDirectory1=Sample.CAB&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt; manifest.xml&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;      &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum12" style="color: #606060"&gt;  12:&lt;/span&gt; ;*** &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;the&lt;/span&gt; &lt;span style="color: #ff0000"&gt;end&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;  &lt;/div&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;6) Run the Makecab. You can use the /F switch to run the makecab command:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; makecab /F directive.ddf&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;that should yield something like:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SlyvGs_tXYI/AAAAAAAAAMI/Xx-sjWEFvNo/s1600-h/image%5B12%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="94" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SlyvGxyZrwI/AAAAAAAAAMM/oCsOqzsxcXc/image_thumb%5B6%5D.png?imgmax=800" width="530" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;7) Rename the package from Sample.cab to Sample.stp.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;8) Upload the file to destination portal /_catalog/lt/ list template gallery.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;9) Create the list based on the uploaded template.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Notes:&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;When you move list\library template this way, all the associated workflow settings move with the list. This means when you see the associated workflows you will see the workflows that were attached to the list when the template was created. However, this DOES NOT mean that the workflows are deployed or created (SPD workflow). You will have to move they workflows manually. Check “&lt;a href="http://rawatsumit.blogspot.com/2009/06/working-with-sharepoint-designer.html" target="_blank"&gt;SPD Workflow&lt;/a&gt;” post to see how to copy workflows.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Same thing applies to the content types. You will see the content type associated with the list that does not exist on the site (If&amp;#160; you have not created them manually). You will have to do the clean.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-246931527624283518?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/246931527624283518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=246931527624283518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/246931527624283518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/246931527624283518'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/07/moving-list-template-site-template-to.html' title='Moving List Template \ Site Template to different Site Collection'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_CdwbQksvcqY/SlyvF-SGC1I/AAAAAAAAAL8/a_drjg6tivQ/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1250103713472115526</id><published>2009-07-09T10:43:00.000-04:00</published><updated>2009-07-10T08:50:05.076-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Creating, Assigning, Deleting new Content type for List\Library</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/07/assigning-new-content-type-to.html";digg_title = "Creating, Assigning, Deleting new Content type for List\\Library";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;C&lt;/font&gt;&lt;/strong&gt;ontent are very important to SharePoint. Content type act as a class\blueprint\template for an item in a list or library. &lt;/p&gt;  &lt;div&gt;&lt;font size="3"&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/font&gt;ontent types are created at site collection level. You can browse to &amp;quot;/_layouts/mngctype.aspx&amp;quot; page on your SharePoint portal to see all the Content Type.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SlYBw15Hl1I/AAAAAAAAAKU/q4cZaPhJ-FY/s1600-h/image%5B4%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="204" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SlYBxAfnovI/AAAAAAAAAKY/Dw6UvjY1DHc/image_thumb%5B2%5D.png?imgmax=800" width="404" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;P&lt;/strong&gt;&lt;/font&gt;&lt;font size="2"&gt;rimitive content type for all content type is “Item”. Only column this content type provides is “Title”. Content types supports inheritance, this means that you can create a content type based on existing content type. A derived content type will have all the columns that are in the base content type and columns that you added in the new content type.&amp;#160; Document content type directly derives from “Item”.&lt;/font&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="647" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="291"&gt;&lt;strong&gt;Parent Content Type “Item”&lt;/strong&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/Slc4-8kGB5I/AAAAAAAAALs/RKcO29nfJig/s1600-h/image5%5B2%5D.png"&gt;&lt;img title="Item Content type" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="245" alt="Item Content type" src="http://lh5.ggpht.com/_CdwbQksvcqY/SlYBxs0oKLI/AAAAAAAAALw/W00bwdT58FA/image5_thumb%5B1%5D.png?imgmax=800" width="279" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="354"&gt;&lt;strong&gt;Child Content type “Document Content Type”&lt;/strong&gt;           &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SlYByOhY1QI/AAAAAAAAAKk/0Pvi1E3VbnA/s1600-h/image%5B18%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="244" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SlYByWDKtnI/AAAAAAAAAKo/RNjFDxNsF1Q/image_thumb%5B13%5D.png?imgmax=800" width="318" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div&gt;&lt;font size="3"&gt;&lt;strong&gt;O&lt;/strong&gt;&lt;/font&gt;ne Content type can be used in multiple list\library. This is great for the content designers as they do not have to go through error prone methods of creating similar list\libraries inside same site or across multiple sites. You can also change the order default content and disable a existing content type.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;table cellspacing="0" cellpadding="2" width="587" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="585"&gt;         &lt;p&gt;&lt;strong&gt;&lt;u&gt;Assigning new Content type to a list\library&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;          &lt;ol&gt;           &lt;li&gt;1) Go to List settings page and under “Settings” tab select “Advanced settings”. &lt;/li&gt;            &lt;li&gt;2) Under “Allow management of content types?” select yes. By default this is selected “”no. &lt;/li&gt;            &lt;li&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SlYBzNgSFsI/AAAAAAAAAKs/EoCNfHnJStM/s1600-h/image%5B22%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="54" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SlYBzYpy2wI/AAAAAAAAAKw/PJbXQyb6L6Y/image_thumb%5B15%5D.png?imgmax=800" width="231" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;3) On the list settings page you will see new tab “Content Types”. To add a existing content type to the list use “Add from existing site content type”. To change the order of the content types use “Change new button order and default content type” &lt;/li&gt;            &lt;li&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SlYBzcG7AwI/AAAAAAAAAK0/Mlx6GM3N0MQ/s1600-h/image%5B28%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="114" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SlYBzlSTZOI/AAAAAAAAAK4/VV-QNzLWAKI/image_thumb%5B19%5D.png?imgmax=800" width="472" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;Add Content type to list: &lt;/li&gt;            &lt;li&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SlYBz04osXI/AAAAAAAAAK8/T1cUHQj2cbc/s1600-h/image%5B33%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="181" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SlYB0KLzCTI/AAAAAAAAALA/MWrISYHUj_Y/image_thumb%5B22%5D.png?imgmax=800" width="475" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;After Adding the new Content Type List will content the union of the columns. &lt;/li&gt;            &lt;li&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SlYB0kHi3WI/AAAAAAAAALE/h89-0UBf__Q/s1600-h/image%5B44%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="227" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SlYB04DWCCI/AAAAAAAAALI/eiyBX2_I7uw/image_thumb%5B27%5D.png?imgmax=800" width="358" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;You can still create “List Column” and add to the list. &lt;/li&gt;         &lt;/ol&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="585"&gt;&lt;strong&gt;Changing the Order of the content type            &lt;br /&gt;&lt;/strong&gt;          &lt;br /&gt;Changing the order of the content will change the order of the content that shows up with the “new” button on the list action menu. Browse to “/_layouts/ChangeContentTypeOrder.aspx” or select “Change new button order and default content type“ from the settings page.           &lt;br /&gt;          &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SlYB1QL_zGI/AAAAAAAAALM/zCJHtz7SD8o/s1600-h/image%5B37%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="141" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SlYB12A-4MI/AAAAAAAAALQ/4hU_5y_IO0A/image_thumb%5B24%5D.png?imgmax=800" width="321" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;Above selection will make this change:           &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SlYB2Csd4tI/AAAAAAAAALU/lxWrlbmKp4k/s1600-h/image%5B40%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="138" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SlYB2QrNwCI/AAAAAAAAALY/twdrvmivJVc/image_thumb%5B25%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;Content Type assigned “1” will be considered “Default Content Type”.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="585"&gt;&lt;strong&gt;Removing the already assigned            &lt;br /&gt;&lt;/strong&gt;          &lt;br /&gt;One of the tricky part with the list is to remove a content type from the list once you have assign to list. On the second though this makes sense as SharePoint assumes you have created List Items or documents on the content types that are available with the list. As you cannot have orphan items (without any content type) and SharePoint does not provide any cascading delete, you cannot remove a content type without delete it altogether on the site level.           &lt;br /&gt;          &lt;br /&gt;One trick can be to remove the content type from listing on the “New” list action menu. This will make sure that no new item can be based on the content type. Browse to “/_layouts/ChangeContentTypeOrder.aspx” or select “Change new button order and default content type“ from the settings page.           &lt;br /&gt;          &lt;br /&gt;&amp;#160; &lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SlYB2vlyckI/AAAAAAAAALc/t9WIptK7nPI/s1600-h/image%5B53%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="167" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SlYB219WI3I/AAAAAAAAALg/otB23F9GRh8/image_thumb%5B32%5D.png?imgmax=800" width="428" border="0" /&gt;&lt;/a&gt;           &lt;br /&gt;you can immediately check the library new action item menu do not show the content type:           &lt;br /&gt;          &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SlYB3FMEyWI/AAAAAAAAALk/SEK2brHxYb4/s1600-h/image%5B56%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="123" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SlYB3HRywMI/AAAAAAAAALo/wHJ4gA-dqhM/image_thumb%5B33%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;           &lt;br /&gt;Note: This setting does not effect existing items based on the content type that is disabled.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;font size="3"&gt;&lt;strong&gt;D&lt;/strong&gt;e&lt;/font&gt;&lt;/font&gt;leting a Content Type: Deleting a content type can be as simple as:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;1)&lt;em&gt;&lt;strong&gt; &lt;/strong&gt;Site Actions-&amp;gt;Site Settings.&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;2) Under &lt;em&gt;Galleries &lt;/em&gt;click &lt;em&gt;Site content types. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;3) Find the content type you wish to delete and click on it. &lt;/li&gt;    &lt;li&gt;4) Click the &lt;em&gt;Delete this site content type&lt;/em&gt; link.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;You might encounter this error: &lt;em&gt;“The content type is in use.” . &lt;/em&gt;This error is generated from SPContentTypeCollection.DeleteFromWeb class.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;At this point of time you will have to determine what list\library is using this content type. You can determine by running a stored procedure, shown in this &lt;a href="http://blog.tylerholmes.com/2008/02/deleting-content-types-in-sharepoint.html" target="_blank"&gt;blog&lt;/a&gt;. Of course this will only work if you have access to content databases for this web application.&lt;/p&gt;  &lt;p&gt;note: You should remember to delete any content that is derived from this content type before you delete this content type.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-1250103713472115526?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/1250103713472115526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=1250103713472115526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1250103713472115526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/1250103713472115526'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/07/assigning-new-content-type-to.html' title='Creating, Assigning, Deleting new Content type for List\Library'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_CdwbQksvcqY/SlYBxAfnovI/AAAAAAAAAKY/Dw6UvjY1DHc/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-8542235210746818503</id><published>2009-07-06T10:11:00.003-04:00</published><updated>2009-07-06T10:12:00.982-04:00</updated><title type='text'>Fields in Site Column, Lists and Items</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/07/fields-in-site-column-lists-and-items.html";digg_title = "Fields in Site Column, Lists and Items";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;In WSS 3.0 SPFieldCollection represents the collection of Fields that are available to the site collections (SPWeb). &lt;/p&gt;  &lt;p&gt;SPFieldCollection property is available in three different classes:&lt;/p&gt;  &lt;p&gt;SPWeb – SPFieldCollection&amp;#160; at this level will represent all the columns available at the site.&lt;/p&gt;  &lt;p&gt;SPList – SPFieldCollection at this level will return all the columns that are associated with the list.&lt;/p&gt;  &lt;p&gt;SPListItem – SPFieldCollection represents all the columns associated with an item.&lt;/p&gt;  &lt;p&gt;All the three can contain different columns. This is particularly interesting for SPList and SPListItem. As a list can have multiple content types associated with it, each item that is created in the list will be of particular content type. This implies that SPListItem will return a sub-set of columns that are in the SPList collection. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-8542235210746818503?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/8542235210746818503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=8542235210746818503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/8542235210746818503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/8542235210746818503'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/07/fields-in-site-column-lists-and-items.html' title='Fields in Site Column, Lists and Items'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2984100494592469572</id><published>2009-07-06T10:11:00.001-04:00</published><updated>2009-07-06T10:11:30.806-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>SharePoint Forms for Lists and Libraries</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/07/sharepoint-forms-for-lists-and.html";digg_title = "SharePoint Forms for Lists and Libraries";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;WSS 3.0 and MOSS uses following forms&amp;#160; to display the list items is different modes:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p align="center"&gt;&lt;strong&gt;AllItems.aspx&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;This form display the items in list format.          &lt;br /&gt;          &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SlIGB-ABROI/AAAAAAAAAI8/4CIeyIRYV7Q/s1600-h/image2.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="93" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SlIGCNJNvoI/AAAAAAAAAJA/Mha1H8eZ6O4/image_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p align="center"&gt;&lt;strong&gt;DispForm.aspx&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;This form displays the details of the details for the item.          &lt;br /&gt;          &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SlIGCPnTyCI/AAAAAAAAAJE/DgAdCAsuocc/s1600-h/image10.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="101" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SlIGCrK9weI/AAAAAAAAAJI/4gOf7_Ook1U/image_thumb4.png?imgmax=800" width="238" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p align="center"&gt;&lt;strong&gt;EditForm.aspx&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="200"&gt;This form is used to edit items.          &lt;br /&gt;          &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SlIGC7inYUI/AAAAAAAAAJM/GAisBMIdzt4/s1600-h/image8.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="139" alt="image" src="http://lh6.ggpht.com/_CdwbQksvcqY/SlIGDP9rNNI/AAAAAAAAAJQ/u3f24wS7XLI/image_thumb2.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Field Type Definition:&lt;/strong&gt; A field type definition is an XML file named on the pattern fldtypes*.xml that is deployed to the &lt;code&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML&lt;/code&gt;. To see the schema for this file visit &lt;a href="http://msdn.microsoft.com/en-us/library/ms415141.aspx" target="_blank"&gt;this&lt;/a&gt; site. Some of the important attributes in the schema are:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="403" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms415141.aspx" target="_blank"&gt;FieldEditorUserControl&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="201"&gt;Represents the relative path to a &lt;em&gt;field_type &lt;/em&gt;FieldEditor.ascx file that defines a control that appears, in Windows SharePoint Services 3.0, in the &lt;strong&gt;Additional Column Settings&lt;/strong&gt; section on the &lt;strong&gt;New Site Column &lt;/strong&gt;page. The control enables column creators to set, for a particular column, the variable properties of the field type.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms415141.aspx" target="_blank"&gt;FieldTypeClass&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="201"&gt;Represents the strong name of the field type class library. &lt;strong&gt;&amp;quot;&lt;/strong&gt;&lt;strong&gt;FieldTypeClass&lt;/strong&gt;&lt;strong&gt;&amp;quot;&lt;/strong&gt; includes the class name and assembly name with &lt;strong&gt;Version&lt;/strong&gt;, &lt;strong&gt;Culture&lt;/strong&gt;, and &lt;strong&gt;PublicKeyToken&lt;/strong&gt;.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa543558.aspx" target="_blank"&gt;PropertySchema&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="201"&gt;This plays a vital role in making a site column more adjustable. While creating a column based on a field type you might want to set certain property for the column. Common scenario for this can be: custom validation string, formatting or specifying lookups.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa544291.aspx" target="_blank"&gt;RenderPattern&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="201"&gt;Defines the actual Collaborative Application Markup Language (CAML), HTML, and script that Windows SharePoint Services 3.0 can use, as an alternative to a rendering template control (.ascx file), to render the field type in the UI. Also, in list views, this element renders the column headers, based on the selected field type&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;TypeShortDescription&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="201"&gt;         &lt;p&gt;Display the text in “Name and Type” section while creating a new column or on the /_layouts/fldNew.aspx page.&lt;/p&gt;          &lt;p&gt;eg: &amp;lt;Field Name=&amp;quot;TypeShortDescription&amp;quot;&amp;gt;Telephone&amp;lt;/Field&amp;gt;&lt;/p&gt;         &lt;a href="http://lh5.ggpht.com/_CdwbQksvcqY/SlIGDAuGa3I/AAAAAAAAAJU/K1JpxXqt5-k/s1600-h/image3%5B1%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="33" alt="image" src="http://lh5.ggpht.com/_CdwbQksvcqY/SlIGDQ3RZhI/AAAAAAAAAJY/-g5VCs2y3bY/image_thumb1.png?imgmax=800" width="118" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;         &lt;p&gt;TypeDisplayName&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="201"&gt;         &lt;p&gt;Text to display in the type column on he list edit page (listedit.aspx).&lt;/p&gt;          &lt;p&gt;eg:&lt;/p&gt;          &lt;p&gt;&amp;lt;Field Name=&amp;quot;TypeDisplayName&amp;quot;&amp;gt;Telephone 1&amp;lt;/Field&amp;gt; &lt;/p&gt;          &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/SlIGDt6ZpUI/AAAAAAAAAJc/3UD_eb4TQZg/s1600-h/image9.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="40" alt="image" src="http://lh4.ggpht.com/_CdwbQksvcqY/SlIGD7TyyAI/AAAAAAAAAJg/EkMGOEpfzG4/image_thumb3.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SPFieldTypeDefinition&lt;/strong&gt;: This field type definition can be accessed in the Windows SharePoint Services 3.0 object model as an &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfieldtypedefinition.aspx"&gt;SPFieldTypeDefinition&lt;/a&gt; object. SPFieldTypeDefinition is available as a property of SPField class. SPField class is the base class for any wss 3.0 columns (field types).&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h2&gt;Custom Field Editor&lt;/h2&gt;  &lt;p&gt;In order to create a custom field editor you will have to create a usercontrol (ascx) that inherits from usercontrols and implements &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.ifieldeditor.aspx" target="_blank"&gt;IFieldEditor&lt;/a&gt; interface. When a class inherits from the &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.usercontrol.aspx"&gt;UserControl&lt;/a&gt; and implements this interface, class assists in the rendering of a field property editor control on a new column creation page or a column edit page, which in Windows SharePoint Services 3.0 are the &lt;strong&gt;New Site Column&lt;/strong&gt;, &lt;strong&gt;Change Site Column&lt;/strong&gt;, &lt;strong&gt;Create Column&lt;/strong&gt;, and &lt;strong&gt;Change Column&lt;/strong&gt; pages.&lt;/p&gt;  &lt;p&gt;IFieldEditor Members:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.ifieldeditor.displayasnewsection.aspx"&gt;DisplayAsNewSection&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;Gets a value that indicates whether the field property editor should be in a special section on the page.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.ifieldeditor.initializewithfield.aspx"&gt;InitializeWithField&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;Initializes the field property editor when the page loads.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.ifieldeditor.onsavechange.aspx"&gt;OnSaveChange&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;Validates and saves the changes the user has made in the field property editor control.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2984100494592469572?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2984100494592469572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2984100494592469572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2984100494592469572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2984100494592469572'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/07/sharepoint-forms-for-lists-and.html' title='SharePoint Forms for Lists and Libraries'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_CdwbQksvcqY/SlIGCNJNvoI/AAAAAAAAAJA/Mha1H8eZ6O4/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-5256940667481181909</id><published>2009-06-19T17:06:00.002-04:00</published><updated>2009-06-25T08:35:10.339-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Editing Publishing Page in MOSS using Query Strings</title><content type='html'>&lt;h3&gt; &lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;Can be used with any page:&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;To Correct or Remove Misbehaving Web Parts    &lt;br /&gt;&lt;a href="http://server/default.aspx?Contents=1"&gt;http://server/default.aspx?&lt;strong&gt;Contents=1&lt;/strong&gt; (also available in wss 2.0)&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;To Open the Page in Web Part Design Mode    &lt;br /&gt;&lt;a href="http://server/default.aspx?ToolPaneView=2"&gt;http://server/default.aspx?&lt;strong&gt;ToolPaneView=2&lt;/strong&gt; (also available in wss 2.0)&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;To Open the Search Web Part Zone    &lt;br /&gt;&lt;a href="http://server/default.aspx?ToolPaneView=3"&gt;http://server/default.aspx?&lt;strong&gt;ToolPaneView=3&lt;/strong&gt; (also available in wss 2.0)&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Publishing Feature Page editing:&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;To open the Design Bar – Useful for pages in the Pages Library    &lt;br /&gt;http://server/default.aspx?&lt;strong&gt;DisplayMode=Design&lt;/strong&gt; &lt;/p&gt;    &lt;p&gt;To turn on Web Part Zone Editing &lt;br /&gt;&lt;a href="http://server/default.aspx?ControlMode=Edit"&gt;http://server/default.aspx?&lt;strong&gt;ControlMode=Edit&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-5256940667481181909?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/5256940667481181909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=5256940667481181909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/5256940667481181909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/5256940667481181909'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/06/editing-publishing-page-in-moss-using.html' title='Editing Publishing Page in MOSS using Query Strings'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-3637391157781841729</id><published>2009-06-12T13:43:00.001-04:00</published><updated>2009-06-12T13:44:40.098-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Bulk Import to SharePoint Document Library</title><content type='html'>&lt;p&gt;Uploading multiple files to SharePoint portal is possible using the “Upload Multiple Documents” option available in the List Action Menu. But there is no automated way to upload the documents. If you have a requirement where you need to upload multiple document to the library, every day in a regular manner, you will hope to have a service that you can set to run everyday which can upload the documents. To do this particular task I found&amp;#160; “SPIEFolder” command line utility on Codeplex. This solution is useful to upload multiple files to the SharePoint library and it even creates the folders for you.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_CdwbQksvcqY/SjKTqFLss-I/AAAAAAAAAIs/5JTLRNSFcrc/s1600-h/spiefolder%5B8%5D.png"&gt;&lt;img title="spiefolder" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="204" alt="spiefolder" src="http://lh4.ggpht.com/_CdwbQksvcqY/SjKTqaMkaxI/AAAAAAAAAIw/0CTr8VSs6Hs/spiefolder_thumb%5B6%5D.png?imgmax=800" width="635" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This solution do have some cons:&lt;/p&gt;  &lt;p&gt;Biggest issue with this program is that it has to be present on the server. You cannot upload documents to the library remotely. This is because program uses WSS Object Model to access the site\library. If you have to upload the documents from the remote file system then you will have to use WSS web services to upload the documents.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-3637391157781841729?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/3637391157781841729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=3637391157781841729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3637391157781841729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/3637391157781841729'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/06/bulk-import-to-sharepoint-document.html' title='Bulk Import to SharePoint Document Library'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_CdwbQksvcqY/SjKTqaMkaxI/AAAAAAAAAIw/0CTr8VSs6Hs/s72-c/spiefolder_thumb%5B6%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2485461470278417158</id><published>2009-06-12T10:35:00.001-04:00</published><updated>2009-06-12T13:44:40.107-04:00</updated><title type='text'>Replacing Text in multiple files</title><content type='html'>&lt;blockquote&gt;   &lt;p&gt;Last week I had a requirement of replacing same text in multiple files. I came across “TextCrawler”, which worked just fine for me. Also provide options for Regular expression based text search.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_CdwbQksvcqY/SjJnu10iL4I/AAAAAAAAAIk/XlE0wtEaf-0/s1600-h/testcrawler%5B2%5D.png"&gt;&lt;img title="testcrawler" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="163" alt="testcrawler" src="http://lh6.ggpht.com/_CdwbQksvcqY/SjJnvTuGxxI/AAAAAAAAAIo/kjwCVgkL1E4/testcrawler_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;You can download this application from &lt;a href="http://www.snapfiles.com/get/TextCrawler.html"&gt;Snapfiles&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2485461470278417158?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2485461470278417158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2485461470278417158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2485461470278417158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2485461470278417158'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/06/replacing-text-in-multiple-files.html' title='Replacing Text in multiple files'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_CdwbQksvcqY/SjJnvTuGxxI/AAAAAAAAAIo/kjwCVgkL1E4/s72-c/testcrawler_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2239857278462459672</id><published>2009-06-08T09:07:00.003-04:00</published><updated>2009-06-25T08:35:44.680-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPD'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Working with SharePoint Designer Workflow</title><content type='html'>This post is coming out of pain and agony that SPD Workflows gives me everyday. For most part extending SPD workflow is flexible, like it allows you to create your own custom activity and condition. But if you have to code the activities and conditions then probably you are defeating the purpose of using SharePoint Workflow. This platform allows a business user to convert business rules into actual workflow without having knowledge of writing code against .net framework. If we have to code the activities then we loose the advantage of quick development and deployment cycles. But SharePoint workflow lacks some functionality that I thought might be very useless to have. This is my wish list of the functionality:  &lt;div&gt;  &lt;br /&gt;&lt;/div&gt;  &lt;div&gt;1) Editing the "if-else" branch: If you are working with multiple conditions and you are using if-else loops, sometimes the conditions are almost same. In this situation I will love to have a  "copy-past" functionality. There is no such function available to in the interface. Although you can copy-past the xml tags in .xoml and .xoml.rules files.&lt;/div&gt;  &lt;div&gt;2) Limited functions available: There is really limited functionality available for you to manipulate data types inside a workflow. Most of the time you will end up writing custom activity or condition.&lt;/div&gt;  &lt;div&gt;3) List Columns do not show up SharePoint Designer Workflow Lookup: So you have a list and you added couple of content type to the list and then added couple of columns direct to the list (not to the content types). Those columns do not show up in the workflow lookup for the current item. This looks like a bug to me as the workflow in SharePoint designer binds to a list\library against a content type.&lt;/div&gt;  &lt;div&gt; &lt;/div&gt;  &lt;div&gt;&lt;a href="http://lh6.ggpht.com/_CdwbQksvcqY/Sjw_ogszVlI/AAAAAAAAAI0/OH1hCYScJsI/s1600-h/Workflow%20Lookup%5B4%5D.png"&gt;&lt;img title="Workflow Lookup" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="169" alt="Workflow Lookup" src="http://lh6.ggpht.com/_CdwbQksvcqY/Sjw_o3e-tiI/AAAAAAAAAI4/kJbcK76c-5M/Workflow%20Lookup_thumb%5B2%5D.png?imgmax=800" width="379" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;  &lt;div&gt;  &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2239857278462459672?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2239857278462459672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2239857278462459672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2239857278462459672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2239857278462459672'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/06/working-with-sharepoint-designer.html' title='Working with SharePoint Designer Workflow'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_CdwbQksvcqY/Sjw_o3e-tiI/AAAAAAAAAI4/kJbcK76c-5M/s72-c/Workflow%20Lookup_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-2768079944099332109</id><published>2009-06-04T10:28:00.002-04:00</published><updated>2009-06-04T10:28:54.982-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Stsadm Technical Reference for SharePoint Server 2007</title><content type='html'>Great post demonstrating all the stsadm command with silverlight:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx"&gt;http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1286429809968788187-2768079944099332109?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/2768079944099332109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=2768079944099332109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2768079944099332109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/2768079944099332109'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/06/stsadm-technical-reference-for.html' title='Stsadm Technical Reference for SharePoint Server 2007'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-8530275942410175437</id><published>2009-06-03T11:11:00.005-04:00</published><updated>2009-06-05T16:10:12.667-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPD'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>Copy \ Apply one SPD workflow to multiple List \ Libraries</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Have you ever created a complex &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SPD&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;workflow&lt;/span&gt; instance with several steps and tried &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;applying&lt;/span&gt; the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;workflow&lt;/span&gt; to multiple list \ libraries? This might look like a trivial task but in MOSS there is no easy (&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;at least&lt;/span&gt; clean) way to perform this task. This simple task might not be so trivial because in real world almost all the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;workflows&lt;/span&gt; are involves reading or writing a field from the item that initiated the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;workflow&lt;/span&gt;, which implies that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;workflow&lt;/span&gt; will read or modify a column specific to the list. When porting a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;workflow&lt;/span&gt; from one list to another you need to take care of the names of the columns (external name) in the lists.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you create a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;workflow&lt;/span&gt; in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;SPD&lt;/span&gt;, among other files you will find these files:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;xoml&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;- This &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;config&lt;/span&gt; file holds pointer to the library \ list which &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;workflow&lt;/span&gt; is&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;   associated.&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;xoml&lt;/span&gt;.rules&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;- This file contains the "conditions" in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;wokflow&lt;/span&gt;. You will see this file &lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;   once you have a condition in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;workflow&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 102, 255);"&gt;.xoml.wfconfig.xml&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;- This file contains the "actions" in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;workflow&lt;/span&gt;. This file is created when&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;   a action is added to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;workflow&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdwbQksvcqY/SiaYJ2g6OCI/AAAAAAAAAIA/JW3ahxYFpvw/s1600-h/wokflow+1+and+2.png"&gt;&lt;img src="http://2.bp.blogspot.com/_CdwbQksvcqY/SiaYJ2g6OCI/AAAAAAAAAIA/JW3ahxYFpvw/s400/wokflow+1+and+2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5343125302941464610" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 246px; height: 179px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;In order to apply a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;SPD&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;workflow&lt;/span&gt; from one list to other, follow these steps:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Create the source &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;workflow&lt;/span&gt; "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;wokflow&lt;/span&gt; 1" on source list.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Create a dummy &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;workflow&lt;/span&gt; "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;workflow&lt;/span&gt; 2" on destination list. Make sure that "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;workflow&lt;/span&gt; 2" has &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_26"&gt;at least&lt;/span&gt; one "condition" and one "action". This is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_27"&gt;important&lt;/span&gt; as this creates the ".&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;xoml&lt;/span&gt;" and ".&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;xoml&lt;/span&gt;.rules" files in "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;workflow&lt;/span&gt; 2".&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Open "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Workflow&lt;/span&gt; 1.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;xoml&lt;/span&gt;" with notepad (you can &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;rigth&lt;/span&gt; click the file to open in notepad) and copy all the text. Open "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;Workflow&lt;/span&gt; 2.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;xoml&lt;/span&gt;" and past the content. Hit the save button.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Repeat the 3rd step for "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;Workflow&lt;/span&gt; 2.xoml.rules".&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Open up &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;Workflow&lt;/span&gt; 2 in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;SPD&lt;/span&gt; and hit finish button.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;This approach is useful in applying &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;workflows&lt;/span&gt; cross lists, sites and site collections.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;Note: You need to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_40"&gt;manually&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_41"&gt;verify&lt;/span&gt; that all the referenced columns \ fields are &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_42"&gt;available&lt;/span&gt; in the list.&lt;/span&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/1286429809968788187-8530275942410175437?l=rawatsumit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rawatsumit.blogspot.com/feeds/8530275942410175437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1286429809968788187&amp;postID=8530275942410175437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/8530275942410175437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1286429809968788187/posts/default/8530275942410175437'/><link rel='alternate' type='text/html' href='http://rawatsumit.blogspot.com/2009/06/copy-apply-one-spd-workflow-to-multiple.html' title='Copy \ Apply one SPD workflow to multiple List \ Libraries'/><author><name>sumit</name><uri>http://www.blogger.com/profile/09665565357351888383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-Oro0XMlQDxA/Th5M0IG5V6I/AAAAAAAAN_Q/3NkLaYMnDT0/s220/Photo%2Bon%2B2010-10-25%2Bat%2B15.51.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_CdwbQksvcqY/SiaYJ2g6OCI/AAAAAAAAAIA/JW3ahxYFpvw/s72-c/wokflow+1+and+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1286429809968788187.post-1903482538597199626</id><published>2009-04-23T08:38:00.007-04:00</published><updated>2009-06-25T08:36:40.522-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPD'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom SharePoint Designer Activity'/><category scheme='http://www.blogger.com/atom/ns#' term='moss'/><title type='text'>SharePoint Designer Error "Unexpected error on server associating the workflow""</title><content type='html'>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://rawatsumit.blogspot.com/2009/04/sharepoint-designer-error-unexpected.html";digg_title = "SharePoint Designer Error \"Unexpected error on server associating the workflow\"\"";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;You might run into this error while creating a custom activity for SharePoint designer (SPD) or deploying some third party activity for SPD. This error occured first time I deployed my custom activity on the server. This looks like&lt;/p&gt; :  &lt;div&gt;  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdwbQksvcqY/SfBiS2Qqh2I/AAAAAAAAAHY/JL8zvLbFpzY/s1600-h/SODActivityError.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5327866435121874786" style="display: block; margin: 0px auto 10px; width: 400px; cursor: hand; height: 135px; text-align: center" alt="" src="http://4.bp.blogspot.com/_CdwbQksvcqY/SfBiS2Qqh2I/AAAAAAAAAHY/JL8zvLbFpzY/s400/SODActivityError.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;As you can see this provides all the information you need to debug the actual issue, I started googling for solution. None of the scenario fits my situation. With help of one of my colleague I was able to figure out the cause and a workaround for the problem. Answer for this behaviour lies in the xoml file for the workflow.&lt;/p&gt;  &lt;p&gt;In my custom activity I am using a " __Context " input parameter\property to get the context object for the item. Type of this parameter is "WorkflowContext". In my activity file this dependency property looks like:&lt;/p&gt;  &lt;div&gt;  &lt;br /&gt;&lt;/div&gt;  &lt;div&gt;   &lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0,0,102)"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   public static DependencyProperty __ContextProperty = DependencyProperty.Register("__Context",&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;    &lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0,0,102)"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;                                                                                       typeof(WorkflowContext),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;    &lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0,0,102)"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;                                                                                       typeof(AddUserToGroup));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;    &lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0,0,102)"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;        [Description("Context")]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;    &lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0,0,102)"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;        [ValidationOption(ValidationOption.Required)]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;    &lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0,0,102)"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;        [Browsable(true)]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;    &lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0,0,102)"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;    &lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0,0,102)"
