<?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>Imagine Think Create Share : MOSS</title><link>http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx</link><description>Tags: MOSS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Foxit PDF IFilter must be reinstalled after installing a software update or ... Microsoft Filter Pack</title><link>http://blogs.msdn.com/carloshm/archive/2009/08/13/foxit-pdf-ifilter-must-be-reinstalled-after-installing-a-software-update-or-microsoft-filter-pack.aspx</link><pubDate>Thu, 13 Aug 2009 12:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9867952</guid><dc:creator>carloshm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9867952.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9867952</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Testing search in a development environment, I faced that after installation of &lt;A title="Microsoft Filter Pack" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=60C92A37-719C-4077-B5C6-CAC34F4227CC&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=60C92A37-719C-4077-B5C6-CAC34F4227CC&amp;amp;displaylang=en"&gt;MS Filter Pack&lt;/A&gt;&amp;nbsp;you need to repair FoxIt ifilter installation. So it seems it behaves as a software update too ;)&lt;/P&gt;
&lt;P&gt;By the way, they got a &lt;A title="Microsoft Corporation" href="http://www.foxitsoftware.com/company/success_stories.html" mce_href="http://www.foxitsoftware.com/company/success_stories.html"&gt;success story&lt;/A&gt; in Microsoft Exchange Hosted Services. Great!&lt;/P&gt;
&lt;P&gt;Cheers!&lt;/P&gt;
&lt;P&gt;P.S. it is documented at &lt;A title="Foxit PDF IFilter must be reinstalled after installing a software update (Office SharePoint Server 2007)" href="http://technet.microsoft.com/en-us/library/cc298931.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc298931.aspx"&gt;technet too&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9867952" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/pdf/default.aspx">pdf</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/foxit/default.aspx">foxit</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/ifilter/default.aspx">ifilter</category></item><item><title>How to: Programmatically read the ChangeLog in PowerShell </title><link>http://blogs.msdn.com/carloshm/archive/2009/06/05/how-to-programmatically-read-the-changelog-in-powershell.aspx</link><pubDate>Fri, 05 Jun 2009 15:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9701271</guid><dc:creator>carloshm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9701271.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9701271</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;When I was working to get &lt;A title="How to: Programmatically Export the Crawl History to a CSV File in PowerShell" href="http://blogs.msdn.com/carloshm/archive/2009/03/31/how-to-programmatically-export-the-crawl-history-to-a-csv-file-in-powershell.aspx" mce_href="http://blogs.msdn.com/carloshm/archive/2009/03/31/how-to-programmatically-export-the-crawl-history-to-a-csv-file-in-powershell.aspx"&gt;powershell&lt;/A&gt; &lt;A title="How to: Programmatically Manage the Crawl of a Content Source in PowerShell " href="http://blogs.msdn.com/controlpanel/blogs/how-to-programmatically-manage-the-crawl-of-a-content-source-in-powershell" mce_href="http://blogs.msdn.com/controlpanel/blogs/how-to-programmatically-manage-the-crawl-of-a-content-source-in-powershell"&gt;scripts&lt;/A&gt; from MSDN samples to get/set information, I created&amp;nbsp;too one for reading the changelog. It was a bit tricky to build, but I manage to port &lt;A title="Querying for Specific Changes" href="http://msdn.microsoft.com/en-us/library/bb447550.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb447550.aspx"&gt;Querying for specific changes&lt;/A&gt; to PowerShell.&lt;/P&gt;
&lt;P&gt;You can review the changelog&amp;nbsp;API in the Microsoft SharePoint Developer Documentation Team Blog and MSDN (previous link):&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/01/21/synchronizing-with-windows-sharepoint-services-part-1.aspx"&gt;http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/01/21/synchronizing-with-windows-sharepoint-services-part-1.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/01/22/synchronizing-with-windows-sharepoint-services-part-2.aspx"&gt;http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/01/22/synchronizing-with-windows-sharepoint-services-part-2.aspx&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;We wanted to monitor which changes were been read by the crawl process and been able to filter specific changes.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;## SharePoint Reference [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration") [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search.Administration") [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search") [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server") &lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;function global:Get-ChangeLog($url, $minutes, $changetype)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;trap [Exception] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.GetType().FullName); &lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.Message); &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s = new-Object Microsoft.SharePoint.SPSite($url);&lt;BR&gt;&amp;nbsp;$startTime = [System.DateTime]::Now.Subtract([System.TimeSpan]::FromMinutes($minutes));&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;$db_id = [Microsoft.SharePoint.Administration.SPContentDatabase].getmethod("get_Id");&lt;BR&gt;&amp;nbsp;$result_id = $db_id.Invoke($s.ContentDatabase, "instance,public", $null, $null, $null);&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;$db_CurrentChangeToken = [Microsoft.SharePoint.Administration.SPContentDatabase].getmethod("get_CurrentChangeToken");&lt;BR&gt;&amp;nbsp;$result_CurrentChangeToken = $db_CurrentChangeToken.Invoke($s.ContentDatabase, "instance,public", $null, $null, $null);&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;$startToken = New-Object Microsoft.SharePoint.SPChangeToken([Microsoft.SharePoint.SPChangeCollection+CollectionScope]::ContentDB, $result_id.ToString(), $startTime);&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;$changeQuery = New-Object Microsoft.SharePoint.SPChangeQuery($False, $False);&lt;BR&gt;&amp;nbsp;$changeQuery.User = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.ContentType = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Add = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Delete = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Field = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.File = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Folder = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Group = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.GroupMembershipAdd = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.GroupMembershipDelete = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Item = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.List = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Move = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Rename = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Site = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.SystemUpdate = $True;&lt;BR&gt;&amp;nbsp;$changeQuery.Update = $True;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;$changeQuery.ChangeTokenStart = $startToken;&lt;BR&gt;&amp;nbsp;$changeQuery.ChangeTokenEnd = $result_CurrentChangeToken;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;$db_GetChanges = [Microsoft.SharePoint.Administration.SPContentDatabase].getmethod("GetChanges", [Microsoft.SharePoint.SPChangeQuery]);&lt;BR&gt;&amp;nbsp;$result_GetChanges = $db_GetChanges.Invoke($s.ContentDatabase, "instance,public", $null, $changeQuery, $null);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;write-Output $result_GetChanges | Where-Object { $_.ChangeType -eq $changetype };&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s.Dispose();&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Get-ChangeLog -url &lt;A href="http://your_site_url/"&gt;http://your_site_url&lt;/A&gt; -minutes 120 -changetype Add&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Take into account that the time will get changes based on UTC&lt;/P&gt;
&lt;P&gt;Bye!&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9701271" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Codeplex/default.aspx">Codeplex</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Search/default.aspx">Search</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Web Slices and SharePoint</title><link>http://blogs.msdn.com/carloshm/archive/2009/04/19/web-slices-and-sharepoint.aspx</link><pubDate>Sun, 19 Apr 2009 23:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9555905</guid><dc:creator>carloshm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9555905.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9555905</wfw:commentRss><description>&lt;P&gt;Hola,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Last week, I read in a DL a question about how to show something cool, provide value and without custom code. Well there are many scenarios in SharePoint that empower final users in order to do this.&lt;/P&gt;
&lt;P&gt;I instantly thought about WebSlices. As&amp;nbsp;a microformat you can "decorate" your markup and include fast and easy additional funcionality to yourself or your colleagues (or even your users! :)).&lt;/P&gt;
&lt;P&gt;What would I use to do it? Well I would start thinking in webparts that can be customized vis XSLT, or those that can render custom HTML. A quick list:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;RSS Viewer WebPart&lt;/LI&gt;
&lt;LI&gt;Core Search Results WebPart (any other search webpart)&lt;/LI&gt;
&lt;LI&gt;Content By Query WebPart&lt;/LI&gt;
&lt;LI&gt;Content Web Editor&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Which will you choose? it will depend on your requirements (performance, data scope, skills). Here I will show the minimal &lt;EM&gt;implementation. &lt;/EM&gt;From here you can build a custom page that leverage updates and notifications.&lt;/P&gt;
&lt;P&gt;One MOSS challenge ;), would be to create a service that centralized these results!&lt;/P&gt;
&lt;P&gt;I will use the federated results webpart, but configured to render synchronously.&lt;BR&gt;Why?, because as you will face with the RSS Viewer webpart, you can't notifiy the client after "document ready" and you should implement "&lt;A title="Alternate Display Source" href="http://msdn.microsoft.com/en-us/library/cc196992(VS.85).aspx#_refresh" mce_href="http://msdn.microsoft.com/en-us/library/cc196992(VS.85).aspx#_refresh"&gt;Alternative Display Source&lt;/A&gt;". I tried without it, and I faced some strange behaviour (sometimes the webslices icon appeared, but the Favorites Bar is not capable of showing the preview).&lt;/P&gt;
&lt;P&gt;So it is just as easy as following the steps described at &lt;A title="Subscribing to Content with Web Slices" href="http://msdn.microsoft.com/en-us/library/cc196992(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc196992(VS.85).aspx"&gt;Subscribing to Content with Web Slices&lt;/A&gt;&amp;nbsp;and (for this example) change:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Fixed KeyWord Query to Office 2010 (or whatever you want)&lt;/LI&gt;
&lt;LI&gt;Customized Display Properties (number of results and length)&lt;/LI&gt;
&lt;LI&gt;Add in the XSL Editor the classes required (in &lt;STRONG&gt;bold&lt;/STRONG&gt;):&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;MainTemplate&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;lt;div class="&lt;STRONG&gt;hslice&lt;/STRONG&gt; ms-searchsummarymain" id="LiveResults"&amp;gt;&lt;/LI&gt;
&lt;LI&gt;&amp;lt;div class="&lt;STRONG&gt;entry-title&lt;/STRONG&gt; ms-searchChannelTitle"&amp;gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;MainTemplate.body&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;lt;div class="&lt;STRONG&gt;entry-content&lt;/STRONG&gt; {$BodyClass}"&amp;gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;A picture is worth a thousand words:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/carloshm/picture9555890.aspx"&gt;&lt;IMG style="WIDTH: 425px; HEIGHT: 331px" title="Web Slices SharePoint" border=0 alt="Web Slices SharePoint" src="http://blogs.msdn.com/photos/carloshm/images/9555890/425x331.aspx" width=425 height=331 mce_src="http://blogs.msdn.com/photos/carloshm/images/9555890/425x331.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Other scenarios?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;People Search showing collegues.&lt;/LI&gt;
&lt;LI&gt;ChangeLog viewer&lt;/LI&gt;
&lt;LI&gt;TFS bugs/tasks assigned to you&lt;/LI&gt;
&lt;LI&gt;...&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;Finally, if we add code into the requirements, I would like to test a more dynamic solution:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title="Control Adapters Web Slices" href="http://blogs.microsoft.co.il/blogs/dorong/archive/2009/01/18/web-slice-control-adapter-for-moss-2007.aspx" mce_href="http://blogs.microsoft.co.il/blogs/dorong/archive/2009/01/18/web-slice-control-adapter-for-moss-2007.aspx"&gt;Control Adapters&lt;/A&gt; to include all my webparts&lt;/LI&gt;
&lt;LI&gt;EndPoints to get updates and notifications&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;Ciao!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9555905" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/IE8/default.aspx">IE8</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Web+Slices/default.aspx">Web Slices</category></item><item><title>From app_offline.htm to Failover Farm. SharePoint High Availability Scenarios</title><link>http://blogs.msdn.com/carloshm/archive/2009/04/01/app-offline-htm-sharepoint-upgrades.aspx</link><pubDate>Wed, 01 Apr 2009 13:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9457640</guid><dc:creator>carloshm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9457640.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9457640</wfw:commentRss><description>&lt;P&gt;Hi again,&lt;/P&gt;
&lt;P&gt;Last months this has been one of our main tracks we have been working on. As useful reading in order to get previous concepts, you may start reading the&amp;nbsp;&lt;A title="Plan for redundancy " href="http://technet.microsoft.com/en-us/library/cc263044.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc263044.aspx"&gt;Plan for redundancy&lt;/A&gt; guide. Here you will get the idea that there are several roles that can be redundant, and others not; and traditional ways to set up server redundancy.&lt;/P&gt;
&lt;P&gt;Here I will point out, that although it is said that Index rol is not redundant, you can achieve multiple index servers roles in different SSPs indexing the same content with a cost:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Double size for the same content (Property store - DB&amp;nbsp;and index catalog - File)&lt;/LI&gt;
&lt;LI&gt;Double size in your Query Servers (Both copies of the indexes)&lt;/LI&gt;
&lt;LI&gt;Additional capacity in your backup, IIS logs and network&amp;nbsp;planning&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;(some details in the next guide [&lt;STRONG&gt;&lt;EM&gt;Single farm with two SSPs&lt;/EM&gt;&lt;/STRONG&gt;&amp;nbsp; section] and more complex scenarios)&lt;/P&gt;
&lt;P&gt;In this scenario you could move manually your Web Applications from one SSP to another, in order to get updates from that index server (remember that you really get results from your queries servers); under a power outage, server crash or index corrupt.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;How can you meet a specific level of availability?&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;We do have a &lt;A title="Plan for availability" href="http://technet.microsoft.com/en-us/library/cc748824.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc748824.aspx"&gt;guide&lt;/A&gt; on this (complemented with the &lt;A title="Case Study of High Availability for SharePoint using Database Mirroring (white paper)" href="http://technet.microsoft.com/en-us/library/cc531332.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc531332.aspx"&gt;whitepaper about mirroring&lt;/A&gt;), quite complete so I would not comment much on it. Just that content updates may be evil. In our scenario content was queued in order to update the main farm after failover.&lt;/P&gt;
&lt;P&gt;I would take the summary as my own: &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;"Carefully review your availability requirements. The higher the level of availability and the more systems you protect, the more complex and costly an availability solution is likely to be. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The costs of attaining availability should be evaluated based on business needs. Not all solutions within an organization are likely to require the same level of availability. You can offer different levels of availability for different sites, different services (for example, search and business intelligence), or different farms."&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Yes, but I would like something easier, is it possible?&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;One of the many good things of our platform, is that we boost an &lt;A title="Partner Program" href="https://partner.microsoft.com/" mce_href="https://partner.microsoft.com"&gt;ecosystem of partners&lt;/A&gt;&amp;nbsp;so you will find a lot of scenarios extended. I have not deployed myself these solutions (I did more on the backup scenario), but you may contact each of them and find the best for your needs:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title="everRun® for Microsoft® Office SharePoint Server 2007" href="http://www.marathontechnologies.com/sharepoint-high-availability.html" mce_href="http://www.marathontechnologies.com/sharepoint-high-availability.html"&gt;everRun for Microsoft Office SharePoint Server 2007&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A title="DocAve SharePoint High Availability" href="http://www.avepoint.com/products/sharepoint-high-availability" mce_href="http://www.avepoint.com/products/sharepoint-high-availability"&gt;DocAve SharePoint High Availability&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A title="Neverfail for Microsoft® SharePoint" href="http://www.neverfailgroup.com/products/app-modules/sharepoint.aspx" mce_href="http://www.neverfailgroup.com/products/app-modules/sharepoint.aspx"&gt;Neverfail for Microsoft® SharePoint&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;and always a good reference, the &lt;A title="Replication and high availability" href="http://blogs.msdn.com/joelo/archive/2007/04/02/replication-and-high-availability.aspx" mce_href="http://blogs.msdn.com/joelo/archive/2007/04/02/replication-and-high-availability.aspx"&gt;old&lt;/A&gt; &lt;A title="Disaster Recovery" href="http://www.sharepointjoel.com/Lists/Categories/Category.aspx?Name=Disaster%20Recovery" mce_href="http://www.sharepointjoel.com/Lists/Categories/Category.aspx?Name=Disaster%20Recovery"&gt;Joel blog&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Ok, but I would like something really easy...&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Well :) (not really HA), SharePoint is a ASP.NET application&amp;nbsp;at the end (yes SharePoint IS a platform, so if you are using it from within other technology this will not work for you), so you may follow ASP.NET steps to tell your users in a friendly way that you are updating or changing the platform.&lt;/P&gt;
&lt;P&gt;It is true that from the &lt;A title="Deploy software updates for Windows SharePoint Services 3.0" href="http://technet.microsoft.com/en-us/library/cc288269.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc288269.aspx"&gt;guides&lt;/A&gt; &lt;A title="Deploy software updates for Office SharePoint Server 2007" href="http://technet.microsoft.com/en-us/library/cc263467.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc263467.aspx"&gt;available&lt;/A&gt;,&amp;nbsp;they indicate to stop the World Wide Web Publishing Service (W3SVC) on all Web servers; but as long as you achieve the objective (&lt;EM&gt;Disconnect users from the server farm&lt;/EM&gt;) with other options, why not using the app_offline.htm?&lt;/P&gt;
&lt;P&gt;What is the app_offline.htm option? it is a new feature &lt;A title=app_offline.htm href="http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx"&gt;included&lt;/A&gt; in ASP.NET 2.0 (time ago :)). This basically will let ASP.NET 2.0&amp;nbsp;to shut-down the application, unload the application domain from the server, and stop processing any new incoming requests for that application,&amp;nbsp;sending back all requests for dynamic pages in the application to the app_offline.htm page.&lt;/P&gt;
&lt;P&gt;Some reading I would recommend:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;A title="Walkthrough: Deploying an ASP.NET Web Application Using XCOPY" href="http://msdn.microsoft.com/en-us/library/f735abw9.aspx" mce_href="http://msdn.microsoft.com/en-us/library/f735abw9.aspx"&gt;Walkthrough: Deploying an ASP.NET Web Application Using XCOPY&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A title='App_Offline.htm and working around the "IE Friendly Errors" feature ' href="http://weblogs.asp.net/scottgu/archive/2006/04/09/App_5F00_Offline.htm-and-working-around-the-_2200_IE-Friendly-Errors_2200_-feature.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2006/04/09/App_5F00_Offline.htm-and-working-around-the-_2200_IE-Friendly-Errors_2200_-feature.aspx"&gt;App_Offline.htm and working around the "IE Friendly Errors" feature &lt;/A&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Finally, it would be great to have a solution to be deployed in order to be able to activate a feature in your sharepoint farm and copy that file in your web applications. isn't it?&lt;/P&gt;
&lt;P mce_keep="true"&gt;Bye!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9457640" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/app_5F00_offline/default.aspx">app_offline</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/redundancy/default.aspx">redundancy</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/high+availability/default.aspx">high availability</category></item><item><title>How to: Programmatically Manage the Crawl of a Content Source in PowerShell </title><link>http://blogs.msdn.com/carloshm/archive/2009/03/31/how-to-programmatically-manage-the-crawl-of-a-content-source-in-powershell.aspx</link><pubDate>Tue, 31 Mar 2009 19:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9523361</guid><dc:creator>carloshm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9523361.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9523361</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;If you have read my &lt;A title="How to: Programmatically Export the Crawl History to a CSV File in PowerShell " href="http://blogs.msdn.com/carloshm/archive/2009/03/31/how-to-programmatically-export-the-crawl-history-to-a-csv-file-in-powershell.aspx" mce_href="http://blogs.msdn.com/carloshm/archive/2009/03/31/how-to-programmatically-export-the-crawl-history-to-a-csv-file-in-powershell.aspx"&gt;previous post&lt;/A&gt; you may think, why did you stop there? Well, that is what I thought too&amp;nbsp;:), and started with &lt;A title="How to: Programmatically Manage the Crawl of a Content Source" href="http://msdn.microsoft.com/en-us/library/aa679491.aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa679491.aspx"&gt;this article&lt;/A&gt; from MSDN.&lt;/P&gt;
&lt;P&gt;We wanted to start managing the crawling of our content source more programmatically, as we have seen that running several at the same time affects the overall process.&lt;/P&gt;
&lt;P&gt;So running these powershell scripts as scheduled task and monitoring the status can improve in crawling.&lt;/P&gt;
&lt;P&gt;You may improve them reusing the context and content sources and&amp;nbsp;doing some &lt;EM&gt;pipeline&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;to be included in the overall file:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;## SharePoint Reference&lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") &lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration") &lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search.Administration") &lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search") &lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server") &lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;To start an incremental crawl of the content source&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;function global:StartIncremental-Crawl($url, $csname)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;trap [Exception] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.GetType().FullName); &lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.Message); &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s = new-Object Microsoft.SharePoint.SPSite($url);&lt;BR&gt;&amp;nbsp;$c = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($s);&lt;BR&gt;&amp;nbsp;$sc = new-Object Microsoft.Office.Server.Search.Administration.Content($c);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs = $sc.ContentSources[$csname];&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs.StartIncrementalCrawl();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s.Dispose();&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;StartIncremental-Crawl -url &lt;A href="http://your_site_url/"&gt;http://your_site_url&lt;/A&gt; -csname "your content source name"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;To start a full crawl of the content source&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;function global:StartFull-Crawl($url, $csname)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;trap [Exception] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.GetType().FullName); &lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.Message); &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s = new-Object Microsoft.SharePoint.SPSite($url);&lt;BR&gt;&amp;nbsp;$c = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($s);&lt;BR&gt;&amp;nbsp;$sc = new-Object Microsoft.Office.Server.Search.Administration.Content($c);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs = $sc.ContentSources[$csname];&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs.StartFullCrawl();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s.Dispose();&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;StartFull-Crawl -url &lt;A href="http://your_site_url/"&gt;http://your_site_url&lt;/A&gt; -csname "your content source name"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;To pause a crawl in process&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;function global:Pause-Crawl($url, $csname)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;trap [Exception] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.GetType().FullName); &lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.Message); &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s = new-Object Microsoft.SharePoint.SPSite($url);&lt;BR&gt;&amp;nbsp;$c = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($s);&lt;BR&gt;&amp;nbsp;$sc = new-Object Microsoft.Office.Server.Search.Administration.Content($c);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs = $sc.ContentSources[$csname];&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs.PauseCrawl();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s.Dispose();&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Pause-Crawl -url &lt;A href="http://your_site_url/"&gt;http://your_site_url&lt;/A&gt; -csname "your content source name"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;To resume a paused crawl&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;function global:Resume-Crawl($url, $csname)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;trap [Exception] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.GetType().FullName); &lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.Message); &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s = new-Object Microsoft.SharePoint.SPSite($url);&lt;BR&gt;&amp;nbsp;$c = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($s);&lt;BR&gt;&amp;nbsp;$sc = new-Object Microsoft.Office.Server.Search.Administration.Content($c);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs = $sc.ContentSources[$csname];&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs.ResumeCrawl();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s.Dispose();&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Resume-Crawl -url &lt;A href="http://your_site_url/"&gt;http://your_site_url&lt;/A&gt; -csname "your content source name"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;To stop a crawl of the content source&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;function global:Stop-Crawl($url, $csname)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;trap [Exception] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.GetType().FullName); &lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.Message); &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s = new-Object Microsoft.SharePoint.SPSite($url);&lt;BR&gt;&amp;nbsp;$c = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($s);&lt;BR&gt;&amp;nbsp;$sc = new-Object Microsoft.Office.Server.Search.Administration.Content($c);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs = $sc.ContentSources[$csname];&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$cs.StopCrawl();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s.Dispose();&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Stop-Crawl -url &lt;A href="http://your_site_url/"&gt;http://your_site_url&lt;/A&gt; -csname "your content source name"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;To check the crawl status values for a content source&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;function global:Get-CrawlStatus($url)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;trap [Exception] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.GetType().FullName); &lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.Message); &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s = new-Object Microsoft.SharePoint.SPSite($url);&lt;BR&gt;&amp;nbsp;$c = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($s);&lt;BR&gt;&amp;nbsp;$sc = new-Object Microsoft.Office.Server.Search.Administration.Content($c);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Write-Output $sc.ContentSources;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s.Dispose();&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Get-CrawlStatus -url &lt;A href="http://your_site_url/"&gt;http://your_site_url&lt;/A&gt; | Format-Table -property CrawlStatus, CrawlStarted, CrawlCompleted&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9523361" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Codeplex/default.aspx">Codeplex</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Search/default.aspx">Search</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/HowTo/default.aspx">HowTo</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>How to: Programmatically Export the Crawl History to a CSV File in PowerShell</title><link>http://blogs.msdn.com/carloshm/archive/2009/03/31/how-to-programmatically-export-the-crawl-history-to-a-csv-file-in-powershell.aspx</link><pubDate>Tue, 31 Mar 2009 18:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9523116</guid><dc:creator>carloshm</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9523116.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9523116</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;When I came across the article at MSDN &lt;A title="Crawl History to a CSV" href="http://msdn.microsoft.com/en-us/library/cc789570.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc789570.aspx"&gt;How to: Programmatically Export the Crawl History to a CSV File&lt;/A&gt;&amp;nbsp;I thought I would never create such a tool just for that specific feature, as you end up with additional requirements in order to create an admin tool.&lt;/P&gt;
&lt;P&gt;But today I needed to get data from crawl history, and I didn't want to get them from SQL (remember it is not supported ;)&lt;A title=comment01_carloshm name=comment01_carloshm&gt;&lt;/A&gt;), so I started to write down a simple powershell script to do it. And then I realized that for this atomic actions, indeed it is a great options!: you give admin people multiple commands that they can use/combine to monitor/get information about the environment (and yes many, many things more)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;## SharePoint Reference&lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") &lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration") &lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search.Administration") &lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search") &lt;BR&gt;[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server") &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;function global:Get-CrawlHistory($url)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;trap [Exception] {&lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.GetType().FullName); &lt;BR&gt;&amp;nbsp;&amp;nbsp;write-error $("ERROR: " + $_.Exception.Message); &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s = new-Object Microsoft.SharePoint.SPSite($url);&lt;BR&gt;&amp;nbsp;$c = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($s);&lt;BR&gt;&amp;nbsp;$h = new-Object Microsoft.Office.Server.Search.Administration.CrawlHistory($c);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Write-OutPut $h.GetCrawlHistory();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;$s.Dispose();&lt;BR&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then you can just execute: Get-CrawlHistory -url &lt;A href="http://your_site_url/"&gt;http://your_site_url/&lt;/A&gt; | &lt;A title=Export-Csv href="https://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/export-csv.mspx" mce_href="https://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/export-csv.mspx"&gt;Export-Csv&lt;/A&gt; your_path_and_file_name&lt;/P&gt;
&lt;P&gt;Then you can import to excel and make some charts.&lt;/P&gt;
&lt;P&gt;In order to filter the information some useful columns should be denormalized: CrawlType, ContentSourceID, Status.&lt;/P&gt;
&lt;P&gt;Cheers!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9523116" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Codeplex/default.aspx">Codeplex</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Search/default.aspx">Search</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/HowTo/default.aspx">HowTo</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Powershell/default.aspx">Powershell</category></item><item><title>Use jQuery to make FrontPage requests</title><link>http://blogs.msdn.com/carloshm/archive/2009/01/22/use-jquery-to-make-frontpage-rpc-request.aspx</link><pubDate>Thu, 22 Jan 2009 19:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9369338</guid><dc:creator>carloshm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9369338.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9369338</wfw:commentRss><description>&lt;P mce_keep="true"&gt;Hi,&lt;/P&gt;
&lt;P mce_keep="true"&gt;It is interesting to see JQuery growing in the SharePoint space. For sure client APIs will enrich the ecosystem of SharePoint applications.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Some time ago, we needed a way to get some information we were storing in the property bag of our SPWebs. As the process to store the values were automated and the tests done programmatically; we really didn't care about any tool to manually check its values.&lt;/P&gt;
&lt;P mce_keep="true"&gt;But, the day arrived and we needed to review them in&amp;nbsp;preproduction environment. So how will you do it? well there are several ways to do it:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Create a console/web&amp;nbsp;application and implement it through the &lt;A title="SPWeb.Properties Property (Microsoft.SharePoint)" href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.properties.aspx" mce_href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.properties.aspx"&gt;OM&lt;/A&gt;.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Open SharePoint Designer and read &lt;A title="Viewing Property Bag Values with SharePoint Designer " href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/06/24/viewing-property-bag-values-with-sharepoint-designer.aspx" mce_href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/06/24/viewing-property-bag-values-with-sharepoint-designer.aspx"&gt;them&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Install &lt;A title="SharePoint Property Bag Settings " href="http://www.codeplex.com/pbs" mce_href="http://www.codeplex.com/pbs"&gt;third&lt;/A&gt; &lt;A title=PropertyBagFeature href="http://www.codeplex.com/SPWCMUtils/Release/ProjectReleases.aspx?ReleaseId=5040" mce_href="http://www.codeplex.com/SPWCMUtils/Release/ProjectReleases.aspx?ReleaseId=5040"&gt;party&lt;/A&gt; solution to do the job&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;They are all good candidates, but we couldn't neither install nor run a SPD instance or custom code; so I decided to run a web page :)&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here it is when JQuery comes to the rescue:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Download JQuery library from jquery.com and upload it to a (test) document library&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Create a webpartpage in the same document library&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Drop a content web editor webpart on any webpartzone&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Update the contents of html with something similar to the following snippet, where the path starts from the web you want information from:&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;DIV style="COLOR: blue" mce_keep="true"&gt;&lt;CODE&gt;
&lt;P mce_keep="true"&gt;&amp;lt;script type="text/javascript" src="jquery-1.3.1.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&amp;lt;script&amp;gt;&lt;BR&gt;$.ajaxSetup({&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; beforeSend: function(xhr) {xhr.setRequestHeader("Accept", "auth/sicily");xhr.setRequestHeader("X-Vermeer-Content-Type", "application/x-www-form-urlencoded");}&lt;BR&gt;}); 
&lt;P mce_keep="true"&gt;$.post("/site/_vti_bin/_vti_aut/author.dll", { method: "open service"},&lt;BR&gt;&amp;nbsp; function(data){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $("#vermeer_content").append(data);&lt;BR&gt;&amp;nbsp; });&lt;BR&gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&amp;lt;div id="vermeer_content"&amp;gt;&lt;BR&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;you will get something like this:&lt;/P&gt;
&lt;P&gt;&lt;A title="JQuery Response FRPC" href="http://blogs.msdn.com/photos/carloshm/picture9432735.aspx" mce_href="http://blogs.msdn.com/photos/carloshm/picture9432735.aspx"&gt;&lt;IMG style="WIDTH: 352px; HEIGHT: 425px" title="JQuery Response FRPC" border=0 alt="JQuery Response FRPC" align=middle src="http://blogs.msdn.com/photos/carloshm/images/9432735/352x425.aspx" width=352 height=425 mce_src="http://blogs.msdn.com/photos/carloshm/images/9432735/352x425.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;the sample just sends a request with a method that&amp;nbsp;provides meta-information for a Web site, in this case to&amp;nbsp;our client application.&lt;/P&gt;
&lt;DIV id=syntaxSection class=section&gt;
&lt;DIV id=ctl00_rs1_mainContentContainer_ctl01_other&gt;
&lt;DIV class=CodeSnippetTitleBar&gt;
&lt;DIV class=CodeDisplayLanguage&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr&gt;&lt;PRE style="WORD-WRAP: break-word; WORD-BREAK: break-all" id=ctl00_rs1_mainContentContainer_ctl01other class=libCScode space="preserve"&gt;method=open service:server_extension_version&amp;amp;service_name=/[&amp;amp;effective_protocol_version=version]&lt;/PRE&gt;&lt;PRE style="WORD-WRAP: break-word; WORD-BREAK: break-all" class=libCScode space="preserve"&gt;References:&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;A title="open service Method" href="http://msdn.microsoft.com/en-us/library/ms446353.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms446353.aspx"&gt;open service Method&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title="[MS-FPSE]: FrontPage Server Extensions Remote Protocol Specification" href="http://msdn.microsoft.com/en-us/library/cc231828(PROT.13).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc231828(PROT.13).aspx"&gt;[MS-FPSE]: FrontPage Server Extensions Remote Protocol Specification&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9369338" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/JQuery/default.aspx">JQuery</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/FrontPage+RP/default.aspx">FrontPage RP</category></item><item><title>Inside SharePoint - Customize the Mobile Home Page</title><link>http://blogs.msdn.com/carloshm/archive/2008/12/30/inside-sharepoint-customize-the-mobile-home-page.aspx</link><pubDate>Tue, 30 Dec 2008 02:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9256348</guid><dc:creator>carloshm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9256348.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9256348</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P mce_keep="true"&gt;These days I've been reviewing different ideas I wrote down in the last months. One of those was about how to extend mobile sharepoint features. So I started re-reading the SDK, landing at &lt;A title="How to: Customize the Mobile Home Page through Redirection" href="http://blogs.msdn.com/controlpanel/blogs/How%20to:%20Customize%20the%20Mobile%20Home%20Page%20through%20Redirection" mce_href="http://blogs.msdn.com/controlpanel/blogs/How to: Customize the Mobile Home Page through Redirection "&gt;How to: Customize the Mobile Home Page through Redirection&lt;/A&gt;&amp;nbsp;article. It certainly&amp;nbsp;describes in depth the mechanism of the redirection and indeed it is a great extensibility option, however I found that there are some scenarios where it would need to implement a different approach. Some of those could be:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Use a different name for the redirection&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Differentiate the redirection process from the site definition&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Customize different home pages for sites with the same site definition&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Customize OOB sites, avoiding duplicates names&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;OOB Feature Redirection&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;From the article we can see how&amp;nbsp;this&amp;nbsp;(bi-level) redirection mechanism works:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The mobile home page has a short URL with an "m" folder appended to the end of the regular URL (for example, &lt;A href="http://server/sites/Site/m/"&gt;http://Server/sites/Site/m/&lt;/A&gt;) that redirects the request to the mobile &lt;CODE&gt;default.aspx&lt;/CODE&gt; page.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The default.aspx page then redirects the user to the actual home page, according to the current site definition type&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;The first step uses the &lt;SPAN class=tx&gt;&lt;STRONG&gt;Mobility Shortcut URL &lt;/STRONG&gt;feature&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;EM&gt;(FeatureID: &lt;/EM&gt;&lt;SPAN class=tx&gt;&lt;EM&gt;f41cc668-37e5-4743-b4a8-74d1db3fd8a4 - Name:&lt;/EM&gt;&lt;SPAN class=tx&gt;&lt;EM&gt;MobilityRedirect Scope:Web)&lt;/EM&gt;&lt;STRONG&gt; &lt;/STRONG&gt;creating a &lt;A title="Module - CAML" href="http://msdn.microsoft.com/en-us/library/ms460356.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms460356.aspx"&gt;Module&lt;/A&gt; that specifies the virtual path of the folder for the redirection. &lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P style="COLOR: blue" mce_keep="true"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Module Name="mobile" Url="m" Path=""&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;File Url="default.aspx" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Module&amp;gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;This will create a folder at the root level of the Site (from a virtual point of view). &lt;/P&gt;
&lt;P mce_keep="true"&gt;In order to test the OOB funcionality, you will need to:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Activate MobilityRedirect feature (it is not activated by default) through the command line as it is hidden.&lt;/DIV&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;stsadm -o activatefeature -name MobilityRedirect -url &lt;A href="http://server/sites/Site"&gt;http://Server/sites/Site&lt;/A&gt; &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;To test if it is activated browse to &lt;A href="http://server/sites/Site/m/"&gt;http://Server/sites/Site/m/&lt;/A&gt; &lt;/DIV&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;If it is working it will redirect yout to a page that looks like figure 1, otherwise it will give you a 404 error&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/OL&gt;&lt;/OL&gt;
&lt;P&gt;figure 1&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 371px; HEIGHT: 352px" title="Mobile View Sample from Publishing SharePoint Portal" alt="Mobile View Sample from Publishing SharePoint Portal" src="http://blogs.msdn.com/photos/carloshm/images/9256362/original.aspx" width=371 height=352 mce_src="http://blogs.msdn.com/photos/carloshm/images/9256362/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Custom Shortcut Feature Redirection&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;So to solve the scenarios mentioned, the new approach will use a feature to redirect to the final home page, instead of an intermediate&amp;nbsp;redirection page. The feature itself would use a custom control to read the actual final page&amp;nbsp;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;As the OOB feature uses /m/ I would not recommend the same name, as there will be collisions in activating and deactivating processes. Indeed you may find that after deactivating the feature it is still working. This would need to be resolved as part of a complete deactivation in the deactivation event.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So in order to accomplish our solution, we would need to create a feature with a custom shortcut url and a custom file redirect.This scenario would be possible following these steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Create a folder at %PROGRAMFILES%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES called SharePoint.Search.Extensions.MobileRedirect or any name you choose&lt;/DIV&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Create a file inside this folder called &lt;STRONG&gt;feature.xml&lt;/STRONG&gt; with the following content:&lt;/DIV&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV style="COLOR: blue" mce_keep="true"&gt;&lt;CODE&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;BR&gt;&amp;lt;Feature Id="&lt;STRONG&gt;[GUID]&lt;/STRONG&gt;" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Title="Mobile Redirector"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description="Mobile Redirector" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version="1.0.0.0"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Scope="Web"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hidden="FALSE"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefaultResourceFile="core"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;A href="http://schemas.microsoft.com/sharepoint/"&gt;http://schemas.microsoft.com/sharepoint/&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ElementManifests&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ElementManifest Location="elements.xml" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ElementManifests&amp;gt;&lt;BR&gt;&amp;lt;/Feature&amp;gt;&lt;/CODE&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Change [GUID] with a valid GUID. Something similar to 00000000-0000-0000-0000-000000000000. I would recommend you the &lt;A title=guidgen href="http://msdn.microsoft.com/en-us/library/ms241442.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms241442.aspx"&gt;guidgen&lt;/A&gt; tool from Visual Studio&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Create a file inside this folder called elements.xml with the folllowing content:&lt;/DIV&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV style="COLOR: blue" mce_keep="true"&gt;&lt;CODE&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;BR&gt;&amp;lt;Elements xmlns="&lt;A href="http://schemas.microsoft.com/sharepoint/"&gt;http://schemas.microsoft.com/sharepoint/&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Module Name="mobile" Url="mob" Path=""&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;File Url="default.aspx" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Module&amp;gt;&lt;BR&gt;&amp;lt;/Elements&amp;gt;&lt;/CODE&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Create a file inside this folder called default.aspx with the following content:&lt;/DIV&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV style="COLOR: blue" mce_keep="true"&gt;&lt;CODE&gt;&amp;lt;%@ Page Language="C#"&amp;nbsp;&amp;nbsp; EnableViewState="false" inherits="Microsoft.SharePoint.MobileControls.SPMobilePage, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%&amp;gt; &amp;lt;%@ Assembly Name="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&amp;gt; &amp;lt;%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %&amp;gt; &amp;lt;%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&amp;gt; &amp;lt;%@ Register TagPrefix="SPMobile" Namespace="Microsoft.SharePoint.MobileControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&amp;gt;&lt;BR&gt;&amp;lt;SPMobile:SPMobileForm RunAt="Server"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;SPMobile:SPMobileUrlRedirection Runat="Server" PageFileName="&lt;STRONG&gt;[DestinationPage]&lt;/STRONG&gt;" /&amp;gt;&lt;BR&gt;&amp;lt;/SPMobile:SPMobileForm&amp;gt;&lt;/CODE&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Change [DestinationPage] with your desired destination page&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Create a file at %PROGRAMFILES%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\MOBILE with the [DestinationPage] name.Something similar to MyNewHomePage.aspx&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Install the feature running: stsadm -o installfeature -name SharePoint.Search.Extensions.MobileRedirect&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Activate through the command line or through the UI&lt;/DIV&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;stsadm -o activatefeature -name SharePoint.Search.Extensions.MobileRedirect -url &lt;A href="http://server/sites/Site"&gt;http://Server/sites/Site&lt;/A&gt; &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Browse to &lt;A href="http://server/sites/Site/_layouts/ManageFeatures.aspx"&gt;http://Server/sites/Site/_layouts/ManageFeatures.aspx&lt;/A&gt; and click Activate for our feature&amp;nbsp;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Browse to &lt;A href="http://server/sites/Site/mob/"&gt;http://Server/sites/Site/mob/&lt;/A&gt; and check the new HomePage&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;This can be extended with some functionality/Improvements:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Include a custom control and admin page to change the &lt;STRONG&gt;[DestinationPage]&lt;/STRONG&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Add localization and custom images to the feature&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Change the redirection mechanism to choose between 301 or 302 (permanent or temporary)&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Improve feature deactivation&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Of course, create a solution to deploy it&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;Finally, you can have different shortcuts changing the Url attribute of the Module node in the elements.xml file:&lt;/P&gt;
&lt;P style="COLOR: blue" mce_keep="true"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Module Name="mobile" Url="i" Path=""&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;File Url="default.aspx" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Module&amp;gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;For example: Create a new shortcut called /i/ to redirect to a IPhone version, for a customized collaborative scenario.&lt;/P&gt;
&lt;P mce_keep="true"&gt;However, in the case of a publishing site you should implement &lt;A title=Variations href="http://msdn.microsoft.com/en-us/library/ms493894.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms493894.aspx"&gt;variations&lt;/A&gt;&amp;nbsp;to target different devices.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Bye!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9256348" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Mobile/default.aspx">Mobile</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/HowTo/default.aspx">HowTo</category></item><item><title>Information Design for MOSS</title><link>http://blogs.msdn.com/carloshm/archive/2008/10/23/information-design-for-moss.aspx</link><pubDate>Thu, 23 Oct 2008 05:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9012242</guid><dc:creator>carloshm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9012242.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9012242</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I was reading today Stephen&amp;nbsp;P. Anderson's &lt;A title="Information Design" href="http://apperceptive.com/infodesign.pdf" mce_href="http://apperceptive.com/infodesign.pdf"&gt;book&lt;/A&gt;&amp;nbsp;and then I realized that Information Architecture is to &lt;A title=Findability href="http://admincompanion.mindsharp.com/BillBlog/Lists/Posts/Post.aspx?ID=110" mce_href="http://admincompanion.mindsharp.com/BillBlog/Lists/Posts/Post.aspx?ID=110"&gt;Findability&lt;/A&gt;&amp;nbsp;what Information Design is to &lt;EM&gt;Understandability.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;We focus on the type of information we present to the user, in order to be completely relevant, but I do&amp;nbsp;not really see focus on innovative/automatic ways to "communicate ideas, illustrate information or express relationships".&lt;/P&gt;
&lt;P&gt;Microsoft, Yahoo or Google, as many start-ups work to improve this areas. There were &lt;A title="Yahoo shortcuts" href="http://tools.search.yahoo.com/newsearch/resources" mce_href="http://tools.search.yahoo.com/newsearch/resources"&gt;shortcuts&lt;/A&gt;, &lt;A title="timeline, map" href="http://www.google.com/experimental/" mce_href="http://www.google.com/experimental/"&gt;alternate views&lt;/A&gt;, or &lt;A title=photosynth href="http://photosynth.net/Default.aspx" mce_href="http://photosynth.net/Default.aspx"&gt;browsing experiences&lt;/A&gt;&amp;nbsp;and many more; but I would like to see Search Land to include this concept in depth.&lt;/P&gt;
&lt;P&gt;Imagine a future search product&amp;nbsp;that based on the user question shows, depending on the type of information, knowledge of the user, and relevant information; different type of representation in order to maximize the interaction with him/her.&lt;/P&gt;
&lt;P&gt;Would it be possible to build a PoC based on (MOSS/FAST) to manage that?&lt;/P&gt;
&lt;P&gt;How would it look like?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Federation webparts that shows information in a &lt;A title="Search Community Toolkit" href="http://blogs.msdn.com/enterprisesearch/archive/2008/04/01/add-virtual-earth-interactive-maps-to-your-search-server-site.aspx" mce_href="http://blogs.msdn.com/enterprisesearch/archive/2008/04/01/add-virtual-earth-interactive-maps-to-your-search-server-site.aspx"&gt;map&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;RSS Media exposed on video queries.&lt;/LI&gt;
&lt;LI&gt;DeepZoom Image with &lt;A title=NewsMap href="http://www.marumushi.com/apps/newsmap/" mce_href="http://www.marumushi.com/apps/newsmap/"&gt;size data blocks resizing&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A title=BurstLabs href="http://www.burstlabs.com/" mce_href="http://www.burstlabs.com/"&gt;Audio &lt;/A&gt;clustering&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Cheers!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9012242" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/Research/default.aspx">Research</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Search/default.aspx">Search</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category></item><item><title>URL Rewriting in MOSS 2007</title><link>http://blogs.msdn.com/carloshm/archive/2008/10/16/url-rewriting-in-moss-2007.aspx</link><pubDate>Thu, 16 Oct 2008 01:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9001165</guid><dc:creator>carloshm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9001165.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9001165</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;There are two things you hear in your first deployment of&amp;nbsp;a Publishing Site:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title="XHTML Compliant" href="http://blogs.msdn.com/carloshm/archive/2008/10/09/moss-xhtml-compliant.aspx" mce_href="http://blogs.msdn.com/carloshm/archive/2008/10/09/moss-xhtml-compliant.aspx"&gt;XHTML validation&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Full URL customization&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;Although there were some commercial solutions (I remember &lt;A title=RAPID href="http://www.ascentium.com/" mce_href="http://www.ascentium.com/"&gt;RAPID&lt;/A&gt; having developed an HTTPModule, buti t seems they had deprecated it), I saw public information in order to implement or configure this behaviour.&lt;/P&gt;
&lt;P&gt;Although it is not trivial, as&amp;nbsp;the product&amp;nbsp;is huge, and testing may&amp;nbsp;have no end; it seems feasible.&lt;/P&gt;
&lt;P&gt;Searching for URL Rewriting components, you may find &lt;A title=URLRewriting href="http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx"&gt;ScottGu post&lt;/A&gt; talking about:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A target=_blank href="http://urlrewriter.net/"&gt;UrlRewriter.net&lt;/A&gt; 
&lt;LI&gt;&lt;A target=_blank href="http://www.urlrewriting.net/en/Default.aspx"&gt;UrlRewriting.net&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;And for those 2 solutions, you may find feedback after being used in MOSS:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://prodactor.blogspot.com/2007/11/sharepoint-moss-url-rewriting.html"&gt;http://prodactor.blogspot.com/2007/11/sharepoint-moss-url-rewriting.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://dgondotnet.blogspot.com/2008/04/moss-url-rewriting-and.html"&gt;http://dgondotnet.blogspot.com/2008/04/moss-url-rewriting-and.html&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The nice finding of Daniel Gonzalez was the way some webparts handle the URL (reusing at the client document.location as a valid url)&amp;nbsp;&lt;/P&gt;
&lt;P&gt;On the other hand, you can review the approach of Waldek Mastykarz in his &lt;A title="URL Rewriting" href="http://blog.mastykarz.nl/semantic-urls-in-moss-2007-imtech-sharepoint-semantic-urls-free-feature/" mce_href="http://blog.mastykarz.nl/semantic-urls-in-moss-2007-imtech-sharepoint-semantic-urls-free-feature/"&gt;Semantic URL&lt;/A&gt; solution or others &lt;A title=RewritePath href="http://scaredpanda.com/2008/08/url-rewriting-with-sharepoint-moss-2007/" mce_href="http://scaredpanda.com/2008/08/url-rewriting-with-sharepoint-moss-2007/"&gt;custom developments&lt;/A&gt;&amp;nbsp;as for example the work done at the &lt;A title="URL Rewriter" href="http://www.codeplex.com/CKS/SourceControl/DirectoryView.aspx?SourcePath=%24%2fCKS%2fEBE%2fCKS.EBE%2fCKS.Blog&amp;amp;changeSetId=18180" mce_href="http://www.codeplex.com/CKS/SourceControl/DirectoryView.aspx?SourcePath=%24%2fCKS%2fEBE%2fCKS.EBE%2fCKS.Blog&amp;amp;changeSetId=18180"&gt;CKS project&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So my personal advice would be to be careful to talk about a full solution for URL Rewriting, and instead talk about a specific solution in a managed scenario: "Anonymous publishing site&amp;nbsp;with managed webparts"&lt;/P&gt;
&lt;P&gt;Namaste!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9001165" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/URL+Rewriting/default.aspx">URL Rewriting</category></item><item><title>The URL of a subsite may appear in uppercase even though you used lowercase when you created the subsite in SharePoint Server 2007</title><link>http://blogs.msdn.com/carloshm/archive/2008/10/15/the-url-of-a-subsite-may-appear-in-uppercase-even-though-you-used-lowercase-when-you-created-the-subsite-in-sharepoint-server-2007.aspx</link><pubDate>Wed, 15 Oct 2008 13:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9000523</guid><dc:creator>carloshm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/9000523.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=9000523</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;You may find this problem being arised by your customers. You can find the description in the KB: &lt;A href="http://support.microsoft.com/kb/953457/en-us"&gt;http://support.microsoft.com/kb/953457/en-us&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;As you can read in the BCL recommendations at &lt;A href="http://blogs.msdn.com/bclteam/archive/2005/06/01/424012.aspx"&gt;http://blogs.msdn.com/bclteam/archive/2005/06/01/424012.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;DO:&lt;/STRONG&gt; Use &lt;B&gt;ToUpperInvariant&lt;/B&gt; rather than &lt;B&gt;ToLowerInvariant&lt;/B&gt; when normalizing strings for comparison. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The problem here is that the key is used as the value too, so navigation control shows uppercase title sites.&lt;/P&gt;
&lt;P&gt;Bye!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9000523" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Performance/default.aspx">Performance</category></item><item><title>do not grant Local Activation permission for the COM Server application</title><link>http://blogs.msdn.com/carloshm/archive/2008/10/14/do-not-grant-local-activation-permission-for-the-com-server-application.aspx</link><pubDate>Tue, 14 Oct 2008 16:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8999679</guid><dc:creator>carloshm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/8999679.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=8999679</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I though that it would be useful to include this as this has appeared many times:&lt;/P&gt;
&lt;P&gt;If you receive this&amp;nbsp;message:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID &lt;BR&gt;{61738644-F196-11D0-9953-00C04FD919C1}&lt;BR&gt;&amp;nbsp;to the user XXXXXXXXXXXXXX.&amp;nbsp; This security permission can be modified using the Component Services administrative tool.&lt;/P&gt;
&lt;P&gt;For more information, see Help and Support Center at &lt;A href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;When you search for the GUID, you will find that it relates to IIS WAMREG admin Service, so you should open Component Services console (comexp.msc / &lt;SPAN class=userInput&gt;dcomcnfg&lt;/SPAN&gt;), and browse to:&lt;/P&gt;
&lt;P&gt;Component Services-&amp;gt;Computers-&amp;gt;My Computer-&amp;gt;DCOM Config&lt;/P&gt;
&lt;P&gt;And review Security configuration for your account at Launch and Activate.&lt;/P&gt;
&lt;P&gt;You can check the process at &lt;A href="http://support.microsoft.com/kb/920783/en-us"&gt;http://support.microsoft.com/kb/920783/en-us&lt;/A&gt;&amp;nbsp;too&lt;/P&gt;
&lt;P&gt;The point here is that you may find the same error with different GUIDs, as for example oSearch DCOM Configuration, so you should do the same thing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Cheers!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8999679" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category></item><item><title>MOSS XHTML Compliant </title><link>http://blogs.msdn.com/carloshm/archive/2008/10/09/moss-xhtml-compliant.aspx</link><pubDate>Thu, 09 Oct 2008 17:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8992895</guid><dc:creator>carloshm</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/8992895.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=8992895</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;There is an increased number of projects focusing on get MOSS being XHTML compliant (well sure it is one of the most requested features for Office14).&lt;/P&gt;
&lt;P&gt;So I wanted to start a list with all this &lt;EM&gt;solutions:&lt;/EM&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Get SharePoint to Validate, &lt;A href="http://www.codeplex.com/GSPTV" mce_href="http://www.codeplex.com/GSPTV"&gt;http://www.codeplex.com/GSPTV&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN id=ctl00_ctl00_MasterContent_TabContentPanel_Content_wikiSourceLabel&gt;To get SharePoint 2007 to validate according to W3C XHTML 1.0 Strict.&lt;BR&gt;Google-optimize SharePoint to gain the best search ranking.&lt;BR&gt;Enhanced accessibility.&lt;BR&gt;Makes it possible for SharePoint to follow the American regulation 508 and the Danish regulation based on WCAG AA.&lt;BR&gt;Better control over the HTML output of SharePoint, to ease the frontend development process. &lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;Accesibility Kit for SharePoint, &lt;A href="http://aks.hisoftware.com/index.html" mce_href="http://aks.hisoftware.com/index.html"&gt;http://aks.hisoftware.com/index.html&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;The Accessibility Kit for SharePoint® (AKS) solution will help get you started on the road to Web accessibility with an accessible platform and framework from which to launch your portal or intranet site.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;U&gt;&lt;STRONG&gt;Guide&amp;nbsp;to create XHTML sites&lt;/STRONG&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;ARF from SPWorks.&amp;nbsp;A&amp;nbsp;SharePoint Feature and a methodology to create&amp;nbsp;Accessible and XHTML compliant sites &lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.spworks.co.uk/arf/what.aspx"&gt;http://www.spworks.co.uk/arf/what.aspx&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Zac Smith wrote a "quick" guide in order to be able to make it: &lt;A href="http://www.trinkit.co.nz/blog/archive/2007/04/19/guide-to-making-sharepoint-xhtml-compliant.aspx"&gt;http://www.trinkit.co.nz/blog/archive/2007/04/19/guide-to-making-sharepoint-xhtml-compliant.aspx&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;[Update: 15 Mar 2009]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I wanted to&amp;nbsp;include the reference that it was published the AKS 2.0 version&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Ciao!&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8992895" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/XHTML/default.aspx">XHTML</category></item><item><title>MOSS Performance Counters and thresholds</title><link>http://blogs.msdn.com/carloshm/archive/2008/10/09/moss-performance-counters-and-thresholds.aspx</link><pubDate>Thu, 09 Oct 2008 17:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8992873</guid><dc:creator>carloshm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/8992873.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=8992873</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Imagine you have reached &lt;A title="Using Performance Monitor (perfmon.exe) to Monitor SharePoint Server 2007" href="http://www.mindsharpblogs.com/ben/archive/2007/02/14/1569.aspx" mce_href="http://www.mindsharpblogs.com/ben/archive/2007/02/14/1569.aspx"&gt;Ben Curry's article&lt;/A&gt; when searching for &lt;A title="SharePoint Server 2007 Performance Counters" href="http://mindsharpblogs.com/Ben/archive/2008/05/07/4806.aspx" mce_href="http://mindsharpblogs.com/Ben/archive/2008/05/07/4806.aspx"&gt;performance counters&lt;/A&gt;, but you don't know which thresholds to monitor!&lt;/P&gt;
&lt;P&gt;Some time ago I found &lt;A title="Performance Analysis of Logs" href="http://www.codeplex.com/PAL" mce_href="http://www.codeplex.com/PAL"&gt;PAL Tool&lt;/A&gt;, and I checked a good thing: it has MOSS2007 thresholds.&lt;/P&gt;
&lt;P&gt;So this should be a good starting point.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 867px; HEIGHT: 688px" title=PAL alt=PAL src="http://blogs.msdn.com/carloshm/attachment/8992873.ashx" width=867 height=688 mce_src="http://blogs.msdn.com/carloshm/attachment/8992873.ashx"&gt;&lt;/P&gt;
&lt;P&gt;Cheers!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8992873" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/carloshm/attachment/8992873.ashx" length="84244" type="image/jpeg" /><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/PAL/default.aspx">PAL</category></item><item><title>InfoPath and Webs.asmx Web Service</title><link>http://blogs.msdn.com/carloshm/archive/2008/10/02/infopath-and-webs-asmx-web-service.aspx</link><pubDate>Thu, 02 Oct 2008 02:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8972439</guid><dc:creator>carloshm</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/carloshm/comments/8972439.aspx</comments><wfw:commentRss>http://blogs.msdn.com/carloshm/commentrss.aspx?PostID=8972439</wfw:commentRss><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Did you try to consume data from webs.asmx into InfoPath Forms?&lt;/P&gt;
&lt;P&gt;I did, and found problems, as InfoPath was not able to generate the full schema (or SharePoint did not generate the expected WSDL).&lt;/P&gt;
&lt;P&gt;Although there are some limitations in the Web Services InfoPath support &lt;A href="http://msdn.microsoft.com/en-us/library/bb852081.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb852081.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I manage to change imported schema in order to get subwebs from a site. So feel free to get the attached file if you found the same problem.&lt;/P&gt;
&lt;P&gt;Ciao!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8972439" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/carloshm/attachment/8972439.ashx" length="2116" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/carloshm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/InfoPath/default.aspx">InfoPath</category><category domain="http://blogs.msdn.com/carloshm/archive/tags/MOSS/default.aspx">MOSS</category></item></channel></rss>