<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Adventures in SPWonderland.</title>
    <link>http://blogs.flexnetconsult.co.uk/colinbyrne/</link>
    <description>Taking apart and putting back together</description>
    <language>en-us</language>
    <copyright>Colin Byrne</copyright>
    <lastBuildDate>Sat, 17 Jul 2010 18:30:04 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>webparts@flexnetconsult.co.uk</managingEditor>
    <webMaster>webparts@flexnetconsult.co.uk</webMaster>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=25ce755a-61f2-4d4c-9a45-36a4874de89c</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,25ce755a-61f2-4d4c-9a45-36a4874de89c.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,25ce755a-61f2-4d4c-9a45-36a4874de89c.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=25ce755a-61f2-4d4c-9a45-36a4874de89c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <span lang="EN-GB">
          <p>
            <font size="2">
            </font> 
</p>
          <p>
When using PerformancePoint Designer in SharePoint 2010 and trying to add a new item
say a SQL Server connection you might get the error 'An Unexpected Error Occured.
An error has been logged for the Administrator'
</p>
          <p>
If you check the Event log on your client machine you should find a more detailed
but equally cryptic error.
</p>
          <p>
            <font size="1">An unexpected error occurred. Error 15568.</font>
          </p>
          <p>
            <font size="1">Exception details:</font>
          </p>
          <p>
            <font size="1">Microsoft.SharePoint.SPEndpointAddressNotFoundException: There are
no addresses available for this application.</font>
          </p>
          <p>
            <font size="1">at Microsoft.SharePoint.SPRoundRobinServiceLoadBalancer.BeginOperation()</font>
          </p>
          <p>
            <font size="1">at Microsoft.PerformancePoint.Scorecards.BIMonitoringServiceApplicationProxy.GetBalancerContext()</font>
          </p>
          <p>
            <font size="1">at Microsoft.PerformancePoint.Scorecards.BIMonitoringServiceApplicationProxy.ExecuteOnChannel(CodeBlock
codeBlock)</font>
          </p>
          <p>
            <font size="1">
            </font> 
</p>
          <p>
            <font size="2">First check in Central Administration check you have a PerformancePoint
Services application created.</font>
          </p>
          <p>
My problem was that although the services application was created the service instance
itself was not running. Goto Central Admin - System Settings - Manage Services on
Server and make sure the PerformancePoint service is started or start it youself.
</p>
          <p>
Why you are not given the option in the Services App to do this automatically
is a mystery to me. 
</p>
          <p>
 
</p>
          <p>
 
</p>
          <p>
 
</p>
        </span>
        <img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=25ce755a-61f2-4d4c-9a45-36a4874de89c" />
      </body>
      <title>SPEndpointAddressNotFoundException error in Dashboard Designer</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,25ce755a-61f2-4d4c-9a45-36a4874de89c.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2010/07/17/SPEndpointAddressNotFoundExceptionErrorInDashboardDesigner.aspx</link>
      <pubDate>Sat, 17 Jul 2010 18:30:04 GMT</pubDate>
      <description>&lt;span lang=EN-GB&gt; 
&lt;p&gt;
&lt;font size=2&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
When using PerformancePoint Designer in SharePoint 2010 and trying to add a new item
say a SQL Server connection you might get the error 'An Unexpected Error Occured.
An error has been logged for the Administrator'
&lt;/p&gt;
&lt;p&gt;
If you check the Event log on your client machine you should find a more detailed
but equally cryptic error.
&lt;/p&gt;
&lt;p&gt;
&lt;font size=1&gt;An unexpected error occurred. Error 15568.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=1&gt;Exception details:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=1&gt;Microsoft.SharePoint.SPEndpointAddressNotFoundException: There are no
addresses available for this application.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=1&gt;at Microsoft.SharePoint.SPRoundRobinServiceLoadBalancer.BeginOperation()&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=1&gt;at Microsoft.PerformancePoint.Scorecards.BIMonitoringServiceApplicationProxy.GetBalancerContext()&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=1&gt;at Microsoft.PerformancePoint.Scorecards.BIMonitoringServiceApplicationProxy.ExecuteOnChannel(CodeBlock
codeBlock)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=1&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;First check in Central Administration check you have a PerformancePoint
Services application created.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
My problem was that although the services application was created the service instance
itself was not running. Goto Central Admin - System Settings - Manage Services on
Server and make sure the PerformancePoint service is started or start it youself.
&lt;/p&gt;
&lt;p&gt;
Why you are not given the option in&amp;nbsp;the Services App to do this automatically
is a mystery to me. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/span&gt;&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=25ce755a-61f2-4d4c-9a45-36a4874de89c" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,25ce755a-61f2-4d4c-9a45-36a4874de89c.aspx</comments>
      <category>SharePoint 2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=343879a8-c784-4d93-a1ea-38f68756acbf</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,343879a8-c784-4d93-a1ea-38f68756acbf.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,343879a8-c784-4d93-a1ea-38f68756acbf.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=343879a8-c784-4d93-a1ea-38f68756acbf</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
 
</p>
        <p>
Currently when generating a class with SPMetal from a site that has spaces in it
</p>
        <p>
SPMetal.exe  /web:"http://flxdev2010:19000/PWA/Test Plan" /namespace:ProjectSite
/code:ProjectSite.cs
</p>
        <p>
It will give
</p>
        <p>
          <font color="#ff0000">Error the web at 'http://flxdev2010:19000/PWA/Test Plan' could
not be found</font>
        </p>
        <p>
Oh dear, a schoolboy error.
</p>
        <p>
Now you could use stsadm to dump out the site, delete and reimport, yikes. Or you
can just rename the Url as ServerRelativeUrl is read/write (any outside links
point to the Url will not be fixed up!)
</p>
        <p>
