<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Santomania : Sharepoint</title><link>http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx</link><description>Tags: Sharepoint</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>A tip, a tool and a book</title><link>http://blogs.msdn.com/asanto/archive/2005/03/24/401687.aspx</link><pubDate>Thu, 24 Mar 2005 19:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:401687</guid><dc:creator>Addys</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/asanto/comments/401687.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asanto/commentrss.aspx?PostID=401687</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;The Tip:&lt;/strong&gt;&amp;nbsp; If your mouse has thumb buttons, they are usually mapped (by default) to&amp;nbsp;"back" and "forward"&amp;nbsp; in IE.&amp;nbsp; Change those to PgUp and PgDown, and give it a test drive in Visual Studio.&amp;nbsp; I never noticed how much of my development time was being spent on paging... much better now!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;The Tool:&lt;/strong&gt;&amp;nbsp; &lt;a href="http://www.jetbrains.com/resharper/"&gt;Resharper&lt;/a&gt;&amp;nbsp;is without a doubt the best 99$ I ever spent on a dev add-in.&amp;nbsp; I find that I don't use the advanced refactoring tools very often,&amp;nbsp; but the simple things such as renaming members and converting variables to properties is very handy.&amp;nbsp; My favorite features are (by far) the many small improvements to the VS.NET environment such as quick-navigation tools and improved intellisense.&amp;nbsp; There are many similar add-ins - &amp;nbsp;some of them freeware -&amp;nbsp;but from what I have seen so far Resharper seems to have the best combination of features, usability and general polish.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;The Book: &lt;/strong&gt;&lt;a href="http://www.microsoft.com/MSPress/books/8191.asp"&gt;Microsoft Windows Sharepoint Services, Inside Out&lt;/a&gt;, Jim Buyens, Microsoft Press.&amp;nbsp;&amp;nbsp; I'm not a big fan of the Inside Out series, but this book is awesome. It covers design, installation, administration, customization and custom development of WSS, and somehow manages to stay readable from the basic concepts&amp;nbsp;through to the&amp;nbsp;advanced minutia in each topic.&amp;nbsp;I usually get frustrated very quickly with non-electronic documentation (bookmarks didn't originate with the internet - who knew?) but this book is one which I actually plan to read cover-to-cover.&amp;nbsp; At 700+ pages it might take me a while, but I'll post a more detailed review when I'm done.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=401687" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asanto/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/asanto/archive/tags/Tech+Related/default.aspx">Tech Related</category><category domain="http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>The magic URL for fixing a broken Sharepoint page</title><link>http://blogs.msdn.com/asanto/archive/2005/03/02/384058.aspx</link><pubDate>Thu, 03 Mar 2005 05:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:384058</guid><dc:creator>Addys</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/asanto/comments/384058.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asanto/commentrss.aspx?PostID=384058</wfw:commentRss><description>&lt;p&gt;I know it exists, but every time I need it I still spend 15 minutes searching. So, once and for all, &amp;nbsp;here it is: &lt;strong&gt;?contents=1&lt;/strong&gt;.&amp;nbsp; Appending that to the URL of a web part page in WSS or SPS will display a list of web parts on the page with options to close or delete one or more of the webparts.&lt;/p&gt; &lt;p&gt;Next time you can't open your site because a webpart is breaking the page, or for any other reason (my current error is 'The page you selected contains a list that does not exist..") then remember: &lt;strong&gt;contents=1&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=384058" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>WssDal - a Sharepoint Web Services alternative</title><link>http://blogs.msdn.com/asanto/archive/2005/03/02/383939.aspx</link><pubDate>Thu, 03 Mar 2005 01:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:383939</guid><dc:creator>Addys</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/asanto/comments/383939.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asanto/commentrss.aspx?PostID=383939</wfw:commentRss><description>&lt;p&gt;About&amp;nbsp;2 months ago I asked if anyone &lt;a href="http://weblogs.asp.net/asanto/archive/2004/12/30/344585.aspx"&gt;was interested in an alternative to the WSS webservices&lt;/a&gt;. A few people responded and tried my WssDal library. The general consensus seems to be that while it&amp;nbsp;isn't perfect, it &lt;em&gt;is&lt;/em&gt; useful enough to continue developing. So if anyone else wants to give it a test drive, the library (complete with full source code, some light samples, setup instructions and documentation) is available &lt;a href="http://www.addysanto.com/blog/wssdal_v01.zip"&gt;HERE&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Bug reports, feature requests, etc are most welcome. If there is any interest in collaboration I'll happily open a workspace on GDN or SourceForge for this.&lt;/p&gt; &lt;p&gt;As with any code downloaded from my blog: &lt;em&gt;you use this at your own risk&lt;/em&gt;. See the full disclaimer on my blog homepage if you don't know what I mean by that.&lt;br /&gt; &lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;u&gt;&lt;i&gt;3/7/2005 Update&lt;/i&gt;&lt;/u&gt;: In the first 5 days WssDal was downloaded over 200 times. So how about some feedback? I want to make it better, but I need your input!&lt;/font&gt;&lt;br /&gt; &lt;/p&gt; &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=383939" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asanto/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Are the Sharepoint Web Services too complex?  Looking for something better?</title><link>http://blogs.msdn.com/asanto/archive/2004/12/30/344585.aspx</link><pubDate>Fri, 31 Dec 2004 04:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:344585</guid><dc:creator>Addys</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/asanto/comments/344585.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asanto/commentrss.aspx?PostID=344585</wfw:commentRss><description>&lt;p&gt;I'm looking for a few people to help beta-test&amp;nbsp;an alternative to Sharepoint's web services.&amp;nbsp; The solution allows a simple "object modelish" approach to working with WSS, as shown by the following sample code snippets:&lt;/p&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;font color="#008000" size="3"&gt; &lt;/font&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; color: green; font-family: 'Courier New';"&gt;&lt;font color="#008000" size="3"&gt;// &lt;span style="font-size: 11pt; color: green; font-family: 'Courier New';"&gt;display all fields of all items of all lists&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;ListsClient ListClient = &lt;span style="color: blue;"&gt;new&lt;/span&gt; ListsClient();&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; color: blue; font-family: 'Courier New';"&gt;foreach&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt; (ListDescriptor list &lt;span style="color: blue;"&gt;in&lt;/span&gt; ListClient.GetLists("&lt;a href="http://WssSitemyWSS/testsite"&gt;http://WssSite&lt;/a&gt;"))&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine("List {0} has {1} items",list.ListName,list.ListItems.Length.ToString());&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;(ListItem item &lt;span style="color: blue;"&gt;in&lt;/span&gt; list.ListItems)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine("item {0} fields:",item["Title"]);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;(Field f &lt;span style="color: blue;"&gt;in&lt;/span&gt; item.Fields)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine("{0} = {1}",f.Name,f.Value);&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;}&lt;/span&gt;&lt;p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; color: green; font-family: 'Courier New';"&gt;// update all list items in the "Tasks" list which are due today&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;ListDescriptor tasks = ListClient.GetListItemsByFieldValue("&lt;a href="http://WssSite"&gt;http://WssSite&lt;/a&gt;","Tasks","DueDate",strToday);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; color: blue; font-family: 'Courier New';"&gt;foreach&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;(ListItem task &lt;span style="color: blue;"&gt;in&lt;/span&gt; tasks.ListItems)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;task["Description"] += " &amp;lt;-- DUE TODAY!!";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ListClient.UpdateListItem("&lt;a href="http://wsssite/"&gt;http://WssSite&lt;/a&gt;","Tasks",task);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 11pt; font-family: 'Courier New';"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;It also solves some of the WSS web service pain-points, such as download/upload, checkin/checkout, etc.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strike&gt;Drop me a mail if you are interested.&lt;/strike&gt;&amp;nbsp; &lt;font color="#a52a2a"&gt;&lt;i&gt;3/3/2005 Update: The source is now available for download, &lt;A href="http://weblogs.asp.net/asanto/archive/2005/03/02/383939.aspx"&gt;more details here &lt;/a&gt;&lt;/i&gt;&lt;/font&gt;&lt;br /&gt; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=344585" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asanto/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Fixing Broken Links after Restoring a Sharepoint (WSS) Site with SMigrate</title><link>http://blogs.msdn.com/asanto/archive/2004/12/29/341388.aspx</link><pubDate>Wed, 29 Dec 2004 08:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:341388</guid><dc:creator>Addys</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/asanto/comments/341388.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asanto/commentrss.aspx?PostID=341388</wfw:commentRss><description>&lt;a href="http://www.addysanto.com/blog/fixsitelinks.zip"&gt;&lt;strong&gt;Utility and source code here&lt;/strong&gt;&lt;/a&gt;&amp;nbsp; (&lt;a href="http://www.addysanto.com/blog/fixsitelinks.zip"&gt;http://www.addysanto.com/blog/fixsitelinks.zip&lt;/a&gt;) &lt;h2 style="margin: 12pt 0in 3pt;"&gt;&lt;em&gt;&lt;font face="Arial"&gt;Introduction&lt;/font&gt;&lt;/em&gt;&lt;/h2&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;WSS 2.0 includes a utility called SMigrate which can be used to backup the content and structure of a site and to later recreate a site’s content and structure from the backup file. SMigrate also enables migration scenarios – by backing up a site and restoring it to a different URL, it is possible to migrate content between different sites or servers. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;When restoring content to a different URL SMigrate attempts to update the necessary links to ensure that the restored site will work correctly, including the Detail and Help links of webparts.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;In most cases, SMigrate will accurately update all of the webparts.&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;When using Frontpage (or other dev tools which circumvent the WSS UI) it is possible to create custom pages and webparts which will not be correctly updated by SMigrate when a site is restored. &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;One possible solution is to manually update the broken links through the “Webpart Properties” page of the WSS UI , but manual corrections aren’t feasible for large sites or automated/scripted deployment scenarios.&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;FixSiteLinks is a utility which can fix such sites.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;When run, it scans webparts in ASPX pages in the site (in the root and all subdirectories) and attempts to correct any URLs which point to links outside the site. &lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;h2 style="margin: 12pt 0in 3pt;"&gt;&lt;em&gt;&lt;font face="Arial"&gt;Usage&lt;/font&gt;&lt;/em&gt;&lt;/h2&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;FixSiteLinks accepts the following command line parameters:&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;-site &lt;i style=""&gt;UR&lt;/i&gt;L&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The site parameter specifies the base URL of the WSS site to scan.&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b style=""&gt;-update&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(Optional parameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The update parameter causes FixSiteLinks to update any webpart links which point outside the scope of the current site (as defined by the “site” parameter).&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;FixSiteLinks &lt;i style=""&gt;will not make any changes&lt;/i&gt; to the site if the –update parameter is not present.&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;The FixSiteLinks utility logs the results of each run into a file named FIXSITELINKS.OUTPUT.XML.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This file documents the following information:&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Site Folders&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;span style=""&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;ASPX Pages in each Folder&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span style=""&gt;§&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Web Parts on each Page&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 2in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The original Detail Link of the webpart&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 2in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The suggested Detail Link of the webpart&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 2in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Action taken. &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;Possible values are :&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 2.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;span style=""&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Updated&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;(if changes were made)&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 2.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;span style=""&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Skipped (if –update wasn’t specified)&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 2.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;span style=""&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;None (if existing link is valid)&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;The output file is always created (regardless of the –update parameter) and is overwritten with each run.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;I highly recommend first running the utility without the –update parameter and using the output file verify that the suggested changes make sense.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If you are satisfied with the suggested changes then re-run the utility with the –update parameter to apply the changes.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;In the initial version there is no option for changing the default suggestions– if you don’t like them, don’t apply the changes via the –update parameter.&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;h2 style="margin: 12pt 0in 3pt;"&gt;&lt;em&gt;&lt;font face="Arial"&gt;Notes&lt;br style="" /&gt;&lt;br style="" /&gt;&lt;/font&gt;&lt;/em&gt;&lt;/h2&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;This utility must be run on the server hosting WSS&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;This utility requires administrative rights.&lt;br style="" /&gt;&lt;br style="" /&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font color="#ff0000"&gt;ONLY RUN THIS IF YOU HAVE AN UP-TO-DATE SITE BACKUP.&lt;/font&gt;&lt;span style=""&gt;&lt;font color="#ff0000"&gt;&amp;nbsp; This hasn't caused any damage to my systems (yet?) but incorrect usage could easily corrupt your site so&amp;nbsp;:&amp;nbsp;Use this at your own risk!&lt;/font&gt; &lt;/span&gt;&lt;br style="" /&gt;&lt;br style="" /&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Don’t use the –update parameter before reviewing the suggested changes.&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.75in;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Source code is included, feel free to modify as needed.&lt;br style="" /&gt;&lt;br style="" /&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;-&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;“Nice to Haves” which didn’t make the cut in the initial version:&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;span style=""&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;More intelligent algorithm for correcting links&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;span style=""&gt;o&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Fine-grained control of which pages/webparts to update&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&amp;nbsp;&lt;/p&gt; &lt;h2 style="margin: 12pt 0in 3pt;"&gt;&lt;em&gt;&lt;font face="Arial"&gt;Disclaimer&lt;br style="" /&gt;&lt;br style="" /&gt;&lt;/font&gt;&lt;/em&gt;&lt;/h2&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt;"&gt;I DO NOT MAKE ANY CLAIM OF WARRANTY, EXPRESS OR IMPLIED, INCLUDING THE FITNESS FOR ANY PARTICULAR PURPOSE, OR ASSUME ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF THIS TOOL, NOR WILL I &lt;/span&gt;&lt;span style="font-size: 8pt; color: black; font-family: Verdana;"&gt;BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING BUT NOT LIMITED TO DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR BUSINESS INTERRUPTION OR LOSS OF BUSINESS PROFITS OR DATA, RESULTING FROM USAGE OF THIS TOOL OR RELATED INFORMATION PRESENTED IN THIS POST.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; color: black; font-family: Verdana;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size: 8pt; color: black; font-family: Verdana;"&gt;Also: the entire physical universe, including the information provided herein, may one day collapse back into an infinitesimally small space. Should another universe or medieval re-enactment subsequently re-emerge, the existence of the this tool (and it’s proper functioning) in this universe cannot be guaranteed. YMMV.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 1in; text-indent: -0.25in;"&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=341388" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asanto/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Sharepoint Studies Roadmap</title><link>http://blogs.msdn.com/asanto/archive/2004/10/29/249442.aspx</link><pubDate>Fri, 29 Oct 2004 09:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:249442</guid><dc:creator>Addys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/asanto/comments/249442.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asanto/commentrss.aspx?PostID=249442</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/gregmcb"&gt;Gregory&amp;nbsp;MacBeth&lt;/a&gt;&amp;nbsp;recently posted&amp;nbsp; an exhaustive&amp;nbsp;28-step roadmap for wannabe Sharepoint developers.&amp;nbsp;&amp;nbsp;IMHO some of the topics there aren't really&amp;nbsp;required for Sharepoint development per-se (UML? UIP Application Block?)&amp;nbsp;&amp;nbsp;but the list is detailed and definitely worth checking out: &lt;a href="http://weblogs.asp.net/gregmcb/archive/2004/10/25/247388.aspx"&gt;http://weblogs.asp.net/gregmcb/archive/2004/10/25/247388.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&lt;/font&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=249442" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asanto/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/asanto/archive/tags/Tech+Related/default.aspx">Tech Related</category><category domain="http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Accessing WSS Document Libraries </title><link>http://blogs.msdn.com/asanto/archive/2004/09/22/232922.aspx</link><pubDate>Wed, 22 Sep 2004 20:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:232922</guid><dc:creator>Addys</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/asanto/comments/232922.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asanto/commentrss.aspx?PostID=232922</wfw:commentRss><description>&lt;p&gt;I ran across this summary table comparing the four methods of accessing WSS content...&amp;nbsp; This is documented but I hadn't seen it brought together so nicely. Kudos to &lt;strike&gt;whoever wrote it (if anyone knows where this came from, let me know so I can credit the author)&lt;/strike&gt;&amp;nbsp; Mr Jeffries...&lt;/p&gt; &lt;p&gt; &lt;table class="MsoTableGrid" style="border: medium none ; width: 401.4pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0" width="535"&gt; &lt;tbody&gt; &lt;tr style="height: 35.5pt;"&gt; &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 76.15pt; height: 35.5pt; background-color: transparent;" valign="top" width="102"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; background: rgb(224, 224, 224) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 62.85pt; height: 35.5pt;" valign="top" width="84"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;Remote Access&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; background: rgb(224, 224, 224) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 44.5pt; height: 35.5pt;" valign="top" width="59"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;Set Meta-data&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; background: rgb(224, 224, 224) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 48.15pt; height: 35.5pt;" valign="top" width="64"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;Batch File Upload&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; background: rgb(224, 224, 224) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 47.5pt; height: 35.5pt;" valign="top" width="63"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;File/IO&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; background: rgb(224, 224, 224) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 50.8pt; height: 35.5pt;" valign="top" width="68"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;Version Control&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext rgb(236, 233, 216); border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; background: rgb(224, 224, 224) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 71.45pt; height: 35.5pt;" valign="top" width="95"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;Check-In/ Check-Out&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="height: 29.25pt;"&gt; &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 76.15pt; height: 29.25pt;" valign="top" width="102"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;Object Model&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 62.85pt; height: 29.25pt; background-color: transparent;" valign="top" width="84"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 44.5pt; height: 29.25pt; background-color: transparent;" valign="top" width="59"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 48.15pt; height: 29.25pt; background-color: transparent;" valign="top" width="64"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 47.5pt; height: 29.25pt; background-color: transparent;" valign="top" width="63"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 50.8pt; height: 29.25pt; background-color: transparent;" valign="top" width="68"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 71.45pt; height: 29.25pt; background-color: transparent;" valign="top" width="95"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="height: 38.25pt;"&gt; &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 76.15pt; height: 38.25pt;" valign="top" width="102"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;Web Services&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 62.85pt; height: 38.25pt; background-color: transparent;" valign="top" width="84"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 204, 0); font-family: Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 44.5pt; height: 38.25pt; background-color: transparent;" valign="top" width="59"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 48.15pt; height: 38.25pt; background-color: transparent;" valign="top" width="64"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 47.5pt; height: 38.25pt; background-color: transparent;" valign="top" width="63"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 50.8pt; height: 38.25pt; background-color: transparent;" valign="top" width="68"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 71.45pt; height: 38.25pt; background-color: transparent;" valign="top" width="95"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="height: 27pt;"&gt; &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 76.15pt; height: 27pt;" valign="top" width="102"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;WebDAV&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 62.85pt; height: 27pt; background-color: transparent;" valign="top" width="84"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 44.5pt; height: 27pt; background-color: transparent;" valign="top" width="59"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 48.15pt; height: 27pt; background-color: transparent;" valign="top" width="64"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 47.5pt; height: 27pt; background-color: transparent;" valign="top" width="63"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 50.8pt; height: 27pt; background-color: transparent;" valign="top" width="68"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 71.45pt; height: 27pt; background-color: transparent;" valign="top" width="95"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: red; font-family: Wingdings;"&gt;&lt;span style=""&gt;K&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="height: 27pt;"&gt; &lt;td style="border-style: none solid solid; border-color: rgb(236, 233, 216) windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; width: 76.15pt; height: 27pt;" valign="top" width="102"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=""&gt;FrontPage RPC&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 62.85pt; height: 27pt; background-color: transparent;" valign="top" width="84"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 44.5pt; height: 27pt; background-color: transparent;" valign="top" width="59"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 48.15pt; height: 27pt; background-color: transparent;" valign="top" width="64"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 47.5pt; height: 27pt; background-color: transparent;" valign="top" width="63"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 50.8pt; height: 27pt; background-color: transparent;" valign="top" width="68"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-style: none solid solid none; border-color: rgb(236, 233, 216) windowtext windowtext rgb(236, 233, 216); border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 71.45pt; height: 27pt; background-color: transparent;" valign="top" width="95"&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; text-align: center;" align="center"&gt;&lt;span style="font-size: 16pt; color: rgb(153, 204, 0); font-family: Wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=232922" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item><item><title>Painless Sharepoint 2003 deployments (even when migrating from SPS 2001) ??</title><link>http://blogs.msdn.com/asanto/archive/2004/06/05/149056.aspx</link><pubDate>Sat, 05 Jun 2004 09:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:149056</guid><dc:creator>Addys</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/asanto/comments/149056.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asanto/commentrss.aspx?PostID=149056</wfw:commentRss><description>&lt;p&gt;After reading&amp;nbsp;&lt;a&gt;Bill's woes &lt;/a&gt;with SPIN/SPOUT and the deployment in general, I figured he isn't the only one who needs to know this:&amp;nbsp; &lt;/p&gt; &lt;p&gt;There is an &lt;a href="http://www.tzunami.net/deployer.html"&gt;excellent deployment tool&lt;/a&gt; which assists both in migrations&amp;nbsp;and deployments, and can take most of the pain out of the process. I highly recommend giving it a look if you need to work with a Sharepoint deployment of any size. From the website:&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="10" width="600" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt; &lt;p&gt;&lt;font face="Verdana"&gt;&lt;font color="red"&gt;&lt;font color="#000000"&gt;The &lt;/font&gt;&lt;strong&gt;K&lt;/strong&gt;&lt;/font&gt;&lt;strong&gt;-Wise&lt;/strong&gt;&lt;span style="mso-bidi-language: AR-SA"&gt; Deployer is a stand-alone environment designed for the rapid migration of documents from multiple sources into SharePoint Portal Server.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Verdana"&gt;&lt;span style="mso-bidi-language: AR-SA"&gt;&amp;nbsp;It provides:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="20"&gt;&lt;img height="11" src="K-Wise Deployer_files/bulet.gif" width="9" align="center" /&gt;&lt;/td&gt; &lt;td&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;Migration from SharePoint 2001, file share and other sources&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="20"&gt;&lt;img height="11" src="K-Wise Deployer_files/bulet.gif" width="9" align="center" /&gt;&lt;/td&gt; &lt;td&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;Mapping and analysis of content sources &lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="20"&gt;&lt;img height="11" src="K-Wise Deployer_files/bulet.gif" width="9" align="center" /&gt;&lt;/td&gt; &lt;td&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;Metadata creation, extraction and flexible mapping into Columns &lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="20"&gt;&lt;img height="11" src="K-Wise Deployer_files/bulet.gif" width="9" align="center" /&gt;&lt;/td&gt; &lt;td&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;Bulk creation of Share point Portal Server Structure:&amp;nbsp;Areas, Document Libraries and Folders &lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="20"&gt;&lt;img height="11" src="K-Wise Deployer_files/bulet.gif" width="9" align="center" /&gt;&lt;/td&gt; &lt;td&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;Bulk and Batch check-in of documents &lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="20"&gt;&lt;img height="11" src="K-Wise Deployer_files/bulet.gif" width="9" align="center" /&gt;&lt;/td&gt; &lt;td&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;Taxonomy management tool&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/td&gt; &lt;td&gt;&lt;font face="Geneva" size="4"&gt;&lt;a href="http://www.k-wise.com/de_download_form.html"&gt;&lt;img height="210" src="http://www.tzunami.net/K-Wise%20Deployer_files/Box75.gif" border="0" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;&lt;a&gt;http://www.tzunami.net/deployer.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Note:&amp;nbsp;&amp;nbsp;This is probably the most shameless product plug I've ever written, but hey - I love this tool.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=149056" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asanto/archive/tags/Sharepoint/default.aspx">Sharepoint</category></item></channel></rss>