<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jeff102410</title>
	<atom:link href="http://vspug.com/jeff102410/feed/" rel="self" type="application/rss+xml" />
	<link>http://vspug.com/jeff102410</link>
	<description>Just another VSPUG - Virtual SharePoint User Group weblog</description>
	<lastBuildDate>Fri, 12 Mar 2010 19:38:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Central Administration Not Displaying Search Information</title>
		<link>http://vspug.com/jeff102410/2010/03/12/central-administration-not-displaying-search-information/</link>
		<comments>http://vspug.com/jeff102410/2010/03/12/central-administration-not-displaying-search-information/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 19:38:51 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vspug.com/jeff102410/?p=28</guid>
		<description><![CDATA[Problem:
I have two SharePoint servers.  Server 1 is the primary web delivery server, Server 2 is the primary indexing (search) server.  When going to Central Administration/SharedServices1/Search/Search Administration, the information shows the the search service is not correct.  The message in the Crawl Status area says &#8220;Could not connect to server &#60;servername&#62;&#8230;.&#8221;.
Resolution:
See support.microsoft.com/kb/962928.
After reading the KB article, [...]]]></description>
			<content:encoded><![CDATA[<p>Problem:</p>
<p>I have two SharePoint servers.  Server 1 is the primary web delivery server, Server 2 is the primary indexing (search) server.  When going to Central Administration/SharedServices1/Search/Search Administration, the information shows the the search service is not correct.  The message in the Crawl Status area says &#8220;Could not connect to server &lt;servername&gt;&#8230;.&#8221;.</p>
<p>Resolution:</p>
<p>See support.microsoft.com/kb/962928.</p>
<p>After reading the KB article, this will make more sense:  I don&#8217;t think that the problem was with selfssl.  I think the problem with my situation was with the update to the .Net Framework 3.5 SP1.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2010/03/12/central-administration-not-displaying-search-information/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making .pdf&#8217;s Appear in Search x64</title>
		<link>http://vspug.com/jeff102410/2010/03/02/making-pdfs-appear-in-search-x64/</link>
		<comments>http://vspug.com/jeff102410/2010/03/02/making-pdfs-appear-in-search-x64/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 17:48:13 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vspug.com/jeff102410/?p=25</guid>
		<description><![CDATA[For Adobe PDF iFilter 9 on 64-bit platforms, follow the guidelines provided by Adobe.
]]></description>
			<content:encoded><![CDATA[<p>For <a href="http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025">Adobe PDF iFilter 9</a> on 64-bit platforms, follow the <a href="http://www.adobe.com/special/acrobat/configuring_pdf_ifilter_for_ms_sharepoint_2007.pdf">guidelines provided by Adobe</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2010/03/02/making-pdfs-appear-in-search-x64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShaerPoint Suddenly Stops &#8211; IIS Broke &#8211; World Wide Web Service will not start</title>
		<link>http://vspug.com/jeff102410/2010/03/01/shaerpoint-suddenly-stops-iis-broke-world-wide-web-service-will-not-start/</link>
		<comments>http://vspug.com/jeff102410/2010/03/01/shaerpoint-suddenly-stops-iis-broke-world-wide-web-service-will-not-start/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 16:00:44 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vspug.com/jeff102410/?p=22</guid>
		<description><![CDATA[Background:
I&#8217;m maintaining a MOSS 2007 site on Win2008.  The site has been up and running in production since January 2007&#8230;no issues.
Problem:
I started getting low disk space messages on Saturday.  Drive C: had about 200 megabytes free.  I was not doing any updates or installs or anything.  Looked into the space problem a bit, but could [...]]]></description>
			<content:encoded><![CDATA[<p>Background:</p>
<p>I&#8217;m maintaining a MOSS 2007 site on Win2008.  The site has been up and running in production since January 2007&#8230;no issues.</p>
<p>Problem:</p>
<p>I started getting low disk space messages on Saturday.  Drive C: had about 200 megabytes free.  I was not doing any updates or installs or anything.  Looked into the space problem a bit, but could not find anything.  Since the server appeared stable, I pushed this to Monday.</p>
<p>Monday, the site is dead.  IIS Manager is not working correctly.  The World Wide Web service is not running.  Now, there is some 7 gigabytes of disk space available.</p>
<p>When trying to start the World Wide Web service manually, this is the error message:</p>
<p><strong><em>Could not start the World Wide Web Publishing Service service on the local computer.</em></strong></p>
<p><strong><em>Error 1068: The dependency service or group failed to start</em></strong></p>
<p>In going to view the dependencies for the World Wide Web service, the Windows Process Activation service was not started.  When trying to manually start the Windows Process Activation service, the error message is:</p>
<p><strong><em>Error 13: The data is invalid</em></strong></p>
<p>Wow&#8230;no real help.</p>
<p>The Solution:</p>
<p>Well, it turns out that the problem is in the c:\windows\system32\inetserv\config\applicationHost.config file.  It was 0 (zero) bytes.  The path that I had to take to get to this answer was WAY to long&#8230;but I finally got there (sorry for the rant).</p>
<p>Anyway, whenever there is a change to the web applications in IIS, a backup of the applicationHost.config file is stored in c:\inetpub\history\&lt;dirname&gt;.  I had several (8) directories here made within a few minutes.  I took the last one, copied the applicationHost.config file to c:\windows\system32\inetserv\config\, started the services, and everything is working.</p>
<p>I&#8217;m not able, at this point, to determine what was going on with the servers.  I believe that the network guys pushed something to the server.  I&#8217;ll follow up with what I find.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2010/03/01/shaerpoint-suddenly-stops-iis-broke-world-wide-web-service-will-not-start/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Microsoft Security Essentials on Windows Server 2008 R2</title>
		<link>http://vspug.com/jeff102410/2010/02/06/install-microsoft-security-essentials-on-windows-server-2008-r2/</link>
		<comments>http://vspug.com/jeff102410/2010/02/06/install-microsoft-security-essentials-on-windows-server-2008-r2/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 19:09:20 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vspug.com/jeff102410/?p=19</guid>
		<description><![CDATA[Background:
As a SharePoint developer, I&#8217;m using WinServer2008R2 as a workstation.  I&#8217;m sure that there is a way to install everything I need on Windows XP or Windows Vista, or Windows 7, but I&#8217;ve always run into issues.  So, I simply develop on Windows Server 2008 R2.  It simulates the production environment and I just don&#8217;t feel [...]]]></description>
			<content:encoded><![CDATA[<p>Background:</p>
<p>As a SharePoint developer, I&#8217;m using WinServer2008R2 as a workstation.  I&#8217;m sure that there is a way to install everything I need on Windows XP or Windows Vista, or Windows 7, but I&#8217;ve always run into issues.  So, I simply develop on Windows Server 2008 R2.  It simulates the production environment and I just don&#8217;t feel like trying to get everything to run on the other operating systems.</p>
<p>With that, I need to have some sort of anti-virus protections.  Windows Server 2008 comes with Defender, but no anti-virus.  Microsoft does have anti-virus for Windows Server 2008, but the anti-virus stuff is really built for what servers do best, and not for the small part of the development community that use server operating systems as a desktop.</p>
<p>So, I was able to get enough information from various places to get Microsoft Security Essentials install and working on Windows Server 2008 R2.</p>
<p>What to do:</p>
<ol>
<li>Download <a title="Microsoft Security Essentials" href="http://www.microsoft.com/Security_Essentials/" target="_blank">Microsoft Security Essentials x64</a>.</li>
<li>Unpack the downloaded executable.  I use <a title="7-Zip" href="http://www.7-zip.org/" target="_blank">7-Zip</a>&#8230;but use whatever you have.</li>
<li>Download <a title="Microsoft Debugging Tools for Windows" href="http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx" target="_blank">Microsoft Debugging Tools for Windows</a>.  Make sure you get the appropriate version (x64).</li>
<li>Install Microsoft Debugging Tools for Windows.</li>
<li>Find WinDbg in the start menu and &#8220;Run as Administrator&#8221;.</li>
<li>In WinDbg, go to File/Open Executable.  Navigate to the previously downloaded and unpacked files from the Microsoft Security Essentials.  Locate the setup.exe file and open it.  Answer &#8220;No&#8221; to the question about saving the workspace.</li>
<li>A new window pop up with a command line at the bottom.  In the command line enter:
<p><code>bp ntdll!RtlGetNtProductType "as /x ReturnValue rcx; gu; ed ReturnValue 1; g"</p>
<p>All the above command line text should be entered as a single command.  After the above command is entered, press Enter.</p>
<p>(Just in case you're wondering, this command sets up a break point that modifies the return value of RtlGetNtProductType)</code></li>
<li><code>Next, enter the letter g in the command line and press Enter. <br />
This will start the Security Essentials anti-virus install program.  The debug program will probably regain focus, so you may need to Alt-Tab or click on the install program in the task bar to get focus to the install program.  </code></li>
<li><code>From here, simply follow the normal Security Essentials anti-virus program install procedures.</code></li>
</ol>
<p><code>The Security Essentials program runs just fine...</code></p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2010/02/06/install-microsoft-security-essentials-on-windows-server-2008-r2/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Subtotals in the Group By Row</title>
		<link>http://vspug.com/jeff102410/2009/07/13/subtotals-in-the-group-by-row/</link>
		<comments>http://vspug.com/jeff102410/2009/07/13/subtotals-in-the-group-by-row/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 21:17:00 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Problem:
I have a view that does group by and shows the data collapsed by default.&#160; So far, so good.&#160; However, the users wanted to see the sum of the details in the group line.&#160; The default summing in the view&#39;s group by/total shows an overall sum (which was meaningless in this case), but does not [...]]]></description>
			<content:encoded><![CDATA[<p>Problem:</p>
<p>I have a view that does group by and shows the data collapsed by default.&nbsp; So far, so good.&nbsp; However, the users wanted to see the sum of the details in the group line.&nbsp; The default summing in the view&#39;s group by/total shows an overall sum (which was meaningless in this case), but does not show the group&#39;s sums until the group is expanded.&nbsp; The users wanted to see the sums for all the groups columns, and then see the details if the information showed something interesting.</p>
<p>Solution:</p>
<p>This is actually a several step solution.&nbsp; First, you&#39;ll need to add the list to the page in the appropriate web part location.&nbsp; Set the correct view, etc., etc., etc.&nbsp; Exit edit mode</p>
<p>Next, you&#39;ll need to go to SharePoint Designer.&nbsp; Open the page.&nbsp; Anywhere on the list, right click and select the option to convert the view to a data view web part.&nbsp; Before saving the page, you&#39;ll need to understand that saving the modified page will do the ghost/un-ghost thing.&nbsp; It&#39;s probably not that big of a deal, but you&#39;ll need to understand what is happening when you save a page from SharePoint Designer.&nbsp; That said, save the page and exit SharePoint Designer.</p>
<p>In the browser, go back to the web page in your SharePoint site.&nbsp; Edit the web page, and select edit/Modify Shared Web Part.&nbsp; Now, you&#39;ll see a couple of new buttons at the top of the Data View Properties area.&nbsp; The XSL Editor is the item we are interested in.</p>
<p>Click on the XSL Editor button to get the the XSL that is used to display the list.&nbsp; Copy the XSL and paste the XSL into the appropriate XSL editor.&nbsp; </p>
<p>You&#39;ll need to find the section in the XSL that does the group header row displaying.&nbsp; It is started with the text &lt;xsl:template name=&quot;dvt_1.groupheader0&quot;&gt;.&nbsp; First, just a few lines down you see something like colspan=&quot;99&quot;.&nbsp; You will need to change 99 to the appropriate number of columns to skip over to get to the sum columns.&nbsp; In my case, I had three columns of text information that were displayed when the group was expanded before the first sum column was displayed.&nbsp; I changed the 99 to 3.</p>
<p>Next, go to the bottom of the header display section.&nbsp; Look for &lt;/xsl:template&gt;.&nbsp; Just before that you should see &lt;/TR&gt;.&nbsp; Just before the &lt;/TR&gt; is where we want to put the sum lines.&nbsp; Add the line:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;xsl:value-of select=&quot;format-number(string(sum(/dsQueryResponse/Rows/Row[@&lt;GroupByField&gt;=$fieldvalue]/@&lt;SumField&gt;)), &#39;#,##0%;-#&#39;)&quot; /&gt;&lt;/td&gt;</p>
<p>You&#39;ll need to change &lt;GroupByField&gt; to the name of the field in the list being grouped by.&nbsp; It&#39;s may seem redundant, but it is necessary.&nbsp; Also change the &lt;SumField&gt; to the name of the field being summed.&nbsp; Also note that in this above example, I&quot;m displaying the summed field as a percent.&nbsp; Change the formatting string as you need.&nbsp; Also, do the above line thing for each column that is needed.</p>
<p>I think that is everything, but If you have problems, or if I&#39;m missing a step, let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2009/07/13/subtotals-in-the-group-by-row/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Access Denied when trying to get SharePoint 2007 (MOSS) Crawl to work</title>
		<link>http://vspug.com/jeff102410/2009/06/12/access-denied-when-trying-to-get-sharepoint-2007-moss-crawl-to-work/</link>
		<comments>http://vspug.com/jeff102410/2009/06/12/access-denied-when-trying-to-get-sharepoint-2007-moss-crawl-to-work/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 16:35:00 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Problem:
Well, another problem that consumed several days of my life.&#160; I just completed a migration of MOSS 2007 to new servers.&#160; The old servers were Windows Server 2003/SQL Server 2005/MOSS 2007.&#160; The new servers are Windows Server 2008/SQL Server 2008/MOSS 2007.&#160; Got everything working except the search.&#160; When searching for anything, I got no results.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Problem:</p>
<p>Well, another problem that consumed several days of my life.&nbsp; I just completed a migration of MOSS 2007 to new servers.&nbsp; The old servers were Windows Server 2003/SQL Server 2005/MOSS 2007.&nbsp; The new servers are Windows Server 2008/SQL Server 2008/MOSS 2007.&nbsp; Got everything working except the search.&nbsp; When searching for anything, I got no results.&nbsp; I looked in the crawl logs (Central Admin/SharedServices1/Search Settings/Crawl Logs/&lt;site name&gt;) and found the following error:</p>
<p>Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has &quot;Full Read&quot; permissions on the SharePoint Web Application being crawled. (The item was deleted because it was either not found or the crawler was denied access to it.)</p>
<p>I kept setting the default content access account to an account that I knew had access, but nothing changed.&nbsp; I then went off and tried all kinds of other things, which were just a waste of time.</p>
<p>Solution:</p>
<p>I finally found this KB article: <a href="http://support.microsoft.com/kb/896861">http://support.microsoft.com/kb/896861</a>.&nbsp; I&#39;d like to give credit to the site that put me on that path, but I have done way too much searching to find it in my history&#8230;Sorry.</p>
<p>Anyway, the article does not talk about about this issue specifically, but the root problem is the same.&nbsp; Either Windows Server 2008 or .Net Framework 3.5 SP1 update enable something called &quot;look back check&quot;.&nbsp; This seems to be the root of the problem.&nbsp; The solution (for me) was to follow the Method 1 solution in the KB article.&nbsp; Here are the steps:</p>
<ol>
<li>Click Start, click Run, type regedit, and then click OK.</li>
<li>In Registry Editor, locate and then click the following registry key: </li>
<li>HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaMSV1_0</li>
<li>Right-click MSV1_0, point to New, and then click Multi-String Value.</li>
<li>Type BackConnectionHostNames, and then press ENTER.</li>
<li>Right-click BackConnectionHostNames, and then click Modify.</li>
<li>In the Value data box, type the host name or the host names for the sites that are on the local computer, and then click OK.</li>
<li>Quit Registry Editor, and then restart the IISAdmin service.</li>
</ol>
<p>On step 8, I just went ahead and restarted the server.&nbsp; By the time I got remote access back into the server, got Central Administration up, and looked at search settings, I could see that the Index Status was crawling.&nbsp; </p>
<p>Search is back.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2009/06/12/access-denied-when-trying-to-get-sharepoint-2007-moss-crawl-to-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Server 2008/MOSS 2007/SQL Server 2008</title>
		<link>http://vspug.com/jeff102410/2009/05/19/windows-server-2008-moss-2007-sql-server-2008/</link>
		<comments>http://vspug.com/jeff102410/2009/05/19/windows-server-2008-moss-2007-sql-server-2008/#comments</comments>
		<pubDate>Tue, 19 May 2009 17:47:00 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Problem:
I have two servers (WebServer and DatabaseServer).&#160; Both are Windows Server 2008.&#160; I have MOSS 2007 installed on WebServer and SQLServer 2008 installed on DatabaseServer.&#160; I could not get MOSS to use a content database from the DatabaseServer.
Solution:
It turns out that I had to do several&#160;things.&#160; 
First, I had to go into SQL Server Configuration [...]]]></description>
			<content:encoded><![CDATA[<p>Problem:</p>
<p>I have two servers (<span class="goog-spellcheck-word" style="background:yellow;">WebServer</span> and <span class="goog-spellcheck-word" style="background:yellow;">DatabaseServer</span>).&nbsp; Both are Windows Server 2008.&nbsp; I have MOSS 2007 installed on <span class="goog-spellcheck-word" style="background:yellow;">WebServer</span> and <span class="goog-spellcheck-word" style="background:yellow;">SQLServer</span> 2008 installed on <span class="goog-spellcheck-word" style="background:yellow;">DatabaseServer</span>.&nbsp; I could not get MOSS to use a content database from the <span class="goog-spellcheck-word" style="background:yellow;">DatabaseServer</span>.</p>
<p>Solution:</p>
<p>It turns out that I had to do several&nbsp;things.&nbsp; </p>
<p>First, I had to go into <span class="goog-spellcheck-word" style="background:yellow;">SQL</span> Server Configuration Manager and enable Named Pips.&nbsp; <span class="goog-spellcheck-word" style="background:yellow;">TCP</span>/<span class="goog-spellcheck-word" style="background:yellow;">IP</span> was enabled already, but I believe that both have to be enabled to get things to work.</p>
<p>Second, I had to go into Windows Firewall and specify a couple of exceptions.&nbsp; One I called &quot;<span class="goog-spellcheck-word" style="background:yellow;">SQL</span> Server&quot; on port 1433 and the second called &quot;<span class="goog-spellcheck-word" style="background:yellow;">SQL</span> Browser&quot; on port 1434.</p>
<p>Third, I had to go into <span class="goog-spellcheck-word" style="background:yellow;">SQL</span> Server Management Studio and set up a user with the <span class="goog-spellcheck-word" style="background:yellow;">WebServer</span> machine name.&nbsp; This was a bit tricky.&nbsp; I had to try to connect to the content database on&nbsp;<span class="goog-spellcheck-word" style="background:yellow;">DatabaseServer</span>.&nbsp; Next, I had to go to &quot;C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions12LOGS&quot; and look at the newest file.&nbsp; Searching for the name of the <span class="goog-spellcheck-word" style="background:yellow;">DatabaseServer</span>, I found that I was getting a permissions error and it gave me the name that MOSS was using when attempting to connect to the database server.&nbsp; It was actually in the form of &lt;DOMAIN&gt;/&lt;MACHINE$&gt;.&nbsp; I then added the &lt;DOMAIN&gt;/&lt;MACHINE$&gt; as a <span class="goog-spellcheck-word" style="background:yellow;">SQL</span> User under Security/<span class="goog-spellcheck-word" style="background:yellow;">Logins</span>.&nbsp; I tried <span class="goog-spellcheck-word" style="background:yellow;">agian</span>, but got another error.&nbsp; Checking the log again, I found that the user did not have create database permissions on the database master.&nbsp; <span class="goog-spellcheck-word" style="background:yellow;">DOOOOH</span>.&nbsp; I went back to&nbsp; &lt;DOMAIN&gt;/&lt;MACHINE$&gt; and gave permissions.&nbsp; In my case, because I&#39;m working on an Intranet and have good network security, I went ahead and gave the &lt;DOMAIN&gt;/&lt;MACHINE$&gt; <span class="goog-spellcheck-word" style="background:yellow;">login</span> admin permissions.&nbsp; This is probably overkill, and I&#39;ll get back to this and scale permissions back at a later time.&nbsp; Right now, I just need to get the thing working.</p>
<p>This is a bit different from the Windows Server 2003/MOSS 2007/<span class="goog-spellcheck-word" style="background:yellow;">SQL</span> Server 2005 configuration that I last performed this configuration on&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2009/05/19/windows-server-2008-moss-2007-sql-server-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filter out blanks or no data on a Multiple Lines of Text field</title>
		<link>http://vspug.com/jeff102410/2009/04/03/filter-out-blanks-or-no-data-on-a-multiple-lines-of-text-field/</link>
		<comments>http://vspug.com/jeff102410/2009/04/03/filter-out-blanks-or-no-data-on-a-multiple-lines-of-text-field/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 17:27:00 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Problem:
I needed to create a view that only showed rows of data from a list that had a field that was not blank.&#160; Basically, I have an issues column that is normally blank or has no data.&#160; However, sometimes an issue is noted.&#160; I needed a view that quickly showed the list of issues.&#160; The [...]]]></description>
			<content:encoded><![CDATA[<p>Problem:</p>
<p>I needed to create a view that only showed rows of data from a list that had a field that was not blank.&nbsp; Basically, I have an issues column that is normally blank or has no data.&nbsp; However, sometimes an issue is noted.&nbsp; I needed a view that quickly showed the list of issues.&nbsp; The problem was that the issues column was a multiple lines of text column, and the only way to filter the column was with either a contains or a begins with filter.&nbsp; The other filters like equals or not equal to are not allowed with a multiple lines of text column.</p>
<p>Solution:</p>
<p>The first thing was to get the multiple lines of text field to contain the correct information.&nbsp; By default, multiple lines of text columns gets assigned the &quot;rich text&quot; type of &quot;text to allow&quot;.&nbsp; This will always put in &lt;div&gt;&lt;/div&gt; HTML tags.&nbsp; Even thought the exit box for this field shows nothing, the HTML tags are still there.&nbsp; The problem this causes in a minute.</p>
<p>Change the type of text to allow to plain text.&nbsp; This will not put in any hidden HTML.</p>
<p>Next, the view.&nbsp; Create the view with whatever columns are needed.&nbsp; On the filter for the view, add in five &quot;or&quot; filters.&nbsp; Basically, the filters need to read &quot;show information when the issues column contains an &#39;a&#39; or an &#39;e&#39; or an &#39;i&#39; or an &#39;o&#39; or a &#39;u&#39;&quot;.&nbsp; Any English readable text in the column will have to contain one of these letters (vowels).&nbsp; </p>
<p>The problem with the &quot;rich text&quot; type of &quot;text to allow&quot; is that the filter looks at the information in the field, not just what is shown.&nbsp; The HTML tags have an &quot;i&quot; and the rows always show up.&nbsp; Eliminating the hidden HTML tags get the filters working as desired.</p>
<p>Extra:</p>
<p>Also, a final thing I also have a status column.&nbsp; I applied a 6th column filter that was &quot;and&quot; and said to only show rows where the status column was not &quot;Completed&quot;.&nbsp; This way I got the active issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2009/04/03/filter-out-blanks-or-no-data-on-a-multiple-lines-of-text-field/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download InfoPath XML</title>
		<link>http://vspug.com/jeff102410/2009/01/13/download-infopath-xml/</link>
		<comments>http://vspug.com/jeff102410/2009/01/13/download-infopath-xml/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 21:33:00 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Business Need
I&#39;m needing to download an InfoPath XML document and read the contents into an application for further processing.
Problem
When downloading the &#60;InfoPathFile&#62;.xml form the SharePoint library, I get the generated HTML from&#160;InfoPath Services instead of the actual XML.&#160; Having just spent 7 calendar days looking for the solution and trying everything I could think of, [...]]]></description>
			<content:encoded><![CDATA[<p>Business Need</p>
<p>I&#39;m needing to download an InfoPath XML document and read the contents into an application for further processing.</p>
<p>Problem</p>
<p>When downloading the &lt;InfoPathFile&gt;.xml form the SharePoint library, I get the generated HTML from&nbsp;InfoPath Services instead of the actual XML.&nbsp; Having just spent 7 calendar days looking for the solution and trying everything I could think of, all I could get was the InfoPath Services generated HTML.</p>
<p>Solution</p>
<p>Well, I finally ran across a post that someone talked about doing this same thing (actual one of many posts).&nbsp; However, at the end of the post, he mentioned that you need to include the &quot;?NoRedirect=true&quot; parameter in the URL.&nbsp; I immediately search MSDN and found exactly one (1) post on this topic.</p>
<p>Anyway, just for anyone else who want the code I used to do this, here it is:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&nbsp;</p>
<p><font size="2"></font><font color="#0000ff" size="2">Dim</font><font size="2"> request </font><font color="#0000ff" size="2">As</font><font size="2"> HttpWebRequest</font></font><font size="2"> </p>
<p></font><font color="#0000ff" size="2">Dim</font><font size="2"> response </font><font color="#0000ff" size="2">As</font><font size="2"> HttpWebResponse = </font><font color="#0000ff" size="2">Nothing</p>
<p></font><font size="2"></p>
<p></font><font color="#0000ff" size="2">Try</font></p>
<p><font color="#0000ff" size="2"><font color="#008000">&nbsp;&nbsp;&nbsp;&nbsp; &#39;This is the part that caused me the problem.<br />&nbsp;&nbsp;&nbsp;&nbsp; &#39;The NoRedirect=true keeps the InfoPath Services from getting involved</font></font></p>
<p><font size="2">&nbsp;&nbsp;&nbsp;&nbsp; request = WebRequest.Create(lsURL &amp; </font><font color="#a31515" size="2">&quot;?NoRedirect=true&quot;</font><font size="2">)</font><font size="2"> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; request.Credentials = System.Net.CredentialCache.DefaultCredentials</p>
<p></font><font size="2"></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; request.AllowWriteStreamBuffering = </font><font color="#0000ff" size="2">False</p>
<p></font><font size="2"></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; response = request.GetResponse()</p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Dim</font><font size="2"> s </font><font color="#0000ff" size="2">As</font><font size="2"> Stream = response.GetResponseStream()</font></font><font size="2"> </p>
<p></font><font color="#008000" size="2">&nbsp;&nbsp;&nbsp;&nbsp; &#39;Write to disk<br />&nbsp;&nbsp;&nbsp;&nbsp; &#39;IFile is set in previous not included code.&nbsp; It is the complete drive/path/filename<br />&nbsp;&nbsp;&nbsp;&nbsp; &#39;CreateDirectory will use what it needs from the drive/path/filename <br />&nbsp;&nbsp;&nbsp;&nbsp; &#39;CreateDirectory will also not pass an error if the drive/path/filename stuff exists</font><font color="#008000" size="2"></p>
<p></font><font size="2"></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; Directory.CreateDirectory(lFile.Directory.ToString)</p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Dim</font><font size="2"> fs </font><font color="#0000ff" size="2">As</font><font size="2"> </font><font color="#0000ff" size="2">New</font><font size="2"> FileStream(lsFileName, FileMode.Create)</font></font><font size="2"> </p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Dim</font><font size="2"> read() </font><font color="#0000ff" size="2">As</font><font size="2"> </font><font color="#0000ff" size="2">Byte</p>
<p></font><font size="2"></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; ReDim</font><font size="2"> read(256)</font></font><font size="2"> </p>
<p>&nbsp;</p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Dim</font><font size="2"> count </font><font color="#0000ff" size="2">As</font><font size="2"> </font><font color="#0000ff" size="2">Integer</font><font size="2"> = s.Read(read, 0, read.Length)</font></font><font size="2"></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Do</font><font size="2"> </font><font color="#0000ff" size="2">While</font><font size="2"> count &gt; 0</font></font><font size="2"> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fs.Write(read, 0, count)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count = s.Read(read, 0, read.Length)</p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Loop</p>
<p></font><font size="2"></p>
<p></font><font color="#008000" size="2">&nbsp;&nbsp;&nbsp;&nbsp; &#39;Close everything</p>
<p></font><font size="2"></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; fs.Close()</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; s.Close()</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; response.Close()</p>
<p>&nbsp;</p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Catch</font><font size="2"> ex </font><font color="#0000ff" size="2">As</font><font size="2"> Exception</font></font><font size="2"> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox(ex.Message &amp; vbCrLf &amp; vbCrLf &amp; </font><font color="#a31515" size="2">&quot;Please contact technical support&quot;</font><font size="2">, MsgBoxStyle.Critical, </font><font color="#a31515" size="2">&quot;Download Error&quot;</font><font size="2">)</p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me</font><font size="2">.Cursor = System.Windows.Forms.Cursors.Default</font></font><font size="2"> </p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit</font><font size="2"> </font><font color="#0000ff" size="2">Sub</p>
<p></font><font size="2"></p>
<p></font><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp;&nbsp; End</font><font size="2"> </font><font color="#0000ff" size="2">Try</font></p>
<p><font color="#0000ff" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p></font></p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2009/01/13/download-infopath-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing a Deployable App to Access SharePoint Information &#8211; Part Two</title>
		<link>http://vspug.com/jeff102410/2008/12/10/developing-a-deployable-app-to-access-sharepoint-information-part-two/</link>
		<comments>http://vspug.com/jeff102410/2008/12/10/developing-a-deployable-app-to-access-sharepoint-information-part-two/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 19:10:00 +0000</pubDate>
		<dc:creator>jeff102410</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Preface.
&#160; 
In the part one post on this topic, I explained why I thought the SharePoint Object Model was not letting me develop on one machine and access SharePoint information on another server.&#160; So I&#39;ll not spend any time on that here.&#160; Instead, I&#39;ll just show what I did to get the list of sub-sites [...]]]></description>
			<content:encoded><![CDATA[<p style="MARGIN:0in 0in 10pt;"><font>Preface.</font></p>
<p><font>&nbsp;</font> </p>
<p style="MARGIN:0in 0in 10pt;"><font>In the part one post on this topic, I explained why I thought the SharePoint Object Model was not letting me develop on one machine and access SharePoint information on another server.<span style="">&nbsp; </span>So I&#39;ll not spend any time on that here.<span style="">&nbsp; </span>Instead, I&#39;ll just show what I did to get the list of sub-sites from my root SharePoint site.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Quick Overview.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>To work with the SharePoint web services, you need to know that there are actually 16 SharePoint web services.<span style="">&nbsp; </span>It&#39;s older technology and a bit more cumbersome.but that&#39;s for another post.<span style="">&nbsp; </span>Here are the 16 services:</font></p>
<ol>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;:&lt;port&gt;/_vti_adm/Admin.asmx &#8211; Administrative methods such as creating and deleting sites </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Alerts.asmx &#8211; Methods for working with alerts </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/DspSts.asmx &#8211; Methods for retrieving schemas and data </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/DWS.asmx &#8211; Methods for working with Document Workspaces </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Forms.asmx &#8211; Methods for working with user interface forms </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Imaging.asmx &#8211; Methods for working with picture libraries </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Lists.asmx &#8211; Methods for working with lists </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Meetings.asmx &#8211; Methods for working with Meeting Workspaces </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Permissions.asmx &#8211; Methods for working with SharePoint Services security </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/SiteData.asmx &#8211; Methods used by Windows SharePoint Portal Server</font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Sites.asmx &#8211; Contains a single method to retrieve site templates </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/UserGroup.asmx &#8211; Methods for working with users and groups </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/versions.asmx &#8211; Methods for working with file versions </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Views.asmx &#8211; Methods for working with views of lists </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/WebPartPages.asmx &#8211; Methods for working with Web Parts </font></li>
<li style="MARGIN:0in 0in 10pt;"><font>http://&lt;server&gt;/_vti_bin/Webs.asmx &#8211; Methods for working with sites and sub-sites</font></li>
</ol>
<p style="MARGIN:0in 0in 10pt;"><font>(Replace &lt;server&gt; with the name of the hosting server and &lt;port&gt; with the port used by Central Administration. )</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>There is a lot more information about the web methods available in the SharePoint Products and Technologies 2003 SDK.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Nuts and Bolts.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Next, I&#39;ll build a simple client app using Visual Basic .Net 2005.<span style="">&nbsp; </span>Sorry, but all the Visual C# fans will just have to make the necessary code adjustments.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>To start with, I created a basic Windows form project.<span style="">&nbsp; </span>Created a form within the project and put a dataviewgrid on the form.<span style="">&nbsp; </span>The only change was to name the dataviewgrid &#8220;dgLists&#8221;.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Web References.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Next, I added a reference.specifically, a web reference.<span style="">&nbsp; </span>From the main Visual Studio menu, go to Project/Add Web Reference.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font><font>From the Add Web Reference dialog box, in the URL: area, put in http://&lt;server&gt;/_vti_bin/Webs.asmx (replacing &lt;server&gt; with your server name).<span style="">&nbsp; </span>Then click the Go button next to the URL: area.<span style="">&nbsp; </span>If everything goes correctly, you should se the &#8220;Web services found at this URL:&#8221; area say something like &#8220;1 Service Found&#8221; and &#8211; &#8220;Webs&#8221;.<span style="">&nbsp; </span></font></font></p>
<p style="MARGIN:0in 0in 10pt;"><font><font>Once you see this information, put something meaningful in the &#8220;Web reference name:&#8221; area.<span style="">&nbsp; </span>Something like wr&lt;Server&gt;Webs.<span style="">&nbsp; </span>(wr for web reference, replace &lt;Server&gt; with the server name, and Webs for what information is coming back.)<span style="">&nbsp; </span></font></font></p>
<p style="MARGIN:0in 0in 10pt;"><font><font>It is important to name this something meaningful.<span style="">&nbsp; </span>The name here is what will be used later in the code to get to the web reference.<span style="">&nbsp; </span></font></font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Once all that is done, click the &#8220;Add Reference&#8221; button.<span style="">&nbsp; </span>This will add the web reference to your project.<span style="">&nbsp; </span>You can additionally add the other web references mentioned above, but for this example, we will just use the one.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>The VB code.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Your form load code should be something like this:</font></p>
<p><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">Imports</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"> System.Xml</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">Imports</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"> System.Net</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">Imports</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"> System.Net.NetworkCredential</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">Public</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"> <span style="COLOR:blue;">Class</span> Form1</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp; </span><span style="COLOR:blue;">Private</span> <span style="COLOR:blue;">Sub</span> Form1_Load(<span style="COLOR:blue;">ByVal</span> sender <span style="COLOR:blue;">As</span> System.Object, <span style="COLOR:blue;">ByVal</span> e <span style="COLOR:blue;">As</span> System.EventArgs) <span style="COLOR:blue;">Handles</span> <span style="COLOR:blue;">MyBase</span>.Load</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:blue;">Dim</span> lMyWebs <span style="COLOR:blue;">As</span> <span style="COLOR:blue;">New</span> RevEWebs.Webs</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; Set Network Credentials to be able to log into </span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; the SharePoint site</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>lMyWebs.Credentials = <span style="COLOR:blue;">New</span> NetworkCredential(<span style="COLOR:maroon;">&quot;&lt;UserName&gt;&quot;</span>, <span style="COLOR:maroon;">&quot;&lt;Password&gt;&quot;</span>, <span style="COLOR:maroon;">&quot;&lt;Domain&gt;&quot;</span>)</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; Even though the Web Reference has this,</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; the _vti_bin stuff is needed here again.</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>lMyWebs.Url = <span style="COLOR:maroon;">&quot;http://&lt;server&gt;/_vti_bin/webs.asmx&quot;</span></span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; Actually get the list of sites from the </span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; &lt;server&gt; listed above</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:blue;">Dim</span> lMyWebsXMLNode = lMyWebs.GetWebCollection</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; Set up an XML data document to read </span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; the returned list of webs from above</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:blue;">Dim</span> lMyXMLDataDocument <span style="COLOR:blue;">As</span> XmlDataDocument = <span style="COLOR:blue;">New</span> XmlDataDocument</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; Set up a data set to load the grid</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; on the main form </span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:blue;">Dim</span> lMyDataSet <span style="COLOR:blue;">As</span> DataSet = lMyXMLDataDocument.DataSet</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; Load the xsd file that has the layout</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; of the XML</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>lMyDataSet.ReadXmlSchema(<span style="COLOR:maroon;">&quot;Webs.xsd&quot;</span>)</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; Add an XML declaration to make the </span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; XmlNode a valid XML document</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>lMyXMLDataDocument.LoadXml(<span style="COLOR:maroon;">&quot;&lt;?xml version=&#39;1.0&#39; ?&gt;&quot;</span> &amp; lMyWebsXMLNode.OuterXml)</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR:green;">&#39; Display the result on the DataGrid</span></span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>dgLists.DataSource = lMyDataSet</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>dgLists.DataMember = <span style="COLOR:maroon;">&quot;Web&quot;</span></span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">&nbsp;</span> </p>
<p style="MARGIN:0in 0in 10pt;"><span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;&nbsp;&nbsp; </span><span style="COLOR:blue;">End</span> <span style="COLOR:blue;">Sub<br />End</span> <span style="COLOR:blue;">Class</span></span></p>
<p style="MARGIN:0in 0in 10pt;"><font>The XSD stuff.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>The list of sub-webs from the web specified by &lt;server&gt; is in XML format.<span style="">&nbsp; </span>(On a side note, you can specify &lt;server&gt;/&lt;sub-site&gt; for &lt;server&gt; and it will bring back the list of sub-sites for &lt;server&gt;/&lt;sub-site&gt;.)</font></p>
<p style="MARGIN:0in 0in 10pt;"><font><font>One additional bit of code you will need is an .xsd file with the layout of the XML.<span style="">&nbsp; </span>This is a requirement of the dataset, and not related to any SharePoint requirements.<span style="">&nbsp; </span></font></font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Also, just a thing to know.to get a view of the XML, I set a breakpoint after the GetWebCollection line, and from the watch box, copied the OuterXML and pasted it into and XML editor.<span style="">&nbsp; </span>From there, I created the following .XSD file:</font></p>
<p><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&lt;?</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xml</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"> </span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">version</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">1.0</span>&quot;<span style="COLOR:blue;"> </span><span style="COLOR:red;">standalone</span><span style="COLOR:blue;">=</span>&quot;<span style="COLOR:blue;">yes</span>&quot;<span style="COLOR:blue;">?&gt;</span></span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&lt;</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:schema</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"> </span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">id</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">Lists</span>&quot;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;</span></span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">targetNamespace</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">http://schemas.microsoft.com/sharepoint/soap/</span>&quot;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;</span></span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">xmlns:mstns</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">http://schemas.microsoft.com/sharepoint/soap/</span>&quot;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;</span></span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">xmlns</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">http://schemas.microsoft.com/sharepoint/soap/</span>&quot;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;</span></span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">xmlns:xs</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">http://www.w3.org/2001/XMLSchema</span>&quot;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;</span></span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">xmlns:msdata</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">urn:schemas-microsoft-com:xml-msdata</span>&quot;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="">&nbsp;</span></span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">attributeFormDefault</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">qualified</span>&quot;<span style="COLOR:blue;"> </span><span style="COLOR:red;">elementFormDefault</span><span style="COLOR:blue;">=</span>&quot;<span style="COLOR:blue;">qualified</span>&quot;<span style="COLOR:blue;">&gt;</span></span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:element</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"> </span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">name</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">Webs</span>&quot;<span style="COLOR:blue;"> </span><span style="COLOR:red;">msdata:IsDataSet</span><span style="COLOR:blue;">=</span>&quot;<span style="COLOR:blue;">true</span>&quot;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">msdata:EnforceConstraints</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">false</span>&quot;<span style="COLOR:blue;">&gt;</span></span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:2;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:complexType</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&gt;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:choice</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"> </span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">maxOccurs</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">unbounded</span>&quot;<span style="COLOR:blue;">&gt;</span></span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:4;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:element</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"> </span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">name</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">Web</span>&quot;<span style="COLOR:blue;">&gt;</span></span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:5;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:complexType</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&gt;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:6;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:attribute</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"> </span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">name</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">Title</span>&quot;<span style="COLOR:blue;"> </span><span style="COLOR:red;">form</span><span style="COLOR:blue;">=</span>&quot;<span style="COLOR:blue;">unqualified</span>&quot;<span style="COLOR:blue;"> </span><span style="COLOR:red;">type</span><span style="COLOR:blue;">=</span>&quot;<span style="COLOR:blue;">xs:string</span>&quot;<span style="COLOR:blue;"> /&gt;</span></span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:6;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:attribute</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"> </span><span style="FONT-SIZE:10pt;COLOR:red;FONT-FAMILY:&#39;Courier New&#39;;">name</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">=</span><span style="FONT-SIZE:10pt;FONT-FAMILY:&#39;Courier New&#39;;">&quot;<span style="COLOR:blue;">Url</span>&quot;<span style="COLOR:blue;"> </span><span style="COLOR:red;">form</span><span style="COLOR:blue;">=</span>&quot;<span style="COLOR:blue;">unqualified</span>&quot;<span style="COLOR:blue;"> </span><span style="COLOR:red;">type</span><span style="COLOR:blue;">=</span>&quot;<span style="COLOR:blue;">xs:string</span>&quot;<span style="COLOR:blue;"> /&gt;</span></span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:5;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:complexType</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&gt;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:4;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:element</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&gt;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:3;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:choice</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&gt;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:2;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:complexType</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&gt;</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;"><span style="mso-tab-count:1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span style="FONT-SIZE:10pt;COLOR:maroon;FONT-FAMILY:&#39;Courier New&#39;;">xs:element</span><span style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:&#39;Courier New&#39;;">&gt;</span><span style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:&#39;Courier New&#39;;">&lt;/</span><span style="FONT-SIZE:10pt;COLOR:maroon;LINE-HEIGHT:115%;FONT-FAMILY:&#39;Courier New&#39;;">xs:schema</span><span style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:&#39;Courier New&#39;;">&gt;</span> </p>
<p style="MARGIN:0in 0in 10pt;"><font>You will need to save this in the same directory as the executable, i.e. &lt;Project&gt;inDebug&lt;filename&gt;.xsd.<span style="">&nbsp; </span>(In my case D:Development&lt;Project&gt;inDebugWebs.xsd.)</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>Run the project and you should see a form with a datagridview with the list of sub-sites and their associated URL&#39;s.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>The Wrap Up.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>The key to writing code to work with SharePoint sites, and have the code run on machines not hosting the SharePoint box seems to be Web Services.<span style="">&nbsp; </span>Again, if someone has the SharePoint Object Model doing this, PLEASE let me know.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>While I have not investigated this too deeply, it seems that most everything that is possible to do in the SharePoint Object model is possible using the SharePoint Web Services.<span style="">&nbsp; </span>As I am forced to use the SharePoint Web Services to complete some projects that I have coming up, I&#39;ll post additional information on functionality.<span style="">&nbsp; </span>Again, if you have some insight on this, PLEASE let me know.</font></p>
<p style="MARGIN:0in 0in 10pt;"><font>As always, the information and code provided here is for training purposes, provided with no guarantees, and use at your own risk.<span style="">&nbsp; </span>Additionally, feel free to use this stuff to get started with whatever you need.</font></p>
<p><font>&nbsp;</font></p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/jeff102410/2008/12/10/developing-a-deployable-app-to-access-sharepoint-information-part-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