Using a quick console app 
</p>
        <p>
          <br />
            using (<span style="COLOR: #2b91af">SPSite</span> site = <span style="COLOR: blue">new</span> <span style="COLOR: #2b91af">SPSite</span>("<span style="COLOR: #a31515">http://flxdev2010:19000/PWA/Test Plan"</span>))
</p>
        <p>
            using( <span style="COLOR: #2b91af">SPWeb</span> web = site.OpenWeb())
</p>
        <p>
            {<br />
               <span style="COLOR: blue">string</span> s = web.ServerRelativeUrl;<br />
               web.ServerRelativeUrl = <span style="COLOR: #a31515">"/PWA/TestPlan"</span>;<br />
               web.Update();
</p>
        <p>
            }
</p>
        <p>
or that new fangled 4 year old PowerShell thingy
</p>
        <p>
          <span class="content">
            <span style="MARGIN-LEFT: 0px !important" class="block">
              <code class="functions">
                <font color="#996666">Start-SPAssignment</font>
              </code>
              <code class="color1">
                <font color="#996666">-Global</font>
              </code>
            </span>
          </span>
        </p>
        <div class="line alt2">
          <span class="content">
            <span style="MARGIN-LEFT: 0px !important" class="block">
              <code class="variable">
                <font color="#996666">$web</font>
              </code>
              <font color="#996666">
                <code class="plain">= </code>
                <code class="functions">Get-SPWeb</code>
              </font>
              <code class="string">
                <font color="#996666">"</font>
                <a href="http://server/sites/web">
                  <font color="#6699cc">http://flxdev2010:19000/PWA/Test
Plan</font>
                </a>
                <font color="#996666">"</font>
              </code>
            </span>
          </span>
        </div>
        <div class="line alt1">
          <span class="content">
            <span style="MARGIN-LEFT: 0px !important" class="block">
              <font color="#996666">
                <code class="variable">$web</code>
                <code class="plain">.Title
= </code>
                <code class="string">"/PWA/TestPlan"</code>
              </font>
            </span>
          </span>
        </div>
        <div class="line alt2">
          <span class="content">
            <span style="MARGIN-LEFT: 0px !important" class="block">
              <font color="#996666">
                <code class="variable">$web</code>
                <code class="plain">.Update() </code>
              </font>
            </span>
          </span>
        </div>
        <div class="line alt1">
          <span class="content">
            <span style="MARGIN-LEFT: 0px !important" class="block">
              <code class="functions">
                <font color="#996666">Stop-SPAssignment</font>
              </code>
              <code class="color1">
                <font color="#996666">-Global</font>
              </code>
            </span>
          </span>
        </div>
        <p>
SPMetal.exe  /web:"http://flxdev2010:19000/PWA/TestPlan" /namespace:ProjectSite
/code:ProjectSite.cs
</p>
        <p>
now works.
</p>
        <p>
you can change it back once you have the definition.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=343879a8-c784-4d93-a1ea-38f68756acbf" />
      </body>
      <title>SPMetal doesn't like spaces</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,343879a8-c784-4d93-a1ea-38f68756acbf.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2010/07/13/SPMetalDoesntLikeSpaces.aspx</link>
      <pubDate>Tue, 13 Jul 2010 21:28:32 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Currently when generating a class with SPMetal from a site that has spaces in&amp;nbsp;it
&lt;/p&gt;
&lt;p&gt;
SPMetal.exe&amp;nbsp; /web:"http://flxdev2010:19000/PWA/Test Plan" /namespace:ProjectSite
/code:ProjectSite.cs
&lt;/p&gt;
&lt;p&gt;
It will give
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#ff0000&gt;Error the web at 'http://flxdev2010:19000/PWA/Test Plan' could
not be found&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Oh dear, a&amp;nbsp;schoolboy error.
&lt;/p&gt;
&lt;p&gt;
Now you could use stsadm to dump out the site, delete and reimport, yikes. Or you
can just rename the Url&amp;nbsp;as ServerRelativeUrl is read/write (any outside links
point to the Url will not be fixed up!)
&lt;/p&gt;
&lt;p&gt;
Using a quick console app 
&lt;/p&gt;
&lt;p&gt;
&lt;br&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;using (&lt;span style="COLOR: #2b91af"&gt;SPSite&lt;/span&gt;&amp;nbsp;site&amp;nbsp;=&amp;nbsp;&lt;span style="COLOR: blue"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="COLOR: #2b91af"&gt;SPSite&lt;/span&gt;("&lt;span style="COLOR: #a31515"&gt;http://flxdev2010:19000/PWA/Test&amp;nbsp;Plan"&lt;/span&gt;))
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using(&amp;nbsp;&lt;span style="COLOR: #2b91af"&gt;SPWeb&lt;/span&gt;&amp;nbsp;web&amp;nbsp;=&amp;nbsp;site.OpenWeb())
&lt;/p&gt;
&lt;p&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;{&lt;br&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 style="COLOR: blue"&gt;string&lt;/span&gt;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;web.ServerRelativeUrl;&lt;br&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;web.ServerRelativeUrl&amp;nbsp;=&amp;nbsp;&lt;span style="COLOR: #a31515"&gt;"/PWA/TestPlan"&lt;/span&gt;;&lt;br&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;web.Update();
&lt;/p&gt;
&lt;p&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;}
&lt;/p&gt;
&lt;p&gt;
or that new fangled&amp;nbsp;4 year old PowerShell thingy
&lt;/p&gt;
&lt;p&gt;
&lt;span class=content&gt;&lt;span style="MARGIN-LEFT: 0px !important" class=block&gt;&lt;code class=functions&gt;&lt;font color=#996666&gt;Start-SPAssignment&lt;/font&gt;&lt;/code&gt; &lt;code class=color1&gt;&lt;font color=#996666&gt;-Global&lt;/font&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;div class="line alt2"&gt;&lt;span class=content&gt;&lt;span style="MARGIN-LEFT: 0px !important" class=block&gt;&lt;code class=variable&gt;&lt;font color=#996666&gt;$web&lt;/font&gt;&lt;/code&gt; &lt;font color=#996666&gt;&lt;code class=plain&gt;= &lt;/code&gt;&lt;code class=functions&gt;Get-SPWeb&lt;/code&gt;&lt;/font&gt; &lt;code class=string&gt;&lt;font color=#996666&gt;"&lt;/font&gt;&lt;a href="http://server/sites/web"&gt;&lt;font color=#6699cc&gt;http://flxdev2010:19000/PWA/Test
Plan&lt;/font&gt;&lt;/a&gt;&lt;font color=#996666&gt;"&lt;/font&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="line alt1"&gt;&lt;span class=content&gt;&lt;span style="MARGIN-LEFT: 0px !important" class=block&gt;&lt;font color=#996666&gt;&lt;code class=variable&gt;$web&lt;/code&gt;&lt;code class=plain&gt;.Title
= &lt;/code&gt;&lt;code class=string&gt;"/PWA/TestPlan"&lt;/code&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="line alt2"&gt;&lt;span class=content&gt;&lt;span style="MARGIN-LEFT: 0px !important" class=block&gt;&lt;font color=#996666&gt;&lt;code class=variable&gt;$web&lt;/code&gt;&lt;code class=plain&gt;.Update() &lt;/code&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="line alt1"&gt;&lt;span class=content&gt;&lt;span style="MARGIN-LEFT: 0px !important" class=block&gt;&lt;code class=functions&gt;&lt;font color=#996666&gt;Stop-SPAssignment&lt;/font&gt;&lt;/code&gt; &lt;code class=color1&gt;&lt;font color=#996666&gt;-Global&lt;/font&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
SPMetal.exe&amp;nbsp; /web:"http://flxdev2010:19000/PWA/TestPlan" /namespace:ProjectSite
/code:ProjectSite.cs
&lt;/p&gt;
&lt;p&gt;
now works.
&lt;/p&gt;
&lt;p&gt;
you can change it back once you have the definition.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=343879a8-c784-4d93-a1ea-38f68756acbf" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,343879a8-c784-4d93-a1ea-38f68756acbf.aspx</comments>
      <category>SharePoint 2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=fe815927-3c14-4837-94f7-41d6125f3345</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,fe815927-3c14-4837-94f7-41d6125f3345.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,fe815927-3c14-4837-94f7-41d6125f3345.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=fe815927-3c14-4837-94f7-41d6125f3345</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
You know how it is, you start developing a project and then 6 months later you look
back and realise you have to document everything you've produced. 
</p>
        <p>
I've just gone through that process and need a quick list of all the features ids
scattered around various subdirectories of a large project.
</p>
        <p>
sample:
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">&lt;Feature
Id=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"886f12cf-97ca-4789-baf8-6f13f9f2cedf"</span> Title=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"PGPSO
Contract Management Project Upgrade"</span> Description=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Feature
that upgrades Project Sites for Contract Management."</span> Version=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"12.0.0.0"</span> Hidden=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"FALSE"</span> Scope=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Web"</span> DefaultResourceFile=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"core"</span> ReceiverAssembly=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"PGPSO_CM_Project_Upgrade,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=aa0408b86137366a"</span> ReceiverClass=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"PGPSO_CM_Project_Upgrade.PGPSO_CM_Project_Upgrade"</span> xmlns=<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"http://schemas.microsoft.com/sharepoint/"</span>&gt;</span>
        </pre>
        <p>
Firing up Powershell navigating to the root of the solution folders and running
this command gets me the list 
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">gci
-recurse -filter feature.xml <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">|</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">%</span> {
$contents=get-content $_.fullname; $x=[XML]$contents; <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"{0}
{1}"</span> -f $x.Feature.Id, $x.feature.title }</span>
        </pre>
        <p>
result:
</p>
        <p>
          <img src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/ListFeatures.png" border="0" />
        </p>
        <p>
 
</p>
        <p>
gci is an alias for get-childitem which allow you to recurse subfolders and provide
a filter parameter. Then use get-content to open the file, convert to an XML object
and then directly reference the Id and title of the feature.xml file.
</p>
        <p>
 
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=fe815927-3c14-4837-94f7-41d6125f3345" />
      </body>
      <title>PowerShell quickie: Extract the feature IDs used in large SharePoint projects</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,fe815927-3c14-4837-94f7-41d6125f3345.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2009/06/16/PowerShellQuickieExtractTheFeatureIDsUsedInLargeSharePointProjects.aspx</link>
      <pubDate>Tue, 16 Jun 2009 14:10:27 GMT</pubDate>
      <description>&lt;p&gt;
You know how it is, you start developing a project and then 6 months later you look
back and realise you have to document everything you've produced. 
&lt;/p&gt;
&lt;p&gt;
I've just gone through that process and need a quick list of all the features ids
scattered around various subdirectories of a large project.
&lt;/p&gt;
&lt;p&gt;
sample:
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;lt;Feature
Id=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"886f12cf-97ca-4789-baf8-6f13f9f2cedf"&lt;/span&gt; Title=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"PGPSO
Contract Management Project Upgrade"&lt;/span&gt; Description=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Feature
that upgrades Project Sites for Contract Management."&lt;/span&gt; Version=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"12.0.0.0"&lt;/span&gt; Hidden=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"FALSE"&lt;/span&gt; Scope=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Web"&lt;/span&gt; DefaultResourceFile=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"core"&lt;/span&gt; ReceiverAssembly=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"PGPSO_CM_Project_Upgrade,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=aa0408b86137366a"&lt;/span&gt; ReceiverClass=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"PGPSO_CM_Project_Upgrade.PGPSO_CM_Project_Upgrade"&lt;/span&gt; xmlns=&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"http://schemas.microsoft.com/sharepoint/"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Firing up Powershell&amp;nbsp;navigating to the root of the solution folders and running
this command gets me the list 
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;gci
-recurse -filter feature.xml &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;|&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;%&lt;/span&gt; {
$contents=get-content $_.fullname; $x=[XML]$contents; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"{0}
{1}"&lt;/span&gt; -f $x.Feature.Id, $x.feature.title }&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
result:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/ListFeatures.png" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
gci is an alias for get-childitem which allow you to recurse subfolders and provide
a filter parameter. Then use get-content to open the file, convert to an XML object
and then directly reference the Id and title of the feature.xml file.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=fe815927-3c14-4837-94f7-41d6125f3345" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,fe815927-3c14-4837-94f7-41d6125f3345.aspx</comments>
      <category>PowerShell</category>
      <category>Sharepoint 2007</category>
    </item>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=f401df03-48ec-4ff9-91e5-8bbded266ff6</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,f401df03-48ec-4ff9-91e5-8bbded266ff6.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,f401df03-48ec-4ff9-91e5-8bbded266ff6.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=f401df03-48ec-4ff9-91e5-8bbded266ff6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <br />
        <br />
One of my coworkers on a current project has posted a useful entry about fixing a
problem you will have when deploying Excel files into Excel Services across multiple
farms that use connections in external ODC files. The fix is to use crack open the
excel file using OpenXml and change the URL to the ODC link. Nice one Oriol. Details <a href="http://oricode.wordpress.com/2008/11/17/excel-services-deployment-changing-data-connection-libraries-url-from-code/">here</a><br /><br /><br /><br /><br /><br /><img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=f401df03-48ec-4ff9-91e5-8bbded266ff6" /></body>
      <title>Changing ODC links in Excel Services from code</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,f401df03-48ec-4ff9-91e5-8bbded266ff6.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2008/11/20/ChangingODCLinksInExcelServicesFromCode.aspx</link>
      <pubDate>Thu, 20 Nov 2008 22:07:24 GMT</pubDate>
      <description>&lt;br&gt;
&lt;br&gt;
One of my coworkers on a current project has posted a useful entry about fixing a
problem you will have when deploying Excel files into Excel Services across multiple
farms that use connections in external ODC files. The fix is to use crack open the
excel file using OpenXml and change the URL to the ODC link. Nice one Oriol. Details &lt;a href="http://oricode.wordpress.com/2008/11/17/excel-services-deployment-changing-data-connection-libraries-url-from-code/"&gt;here&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=f401df03-48ec-4ff9-91e5-8bbded266ff6" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,f401df03-48ec-4ff9-91e5-8bbded266ff6.aspx</comments>
      <category>Sharepoint 2007</category>
    </item>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=869a1436-3b78-404c-a538-5eb20fe971aa</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,869a1436-3b78-404c-a538-5eb20fe971aa.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,869a1436-3b78-404c-a538-5eb20fe971aa.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=869a1436-3b78-404c-a538-5eb20fe971aa</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
 
</p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_22.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="287" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb.png" width="644" border="0" />
          </a>
        </p>
        <p>
Recently I went through the process of indexing a subversion source code repository
with SharePoint. I thought I'd share those steps as OOTB SharePoint won't index ps1,
cs or vb files.
</p>
        <p>
Setting up search to index these files works either if the files themselves live in
a document library or are external to SharePoint. The process to index files from
other source control systems will vary depending on how you can get access to the
source files. If you need to index SourceSafe you can set up what's called a mirror
directory that automatically save the files from your repositories on disk and I suspect
you can index Team Foundation Server via its Web Access URL's although I've not tried
that.
</p>
        <p>
The subversion side of things is pretty easy, pick the repository you want and export
the latest version using the svn client i.e. svn export svn://devhosting/svn/webparts
d:\SVNExport\webparts. Script the export of each repository and then schedule it. 
</p>
        <p>
On the SharePoint side you set up a new content source to crawl the directories. 
</p>
        <p>
In this case the Indexing is on a separate machine so we enter the UNC path. Make
sure the content access account has read rights to the share. If needed you can setup
separate credentials for this source.
</p>
        <p>
In the SSP on the Search Setting page, click <strong>New Content Source</strong> under <strong>Content
source and crawl schedules</strong></p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image12.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image12_thumb.png" width="644" border="0" />
          </a>
        </p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image15.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="230" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image15_thumb.png" width="644" border="0" />
          </a>
        </p>
        <p>
The problem now is if you start a full crawl typically only the .txt files are indexed
as the SharePoint indexers have no idea what to do with file extensions it doesn't
recognise. 
</p>
        <p>
There are a couple of steps to getting new file extensions indexed. This assumes you
are a Search Service administrator.
</p>
        <p>
          <strong>First add the extension to File Types</strong>
        </p>
        <p>
1. On the Search Administration page, click <strong>File Types</strong> under <strong>Crawling</strong>. 
</p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_14.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="436" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_6.png" width="356" border="0" />
          </a>
        </p>
        <p>
2. On the Manage File Types page, click <strong>New File Type</strong>. 
</p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_18.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="284" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_8.png" width="598" border="0" />
          </a>
        </p>
        <p>
3. On the Add File Type page, type the file name extension in the <strong>File extension</strong> box
for the file type that you want to add.<br />
To search for PowerShell files, type ps1 
<br />
Do not include the period (.) character in front of the file name extension. 
</p>
        <p>
4.Click <strong>OK</strong>. 
</p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_16.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="248" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_7.png" width="520" border="0" />
          </a>
        </p>
        <p>
5. Rinse and repeat for each file type that you want to add. 
</p>
        <p>
The second step in getting the file extensions recognised is to add it to the registry
entries the SharePoint Server Search service reads when it starts up. This key is
located at 
</p>
        <p>
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Setup\ContentIndexCommon\Filters\Extension 
</p>
        <p>
Add a new key, enter the extension including the dot i.e. .ps1.
</p>
        <p>
Save and set its default value to be {4A3DD7AB-0A6B-43B0-8A90-0D8B0CC36AAB}. This
means use the text parser Ifilter tquery.dll for this extension.
</p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_12.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="221" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_5.png" width="644" border="0" />
          </a>
        </p>
        <p>
And a new key for each file extension you want indexed in this case cs,ps1 and aspx
but you can add vb vbs or whatever other text files you need indexed.
</p>
        <p>
Stop and start the search service with these commands
</p>
        <p>
net stop osearch
</p>
        <p>
net start osearch
</p>
        <p>
Now do a full crawl of your content type and your files should have been full text
indexed. The crawl log is useful in seeing if the filtering barfed on your files.
</p>
        <p>
 
</p>
        <p>
Now you can go to the Search Center enter your keyword and get a list of code files
back.
</p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_6.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="464" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_2.png" width="718" border="0" />
          </a>
        </p>
        <p>
Here I've set up a custom scope, search page, and added a custom search tab so separate
the code results on its own. I won't go into it here but there is a <a href="http://www.zimmergren.net/archive/tags/Search%20Scope/default.aspx" target="_blank">good
post here</a> that shows how you do this.
</p>
        <p>
Even better with SharePoint Search if you know you want PowerShell files only you
can enter the fileextension keyword and search will filter out everything but PowerShell
files.
</p>
        <p>
          <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_20.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="321" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_9.png" width="799" border="0" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Searching your entire code repository with subsecond query times is now pretty easy.
</p>
        <img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=869a1436-3b78-404c-a538-5eb20fe971aa" />
      </body>
      <title>Full Text Searching your CS and PowerShell code with SharePoint Search</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,869a1436-3b78-404c-a538-5eb20fe971aa.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2008/06/23/FullTextSearchingYourCSAndPowerShellCodeWithSharePointSearch.aspx</link>
      <pubDate>Mon, 23 Jun 2008 10:56:49 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_22.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="287" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb.png" width="644" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Recently I went through the process of indexing a subversion source code repository
with SharePoint. I thought I'd share those steps as OOTB SharePoint won't index ps1,
cs or vb files.
&lt;/p&gt;
&lt;p&gt;
Setting up search to index these files works either if the files themselves live in
a document library or are external to SharePoint. The process to index files from
other source control systems will vary depending on how you can get access to the
source files. If you need to index SourceSafe you can set up what's called a mirror
directory that automatically save the files from your repositories on disk and I suspect
you can index Team Foundation Server via its Web Access URL's although I've not tried
that.
&lt;/p&gt;
&lt;p&gt;
The subversion side of things is pretty easy, pick the repository you want and export
the latest version using the svn client i.e. svn export svn://devhosting/svn/webparts
d:\SVNExport\webparts. Script the export of each repository and then schedule it. 
&lt;/p&gt;
&lt;p&gt;
On the SharePoint side you set up a new content source to crawl the directories. 
&lt;/p&gt;
&lt;p&gt;
In this case the Indexing is on a separate machine so we enter the UNC path. Make
sure the content access account has read rights to the share. If needed you can setup
separate credentials for this source.
&lt;/p&gt;
&lt;p&gt;
In the SSP on the Search Setting page, click &lt;strong&gt;New Content Source&lt;/strong&gt; under &lt;strong&gt;Content
source and crawl schedules&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image12.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image12_thumb.png" width="644" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image15.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="230" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image15_thumb.png" width="644" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The problem now is if you start a full crawl typically only the .txt files are indexed
as the SharePoint indexers have no idea what to do with file extensions it doesn't
recognise. 
&lt;/p&gt;
&lt;p&gt;
There are a couple of steps to getting new file extensions indexed. This assumes you
are a Search Service administrator.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;First add the extension to File Types&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
1. On the Search Administration page, click &lt;strong&gt;File Types&lt;/strong&gt; under &lt;strong&gt;Crawling&lt;/strong&gt;. 
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_14.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="436" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_6.png" width="356" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
2. On the Manage File Types page, click &lt;strong&gt;New File Type&lt;/strong&gt;. 
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_18.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="284" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_8.png" width="598" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
3. On the Add File Type page, type the file name extension in the &lt;strong&gt;File extension&lt;/strong&gt; box
for the file type that you want to add.&lt;br&gt;
To search for PowerShell files, type ps1 
&lt;br&gt;
Do not include the period (.) character in front of the file name extension. 
&lt;p&gt;
4.Click &lt;strong&gt;OK&lt;/strong&gt;. 
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_16.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="248" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_7.png" width="520" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
5. Rinse and repeat for each file type that you want to add. 
&lt;p&gt;
The second step in getting the file extensions recognised is to add it to the registry
entries the SharePoint Server Search service reads when it starts up. This key is
located at 
&lt;/p&gt;
&lt;p&gt;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Setup\ContentIndexCommon\Filters\Extension 
&lt;/p&gt;
&lt;p&gt;
Add a new key, enter the extension including the dot i.e. .ps1.
&lt;/p&gt;
&lt;p&gt;
Save and set its default value to be {4A3DD7AB-0A6B-43B0-8A90-0D8B0CC36AAB}. This
means use the text parser Ifilter tquery.dll for this extension.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_12.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="221" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_5.png" width="644" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
And a new key for each file extension you want indexed in this case cs,ps1 and aspx
but you can add vb vbs or whatever other text files you need indexed.
&lt;/p&gt;
&lt;p&gt;
Stop and start the search service with these commands
&lt;/p&gt;
&lt;p&gt;
net stop osearch
&lt;/p&gt;
&lt;p&gt;
net start osearch
&lt;/p&gt;
&lt;p&gt;
Now do a full crawl of your content type and your files should have been full text
indexed. The crawl log is useful in seeing if the filtering barfed on your files.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Now you can go to the Search Center enter your keyword and get a list of code files
back.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="464" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_2.png" width="718" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Here I've set up a custom scope, search page, and added a custom search tab so separate
the code results on its own. I won't go into it here but there is a &lt;a href="http://www.zimmergren.net/archive/tags/Search%20Scope/default.aspx" target="_blank"&gt;good
post here&lt;/a&gt; that shows how you do this.
&lt;/p&gt;
&lt;p&gt;
Even better with SharePoint Search if you know you want PowerShell files only you
can enter the fileextension keyword and search will filter out everything but PowerShell
files.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_20.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="321" alt="image" src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/IndexingyourCSandPowerShellcodewithShare_117D5/image_thumb_9.png" width="799" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Searching your entire code repository with subsecond query times is now pretty easy.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=869a1436-3b78-404c-a538-5eb20fe971aa" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,869a1436-3b78-404c-a538-5eb20fe971aa.aspx</comments>
      <category>search</category>
      <category>Sharepoint 2007</category>
    </item>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=7f3fbe8b-9c67-4daf-87ac-7521180202b1</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,7f3fbe8b-9c67-4daf-87ac-7521180202b1.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,7f3fbe8b-9c67-4daf-87ac-7521180202b1.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=7f3fbe8b-9c67-4daf-87ac-7521180202b1</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
PowerShell Quickie - What version of SharePoint 2007 am I running? 
</p>
        <p>
  
</p>
        <div>
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">(get-item <span style="color: #006080">"hklm:software\microsoft\shared
tools\web server extensions\12.0"</span>).getvalue(<span style="color: #006080">"version"</span>)
12.0.0.6219 </pre>
        </div>
        <p>
Also handy 
</p>
        <p>
What version of the Operating system am I running on? 
</p>
        <div>
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">(Get-WmiObject Win32_OperatingSystem).Caption 

Microsoft(R) Windows(R) Server 2003, Standard Edition 
</pre>
        </div>
        <p>
        </p>
        <div>
          <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">(Get-WmiObject Win32_OperatingSystem).Version 

5.2.3790
</pre>
        </div>
        <img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=7f3fbe8b-9c67-4daf-87ac-7521180202b1" />
      </body>
      <title>PowerShell Quickie - What version of SharePoint 2007 am I running?</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,7f3fbe8b-9c67-4daf-87ac-7521180202b1.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2008/04/05/PowerShellQuickieWhatVersionOfSharePoint2007AmIRunning.aspx</link>
      <pubDate>Sat, 05 Apr 2008 21:14:18 GMT</pubDate>
      <description>&lt;p&gt;
PowerShell Quickie - What version of SharePoint 2007 am I running? 
&lt;p&gt;
&amp;nbsp; 
&lt;div&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;(get-item &lt;span style="color: #006080"&gt;"hklm:software\microsoft\shared
tools\web server extensions\12.0"&lt;/span&gt;).getvalue(&lt;span style="color: #006080"&gt;"version"&lt;/span&gt;)
12.0.0.6219 &lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
Also handy 
&lt;p&gt;
What version of the Operating system am I running on? 
&lt;div&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;(Get-WmiObject Win32_OperatingSystem).Caption 

Microsoft(R) Windows(R) Server 2003, Standard Edition 
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;div&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;(Get-WmiObject Win32_OperatingSystem).Version 

5.2.3790
&lt;/pre&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=7f3fbe8b-9c67-4daf-87ac-7521180202b1" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,7f3fbe8b-9c67-4daf-87ac-7521180202b1.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=d3be1633-fe28-4b87-b5c5-37da791ae87a</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,d3be1633-fe28-4b87-b5c5-37da791ae87a.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,d3be1633-fe28-4b87-b5c5-37da791ae87a.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=d3be1633-fe28-4b87-b5c5-37da791ae87a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The <a href="http://www.ukusergroups.co.uk/index.html" target="_blank">UK Microsoft
User Groups</a> have organised another huge gathering at Microsoft Reading next week. 
</p>
        <p>
This time it's split over 2 days April 8th and 9th and features a lot of great sessions.
User groups that I'm active in such as the <a href="http://suguk.org" target="_blank">UK
SharePoint user group</a>, <a href="http://www.culminisconnections.com/sites/get-psuguk/default.aspx" target="_blank">PowerShell
user group</a> and the <a href="http://vistasquad.co.uk/" target="_blank">Vista squad</a> will
be there along with the user groups for Exchange, SQL Server and others.
</p>
        <p>
It's not often you get a host of experts on these subjects in one location so <a href="http://www.ukusergroups.co.uk/SessionTable.html" target="_blank">check
out the agenda</a> and see if any sessions take your fancy. 
</p>
        <p>
I'm doing a session on day 2 crossing over two groups SharePoint and PowerShell on
moving data in SharePoint using the Content Deployment API (aka Prime API) and PowerShell.
I'll go through some of the functions and cmdlets I've written to make moving data
easier, samples include moving list items, lists, webs and site collections within
and between farms.
</p>
        <img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=d3be1633-fe28-4b87-b5c5-37da791ae87a" />
      </body>
      <title>UK Community Day at Microsoft Reading</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,d3be1633-fe28-4b87-b5c5-37da791ae87a.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2008/04/02/UKCommunityDayAtMicrosoftReading.aspx</link>
      <pubDate>Wed, 02 Apr 2008 13:28:02 GMT</pubDate>
      <description>&lt;p&gt;
The &lt;a href="http://www.ukusergroups.co.uk/index.html" target="_blank"&gt;UK Microsoft
User Groups&lt;/a&gt; have organised another huge gathering at Microsoft Reading next week. 
&lt;/p&gt;
&lt;p&gt;
This time it's split over 2 days April 8th and 9th and features a lot of great sessions.
User groups that I'm active in such as the &lt;a href="http://suguk.org" target="_blank"&gt;UK
SharePoint user group&lt;/a&gt;, &lt;a href="http://www.culminisconnections.com/sites/get-psuguk/default.aspx" target="_blank"&gt;PowerShell
user group&lt;/a&gt; and the &lt;a href="http://vistasquad.co.uk/" target="_blank"&gt;Vista squad&lt;/a&gt; will
be there along with the user groups for Exchange, SQL Server and others.
&lt;/p&gt;
&lt;p&gt;
It's not often you get a host of experts on these subjects in one location so &lt;a href="http://www.ukusergroups.co.uk/SessionTable.html" target="_blank"&gt;check
out the agenda&lt;/a&gt; and see if any sessions take your fancy. 
&lt;/p&gt;
&lt;p&gt;
I'm doing a session on day 2 crossing over two groups SharePoint and PowerShell on
moving data in SharePoint using the Content Deployment API (aka Prime API) and PowerShell.
I'll go through some of the functions and cmdlets I've written to make moving data
easier, samples include moving list items, lists, webs and site collections within
and between farms.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=d3be1633-fe28-4b87-b5c5-37da791ae87a" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,d3be1633-fe28-4b87-b5c5-37da791ae87a.aspx</comments>
      <category>PowerShell</category>
      <category>Sharepoint 2007</category>
    </item>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=0af60986-fdb5-4833-8eb8-5f14d0c54498</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,0af60986-fdb5-4833-8eb8-5f14d0c54498.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,0af60986-fdb5-4833-8eb8-5f14d0c54498.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=0af60986-fdb5-4833-8eb8-5f14d0c54498</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Here are my slides from the presentation I did yesterday for the UK SharePoint 
User Group.
</p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:c76cc882-4f83-40e8-ad19-a97dcbbb2045" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/SlidesfromSharePointandSilverlightPresen_B1D6/SharePoint%20Silverlight.zip" target="_blank">SharePoint
and Silverlight.zip</a>
          </p>
        </div>
        <img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=0af60986-fdb5-4833-8eb8-5f14d0c54498" />
      </body>
      <title>Slides from SharePoint and Silverlight Presentation</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,0af60986-fdb5-4833-8eb8-5f14d0c54498.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2008/03/28/SlidesFromSharePointAndSilverlightPresentation.aspx</link>
      <pubDate>Fri, 28 Mar 2008 12:39:45 GMT</pubDate>
      <description>&lt;p&gt;
Here are my slides from the presentation I did yesterday for the UK SharePoint&amp;nbsp;
User Group.
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:c76cc882-4f83-40e8-ad19-a97dcbbb2045" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/WindowsLiveWriter/SlidesfromSharePointandSilverlightPresen_B1D6/SharePoint%20Silverlight.zip" target="_blank"&gt;SharePoint
and Silverlight.zip&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=0af60986-fdb5-4833-8eb8-5f14d0c54498" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,0af60986-fdb5-4833-8eb8-5f14d0c54498.aspx</comments>
      <category>Presentation</category>
      <category>Sharepoint 2007</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://blogs.flexnetconsult.co.uk/colinbyrne/Trackback.aspx?guid=f1be83c7-0b1e-4704-9df3-31a306868451</trackback:ping>
      <pingback:server>http://blogs.flexnetconsult.co.uk/colinbyrne/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,f1be83c7-0b1e-4704-9df3-31a306868451.aspx</pingback:target>
      <dc:creator>Colin Byrne</dc:creator>
      <wfw:comment>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,f1be83c7-0b1e-4704-9df3-31a306868451.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.flexnetconsult.co.uk/colinbyrne/SyndicationService.asmx/GetEntryCommentsRss?guid=f1be83c7-0b1e-4704-9df3-31a306868451</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm doing a <a href="http://suguk.org/forums/thread/8918.aspx">presentation tonight
for SUGUK</a> on Silverlight in sharePoint and wanted to demo some of the <a href="http://www.ssblueprints.net/sharepoint/">Silverlight
Blueprints for SharePoint</a>.
</p>
        <p>
Naturally I hit a few issues along the way so I thought I'd pass a few tips on. 
</p>
        <p>
A major requirement is to have .Net 3.5 and AJAX running on your SharePoint site.
If you configure AJAX by hand as I did check this <a href="http://msdn2.microsoft.com/en-us/library/bb861898.aspx">MSDN
article</a> for configuring AJAX but use 3.5.0.0 as the version number. 
</p>
        <p>
I configured AJAX by hand but there is also a <a href="http://www.codeplex.com/features " temp_href="http://www.codeplex.com/features ">CodePlex
feature</a> that can install AJAX on all your WFE.
</p>
        <p>
It will also help to have Visual Studio 2008 and the Silverlight SDk installed on
your dev box.
</p>
        <p>
The first issue is that none of the XAP's as shipped will work on my machine. You'll
get an error like this
</p>
        <p>
 
</p>
        <p>
          <img src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/SL Controls Error 2.JPG" border="0" />
        </p>
        <p>
 
</p>
        <p>
checking the XAP files shows the shipped one has this as the first line of the manifest.
</p>
        <p>
&lt;Deployment xmlns="<a href="http://schemas.microsoft.com/client/2007/deployment">http://schemas.microsoft.com/client/2007/deployment</a>"
xmlns:x="<a href="http://schemas.microsoft.com/winfx/2006/xaml">http://schemas.microsoft.com/winfx/2006/xaml</a>"
EntryPointAssembly="SL.XAML.Navigation" EntryPointType="SL.XAML.Navigation.App"&gt;
</p>
        <p>
but if I recompile the source I get 
</p>
        <p>
&lt;Deployment xmlns="<a href="http://schemas.microsoft.com/client/2007/deployment">http://schemas.microsoft.com/client/2007/deployment</a>"
xmlns:x="<a href="http://schemas.microsoft.com/winfx/2006/xaml">http://schemas.microsoft.com/winfx/2006/xaml</a>"
EntryPointAssembly="SL.XAML.Navigation" EntryPointType="SL.XAML.Navigation.App" RuntimeVersion="2.0.30226.2"&gt;
</p>
        <p>
The missing RuntimeVersion seems the key here, looks like the U2U folks were running
a slightly different build of chiron the XAP compiler and certainly the Silverlight
2 runtime on my machine wont run a XAP without it.
</p>
        <p>
So the fix is to recompile the Silverlight Applications and redeploy the XAP to the
ClientBin directory in your IIS website directory.
</p>
        <p>
Second and more bizarre is the Navigation Sample. If you try to run it you get an
error about being unable to load the Assembly. 
</p>
        <p>
The problem here is that the PublicKey for the SL.Controls.Navigation.Dll is wrong
in the MasterPage.
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
          <img src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/SL Controls Error.GIF" border="0" />
        </p>
        <p>
The MasterPage has 4aec304184eb9a69 when the DLL has bb99f30c0098259c. 
</p>
        <p>
The Fix is to change the MasterPage Register TagPrefix line to bb99f30c0098259c. You
can use SharePoint Designer or uninstall the feature change it and then
reinstall, reactivate.
</p>
        <p>
This will happen when you dev with an internal snk file which has your company private
keys in it and then decide you've got to change it before you ship. I've done exactly
the same thing myself, it really helps to test it on a single machine outside your
company first.
</p>
        <p>
And IT LIVES
</p>
        <p>
          <img src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/SSNavDemo.gif" border="0" />
        </p>
        <p>
 
</p>
        <img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=f1be83c7-0b1e-4704-9df3-31a306868451" />
      </body>
      <title>Fix: Getting the Silverlight Blueprints for SharePoint to work</title>
      <guid isPermaLink="false">http://blogs.flexnetconsult.co.uk/colinbyrne/PermaLink,guid,f1be83c7-0b1e-4704-9df3-31a306868451.aspx</guid>
      <link>http://blogs.flexnetconsult.co.uk/colinbyrne/2008/03/27/FixGettingTheSilverlightBlueprintsForSharePointToWork.aspx</link>
      <pubDate>Thu, 27 Mar 2008 08:42:00 GMT</pubDate>
      <description>&lt;p&gt;
I'm doing a &lt;a href="http://suguk.org/forums/thread/8918.aspx"&gt;presentation tonight
for SUGUK&lt;/a&gt;&amp;nbsp;on Silverlight in sharePoint and wanted to demo some of the &lt;a href="http://www.ssblueprints.net/sharepoint/"&gt;Silverlight
Blueprints for SharePoint&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Naturally I hit a few issues along the way so I thought I'd pass a few tips on. 
&lt;/p&gt;
&lt;p&gt;
A major requirement is to have .Net 3.5 and AJAX running on your SharePoint site.
If you configure AJAX by hand as I did check this &lt;a href="http://msdn2.microsoft.com/en-us/library/bb861898.aspx"&gt;MSDN
article&lt;/a&gt;&amp;nbsp;for configuring AJAX but use 3.5.0.0 as the version number. 
&lt;/p&gt;
&lt;p&gt;
I configured AJAX by hand but there is also a &lt;a href="http://www.codeplex.com/features " temp_href="http://www.codeplex.com/features "&gt;CodePlex
feature&lt;/a&gt; that can install AJAX on all your WFE.
&lt;/p&gt;
&lt;p&gt;
It will also help to have Visual Studio 2008 and the Silverlight SDk installed on
your dev box.
&lt;/p&gt;
&lt;p&gt;
The first issue is that none of the XAP's as shipped will work on my machine. You'll
get an error like this
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/SL Controls Error 2.JPG" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
checking the XAP files shows the shipped one has this as the first line of the manifest.
&lt;/p&gt;
&lt;p&gt;
&amp;lt;Deployment xmlns="&lt;a href="http://schemas.microsoft.com/client/2007/deployment"&gt;http://schemas.microsoft.com/client/2007/deployment&lt;/a&gt;"
xmlns:x="&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/a&gt;"
EntryPointAssembly="SL.XAML.Navigation" EntryPointType="SL.XAML.Navigation.App"&amp;gt;
&lt;/p&gt;
&lt;p&gt;
but if I recompile the source I get 
&lt;/p&gt;
&lt;p&gt;
&amp;lt;Deployment xmlns="&lt;a href="http://schemas.microsoft.com/client/2007/deployment"&gt;http://schemas.microsoft.com/client/2007/deployment&lt;/a&gt;"
xmlns:x="&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/a&gt;"
EntryPointAssembly="SL.XAML.Navigation" EntryPointType="SL.XAML.Navigation.App" RuntimeVersion="2.0.30226.2"&amp;gt;
&lt;/p&gt;
&lt;p&gt;
The missing RuntimeVersion seems the key here, looks like the U2U folks were running
a slightly different build of chiron the XAP compiler and certainly the Silverlight
2 runtime on my machine wont run a XAP without it.
&lt;/p&gt;
&lt;p&gt;
So the fix is to recompile the Silverlight Applications and redeploy the XAP to the
ClientBin directory in your&amp;nbsp;IIS website directory.
&lt;/p&gt;
&lt;p&gt;
Second and more bizarre is the Navigation Sample. If you try to run it you get an
error about being unable to load the Assembly. 
&lt;/p&gt;
&lt;p&gt;
The problem here is that the PublicKey for the SL.Controls.Navigation.Dll is wrong
in the MasterPage.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/SL Controls Error.GIF" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
The MasterPage has 4aec304184eb9a69 when the DLL has bb99f30c0098259c. 
&lt;/p&gt;
&lt;p&gt;
The Fix is to change the MasterPage Register TagPrefix line to bb99f30c0098259c.&amp;nbsp;You
can use SharePoint Designer or&amp;nbsp;uninstall the feature&amp;nbsp;change it and then
reinstall, reactivate.
&lt;/p&gt;
&lt;p&gt;
This will happen when you dev with an internal snk file which has your company private
keys in it and then decide you've got to change it before you ship. I've done exactly
the same thing myself, it really helps to test it on a single machine outside your
company first.
&lt;/p&gt;
&lt;p&gt;
And IT LIVES
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blogs.flexnetconsult.co.uk/colinbyrne/content/binary/SSNavDemo.gif" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.flexnetconsult.co.uk/colinbyrne/aggbug.ashx?id=f1be83c7-0b1e-4704-9df3-31a306868451" /&gt;</description>
      <comments>http://blogs.flexnetconsult.co.uk/colinbyrne/CommentView,guid,f1be83c7-0b1e-4704-9df3-31a306868451.aspx</comments>
      <category>AJAX</category>
      <category>Bugs</category>
      <category>Sharepoint 2007</category>
      <category>Silverlight</category>
      <category>WebParts</category>
    </item>
  </channel>
</rss>