<?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:georss="http://www.georss.org/georss" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Mick's Breeze Blogs - Biztalk/Sharepoint/... - SharePoint|2010</title>
    <link>http://blogs.breeze.net/mickb/</link>
    <description>Things hard and not so hard....</description>
    <language>en-us</language>
    <copyright>Breeze</copyright>
    <lastBuildDate>Tue, 18 Sep 2012 00:53:25 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>mickb@breezetraining.com.au</managingEditor>
    <webMaster>mickb@breezetraining.com.au</webMaster>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=8a77d66e-fbf2-4b35-a9ff-b14dc8e040e0</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,8a77d66e-fbf2-4b35-a9ff-b14dc8e040e0.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <georss:point>0 0</georss:point>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,8a77d66e-fbf2-4b35-a9ff-b14dc8e040e0.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=8a77d66e-fbf2-4b35-a9ff-b14dc8e040e0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Here's something I go this morning which I think is a SharePoint error:
</p>
        <img border="0" src="http://blogs.breeze.net/mickb/content/binary/copthis.JPG" />
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=8a77d66e-fbf2-4b35-a9ff-b14dc8e040e0" />
      </body>
      <title>SP2010: Good Morning SharePoint - error 2613 I think.</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,8a77d66e-fbf2-4b35-a9ff-b14dc8e040e0.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/09/18/SP2010GoodMorningSharePointError2613IThink.aspx</link>
      <pubDate>Tue, 18 Sep 2012 00:53:25 GMT</pubDate>
      <description>&lt;p&gt;
Here's something I go this morning which I think is a SharePoint error:
&lt;/p&gt;
&lt;img border="0" src="http://blogs.breeze.net/mickb/content/binary/copthis.JPG"&gt;&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=8a77d66e-fbf2-4b35-a9ff-b14dc8e040e0" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,8a77d66e-fbf2-4b35-a9ff-b14dc8e040e0.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=a91cb000-e8ab-4555-b075-1d8e0b1ae2d6</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,a91cb000-e8ab-4555-b075-1d8e0b1ae2d6.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,a91cb000-e8ab-4555-b075-1d8e0b1ae2d6.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=a91cb000-e8ab-4555-b075-1d8e0b1ae2d6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recently ran into an interesting one while building some InfoPath forms for SP2010/2013
forms services.
</p>
        <p>
I wanted to return <strong>some Rich Text (XHTML) </strong>fields back from a WCF
WebService call.
</p>
        <p>
I was at the point as a developer, where I couldn’t even say ‘<strong>Works on my
machine…</strong>’.
</p>
        <p>
The problem was – no matter what I tried, I would always have *plain text* and no
‘richness’ of the Rich Text. Didn’t work for me.
</p>
        <p>
So I have:
</p>
        <p>
1) a basic WCF Web service – running on my dev environment.
</p>
        <p>
2) an InfoPath Form that makes the call and displays the results.
</p>
        <p>
          <strong>The WCF Service:</strong>
        </p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_4.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_1.png" width="358" height="310" />
          </a>
        </p>
        <p>
This is the field that I eventually want to return as RichText to InfoPath.
</p>
        <p>
Here’s the Service Method code (which basically goes into a file and returns back
a list of clauses) – just focus on the <strong>CONTENT = …GetXHTMLRichText(…)</strong></p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_6.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_2.png" width="561" height="401" />
          </a>
        </p>
        <p>
 
</p>
        <p>
          <strong>InfoPath and Returning a RichTextField<br /></strong>2 things need to happen for this to work.
</p>
        <p>
1. When InfoPath adds the WCF Service to the form, it needs to ‘detect’ the field
correctly when it build the underlying schema.<br /><br /><a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_8.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_3.png" width="161" height="158" /></a><br /><br /><strong>You need (nb – ‘Content’ is my field name):<br /></strong>&lt;xs:element minOccurs="0" name="<strong>Content</strong>" nillable="true"&gt;<br />
               
&lt;xs:complexType mixed='true'&gt;<br />
                   
&lt;xs:sequence&gt;<br />
                       
&lt;xs:any minOccurs="0" processContents="lax" maxOccurs="unbounded" namespace="<a href="http://www.w3.org/1999/xhtml&quot;">http://www.w3.org/1999/xhtml"</a>&gt;&lt;/xs:any&gt;<br />
                   
&lt;/xs:sequence&gt;<br />
               
&lt;/xs:complexType&gt;
</p>
        <p>
&lt;/xs:element&gt;<br /><br />
Note the namespace on the ANY element above – this is the winner to tell InfoPath
that this is a richtext field.<br /></p>
        <p>
2. When returning data via this field (in my case the ‘<strong>Content’</strong> field),
it needs to be in a certain shape, as in:<br /><code>&lt;Content xmlns=<a href="http://yournamespace">http://yournamespace</a>&gt;<br />
    &lt;span xmlns="http://www.w3.org/1999/xhtml"&gt;Rich text here&lt;/div&gt;<br />
&lt;/Content&gt;</code></p>
        <p>
          <br />
Your rich text content needs to be ‘wrapped’ for InfoPath to play nicely with it.
</p>
        <p>
This was the purpose of my <strong>GetXMLRichText</strong> method as
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_10.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_4.png" width="546" height="263" />
          </a>
        </p>
        <p>
 
</p>
        <p>
          <strong>The gotcha</strong>:
</p>
        <p>
When I pointed InfoPath at my webservice and added a service reference I was getting
back a <strong>SimpleType</strong> for the field and not a <strong>ComplexType/Rich
Text field.</strong></p>
        <p>
The WCF Service WSDL was ‘almost there’ but not close enough:<br /><a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_12.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_5.png" width="669" height="257" /></a><br /><br />
The <strong>Content </strong>field described in a <strong>ComplexType</strong> which
is almost there, but not quite.
</p>
        <p>
It’s missing the &lt;xs:complexType <strong>mixed=’true’</strong>&gt;…&lt;xs:any <strong>namespace=’http://www.w3.org/1999/xhtml’ </strong>…/&gt;.
The rest were good.
</p>
        <p>
          <strong>The fix:</strong>
        </p>
        <p>
Cutting a long story short, the simplest way forward here was to simply edit the form
components that InfoPath had built and correct the schema. Then reuse the form.
</p>
        <p>
The form looks like this:
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_18.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_8.png" width="848" height="479" />
          </a>
        </p>
        <p>
 
</p>
        <p>
From the <strong>File-&gt;Publish-&gt;Export Source Files </strong>you can get to
the source and edit the correct schema (XSD) file.
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_20.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_9.png" width="483" height="140" />
          </a>
          <br />
Close the form down in InfoPath (or you may even need to close InfoPath) to edit the
Schema.
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_22.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_10.png" width="666" height="463" />
          </a>
        </p>
        <p>
You may need to hunt through a few of them to find the right one. My file was <strong>GetKCCTerms12.xsd </strong></p>
        <p>
Modify, save and close that file.
</p>
        <p>
Right click on <strong>manifest.xsf –&gt; Design </strong>to launch InfoPath and then
select <strong>Save As</strong> to work with it as *.XSN form (*.xsn files are just
CABs with all these files inside)
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_24.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_11.png" width="647" height="74" />
          </a>
        </p>
        <p>
The final result as viewed from an InfoPath form – notice the bolding sent through.
</p>
        <p>
Enjoy,
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a91cb000-e8ab-4555-b075-1d8e0b1ae2d6" />
      </body>
      <title>InfoPath: Returning RichText from a WCF Service to a Form</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,a91cb000-e8ab-4555-b075-1d8e0b1ae2d6.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/08/30/InfoPathReturningRichTextFromAWCFServiceToAForm.aspx</link>
      <pubDate>Thu, 30 Aug 2012 11:25:47 GMT</pubDate>
      <description>&lt;p&gt;
I recently ran into an interesting one while building some InfoPath forms for SP2010/2013
forms services.
&lt;/p&gt;
&lt;p&gt;
I wanted to return &lt;strong&gt;some Rich Text (XHTML) &lt;/strong&gt;fields back from a WCF
WebService call.
&lt;/p&gt;
&lt;p&gt;
I was at the point as a developer, where I couldn’t even say ‘&lt;strong&gt;Works on my
machine…&lt;/strong&gt;’.
&lt;/p&gt;
&lt;p&gt;
The problem was – no matter what I tried, I would always have *plain text* and no
‘richness’ of the Rich Text. Didn’t work for me.
&lt;/p&gt;
&lt;p&gt;
So I have:
&lt;/p&gt;
&lt;p&gt;
1) a basic WCF Web service – running on my dev environment.
&lt;/p&gt;
&lt;p&gt;
2) an InfoPath Form that makes the call and displays the results.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The WCF Service:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_4.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_1.png" width="358" height="310"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This is the field that I eventually want to return as RichText to InfoPath.
&lt;/p&gt;
&lt;p&gt;
Here’s the Service Method code (which basically goes into a file and returns back
a list of clauses) – just focus on the &lt;strong&gt;CONTENT = …GetXHTMLRichText(…)&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_6.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_2.png" width="561" height="401"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;InfoPath and Returning a RichTextField&lt;br&gt;
&lt;/strong&gt;2 things need to happen for this to work.
&lt;/p&gt;
&lt;p&gt;
1. When InfoPath adds the WCF Service to the form, it needs to ‘detect’ the field
correctly when it build the underlying schema.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_8.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_3.png" width="161" height="158"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;You need (nb – ‘Content’ is my field name):&lt;br&gt;
&lt;/strong&gt;&amp;lt;xs:element minOccurs="0" name="&lt;strong&gt;Content&lt;/strong&gt;" nillable="true"&amp;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;
&amp;lt;xs:complexType mixed='true'&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;xs:sequence&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;xs:any minOccurs="0" processContents="lax" maxOccurs="unbounded" namespace="&lt;a href="http://www.w3.org/1999/xhtml&amp;quot;"&gt;http://www.w3.org/1999/xhtml"&lt;/a&gt;&amp;gt;&amp;lt;/xs:any&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/xs:sequence&amp;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;
&amp;lt;/xs:complexType&amp;gt;
&lt;/p&gt;
&lt;p&gt;
&amp;lt;/xs:element&amp;gt;&lt;br&gt;
&lt;br&gt;
Note the namespace on the ANY element above – this is the winner to tell InfoPath
that this is a richtext field.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
2. When returning data via this field (in my case the ‘&lt;strong&gt;Content’&lt;/strong&gt; field),
it needs to be in a certain shape, as in:&lt;br&gt;
&lt;code&gt;&amp;lt;Content xmlns=&lt;a href="http://yournamespace"&gt;http://yournamespace&lt;/a&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span xmlns="http://www.w3.org/1999/xhtml"&amp;gt;Rich text here&amp;lt;/div&amp;gt;&lt;br&gt;
&amp;lt;/Content&amp;gt;&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
Your rich text content needs to be ‘wrapped’ for InfoPath to play nicely with it.
&lt;/p&gt;
&lt;p&gt;
This was the purpose of my &lt;strong&gt;GetXMLRichText&lt;/strong&gt; method as
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_10.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_4.png" width="546" height="263"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The gotcha&lt;/strong&gt;:
&lt;/p&gt;
&lt;p&gt;
When I pointed InfoPath at my webservice and added a service reference I was getting
back a &lt;strong&gt;SimpleType&lt;/strong&gt; for the field and not a &lt;strong&gt;ComplexType/Rich
Text field.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The WCF Service WSDL was ‘almost there’ but not close enough:&lt;br&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_12.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_5.png" width="669" height="257"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
The &lt;strong&gt;Content &lt;/strong&gt;field described in a &lt;strong&gt;ComplexType&lt;/strong&gt; which
is almost there, but not quite.
&lt;/p&gt;
&lt;p&gt;
It’s missing the &amp;lt;xs:complexType &lt;strong&gt;mixed=’true’&lt;/strong&gt;&amp;gt;…&amp;lt;xs:any &lt;strong&gt;namespace=’http://www.w3.org/1999/xhtml’ &lt;/strong&gt;…/&amp;gt;.
The rest were good.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The fix:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Cutting a long story short, the simplest way forward here was to simply edit the form
components that InfoPath had built and correct the schema. Then reuse the form.
&lt;/p&gt;
&lt;p&gt;
The form looks like this:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_18.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_8.png" width="848" height="479"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
From the &lt;strong&gt;File-&amp;gt;Publish-&amp;gt;Export Source Files &lt;/strong&gt;you can get to
the source and edit the correct schema (XSD) file.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_20.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_9.png" width="483" height="140"&gt;&lt;/a&gt;
&lt;br&gt;
Close the form down in InfoPath (or you may even need to close InfoPath) to edit the
Schema.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_22.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_10.png" width="666" height="463"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
You may need to hunt through a few of them to find the right one. My file was &lt;strong&gt;GetKCCTerms12.xsd &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Modify, save and close that file.
&lt;/p&gt;
&lt;p&gt;
Right click on &lt;strong&gt;manifest.xsf –&amp;gt; Design &lt;/strong&gt;to launch InfoPath and then
select &lt;strong&gt;Save As&lt;/strong&gt; to work with it as *.XSN form (*.xsn files are just
CABs with all these files inside)
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_24.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/InfoPath-Returning-RichText-from-a-WCF-S_11FDD/image_thumb_11.png" width="647" height="74"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The final result as viewed from an InfoPath form – notice the bolding sent through.
&lt;/p&gt;
&lt;p&gt;
Enjoy,
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a91cb000-e8ab-4555-b075-1d8e0b1ae2d6" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,a91cb000-e8ab-4555-b075-1d8e0b1ae2d6.aspx</comments>
      <category>.NET Developer</category>
      <category>Dev</category>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=103e65c3-384b-4a16-8a22-3f34b95c35db</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,103e65c3-384b-4a16-8a22-3f34b95c35db.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,103e65c3-384b-4a16-8a22-3f34b95c35db.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=103e65c3-384b-4a16-8a22-3f34b95c35db</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
You know it’s a Friday when…who can spot the <strong>‘yes/no/cancel’</strong> buttons?
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/SharePoint-Form-Template-Upgrade_9C70/image_4.png">
            <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/SharePoint-Form-Template-Upgrade_9C70/image_thumb_1.png" width="449" height="272" />
          </a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=103e65c3-384b-4a16-8a22-3f34b95c35db" />
      </body>
      <title>SharePoint: Form Template Upgrade</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,103e65c3-384b-4a16-8a22-3f34b95c35db.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/02/10/SharePointFormTemplateUpgrade.aspx</link>
      <pubDate>Fri, 10 Feb 2012 00:09:15 GMT</pubDate>
      <description>&lt;p&gt;
You know it’s a Friday when…who can spot the &lt;strong&gt;‘yes/no/cancel’&lt;/strong&gt; buttons?
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/SharePoint-Form-Template-Upgrade_9C70/image_4.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/SharePoint-Form-Template-Upgrade_9C70/image_thumb_1.png" width="449" height="272"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=103e65c3-384b-4a16-8a22-3f34b95c35db" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,103e65c3-384b-4a16-8a22-3f34b95c35db.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=ea5deff5-3650-4065-98a9-0868ba53c655</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,ea5deff5-3650-4065-98a9-0868ba53c655.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,ea5deff5-3650-4065-98a9-0868ba53c655.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=ea5deff5-3650-4065-98a9-0868ba53c655</wfw:commentRss>
      <title>SharePoint 2010: Sydney Bootcamp a couple of seats left….</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,ea5deff5-3650-4065-98a9-0868ba53c655.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2011/07/04/SharePoint2010SydneyBootcampACoupleOfSeatsLeft.aspx</link>
      <pubDate>Mon, 04 Jul 2011 11:51:23 GMT</pubDate>
      <description>&lt;p&gt;
See you there folks…I’m coming up from the trenches to share what’s in the real world
with the class…content types, deployments etc.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Hope to see you there.
&lt;/p&gt;
&lt;table style="border-collapse: collapse; margin-left: -0.4pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 0cm 0cm 0cm" class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-row-margin-right: 2.9pt"&gt;
&lt;td style="padding-bottom: 0cm; padding-left: 5.4pt; width: 449.8pt; padding-right: 5.4pt; padding-top: 0cm" valign="top" width="600" colspan="3"&gt;
&lt;p style="text-align: center" class="MsoNormal" align="center"&gt;&lt;?xml:namespace prefix = o /&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 0cm; padding-right: 0cm; border-top: medium none; border-right: medium none; padding-top: 0cm; mso-cell-special: placeholder" width="4"&gt;
&lt;p class="MsoNormal"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1"&gt;
&lt;td style="padding-bottom: 0cm; padding-left: 0cm; width: 2.5pt; padding-right: 0cm; padding-top: 0cm" width="3"&gt;
&lt;p class="MsoNormal"&gt;
&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-bottom: 0cm; padding-left: 5.4pt; width: 163.8pt; padding-right: 5.4pt; padding-top: 0cm" valign="top" width="218"&gt;
&lt;p class="MsoNormal"&gt;
&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-bottom: 0cm; padding-left: 5.4pt; width: 286pt; padding-right: 5.4pt; padding-top: 0cm" valign="top" width="381" colspan="2"&gt;
&lt;p class="MsoNormal"&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010SydneyBootcampacoupleofse_13349/clip_image001_8.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" hspace="12" alt="clip_image001" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010SydneyBootcampacoupleofse_13349/clip_image001_thumb_2.jpg" width="107" height="138" v:shapes="Picture_x0020_1"&gt;&lt;/a&gt;&lt;span style="font-size: 12pt; mso-fareast-font-family: 'Times New Roman'"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2; mso-row-margin-right: 2.9pt; mso-yfti-lastrow: yes"&gt;
&lt;td style="padding-bottom: 0cm; padding-left: 5.4pt; width: 449.8pt; padding-right: 5.4pt; padding-top: 0cm" valign="top" width="600" colspan="3"&gt;
&lt;p style="text-align: center" class="MsoNormal" align="center"&gt;
&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: #e36c0a; font-size: 20pt"&gt;Sydney
| SharePoint 2010 Bootcamp&lt;/span&gt;&lt;/b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: center" class="MsoNormal" align="center"&gt;
&lt;b&gt;“The best course I have done in years!”&lt;/b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: center" class="MsoNormal" align="center"&gt;
&lt;b&gt;“A fantastic course. Mick really has depth of knowledge and is a very engaging
trainer”&lt;/b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: center" class="MsoNormal" align="center"&gt;
&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: center" class="MsoNormal" align="center"&gt;
&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: red; font-size: 14pt"&gt;REGISTER
TODAY - 4 seats left!&lt;/span&gt;&lt;/b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: center" class="MsoNormal" align="center"&gt;
&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: red; font-size: 12pt"&gt;Special
offer of 15% discount if book &amp;amp; pay before June 30&lt;sup&gt;th&lt;/sup&gt; 2011.&lt;/span&gt;&lt;/b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Overview &lt;/span&gt;&lt;/b&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;This is &lt;/span&gt;&lt;a href="http://www.breeze.net/Training/default.aspx?PermID=8cedaaba-0607-45b3-b6ce-d63cc8296550" target="_blank"&gt;a &lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;5-day
bootcamp&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt; designed
for both IT Professionals and Developers packed with fun and technical training to
explore the features of SharePoint 2010 ‘out of the box’. &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&amp;nbsp;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;At course
completion students will be able to upgrade their SharePoint V3 sites/portals to SharePoint
2010, to implement and extend Microsoft Office client side solutions, and also implement
custom workflows developed in Visual Studio. &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&amp;nbsp;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;They’ll be
equipped to care for their SharePoint farm, back it up and restore it, and set up
and configure SharePoint 2010 infrastructure. Architecting the portal and sub-sites
layouts is streamlined using best strategies and known best practices within the SharePoint
space. &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&amp;nbsp;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Students
will create custom WebParts and SharePoint customisations easily, as well as site
wide features, event handlers and InfoPath Forms based solutions. They will also explore
Excel Services and Business Intelligence Offerings.&lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&amp;nbsp;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Be ready
to roll up your sleeves and start your adventure here!&lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Date:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Monday
25 – Friday 29 July 2011&lt;br&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Instructor:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://blogs.breezetraining.com.au/mickb/" target="_blank"&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Mick
Badran – MVP&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt; 
&lt;br&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Location:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Breeze
Office 
&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;&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;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Edgecliff
Court, 
&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;&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;&amp;nbsp;
Suite 5a 
&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;&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;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;2
New McLean Street, &lt;/span&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Edgecliff
NSW 2027&lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Time:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;8.30am
– 4.30pm 
&lt;br&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Duration:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&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;
5 Days 
&lt;br&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;Course
Price:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$3,450.00 + GST&lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-align: justify" class="MsoNormal"&gt;
&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 12pt"&gt;Register NOW: &lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 12pt"&gt;Emmav(AT)breeze(DOT)net(NO
DOT)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 0cm; padding-right: 0cm; border-top: medium none; border-right: medium none; padding-top: 0cm; mso-cell-special: placeholder" width="4"&gt;
&lt;p class="MsoNormal"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; border-top: medium none; border-right: medium none" width="3"&gt;
&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; border-top: medium none; border-right: medium none" width="218"&gt;
&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; border-top: medium none; border-right: medium none" width="378"&gt;
&lt;/td&gt;
&lt;td style="border-bottom: medium none; border-left: medium none; border-top: medium none; border-right: medium none" width="4"&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ea5deff5-3650-4065-98a9-0868ba53c655" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,ea5deff5-3650-4065-98a9-0868ba53c655.aspx</comments>
      <category>Events</category>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Training</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=d30edf62-8290-49ed-a221-bfa1d512fb54</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,d30edf62-8290-49ed-a221-bfa1d512fb54.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,d30edf62-8290-49ed-a221-bfa1d512fb54.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=d30edf62-8290-49ed-a221-bfa1d512fb54</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b4579045-b183-4ed4-bf61-dc2f0deabe47" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b4579045-b183-4ed4-bf61-dc2f0deabe47">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b4579045-b183-4ed4-bf61-dc2f0deabe47</a>
        </p>
        <p>
The core client DLLs are now available as a separate download.
</p>
        <p>
The strange thing is that when you install these on your machine it still puts them
under the c:\program files\common files\….\Web Server Extensions… etc.
</p>
        <p>
The main dlls are:
</p>
        <p>
1: Microsoft.SharePoint.Client.dll
</p>
        <p>
2: Microsoft.SharePoint.Client.Runtime.dll
</p>
        <p>
&amp; the Sliverlight client dlls.
</p>
        <p>
Given the directory paths, it maybe worth just grabbing the dlls you need for you
solution and deploy them as part of the package.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d30edf62-8290-49ed-a221-bfa1d512fb54" />
      </body>
      <title>SharePoint 2010: Client OM Redistributable Download</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,d30edf62-8290-49ed-a221-bfa1d512fb54.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2011/03/23/SharePoint2010ClientOMRedistributableDownload.aspx</link>
      <pubDate>Wed, 23 Mar 2011 07:26:14 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b4579045-b183-4ed4-bf61-dc2f0deabe47" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b4579045-b183-4ed4-bf61-dc2f0deabe47"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b4579045-b183-4ed4-bf61-dc2f0deabe47&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The core client DLLs are now available as a separate download.
&lt;/p&gt;
&lt;p&gt;
The strange thing is that when you install these on your machine it still puts them
under the c:\program files\common files\….\Web Server Extensions… etc.
&lt;/p&gt;
&lt;p&gt;
The main dlls are:
&lt;/p&gt;
&lt;p&gt;
1: Microsoft.SharePoint.Client.dll
&lt;/p&gt;
&lt;p&gt;
2: Microsoft.SharePoint.Client.Runtime.dll
&lt;/p&gt;
&lt;p&gt;
&amp;amp; the Sliverlight client dlls.
&lt;/p&gt;
&lt;p&gt;
Given the directory paths, it maybe worth just grabbing the dlls you need for you
solution and deploy them as part of the package.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d30edf62-8290-49ed-a221-bfa1d512fb54" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,d30edf62-8290-49ed-a221-bfa1d512fb54.aspx</comments>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=8f07056a-79e6-4f1a-bea9-46243f13a2a5</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,8f07056a-79e6-4f1a-bea9-46243f13a2a5.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,8f07056a-79e6-4f1a-bea9-46243f13a2a5.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=8f07056a-79e6-4f1a-bea9-46243f13a2a5</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Firstly thanks for all that attended my 5pm - ‘fireside’ session.
</p>
        <p>
I definitely was a first for me having a session so late in the day. I took my shoes
off, wiggled my toes and got into it up on stage.
</p>
        <p>
The session was pretty light and easy to follow along as to get bogged down into the
deep technicalities of data storage within SharePoint was going to put all to sleep.
</p>
        <p>
During the session I spoke about (&amp; demo-ed) each approach from Site/Web Property
bags, Custom Service Apps, Lists/External Lists Pros and Cons of each – all good.
</p>
        <p>
Here’s my slide deck guys – Enjoy.
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010AustralianSharePointConfer_14FF0/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010AustralianSharePointConfer_14FF0/image_thumb.png" width="644" height="484" />
          </a>
          <br />
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:26c36510-90c1-4c62-a46c-ac5a52d38a40" class="wlWriterEditableSmartContent">
          <p>
            <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010AustralianSharePointConfer_14FF0/Mick%20Badran%20-%20Storing%20the%20Data%20you%20NeedV2.0.pptx" target="_blank">SLIDE
DECK - PPTX</a>
          </p>
        </div>
        <p>
          <br />
          <font color="#ff0000">
            <strong>UPDATED – DEMOS USED IN THE PRESENTATION<br /><a href="/mickb/content/2011/SPConference_Demos.zip" target="_blank">DEMOS</a></strong>
          </font>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=8f07056a-79e6-4f1a-bea9-46243f13a2a5" />
      </body>
      <title>SharePoint 2010: Australian SharePoint Conference 2011</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,8f07056a-79e6-4f1a-bea9-46243f13a2a5.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2011/03/09/SharePoint2010AustralianSharePointConference2011.aspx</link>
      <pubDate>Wed, 09 Mar 2011 12:53:37 GMT</pubDate>
      <description>&lt;p&gt;
Firstly thanks for all that attended my 5pm - ‘fireside’ session.
&lt;/p&gt;
&lt;p&gt;
I definitely was a first for me having a session so late in the day. I took my shoes
off, wiggled my toes and got into it up on stage.
&lt;/p&gt;
&lt;p&gt;
The session was pretty light and easy to follow along as to get bogged down into the
deep technicalities of data storage within SharePoint was going to put all to sleep.
&lt;/p&gt;
&lt;p&gt;
During the session I spoke about (&amp;amp; demo-ed) each approach from Site/Web Property
bags, Custom Service Apps, Lists/External Lists Pros and Cons of each – all good.
&lt;/p&gt;
&lt;p&gt;
Here’s my slide deck guys – Enjoy.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010AustralianSharePointConfer_14FF0/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010AustralianSharePointConfer_14FF0/image_thumb.png" width="644" height="484"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:26c36510-90c1-4c62-a46c-ac5a52d38a40" class="wlWriterEditableSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010AustralianSharePointConfer_14FF0/Mick%20Badran%20-%20Storing%20the%20Data%20you%20NeedV2.0.pptx" target="_blank"&gt;SLIDE
DECK - PPTX&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;br&gt;
&lt;font color="#ff0000"&gt;&lt;strong&gt;UPDATED – DEMOS USED IN THE PRESENTATION&lt;br&gt;
&lt;a href="/mickb/content/2011/SPConference_Demos.zip" target="_blank"&gt;DEMOS&lt;/a&gt;&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=8f07056a-79e6-4f1a-bea9-46243f13a2a5" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,8f07056a-79e6-4f1a-bea9-46243f13a2a5.aspx</comments>
      <category>Events</category>
      <category>Events/SPC2011</category>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=44b736d6-688d-4cd9-bad6-dbb70d479d4a</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,44b736d6-688d-4cd9-bad6-dbb70d479d4a.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,44b736d6-688d-4cd9-bad6-dbb70d479d4a.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=44b736d6-688d-4cd9-bad6-dbb70d479d4a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hi folks, as promised here’s my little slide deck for the presentation given last
week. We had a great audience with some very interesting questions.
</p>
        <p>
Thanks all that attended as part of the <strong>Microsoft Partner Readiness </strong>program.
Hope you’re enjoying and feel free to give me feedback as to what you’d like to see
more of and less of.
</p>
        <p>
Have fun,
</p>
        <p>
Mick.
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010GettingStartedNavigationan_CDF8/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010GettingStartedNavigationan_CDF8/image_thumb.png" width="484" height="364" />
          </a>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:2ec57793-eb18-4650-a98c-8b6a91c6587e" class="wlWriterEditableSmartContent">
          <p>
Slides in ZIP <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010GettingStartedNavigationan_CDF8/Navigating%20and%20Sharing%20in%20SharePoint%202010%20-%20Readiness.zip" target="_blank">PPT
Slide Deck</a></p>
        </div>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=44b736d6-688d-4cd9-bad6-dbb70d479d4a" />
      </body>
      <title>SharePoint 2010: Getting Started – Navigation and Sharing</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,44b736d6-688d-4cd9-bad6-dbb70d479d4a.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2011/02/24/SharePoint2010GettingStartedNavigationAndSharing.aspx</link>
      <pubDate>Thu, 24 Feb 2011 03:41:45 GMT</pubDate>
      <description>&lt;p&gt;
Hi folks, as promised here’s my little slide deck for the presentation given last
week. We had a great audience with some very interesting questions.
&lt;/p&gt;
&lt;p&gt;
Thanks all that attended as part of the &lt;strong&gt;Microsoft Partner Readiness &lt;/strong&gt;program.
Hope you’re enjoying and feel free to give me feedback as to what you’d like to see
more of and less of.
&lt;/p&gt;
&lt;p&gt;
Have fun,
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010GettingStartedNavigationan_CDF8/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010GettingStartedNavigationan_CDF8/image_thumb.png" width="484" height="364"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:2ec57793-eb18-4650-a98c-8b6a91c6587e" class="wlWriterEditableSmartContent"&gt;
&lt;p&gt;
Slides in ZIP &lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010GettingStartedNavigationan_CDF8/Navigating%20and%20Sharing%20in%20SharePoint%202010%20-%20Readiness.zip" target="_blank"&gt;PPT
Slide Deck&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=44b736d6-688d-4cd9-bad6-dbb70d479d4a" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,44b736d6-688d-4cd9-bad6-dbb70d479d4a.aspx</comments>
      <category>Events</category>
      <category>Events/Recordings</category>
      <category>Microsoft/Readiness</category>
      <category>SharePoint/2010</category>
      <category>Training</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=a32b8b17-60ee-4234-a345-12cf355dd10c</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,a32b8b17-60ee-4234-a345-12cf355dd10c.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,a32b8b17-60ee-4234-a345-12cf355dd10c.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=a32b8b17-60ee-4234-a345-12cf355dd10c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb.png" width="491" height="222" />
          </a>
        </p>
        <p>
While looking into an authentication problem I discovered this ‘new’ header sent back
from a SharePoint 2010 machine.
</p>
        <p>
          <strong>Health Score? </strong>hmmm… I thought, what’s the max and what’s the min
values. Is this good/bad? or don’t care?
</p>
        <p>
So SharePoint 2010 has several Throttling features it used such as <strong>Client
Auto Back-off</strong> which predominately when triggered, prioritises HTTP requests
– such as HTTP POSTS are non delayed or throttled, but HTTP GETs are and new HTTP
connections are throttled.
</p>
        <p>
Here is one <a href="http://msdn.microsoft.com/en-us/library/ff764951.aspx" target="_blank">MS
page</a> that barely describes the Header – could do with updating that one.
</p>
        <p>
SharePoint 2010 determines the <strong>health of a server</strong> by initially looking
at <strong>system counters.</strong></p>
        <p>
          <strong>Let’s dig further….</strong>
        </p>
        <p>
Upon Reflecting the classic Microsoft.SharePoint.dll, there’s a Microsoft.SharePoint.Diagnostics
section which I thought would be a great place to start. I found a 
<br /><strong>SPWebFrontEndDiagnosticsPerformanceCounterProvider </strong>class (amongst
others there’s a SPDatabaseServer class as well)
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb_1.png" width="567" height="350" />
          </a>
        </p>
        <p>
The line above <strong>collection[0] = ….</strong> refers to the following collection
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_8.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb_3.png" width="554" height="83" />
          </a>
        </p>
        <p>
So putting all this together, the performance counters are:
</p>
        <ul>
          <li>
            <strong>WebAppPool - “SharePoint Foundation”</strong>
          </li>
          <ul>
            <li>
              <strong>Global Heap Size</strong>
            </li>
            <li>
              <strong>Native Heap Count</strong>
            </li>
            <li>
              <strong>Process ID</strong>
            </li>
          </ul>
          <li>
            <strong>OWSTimer &amp; W3WP</strong>
          </li>
          <ul>
            <li>
              <strong>Private Bytes</strong>
            </li>
          </ul>
          <li>
            <strong>Processor (_total)</strong>
          </li>
          <ul>
            <li>
              <strong>Processor Time</strong>
            </li>
          </ul>
        </ul>
        <p>
It appears the main class behind all of this is<br /><strong>SPHttpThrottleSettings </strong>where it appears that the throttling setting
is turned off in ‘Single-Server’ deployments.
</p>
        <p>
Digging further I came across the big-daddy class of it all (I think) - 
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_10.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb_4.png" width="1028" height="644" />
          </a>
          <br />
          <strong>SPPerformanceInspector</strong> – notice the method <strong>IsInThrottling() </strong>and
the other is 2 constants that describe the displayed Throttled messages.
</p>
        <p>
I also noticed another method on this class <strong>SetupRegKeyHealthScore.</strong><br />
Where <strong>HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS\ServerHealthScore</strong> is
the actual value you want to assign.
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_12.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb_5.png" width="761" height="380" />
          </a>
        </p>
        <p>
A value of 0 is great, 10 is bad. Over 10 means the server will go into Throttling
(letting your clients know as well).
</p>
        <p>
There’s many other things here, but I’ve got to head swimming. 
</p>
        <p>
Hope we unraveled this mystery a little more.
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a32b8b17-60ee-4234-a345-12cf355dd10c" />
      </body>
      <title>SharePoint 2010: X-SharePointHealthScore what is this?</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,a32b8b17-60ee-4234-a345-12cf355dd10c.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2011/01/27/SharePoint2010XSharePointHealthScoreWhatIsThis.aspx</link>
      <pubDate>Thu, 27 Jan 2011 05:43:16 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb.png" width="491" height="222"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
While looking into an authentication problem I discovered this ‘new’ header sent back
from a SharePoint 2010 machine.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Health Score? &lt;/strong&gt;hmmm… I thought, what’s the max and what’s the min
values. Is this good/bad? or don’t care?
&lt;/p&gt;
&lt;p&gt;
So SharePoint 2010 has several Throttling features it used such as &lt;strong&gt;Client
Auto Back-off&lt;/strong&gt; which predominately when triggered, prioritises HTTP requests
– such as HTTP POSTS are non delayed or throttled, but HTTP GETs are and new HTTP
connections are throttled.
&lt;/p&gt;
&lt;p&gt;
Here is one &lt;a href="http://msdn.microsoft.com/en-us/library/ff764951.aspx" target="_blank"&gt;MS
page&lt;/a&gt; that barely describes the Header – could do with updating that one.
&lt;/p&gt;
&lt;p&gt;
SharePoint 2010 determines the &lt;strong&gt;health of a server&lt;/strong&gt; by initially looking
at &lt;strong&gt;system counters.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Let’s dig further….&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Upon Reflecting the classic Microsoft.SharePoint.dll, there’s a Microsoft.SharePoint.Diagnostics
section which I thought would be a great place to start. I found a 
&lt;br&gt;
&lt;strong&gt;SPWebFrontEndDiagnosticsPerformanceCounterProvider &lt;/strong&gt;class (amongst
others there’s a SPDatabaseServer class as well)
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb_1.png" width="567" height="350"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The line above &lt;strong&gt;collection[0] = ….&lt;/strong&gt; refers to the following collection
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb_3.png" width="554" height="83"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
So putting all this together, the performance counters are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WebAppPool - “SharePoint Foundation”&lt;/strong&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Global Heap Size&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native Heap Count&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Process ID&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;strong&gt;OWSTimer &amp;amp; W3WP&lt;/strong&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Private Bytes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;strong&gt;Processor (_total)&lt;/strong&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Processor Time&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;
It appears the main class behind all of this is&lt;br&gt;
&lt;strong&gt;SPHttpThrottleSettings &lt;/strong&gt;where it appears that the throttling setting
is turned off in ‘Single-Server’ deployments.
&lt;/p&gt;
&lt;p&gt;
Digging further I came across the big-daddy class of it all (I think) - 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb_4.png" width="1028" height="644"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;strong&gt;SPPerformanceInspector&lt;/strong&gt; – notice the method &lt;strong&gt;IsInThrottling() &lt;/strong&gt;and
the other is 2 constants that describe the displayed Throttled messages.
&lt;/p&gt;
&lt;p&gt;
I also noticed another method on this class &lt;strong&gt;SetupRegKeyHealthScore.&lt;/strong&gt;
&lt;br&gt;
Where &lt;strong&gt;HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS\ServerHealthScore&lt;/strong&gt; is
the actual value you want to assign.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010XSharePointHealthScorewhat_EB0A/image_thumb_5.png" width="761" height="380"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
A value of 0 is great, 10 is bad. Over 10 means the server will go into Throttling
(letting your clients know as well).
&lt;/p&gt;
&lt;p&gt;
There’s many other things here, but I’ve got to head swimming. 
&lt;/p&gt;
&lt;p&gt;
Hope we unraveled this mystery a little more.
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a32b8b17-60ee-4234-a345-12cf355dd10c" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,a32b8b17-60ee-4234-a345-12cf355dd10c.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=9f08a8ad-7f84-49c8-8e4c-0048da4e730d</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,9f08a8ad-7f84-49c8-8e4c-0048da4e730d.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,9f08a8ad-7f84-49c8-8e4c-0048da4e730d.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=9f08a8ad-7f84-49c8-8e4c-0048da4e730d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recently came across a SharePoint Portal that previously was working a treat up
until Christmas (just gone) and then the client got this on their <strong>Create Site
Page</strong>:
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010StrangerthanS.whencreating_B071/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010StrangerthanS.whencreating_B071/image_thumb.png" width="595" height="235" />
          </a>
        </p>
        <p>
So the good old “Parameter name: key” error…that old chestnut I thought (like I had
any idea at that stage).<br /><strong>Null – </strong>is always an interesting thing. So something is going through
a collection and not finding the value, not that they should have tested for the existence
of the value first…but we’ll leave that for another story.
</p>
        <p>
Why this was happening now? I haven’t got to the bottom of it, could be an update?
security patch? SQL update? code somewhere? I find these things happen on the night
before an important release date.
</p>
        <p>
So after sheer luck of me just ‘doodling’ on the Create Site Page, this appears to
have fixed it:
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010StrangerthanS.whencreating_B071/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010StrangerthanS.whencreating_B071/image_thumb_1.png" width="1016" height="635" />
          </a>
        </p>
        <p>
From the highlighted area – just simply fill in the empty(null) search box EVEN though
we are <strong>Creating a Site here.</strong></p>
        <p>
Go figure…
</p>
        <p>
Do I add SharePoint to the Wonders of the World list?
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=9f08a8ad-7f84-49c8-8e4c-0048da4e730d" />
      </body>
      <title>SharePoint 2010: Stranger than Strange error - “Key cannot be null.” when creating</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,9f08a8ad-7f84-49c8-8e4c-0048da4e730d.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2011/01/17/SharePoint2010StrangerThanStrangeErrorKeyCannotBeNullWhenCreating.aspx</link>
      <pubDate>Mon, 17 Jan 2011 01:33:00 GMT</pubDate>
      <description>&lt;p&gt;
I recently came across a SharePoint Portal that previously was working a treat up
until Christmas (just gone) and then the client got this on their &lt;strong&gt;Create Site
Page&lt;/strong&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010StrangerthanS.whencreating_B071/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010StrangerthanS.whencreating_B071/image_thumb.png" width="595" height="235"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
So the good old “Parameter name: key” error…that old chestnut I thought (like I had
any idea at that stage).&lt;br&gt;
&lt;strong&gt;Null – &lt;/strong&gt;is always an interesting thing. So something is going through
a collection and not finding the value, not that they should have tested for the existence
of the value first…but we’ll leave that for another story.
&lt;/p&gt;
&lt;p&gt;
Why this was happening now? I haven’t got to the bottom of it, could be an update?
security patch? SQL update? code somewhere? I find these things happen on the night
before an important release date.
&lt;/p&gt;
&lt;p&gt;
So after sheer luck of me just ‘doodling’ on the Create Site Page, this appears to
have fixed it:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010StrangerthanS.whencreating_B071/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010StrangerthanS.whencreating_B071/image_thumb_1.png" width="1016" height="635"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
From the highlighted area – just simply fill in the empty(null) search box EVEN though
we are &lt;strong&gt;Creating a Site here.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Go figure…
&lt;/p&gt;
&lt;p&gt;
Do I add SharePoint to the Wonders of the World list?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=9f08a8ad-7f84-49c8-8e4c-0048da4e730d" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,9f08a8ad-7f84-49c8-8e4c-0048da4e730d.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=17cd1e6f-3d13-4026-af21-f1c81a9a959f</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,17cd1e6f-3d13-4026-af21-f1c81a9a959f.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,17cd1e6f-3d13-4026-af21-f1c81a9a959f.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=17cd1e6f-3d13-4026-af21-f1c81a9a959f</wfw:commentRss>
      <title>SharePoint 2010: Breeze SharePoint 2010 Bootcamp in Brisbane next week.</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,17cd1e6f-3d13-4026-af21-f1c81a9a959f.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/11/16/SharePoint2010BreezeSharePoint2010BootcampInBrisbaneNextWeek.aspx</link>
      <pubDate>Tue, 16 Nov 2010 22:55:16 GMT</pubDate>
      <description>&lt;p&gt;
Hi folks, I’ve got a lot of requests for when/where these are on, so we’re off and
running next week in Brisbane with 2 seats left.
&lt;/p&gt;
&lt;p&gt;
Just a quick blurb on the course - 
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: black"&gt;
&lt;br&gt;&lt;?xml:namespace prefix = o /&gt;
The Breeze SharePoint 2010 Bootcamp has been designed to provide just that. Our customers
asked for an in-depth, technical, customized course that, if they were to spend $$s
on just one SharePoint&amp;nbsp; 2010 course this year, would give them enough knowledge
of the technology to build real world solutions. 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: black"&gt;These bootcamps have been written for the ITPro &amp;amp; Developer
who need to upgrade their SharePoint skills, or are just starting out with SharePoint
2010. 
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;&lt;font color="#ff6600"&gt;&lt;a href="http://breeze.net/Training/default.aspx?PermID=8cedaaba-0607-45b3-b6ce-d63cc8296550" target="_blank"&gt;Check
them out HERE&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;img src="http://ts4.mm.bing.net/images/thumbnail.aspx?q=320867800943&amp;amp;id=a163a02067f613fcacb74bd68a903635&amp;amp;url=http%3a%2f%2f4.bp.blogspot.com%2f_o6smxmzPojI%2fS1czJ6NPOAI%2fAAAAAAAAAMI%2f-zrGL2BoXrY%2fs200%2fsharePoint2010logo.pn"&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=17cd1e6f-3d13-4026-af21-f1c81a9a959f" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,17cd1e6f-3d13-4026-af21-f1c81a9a959f.aspx</comments>
      <category>Events</category>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Training</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=a125981c-195d-453f-8faf-947efac84e14</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,a125981c-195d-453f-8faf-947efac84e14.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,a125981c-195d-453f-8faf-947efac84e14.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=a125981c-195d-453f-8faf-947efac84e14</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Here’s something that I hope to save a few hours to you – <strong>InfoPath Forms Services.</strong></p>
        <p>
I recently ran into this dreaded error – "<a href="http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on">InfoPath
Forms Services is not turned on</a>” when trying to configure it from within SharePoint
Central Administration –&gt; General Application Settings.
</p>
        <p>
          <strong>Forms Services</strong> is part of <strong>SharePoint Enterprise Services</strong> (usually
activated via a Farm/Web Application/Site Collection or Site feature) and it relies
upon the <strong>State Service.</strong></p>
        <p>
So on our intranet, we’re revamping some InfoPath forms that were working in SP2007
and a new SP2010 using the database detach/attach method saw the intranet up and running…almost…except
for this <strong>InfoPath Forms Services.</strong></p>
        <p>
Most posts on the web talk about simply not having the feature enabled for either
a Site collection, and/or Central Admin (and various other red herrings in my case)<br /><a title="http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on" href="http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on">http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on</a><br /><a title="http://mundeep.wordpress.com/2009/02/17/infopath-forms-services-is-not-turned-on/" href="http://mundeep.wordpress.com/2009/02/17/infopath-forms-services-is-not-turned-on/">http://mundeep.wordpress.com/2009/02/17/infopath-forms-services-is-not-turned-on/</a></p>
        <p>
Basically my source of truth was <strong>SharePoint Manager 2010</strong> (great tool
from <a href="http://spm.codeplex.com/" target="_blank">CODEPLEX</a>) which allows
connections to SharePoint via the APIs as a standalone application (tip: make sure
you launch it in ‘run in administrator’ mode).<br /><br />
From here I saw that on my install I was <strong>missing</strong><strong>Forms Services </strong>listed
in the <strong>Farm’s Service Applications<br /><a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_thumb.png" width="635" height="484" /></a></strong></p>
        <p>
I initially thought it was some permissions issue and that I couldn’t see the service
under that account (even though I was farm admin), so I launched and checked under
the installer account and got the same result.
</p>
        <p>
My next questions were: <strong>How does Forms Services become missing? How do you
manually install/enable it?</strong></p>
        <p>
In this case, I had a classroom SharePoint 2010 VM easily available and looking at
it through SharePoint Manager, low and behold the <strong>Forms Service </strong>service
was there!! Listed.
</p>
        <p>
The machine I was having trouble with was a standard clean install, that I <strong>didn’t </strong>automatically
run the <strong>Configuration Wizard</strong> on – as I wanted to have control over
the naming of DBs. That was pretty much the difference between the two machines.
</p>
        <p>
So I tried a few things:
</p>
        <p>
a) installing just the InfoPath Web Admin Feature - <strong>stsadm -o installfeature
-name IPFSAdminWeb –force </strong>and then activating it with <strong>stsadm -o activatefeature
-name IPFSAdminWeb -url </strong><a href="http://sp2010:10000"><strong>http://sp2010:10000</strong></a><strong> –force</strong> (no
luck, it just gave me the InfoPath config under the Central Admin)
</p>
        <p>
b) reran the configuration wizard
</p>
        <p>
c) repaired setup
</p>
        <p>
d) tried to run just the InfoPath Forms Services MSI from the install source.
</p>
        <p>
…all to no avail.
</p>
        <p>
          <strong>InfoPath Forms Services – </strong>now with ‘deeper’ integration with SharePoint
2010, an internal service but with no real apparent way of getting to it.
</p>
        <p>
          <strong>The Answer:</strong>
          <br />
I got thinking and I decided to attempt a <strong>backup of the Service from my VM
and restore just the Service to the intranet Farm</strong>.
</p>
        <p>
- <strong>Perform a backup of just the configuration</strong></p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_3.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_thumb_3.png" width="644" height="384" />
          </a>
        </p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_thumb_4.png" width="1010" height="114" />
          </a>
        </p>
        <p>
Then from there I did a restore (more in hope than anything) such that this process
would ‘inject’ the right settings into the Farm Database.
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_5.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_thumb_5.png" width="644" height="227" />
          </a>
        </p>
        <p>
At this point anything with <strong>InfoPath Forms Services </strong>on it was a bonus.
</p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
In any rate, here’s the backup file in ZIP format from my VM, that you can use to
restore if ever faced with a similar challenge :)
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:1545f6bf-7625-43c8-ab85-dfcc498b1099" class="wlWriterEditableSmartContent">
          <p>
            <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/InfoPathFormsServices.zip" target="_blank">InfoPathFormsServices.ZIP</a>
          </p>
        </div>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a125981c-195d-453f-8faf-947efac84e14" />
      </body>
      <title>SharePoint 2010: InfoPath Forms Services is not turned on</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,a125981c-195d-453f-8faf-947efac84e14.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/10/25/SharePoint2010InfoPathFormsServicesIsNotTurnedOn.aspx</link>
      <pubDate>Mon, 25 Oct 2010 10:02:10 GMT</pubDate>
      <description>&lt;p&gt;
Here’s something that I hope to save a few hours to you – &lt;strong&gt;InfoPath Forms Services.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I recently ran into this dreaded error – "&lt;a href="http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on"&gt;InfoPath
Forms Services is not turned on&lt;/a&gt;” when trying to configure it from within SharePoint
Central Administration –&amp;gt; General Application Settings.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Forms Services&lt;/strong&gt; is part of &lt;strong&gt;SharePoint Enterprise Services&lt;/strong&gt; (usually
activated via a Farm/Web Application/Site Collection or Site feature) and it relies
upon the &lt;strong&gt;State Service.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
So on our intranet, we’re revamping some InfoPath forms that were working in SP2007
and a new SP2010 using the database detach/attach method saw the intranet up and running…almost…except
for this &lt;strong&gt;InfoPath Forms Services.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Most posts on the web talk about simply not having the feature enabled for either
a Site collection, and/or Central Admin (and various other red herrings in my case)&lt;br&gt;
&lt;a title="http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on" href="http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on"&gt;http://stackoverflow.com/questions/1237956/infopath-forms-services-is-not-turned-on&lt;/a&gt;
&lt;br&gt;
&lt;a title="http://mundeep.wordpress.com/2009/02/17/infopath-forms-services-is-not-turned-on/" href="http://mundeep.wordpress.com/2009/02/17/infopath-forms-services-is-not-turned-on/"&gt;http://mundeep.wordpress.com/2009/02/17/infopath-forms-services-is-not-turned-on/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Basically my source of truth was &lt;strong&gt;SharePoint Manager 2010&lt;/strong&gt; (great tool
from &lt;a href="http://spm.codeplex.com/" target="_blank"&gt;CODEPLEX&lt;/a&gt;) which allows
connections to SharePoint via the APIs as a standalone application (tip: make sure
you launch it in ‘run in administrator’ mode).&lt;br&gt;
&lt;br&gt;
From here I saw that on my install I was &lt;strong&gt;missing&lt;/strong&gt; &lt;strong&gt;Forms Services &lt;/strong&gt;listed
in the &lt;strong&gt;Farm’s Service Applications&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_thumb.png" width="635" height="484"&gt;&lt;/a&gt; &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I initially thought it was some permissions issue and that I couldn’t see the service
under that account (even though I was farm admin), so I launched and checked under
the installer account and got the same result.
&lt;/p&gt;
&lt;p&gt;
My next questions were: &lt;strong&gt;How does Forms Services become missing? How do you
manually install/enable it?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In this case, I had a classroom SharePoint 2010 VM easily available and looking at
it through SharePoint Manager, low and behold the &lt;strong&gt;Forms Service &lt;/strong&gt;service
was there!! Listed.
&lt;/p&gt;
&lt;p&gt;
The machine I was having trouble with was a standard clean install, that I &lt;strong&gt;didn’t &lt;/strong&gt;automatically
run the &lt;strong&gt;Configuration Wizard&lt;/strong&gt; on – as I wanted to have control over
the naming of DBs. That was pretty much the difference between the two machines.
&lt;/p&gt;
&lt;p&gt;
So I tried a few things:
&lt;/p&gt;
&lt;p&gt;
a) installing just the InfoPath Web Admin Feature - &lt;strong&gt;stsadm -o installfeature
-name IPFSAdminWeb –force &lt;/strong&gt;and then activating it with &lt;strong&gt;stsadm -o activatefeature
-name IPFSAdminWeb -url &lt;/strong&gt;&lt;a href="http://sp2010:10000"&gt;&lt;strong&gt;http://sp2010:10000&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; –force&lt;/strong&gt; (no
luck, it just gave me the InfoPath config under the Central Admin)
&lt;/p&gt;
&lt;p&gt;
b) reran the configuration wizard
&lt;/p&gt;
&lt;p&gt;
c) repaired setup
&lt;/p&gt;
&lt;p&gt;
d) tried to run just the InfoPath Forms Services MSI from the install source.
&lt;/p&gt;
&lt;p&gt;
…all to no avail.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;InfoPath Forms Services – &lt;/strong&gt;now with ‘deeper’ integration with SharePoint
2010, an internal service but with no real apparent way of getting to it.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The Answer:&lt;/strong&gt;
&lt;br&gt;
I got thinking and I decided to attempt a &lt;strong&gt;backup of the Service from my VM
and restore just the Service to the intranet Farm&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
- &lt;strong&gt;Perform a backup of just the configuration&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_3.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_thumb_3.png" width="644" height="384"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_thumb_4.png" width="1010" height="114"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Then from there I did a restore (more in hope than anything) such that this process
would ‘inject’ the right settings into the Farm Database.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_5.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/image_thumb_5.png" width="644" height="227"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
At this point anything with &lt;strong&gt;InfoPath Forms Services &lt;/strong&gt;on it was a bonus.
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
In any rate, here’s the backup file in ZIP format from my VM, that you can use to
restore if ever faced with a similar challenge :)
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:1545f6bf-7625-43c8-ab85-dfcc498b1099" class="wlWriterEditableSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010InfoPathFormsServicesisnot_12734/InfoPathFormsServices.zip" target="_blank"&gt;InfoPathFormsServices.ZIP&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a125981c-195d-453f-8faf-947efac84e14" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,a125981c-195d-453f-8faf-947efac84e14.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=ea43f413-7177-4ddf-8acd-fd3c410d5078</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,ea43f413-7177-4ddf-8acd-fd3c410d5078.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,ea43f413-7177-4ddf-8acd-fd3c410d5078.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=ea43f413-7177-4ddf-8acd-fd3c410d5078</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today I decided to crack open the BTS 2010 SharePoint WS Adapter to see if it takes
advantage of the great new interfaces exposed by SharePoint 2010, specifically <strong>Microsoft.SharePoint.Client.dll
and Microsoft.SharePoint.Client.Runtime.dll</strong>.
</p>
        <p>
At a glance, the benefits of this new Client APIs are:
</p>
        <ol>
          <li>
Runs on a non SharePoint installed box.</li>
          <li>
Lightweight and flexible – only get back what you ask for. As opposed to the classic
SP Server API that populates the SPWeb collection (for e.g.) only if you just want
the <strong>title</strong> field and not 10MBs worth of other data.</li>
          <li>
Batch approach – load up several commands and batch them over the wire when needed.</li>
          <li>
Supports both read/write from the client back to SP Server.</li>
          <li>
Uses XML and JSON over the wire – small and fast.</li>
          <li>
We can’t do *everything* we can on the Server Side – e.g. Service Application management,
i.e. kicking off a search index crawl.</li>
        </ol>
        <p>
A little piccy of what’s going on:
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb.png" width="486" height="363" />
          </a>
        </p>
        <p>
Some classic piece of code to achieve document library reading:
</p>
        <strong>
        </strong>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:60e8dfb3-1382-4e2f-9b78-9a4d1ef447b2" class="wlWriterEditableSmartContent">
          <pre style=" width: 836px; height: 410px;background-color:White;overflow: auto;">
            <div>
              <!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
              <span style="color: #008080;"> 1</span>
              <span style="color: #0000FF;">static</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">void</span>
              <span style="color: #000000;"> Main(</span>
              <span style="color: #0000FF;">string</span>
              <span style="color: #000000;">[]
args) </span>
              <span style="color: #008080;"> 2</span>
              <span style="color: #000000;"> { </span>
              <span style="color: #008080;"> 3</span>
              <span style="color: #000000;"> ClientContext
ctx </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">new</span>
              <span style="color: #000000;"> ClientContext(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">http://intranet</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">); </span>
              <span style="color: #008080;"> 4</span>
              <span style="color: #000000;"> Web
web </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> ctx.Web; </span>
              <span style="color: #008080;"> 5</span>
              <span style="color: #000000;"> List
docs </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> web.Lists.GetByTitle(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Shared
Documents</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">); </span>
              <span style="color: #008080;"> 6</span>
              <span style="color: #000000;"> ListItemCollection
items </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> docs.GetItems(CamlQuery.CreateAllItemsQuery()); </span>
              <span style="color: #008080;"> 7</span>
              <span style="color: #000000;"> ctx.Load</span>
              <span style="color: #000000;">&lt;</span>
              <span style="color: #000000;">Web</span>
              <span style="color: #000000;">&gt;</span>
              <span style="color: #000000;">(web); </span>
              <span style="color: #008080;"> 8</span>
              <span style="color: #000000;"> ctx.Load(docs); </span>
              <span style="color: #008080;"> 9</span>
              <span style="color: #000000;"> ctx.Load(items); </span>
              <span style="color: #008080;">10</span>
              <span style="color: #000000;"> ctx.ExecuteQuery(); </span>
              <span style="color: #008080;">11</span>
              <span style="color: #000000;"> Console.WriteLine(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">The
list has {0} items.</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">,
docs.ItemCount); </span>
              <span style="color: #008080;">12</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">foreach</span>
              <span style="color: #000000;"> (ListItem
item </span>
              <span style="color: #0000FF;">in</span>
              <span style="color: #000000;"> items) </span>
              <span style="color: #008080;">13</span>
              <span style="color: #000000;"> { </span>
              <span style="color: #008080;">14</span>
              <span style="color: #000000;"> Console.WriteLine(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Item:{0}</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">,
item[</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Title</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">]); </span>
              <span style="color: #008080;">15</span>
              <span style="color: #000000;"> } </span>
              <span style="color: #008080;">16</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;">delete
an item. </span>
              <span style="color: #008080;">17</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;">items[1].Update(); </span>
              <span style="color: #008080;">18</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;">items[1].DeleteObject(); </span>
              <span style="color: #008080;">19</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;">ctx.Load(items); </span>
              <span style="color: #008080;">20</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;">ctx.ExecuteQuery();</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008080;">21</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #000000;"> Console.ReadLine(); </span>
              <span style="color: #008080;">22</span>
              <span style="color: #000000;"> }</span>
            </div>
          </pre>
          <!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com -->
        </div>
        <p>
          <strong>Note: </strong>Line 10 is where all the magic happens – if you imagine, we
load up the client OM classes and the props etc. are all ‘blank’ until we do an <strong>ExecuteQuery() </strong>which
then populates what we ask for. 
</p>
        <p>
The above sample is pretty simple showing how to connect to a document library on
a ‘remote’ server (security allowing – I didn’t add a ctx.Credentials=… line in the
above, but all possible).
</p>
        <p>
          <strong>So let’s move on a crack open the BTS 2010 SharePoint WS Adapter…</strong>
        </p>
        <p>
Just before we go there I’d like to point out that the <strong>Microsoft.SharePoint.dll</strong> (aka
Server API) has the ability to connect to remote servers, although the code needs
to be executed on a machine that has a local SharePoint install.
</p>
        <p>
e.g.
</p>
        <p>
SPSite site = new SPSite(“http://remoteserver.acme.com”);
</p>
        <p>
SPWeb web = site.OpenWeb();
</p>
        <p>
…
</p>
        <p>
What I am trying to avoid with the BTS SharePoint adapter is the need to have the
‘BTS Web Service’ component installed on remote Farms. Just complicates the issue
far too much with the SharePoint admins. 
</p>
        <p>
          <strong>The BTS 2010 Story</strong>
        </p>
        <p>
I setup and installed the BTS SharePoint WS Adapter through the <strong>Configuration.exe </strong>tool
successfully.
</p>
        <p>
Essentially this tools runs a ‘web site check’ to make sure SharePoint is successfully
setup and installed.
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_3.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_3.png" width="655" height="536" />
          </a>
        </p>
        <p>
To make this happen, the configuration tool runs either:
</p>
        <ol>
          <li>
Microsoft.BizTalk.KwTpm.StsOmInterop3.exe – for WSSv3</li>
          <li>
Microsoft.BizTalk.KwTpm.StsOmInterop4.exe – for WSSv4</li>
        </ol>
        <p>
to determine the site as follows:
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_4.png" width="666" height="157" />
          </a>
        </p>
        <p>
          <strong>Note:</strong> The URL and note the URL in the BTS Configuration above. Here
I’ve already configured the adapter and I’m just showing the commands that the configurator
runs behind the scenes.
</p>
        <p>
Once configuration is complete you will see a new <strong>virtual directory added</strong> 
to your selected site e.g. <a href="http://intranet">http://intranet</a>.
</p>
        <p>
As shown in <strong>IIS Manager.</strong></p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_5.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_5.png" width="284" height="500" />
          </a>
        </p>
        <p>
Depending on the SharePoint version this virtual directory will map to:
</p>
        <ol>
          <li>
C:\Program Files (x86)\Microsoft BizTalk Server 2010\Business Activity Services\BTSharePointV4AdapterWS<br />
or</li>
          <li>
C:\Program Files (x86)\Microsoft BizTalk Server 2010\Business Activity Services\BTSharePointV3AdapterWS
(previous bts2009 adapter)</li>
        </ol>
        <p>
          <strong>A Basic BTS/SharePoint picture</strong>
        </p>
        <p>
Essentially the BTS SharePoint Adapter consists of 2 parts:
</p>
        <ol>
          <li>
A BTS Adapter that talks to the BTS SharePoint WS. This is a ‘classic’ adapter and
does <strong>not talk the newer WCF framework </strong>(which does have advantages
and disadvantages)</li>
          <li>
A BTS SharePoint WS – this does all the work against the SharePoint library and talks
local SharePoint APIs.</li>
        </ol>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_6.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_6.png" width="435" height="266" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Let’s look closer at the <strong>BTSharePointV4AdapterWS folder</strong></p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_7.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_7.png" width="758" height="254" />
          </a>
        </p>
        <p>
- this folder, or addition needs to be available locally to whichever SharePoint site
you are calling through the OOTB BTS SharePoint adapter, even though the SharePoint
APIs support remote Servers.
</p>
        <p>
- the <strong>bin</strong> folder has the Microsoft.BizTalk.KwTpm.WssV4Adapter.WebService.dll
which is 78kb. 
</p>
        <p>
I wanted to find out whether this DLL used the new SharePoint Client APIs when meant
having a peek at the ‘references’ of this DLL in IL.
</p>
        <p>
          <strong>Dissassembling Microsoft.BizTalk.KwTpm.WssV4Adapter.WebService.dll </strong>
        </p>
        <p>
Using .NET Reflector I was able to get this picture…
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_8.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_8.png" width="344" height="226" />
          </a>
        </p>
        <p>
          <strong>NOTE: </strong>on this list there is Microsoft.SharePoint, but <strong>not</strong> Microsoft.SharePoint.Client.dll<br />
(this is not looking good…could be late bound, but… I doubt it)
</p>
        <p>
Digging into the actual <strong>WssAdapter class</strong> we get the following of
note:
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_9.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_9.png" width="1004" height="443" />
          </a>
        </p>
        <p>
The <strong>GetDocuments(string, string, string, Int32, DocExtOfficeIntegration)…</strong> is
a key method.
</p>
        <p>
The APIs show that the 1st parameter is a <strong>siteUrl</strong> (and following
the implementation code through) which has the potential to point to another SharePoint
server to make the connection (in the RequestInfo class if you’re going to dig yourself
:))<br /><strong>Note: the PREVIOUS version, BTS2009 has the same Interface/Method signature
and it requires the BTS SharePoint Adapter WS to be deployed on the remote SharePoint
Server, </strong>even though the signature looks as though it will support the remote
server.
</p>
        <p>
So in conclusion the BTS SharePoint Adapter WebService has:
</p>
        <ol>
          <li>
NOT got any newer SharePoint Client API code within in.</li>
          <li>
The ability to contact a remote server through the WebService APIs.</li>
          <li>
But depends on whether the BTS Adapter will pass the ‘remote’ URL to the ‘local’ WS,
or will the Adapter try to contact the remote SharePoint Server directly looking for
a WS there???</li>
        </ol>
        <p>
I’m thinking it’s the latter…
</p>
        <p>
A little more to unravel the SharePoint mystery…
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ea43f413-7177-4ddf-8acd-fd3c410d5078" />
      </body>
      <title>BizTalk 2010: Musing of the ‘new’ SharePoint 2010 WS Adapter</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,ea43f413-7177-4ddf-8acd-fd3c410d5078.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/10/12/BizTalk2010MusingOfTheNewSharePoint2010WSAdapter.aspx</link>
      <pubDate>Tue, 12 Oct 2010 03:08:00 GMT</pubDate>
      <description>&lt;p&gt;
Today I decided to crack open the BTS 2010 SharePoint WS Adapter to see if it takes
advantage of the great new interfaces exposed by SharePoint 2010, specifically &lt;strong&gt;Microsoft.SharePoint.Client.dll
and Microsoft.SharePoint.Client.Runtime.dll&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
At a glance, the benefits of this new Client APIs are:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Runs on a non SharePoint installed box.&lt;/li&gt;
&lt;li&gt;
Lightweight and flexible – only get back what you ask for. As opposed to the classic
SP Server API that populates the SPWeb collection (for e.g.) only if you just want
the &lt;strong&gt;title&lt;/strong&gt; field and not 10MBs worth of other data.&lt;/li&gt;
&lt;li&gt;
Batch approach – load up several commands and batch them over the wire when needed.&lt;/li&gt;
&lt;li&gt;
Supports both read/write from the client back to SP Server.&lt;/li&gt;
&lt;li&gt;
Uses XML and JSON over the wire – small and fast.&lt;/li&gt;
&lt;li&gt;
We can’t do *everything* we can on the Server Side – e.g. Service Application management,
i.e. kicking off a search index crawl.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
A little piccy of what’s going on:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb.png" width="486" height="363"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Some classic piece of code to achieve document library reading:
&lt;/p&gt;
&lt;strong&gt;&lt;/strong&gt; 
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:60e8dfb3-1382-4e2f-9b78-9a4d1ef447b2" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 836px; height: 410px;background-color:White;overflow: auto;"&gt;
&lt;div&gt;
&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; Main(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;[]
args) &lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #000000;"&gt; { &lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #000000;"&gt; ClientContext
ctx &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; ClientContext(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;http://intranet&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;span style="color: #000000;"&gt; Web
web &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; ctx.Web; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &lt;span style="color: #000000;"&gt; List
docs &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; web.Lists.GetByTitle(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Shared
Documents&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; &lt;span style="color: #000000;"&gt; ListItemCollection
items &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; docs.GetItems(CamlQuery.CreateAllItemsQuery()); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &lt;span style="color: #000000;"&gt; ctx.Load&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Web&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;(web); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; &lt;span style="color: #000000;"&gt; ctx.Load(docs); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;span style="color: #000000;"&gt; ctx.Load(items); &lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;span style="color: #000000;"&gt; ctx.ExecuteQuery(); &lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; &lt;span style="color: #000000;"&gt; Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;The
list has {0} items.&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;,
docs.ItemCount); &lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt; (ListItem
item &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt; items) &lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;span style="color: #000000;"&gt; { &lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt; &lt;span style="color: #000000;"&gt; Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Item:{0}&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;,
item[&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Title&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;]); &lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt; &lt;span style="color: #000000;"&gt; } &lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;delete
an item. &lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt; &lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;items[1].Update(); &lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt; &lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;items[1].DeleteObject(); &lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt; &lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;ctx.Load(items); &lt;/span&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt; &lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;ctx.ExecuteQuery();&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; Console.ReadLine(); &lt;/span&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt; &lt;span style="color: #000000;"&gt; }&lt;/span&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;strong&gt;Note: &lt;/strong&gt;Line 10 is where all the magic happens – if you imagine, we
load up the client OM classes and the props etc. are all ‘blank’ until we do an &lt;strong&gt;ExecuteQuery() &lt;/strong&gt;which
then populates what we ask for. 
&lt;/p&gt;
&lt;p&gt;
The above sample is pretty simple showing how to connect to a document library on
a ‘remote’ server (security allowing – I didn’t add a ctx.Credentials=… line in the
above, but all possible).
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;So let’s move on a crack open the BTS 2010 SharePoint WS Adapter…&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Just before we go there I’d like to point out that the &lt;strong&gt;Microsoft.SharePoint.dll&lt;/strong&gt; (aka
Server API) has the ability to connect to remote servers, although the code needs
to be executed on a machine that has a local SharePoint install.
&lt;/p&gt;
&lt;p&gt;
e.g.
&lt;/p&gt;
&lt;p&gt;
SPSite site = new SPSite(“http://remoteserver.acme.com”);
&lt;/p&gt;
&lt;p&gt;
SPWeb web = site.OpenWeb();
&lt;/p&gt;
&lt;p&gt;
…
&lt;/p&gt;
&lt;p&gt;
What I am trying to avoid with the BTS SharePoint adapter is the need to have the
‘BTS Web Service’ component installed on remote Farms. Just complicates the issue
far too much with the SharePoint admins. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The BTS 2010 Story&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I setup and installed the BTS SharePoint WS Adapter through the &lt;strong&gt;Configuration.exe &lt;/strong&gt;tool
successfully.
&lt;/p&gt;
&lt;p&gt;
Essentially this tools runs a ‘web site check’ to make sure SharePoint is successfully
setup and installed.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_3.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_3.png" width="655" height="536"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
To make this happen, the configuration tool runs either:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Microsoft.BizTalk.KwTpm.StsOmInterop3.exe – for WSSv3&lt;/li&gt;
&lt;li&gt;
Microsoft.BizTalk.KwTpm.StsOmInterop4.exe – for WSSv4&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
to determine the site as follows:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_4.png" width="666" height="157"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Note:&lt;/strong&gt; The URL and note the URL in the BTS Configuration above. Here
I’ve already configured the adapter and I’m just showing the commands that the configurator
runs behind the scenes.
&lt;/p&gt;
&lt;p&gt;
Once configuration is complete you will see a new &lt;strong&gt;virtual directory added&lt;/strong&gt;&amp;nbsp;
to your selected site e.g. &lt;a href="http://intranet"&gt;http://intranet&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
As shown in &lt;strong&gt;IIS Manager.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_5.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_5.png" width="284" height="500"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Depending on the SharePoint version this virtual directory will map to:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
C:\Program Files (x86)\Microsoft BizTalk Server 2010\Business Activity Services\BTSharePointV4AdapterWS&lt;br&gt;
or&lt;/li&gt;
&lt;li&gt;
C:\Program Files (x86)\Microsoft BizTalk Server 2010\Business Activity Services\BTSharePointV3AdapterWS
(previous bts2009 adapter)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;A Basic BTS/SharePoint picture&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Essentially the BTS SharePoint Adapter consists of 2 parts:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
A BTS Adapter that talks to the BTS SharePoint WS. This is a ‘classic’ adapter and
does &lt;strong&gt;not talk the newer WCF framework &lt;/strong&gt;(which does have advantages
and disadvantages)&lt;/li&gt;
&lt;li&gt;
A BTS SharePoint WS – this does all the work against the SharePoint library and talks
local SharePoint APIs.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_6.png" width="435" height="266"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Let’s look closer at the &lt;strong&gt;BTSharePointV4AdapterWS folder&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_7.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_7.png" width="758" height="254"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
- this folder, or addition needs to be available locally to whichever SharePoint site
you are calling through the OOTB BTS SharePoint adapter, even though the SharePoint
APIs support remote Servers.
&lt;/p&gt;
&lt;p&gt;
- the &lt;strong&gt;bin&lt;/strong&gt; folder has the Microsoft.BizTalk.KwTpm.WssV4Adapter.WebService.dll
which is 78kb. 
&lt;/p&gt;
&lt;p&gt;
I wanted to find out whether this DLL used the new SharePoint Client APIs when meant
having a peek at the ‘references’ of this DLL in IL.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Dissassembling Microsoft.BizTalk.KwTpm.WssV4Adapter.WebService.dll &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Using .NET Reflector I was able to get this picture…
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_8.png" width="344" height="226"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;NOTE: &lt;/strong&gt;on this list there is Microsoft.SharePoint, but &lt;strong&gt;not&lt;/strong&gt; Microsoft.SharePoint.Client.dll&lt;br&gt;
(this is not looking good…could be late bound, but… I doubt it)
&lt;/p&gt;
&lt;p&gt;
Digging into the actual &lt;strong&gt;WssAdapter class&lt;/strong&gt; we get the following of
note:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_9.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/BizTalk2010MusingofthenewSharePoint2010W_C651/image_thumb_9.png" width="1004" height="443"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The &lt;strong&gt;GetDocuments(string, string, string, Int32, DocExtOfficeIntegration)…&lt;/strong&gt; is
a key method.
&lt;/p&gt;
&lt;p&gt;
The APIs show that the 1st parameter is a &lt;strong&gt;siteUrl&lt;/strong&gt; (and following
the implementation code through) which has the potential to point to another SharePoint
server to make the connection (in the RequestInfo class if you’re going to dig yourself
:))&lt;br&gt;
&lt;strong&gt;Note: the PREVIOUS version, BTS2009 has the same Interface/Method signature
and it requires the BTS SharePoint Adapter WS to be deployed on the remote SharePoint
Server, &lt;/strong&gt;even though the signature looks as though it will support the remote
server.
&lt;/p&gt;
&lt;p&gt;
So in conclusion the BTS SharePoint Adapter WebService has:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
NOT got any newer SharePoint Client API code within in.&lt;/li&gt;
&lt;li&gt;
The ability to contact a remote server through the WebService APIs.&lt;/li&gt;
&lt;li&gt;
But depends on whether the BTS Adapter will pass the ‘remote’ URL to the ‘local’ WS,
or will the Adapter try to contact the remote SharePoint Server directly looking for
a WS there???&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
I’m thinking it’s the latter…
&lt;/p&gt;
&lt;p&gt;
A little more to unravel the SharePoint mystery…
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ea43f413-7177-4ddf-8acd-fd3c410d5078" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,ea43f413-7177-4ddf-8acd-fd3c410d5078.aspx</comments>
      <category>BizTalk</category>
      <category>BizTalk/2010</category>
      <category>BizTalk/Insights</category>
      <category>BizTalk/SharePoint</category>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=2337dbfb-3232-4688-be47-96ff6a98413f</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,2337dbfb-3232-4688-be47-96ff6a98413f.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,2337dbfb-3232-4688-be47-96ff6a98413f.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=2337dbfb-3232-4688-be47-96ff6a98413f</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The scene looks like this – while teaching a <strong>SharePoint 2010 class </strong>I
decided to build a Feature that used one of the OOTB Service Applications of SharePoint
2010.<br /><br /><a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb.png" width="640" height="467" /></a> 
</p>
        <p>
I decided to create a PDF Converter ‘Feature’ that used the <strong>Word Automation</strong> Services
hosted in SharePoint 2010. Looking into the Word Automation Services, I’d say that
if you’ve already got a PDF creation process going, then stick with it as it appears
this service is pretty simple. However if you’ve got nothing, then Word Automation
Services will be great!<br />
(Having spent a previous life in a graphics company, there are many options that go
with creating just that perfect PDF…I could find none of these here :()<br /><br /><a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_3.png" width="738" height="221" /></a><br />
(yes the pdf icon needs work…)
</p>
        <p>
So I created a VS.NET 2010 Solution with a Feature.<br /><a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_4.png" width="229" height="322" /></a></p>
        <p>
The <strong>PDFConverter.cs </strong>is where the crux of the work is – the rest of
the solution is working out just the right spot to call it.
</p>
        <p>
          <strong>Couple of Interesting Points about the Solution</strong>
        </p>
        <p>
          <strong>1. ScriptLink</strong> – using this from a CustomAction within an Elements
file allows to inject Script into a site where the Feature is Activated. There is
also <strong>ScriptBody</strong> that allows you to inject script code right there.
</p>
        <p>
          <strong>2. RegistrationType</strong> – being declared as a FileType, currently this
will work with <strong>docx</strong>. Feel free to experiment and extend out.<br />
Also, seeing this action is activated on a list item, we need to track what list it
came from <strong>{ListId} </strong>and the item in that list <strong>{ItemId} </strong>which
is an integer.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:618b44f1-5e70-4fe6-bc72-54703a8ebdbc" class="wlWriterEditableSmartContent">
          <pre style=" width: 836px; height: 270px;background-color:White;overflow: auto;">
            <div>
              <!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
              <span style="color: #008080;"> 1</span>
              <span style="color: #000000;">&lt;</span>
              <span style="color: #000000;">Elements
xmlns</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">http://schemas.microsoft.com/sharepoint/</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">&gt;</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 2</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">&lt;</span>
              <span style="color: #000000;">CustomAction
Id</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">MicksPDFScript</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 3</span>
              <span style="color: #000000;"> ScriptSrc</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">~site/_layouts/WordAutomationServices/Scripts/MoveItMoveIt.js</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 4</span>
              <span style="color: #000000;"> Location</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">ScriptLink</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">&gt;</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 5</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">&lt;/</span>
              <span style="color: #000000;">CustomAction</span>
              <span style="color: #000000;">&gt;</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 6</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 7</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">&lt;</span>
              <span style="color: #000000;">CustomAction
Id</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">MicksPDFConverter</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 8</span>
              <span style="color: #000000;"> RegistrationType</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">FileType</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 9</span>
              <span style="color: #000000;"> RegistrationId</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">docx</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">10</span>
              <span style="color: #000000;"> Location</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">EditControlBlock</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">11</span>
              <span style="color: #000000;"> Sequence</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">106</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">12</span>
              <span style="color: #000000;"> Title</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Convert
to PDF</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">13</span>
              <span style="color: #000000;"> ImageUrl</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">~site/_layouts/WordAutomationServices/Images/pdf.gif</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">14</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">&gt;</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">15</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">&lt;</span>
              <span style="color: #000000;">UrlAction
Url</span>
              <span style="color: #000000;">=</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">javascript:MicksOpenDialog('{ListId}','{ItemId}');</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">/&gt;</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">16</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">&lt;/</span>
              <span style="color: #000000;">CustomAction</span>
              <span style="color: #000000;">&gt;</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">17</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">18</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">&lt;/</span>
              <span style="color: #000000;">Elements</span>
              <span style="color: #000000;">&gt;</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">19</span>
              <span style="color: #000000;">
              </span>
            </div>
          </pre>
          <!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com -->
        </div>
        <p>
          <strong>3. Code that actually does the work</strong> – is pretty simple really with <strong>Folders
and entire Document Libraries able to be passed to the Conversion Job.</strong><br />
One annoying thing is that below in Line15, <strong>conversionJob.Start()</strong> is
called, really a job gets created and added to the Job Timer queue. Regardless of
what goes on, the <strong>Started</strong> property always returns <strong>true.</strong><br /><br />
Typically I’ve found the Timer Job to kick in every 5 mins to process the conversions
and eventually a PDF file is seen in the library.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:099cac3e-eb47-48a6-a341-1ce82e3efbf2" class="wlWriterEditableSmartContent">
          <pre style=" width: 836px; height: 270px;background-color:White;overflow: auto;">
            <div>
              <!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
              <span style="color: #008080;"> 1</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">public</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">bool</span>
              <span style="color: #000000;"> Convert(</span>
              <span style="color: #0000FF;">string</span>
              <span style="color: #000000;"> srcFile,</span>
              <span style="color: #0000FF;">string</span>
              <span style="color: #000000;"> dstFile) </span>
              <span style="color: #008080;"> 2</span>
              <span style="color: #000000;"> { </span>
              <span style="color: #008080;"> 3</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 4</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;">create
references to the Word Services.</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008080;"> 5</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #000000;"> var
wdProxy </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> (WordServiceApplicationProxy)SPServiceContext.Current.GetDefaultProxy(</span>
              <span style="color: #0000FF;">typeof</span>
              <span style="color: #000000;">(WordServiceApplicationProxy)); </span>
              <span style="color: #008080;"> 6</span>
              <span style="color: #000000;"> var
conversionJob </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">new</span>
              <span style="color: #000000;"> ConversionJob(wdProxy); </span>
              <span style="color: #008080;"> 7</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 8</span>
              <span style="color: #000000;"> conversionJob.UserToken </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> SPContext.Current.Web.CurrentUser.UserToken; </span>
              <span style="color: #008080;"> 9</span>
              <span style="color: #000000;"> conversionJob.Name </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Micks
PDF Conversion Job </span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;"> DateTime.Now.ToString(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">hhmmss</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">); </span>
              <span style="color: #008080;">10</span>
              <span style="color: #000000;"> conversionJob.Settings.OutputFormat </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> SaveFormat.PDF; </span>
              <span style="color: #008080;">11</span>
              <span style="color: #000000;"> conversionJob.Settings.OutputSaveBehavior </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> SaveBehavior.AlwaysOverwrite; </span>
              <span style="color: #008080;">12</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">13</span>
              <span style="color: #000000;"> conversionJob.AddFile(srcFile,
dstFile); </span>
              <span style="color: #008080;">14</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">15</span>
              <span style="color: #000000;"> conversionJob.Start(); </span>
              <span style="color: #008080;">16</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">return</span>
              <span style="color: #000000;"> (conversionJob.Started); </span>
              <span style="color: #008080;">17</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">18</span>
              <span style="color: #000000;"> }</span>
            </div>
          </pre>
          <!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com -->
        </div>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
A couple of screen shots in action:
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_5.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_5.png" width="501" height="431" />
          </a>
        </p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_6.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_6.png" width="502" height="238" />
          </a>
        </p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_7.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_7.png" width="653" height="391" />
          </a>
        </p>
        <p>
Of course this is not production ready, but it should give you a great start in getting
there. To start, simply install and Activate the Feature on a site collection to see
the functionality.
</p>
        <p>
Go to a document library and activate the item drop down to see the <strong>Convert
to PDF</strong> option. <strong>Must be a DOCX file</strong> currently.
</p>
        <p>
Grab the VSNET2010 Solution and go for it – have fun.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:0b5a6e61-5690-4a40-adee-4f630a4ef089" class="wlWriterEditableSmartContent">
          <p>
            <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/WordAuto.zip" target="_blank">PDF
CONVERTER SOLUTION</a>
          </p>
        </div>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=2337dbfb-3232-4688-be47-96ff6a98413f" />
      </body>
      <title>SharePoint 2010: A Simple Word to PDF Converter using Word Automation Services</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,2337dbfb-3232-4688-be47-96ff6a98413f.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/09/20/SharePoint2010ASimpleWordToPDFConverterUsingWordAutomationServices.aspx</link>
      <pubDate>Mon, 20 Sep 2010 11:06:48 GMT</pubDate>
      <description>&lt;p&gt;
The scene looks like this – while teaching a &lt;strong&gt;SharePoint 2010 class &lt;/strong&gt;I
decided to build a Feature that used one of the OOTB Service Applications of SharePoint
2010.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb.png" width="640" height="467"&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
I decided to create a PDF Converter ‘Feature’ that used the &lt;strong&gt;Word Automation&lt;/strong&gt; Services
hosted in SharePoint 2010. Looking into the Word Automation Services, I’d say that
if you’ve already got a PDF creation process going, then stick with it as it appears
this service is pretty simple. However if you’ve got nothing, then Word Automation
Services will be great!&lt;br&gt;
(Having spent a previous life in a graphics company, there are many options that go
with creating just that perfect PDF…I could find none of these here :()&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_3.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_3.png" width="738" height="221"&gt;&lt;/a&gt; 
&lt;br&gt;
(yes the pdf icon needs work…)
&lt;/p&gt;
&lt;p&gt;
So I created a VS.NET 2010 Solution with a Feature.&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_4.png" width="229" height="322"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The &lt;strong&gt;PDFConverter.cs &lt;/strong&gt;is where the crux of the work is – the rest of
the solution is working out just the right spot to call it.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Couple of Interesting Points about the Solution&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;1. ScriptLink&lt;/strong&gt; – using this from a CustomAction within an Elements
file allows to inject Script into a site where the Feature is Activated. There is
also &lt;strong&gt;ScriptBody&lt;/strong&gt; that allows you to inject script code right there.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;2. RegistrationType&lt;/strong&gt; – being declared as a FileType, currently this
will work with &lt;strong&gt;docx&lt;/strong&gt;. Feel free to experiment and extend out.&lt;br&gt;
Also, seeing this action is activated on a list item, we need to track what list it
came from &lt;strong&gt;{ListId} &lt;/strong&gt;and the item in that list &lt;strong&gt;{ItemId} &lt;/strong&gt;which
is an integer.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:618b44f1-5e70-4fe6-bc72-54703a8ebdbc" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 836px; height: 270px;background-color:White;overflow: auto;"&gt;
&lt;div&gt;
&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Elements
xmlns&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;http://schemas.microsoft.com/sharepoint/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;CustomAction
Id&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MicksPDFScript&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #000000;"&gt; ScriptSrc&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;~site/_layouts/WordAutomationServices/Scripts/MoveItMoveIt.js&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;span style="color: #000000;"&gt; Location&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ScriptLink&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;CustomAction&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;CustomAction
Id&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;MicksPDFConverter&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; &lt;span style="color: #000000;"&gt; RegistrationType&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;FileType&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;span style="color: #000000;"&gt; RegistrationId&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;docx&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;span style="color: #000000;"&gt; Location&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;EditControlBlock&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; &lt;span style="color: #000000;"&gt; Sequence&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;106&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt; &lt;span style="color: #000000;"&gt; Title&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Convert
to PDF&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;span style="color: #000000;"&gt; ImageUrl&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;~site/_layouts/WordAutomationServices/Images/pdf.gif&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;UrlAction
Url&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;javascript:MicksOpenDialog('{ListId}','{ItemId}');&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;CustomAction&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;Elements&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;strong&gt;3. Code that actually does the work&lt;/strong&gt; – is pretty simple really with &lt;strong&gt;Folders
and entire Document Libraries able to be passed to the Conversion Job.&lt;/strong&gt;
&lt;br&gt;
One annoying thing is that below in Line15, &lt;strong&gt;conversionJob.Start()&lt;/strong&gt; is
called, really a job gets created and added to the Job Timer queue. Regardless of
what goes on, the &lt;strong&gt;Started&lt;/strong&gt; property always returns &lt;strong&gt;true.&lt;/strong&gt;
&lt;br&gt;
&lt;br&gt;
Typically I’ve found the Timer Job to kick in every 5 mins to process the conversions
and eventually a PDF file is seen in the library.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:099cac3e-eb47-48a6-a341-1ce82e3efbf2" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 836px; height: 270px;background-color:White;overflow: auto;"&gt;
&lt;div&gt;
&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; Convert(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; srcFile,&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; dstFile) &lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #000000;"&gt; { &lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;create
references to the Word Services.&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; var
wdProxy &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; (WordServiceApplicationProxy)SPServiceContext.Current.GetDefaultProxy(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(WordServiceApplicationProxy)); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; &lt;span style="color: #000000;"&gt; var
conversionJob &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; ConversionJob(wdProxy); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; &lt;span style="color: #000000;"&gt; conversionJob.UserToken &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; SPContext.Current.Web.CurrentUser.UserToken; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;span style="color: #000000;"&gt; conversionJob.Name &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Micks
PDF Conversion Job &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; DateTime.Now.ToString(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;hhmmss&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;span style="color: #000000;"&gt; conversionJob.Settings.OutputFormat &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; SaveFormat.PDF; &lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; &lt;span style="color: #000000;"&gt; conversionJob.Settings.OutputSaveBehavior &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; SaveBehavior.AlwaysOverwrite; &lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;span style="color: #000000;"&gt; conversionJob.AddFile(srcFile,
dstFile); &lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt; &lt;span style="color: #000000;"&gt; conversionJob.Start(); &lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; (conversionJob.Started); &lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt; &lt;span style="color: #000000;"&gt; }&lt;/span&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
A couple of screen shots in action:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_5.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_5.png" width="501" height="431"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_6.png" width="502" height="238"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_7.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/image_thumb_7.png" width="653" height="391"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Of course this is not production ready, but it should give you a great start in getting
there. To start, simply install and Activate the Feature on a site collection to see
the functionality.
&lt;/p&gt;
&lt;p&gt;
Go to a document library and activate the item drop down to see the &lt;strong&gt;Convert
to PDF&lt;/strong&gt; option. &lt;strong&gt;Must be a DOCX file&lt;/strong&gt; currently.
&lt;/p&gt;
&lt;p&gt;
Grab the VSNET2010 Solution and go for it – have fun.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:0b5a6e61-5690-4a40-adee-4f630a4ef089" class="wlWriterEditableSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010ASimpleWordtoPDFConverteru_12456/WordAuto.zip" target="_blank"&gt;PDF
CONVERTER SOLUTION&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=2337dbfb-3232-4688-be47-96ff6a98413f" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,2337dbfb-3232-4688-be47-96ff6a98413f.aspx</comments>
      <category>.NET Developer</category>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=1b8f74db-b38e-487f-9877-f3879cb70114</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,1b8f74db-b38e-487f-9877-f3879cb70114.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,1b8f74db-b38e-487f-9877-f3879cb70114.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=1b8f74db-b38e-487f-9877-f3879cb70114</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The other day I had a need to create many word documents in code and publish them
up to a SharePoint 2010 site.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:fb3bccb3-0e64-477b-b51f-118189c602c0" class="wlWriterEditableSmartContent">
          <pre style=" width: 742px; height: 202px;background-color:White;overflow: auto;">
            <div>
              <!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
              <span style="color: #008080;"> 1</span>
              <span style="color: #0000FF;">static</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">void</span>
              <span style="color: #000000;"> Main(</span>
              <span style="color: #0000FF;">string</span>
              <span style="color: #000000;">[]
args) </span>
              <span style="color: #008080;"> 2</span>
              <span style="color: #000000;"> { </span>
              <span style="color: #008080;"> 3</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">int</span>
              <span style="color: #000000;"> iMAXDocs </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800080;">200</span>
              <span style="color: #000000;">; </span>
              <span style="color: #008080;"> 4</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">string</span>
              <span style="color: #000000;"> fpath </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> Path.Combine(Directory.GetCurrentDirectory(), </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Docs</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">); </span>
              <span style="color: #008080;"> 5</span>
              <span style="color: #000000;"> Directory.CreateDirectory(fpath); </span>
              <span style="color: #008080;"> 6</span>
              <span style="color: #000000;"> Console.WriteLine(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Path
created</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">); </span>
              <span style="color: #008080;"> 7</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">for</span>
              <span style="color: #000000;"> (</span>
              <span style="color: #0000FF;">int</span>
              <span style="color: #000000;"> i </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800080;">0</span>
              <span style="color: #000000;">;
i </span>
              <span style="color: #000000;">&lt;</span>
              <span style="color: #000000;"> iMAXDocs;
i</span>
              <span style="color: #000000;">++</span>
              <span style="color: #000000;">) </span>
              <span style="color: #008080;"> 8</span>
              <span style="color: #000000;"> { </span>
              <span style="color: #008080;"> 9</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">string</span>
              <span style="color: #000000;"> docname </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> Path.Combine(fpath, </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Doc</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;"> i.ToString() </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">.docx</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">); </span>
              <span style="color: #008080;">10</span>
              <span style="color: #000000;"> CreateWordDoc(docname); </span>
              <span style="color: #008080;">11</span>
              <span style="color: #000000;"> Console.WriteLine(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Created
Doc {0} of {1}</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">,
i, iMAXDocs); </span>
              <span style="color: #008080;">12</span>
              <span style="color: #000000;"> } </span>
              <span style="color: #008080;">13</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">14</span>
              <span style="color: #000000;"> }</span>
            </div>
          </pre>
          <!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com -->
        </div>
        <p>
So essentially it went something like that…with the key really being line#10 – <strong>CreateWordDoc</strong>(…).
The CreateWordDoc routine also adds a couple of custom String properties to the document.
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:643186a0-d267-4208-ad57-15c56761bb09" class="wlWriterEditableSmartContent">
          <pre style=" width: 836px; height: 270px;background-color:White;overflow: auto;">
            <div>
              <!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
              <span style="color: #008080;"> 1</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">private</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">static</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">void</span>
              <span style="color: #000000;"> CreateWordDoc(</span>
              <span style="color: #0000FF;">string</span>
              <span style="color: #000000;"> docname) </span>
              <span style="color: #008080;"> 2</span>
              <span style="color: #000000;"> { </span>
              <span style="color: #008080;"> 3</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">using</span>
              <span style="color: #000000;"> (WordprocessingDocument
package </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 4</span>
              <span style="color: #000000;"> WordprocessingDocument.Create(docname,
WordprocessingDocumentType.Document)) </span>
              <span style="color: #008080;"> 5</span>
              <span style="color: #000000;"> { </span>
              <span style="color: #008080;"> 6</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;"> Add
a new main document part. </span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008080;"> 7</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #000000;"> package.AddMainDocumentPart(); </span>
              <span style="color: #008080;"> 8</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;"> 9</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;"> Create
the Document DOM - which could be from a template XML file or so. </span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008080;">10</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #000000;"> package.MainDocumentPart.Document </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">11</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">new</span>
              <span style="color: #000000;"> Document( </span>
              <span style="color: #008080;">12</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">new</span>
              <span style="color: #000000;"> Body( </span>
              <span style="color: #008080;">13</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">new</span>
              <span style="color: #000000;"> Paragraph( </span>
              <span style="color: #008080;">14</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">new</span>
              <span style="color: #000000;"> Run( </span>
              <span style="color: #008080;">15</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">new</span>
              <span style="color: #000000;"> Text(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">Hello
World!</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">))))); </span>
              <span style="color: #008080;">16</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">17</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;">add
props.</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008080;">18</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #000000;"> CustomFilePropertiesPart
pt </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> package.CustomFilePropertiesPart; </span>
              <span style="color: #008080;">19</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">if</span>
              <span style="color: #000000;"> (pt</span>
              <span style="color: #000000;">==</span>
              <span style="color: #0000FF;">null</span>
              <span style="color: #000000;">) </span>
              <span style="color: #008080;">20</span>
              <span style="color: #000000;"> pt </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;"> package.AddCustomFilePropertiesPart(); </span>
              <span style="color: #008080;">21</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">22</span>
              <span style="color: #000000;"> XmlDocument
xdoc </span>
              <span style="color: #000000;">=</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #0000FF;">new</span>
              <span style="color: #000000;"> XmlDocument(); </span>
              <span style="color: #008080;">23</span>
              <span style="color: #000000;"> xdoc.LoadXml(</span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">&lt;Properties
xmlns='http://schemas.openxmlformats.org/officeDocument/2006/custom-properties' </span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">24</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">xmlns:vt='http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'&gt;</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">25</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">&lt;property
fmtid='{D5CDD505-2E9C-101B-9397-08002B2CF9AE}' pid='2' name='temp'&gt; </span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">26</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">&lt;vt:lpwstr&gt;Done
in Open XML&lt;/vt:lpwstr&gt;</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">27</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">&lt;/property&gt;</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">28</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">&lt;property
fmtid='{D5CDD505-2E9C-101B-9397-08002B2CF9AE}' pid='3' name='micksdemo'&gt;</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">29</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">&lt;vt:lpwstr&gt;SharePoint
is Cool&lt;/vt:lpwstr&gt;</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">30</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">&lt;/property&gt;</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">31</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #000000;">+</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #800000;">"</span>
              <span style="color: #800000;">&lt;/Properties&gt;</span>
              <span style="color: #800000;">"</span>
              <span style="color: #000000;">); </span>
              <span style="color: #008080;">32</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">33</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;">save
the props</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008080;">34</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #000000;"> xdoc.Save(pt.GetStream()); </span>
              <span style="color: #008080;">35</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">36</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008000;">//</span>
              <span style="color: #008000;"> Save
changes to the main document part. </span>
              <span style="color: #008000;">
              </span>
              <span style="color: #008080;">37</span>
              <span style="color: #008000;">
              </span>
              <span style="color: #000000;"> package.MainDocumentPart.Document.Save(); </span>
              <span style="color: #008080;">38</span>
              <span style="color: #000000;">
              </span>
              <span style="color: #008080;">39</span>
              <span style="color: #000000;"> } </span>
              <span style="color: #008080;">40</span>
              <span style="color: #000000;"> }</span>
            </div>
          </pre>
          <!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com -->
        </div>
        <p>
All in all pretty straight forward using <strong>OpenXML Format SDK 2.0</strong></p>
        <p>
Here’s the VS.NET2010 Solution of the above code - 
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:23110ca9-876c-4ede-8fd8-f20f123c93af" class="wlWriterEditableSmartContent">
          <p>
            <a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010CreatingWordDocumentswitho_C120/WordDocCreator.zip" target="_blank">WordDocCreator</a>
          </p>
        </div>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=1b8f74db-b38e-487f-9877-f3879cb70114" />
      </body>
      <title>SharePoint 2010: Creating Word Documents without Word</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,1b8f74db-b38e-487f-9877-f3879cb70114.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/09/20/SharePoint2010CreatingWordDocumentsWithoutWord.aspx</link>
      <pubDate>Mon, 20 Sep 2010 03:44:10 GMT</pubDate>
      <description>&lt;p&gt;
The other day I had a need to create many word documents in code and publish them
up to a SharePoint 2010 site.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:fb3bccb3-0e64-477b-b51f-118189c602c0" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 742px; height: 202px;background-color:White;overflow: auto;"&gt;
&lt;div&gt;
&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; Main(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;[]
args) &lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #000000;"&gt; { &lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; iMAXDocs &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;200&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; fpath &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; Path.Combine(Directory.GetCurrentDirectory(), &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Docs&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &lt;span style="color: #000000;"&gt; Directory.CreateDirectory(fpath); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; &lt;span style="color: #000000;"&gt; Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Path
created&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;
i &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; iMAXDocs;
i&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; &lt;span style="color: #000000;"&gt; { &lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; docname &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; Path.Combine(fpath, &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Doc&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; i.ToString() &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;.docx&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;span style="color: #000000;"&gt; CreateWordDoc(docname); &lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; &lt;span style="color: #000000;"&gt; Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Created
Doc {0} of {1}&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;,
i, iMAXDocs); &lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt; &lt;span style="color: #000000;"&gt; } &lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt; &lt;span style="color: #000000;"&gt; }&lt;/span&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;
&lt;/div&gt;
&lt;p&gt;
So essentially it went something like that…with the key really being line#10 – &lt;strong&gt;CreateWordDoc&lt;/strong&gt;(…).
The CreateWordDoc routine also adds a couple of custom String properties to the document.
&lt;/p&gt;
&lt;p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:643186a0-d267-4208-ad57-15c56761bb09" class="wlWriterEditableSmartContent"&gt;&lt;pre style=" width: 836px; height: 270px;background-color:White;overflow: auto;"&gt;
&lt;div&gt;
&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; CreateWordDoc(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; docname) &lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #000000;"&gt; { &lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; (WordprocessingDocument
package &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;span style="color: #000000;"&gt; WordprocessingDocument.Create(docname,
WordprocessingDocumentType.Document)) &lt;/span&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &lt;span style="color: #000000;"&gt; { &lt;/span&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Add
a new main document part. &lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; package.AddMainDocumentPart(); &lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Create
the Document DOM - which could be from a template XML file or so. &lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; package.MainDocumentPart.Document &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Document( &lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Body( &lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Paragraph( &lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Run( &lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Text(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Hello
World!&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;))))); &lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;add
props.&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; CustomFilePropertiesPart
pt &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; package.CustomFilePropertiesPart; &lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (pt&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt; &lt;span style="color: #000000;"&gt; pt &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; package.AddCustomFilePropertiesPart(); &lt;/span&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt; &lt;span style="color: #000000;"&gt; XmlDocument
xdoc &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; XmlDocument(); &lt;/span&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt; &lt;span style="color: #000000;"&gt; xdoc.LoadXml(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;Properties
xmlns='http://schemas.openxmlformats.org/officeDocument/2006/custom-properties' &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;xmlns:vt='http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;property
fmtid='{D5CDD505-2E9C-101B-9397-08002B2CF9AE}' pid='2' name='temp'&amp;gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;26&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;vt:lpwstr&amp;gt;Done
in Open XML&amp;lt;/vt:lpwstr&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;27&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;28&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;property
fmtid='{D5CDD505-2E9C-101B-9397-08002B2CF9AE}' pid='3' name='micksdemo'&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;29&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;vt:lpwstr&amp;gt;SharePoint
is Cool&amp;lt;/vt:lpwstr&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;30&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;31&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/Properties&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008080;"&gt;32&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;33&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;save
the props&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;34&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; xdoc.Save(pt.GetStream()); &lt;/span&gt;&lt;span style="color: #008080;"&gt;35&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;36&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Save
changes to the main document part. &lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;37&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; package.MainDocumentPart.Document.Save(); &lt;/span&gt;&lt;span style="color: #008080;"&gt;38&lt;/span&gt; &lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008080;"&gt;39&lt;/span&gt; &lt;span style="color: #000000;"&gt; } &lt;/span&gt;&lt;span style="color: #008080;"&gt;40&lt;/span&gt; &lt;span style="color: #000000;"&gt; }&lt;/span&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;
&lt;/div&gt;
&gt;
&lt;p&gt;
All in all pretty straight forward using &lt;strong&gt;OpenXML Format SDK 2.0&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Here’s the VS.NET2010 Solution of the above code - 
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:23110ca9-876c-4ede-8fd8-f20f123c93af" class="wlWriterEditableSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/2010/SharePoint2010CreatingWordDocumentswitho_C120/WordDocCreator.zip" target="_blank"&gt;WordDocCreator&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=1b8f74db-b38e-487f-9877-f3879cb70114" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,1b8f74db-b38e-487f-9877-f3879cb70114.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=250bde69-39c6-4033-97cb-f288a66b8e32</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,250bde69-39c6-4033-97cb-f288a66b8e32.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,250bde69-39c6-4033-97cb-f288a66b8e32.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=250bde69-39c6-4033-97cb-f288a66b8e32</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/TechEd2010MasteringMicrosoftIntegrationS_C7D7/Integration%20-%20Course%20Agenda_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Integration - Course Agenda" border="0" alt="Integration - Course Agenda" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/TechEd2010MasteringMicrosoftIntegrationS_C7D7/Integration%20-%20Course%20Agenda_thumb.png" width="644" height="364" />
          </a>
        </p>
        <p>
Well as TechEd 2010 draws to a close this year in Australia, I had a great time getting
away from it all and certainly experiencing a couple of firsts. For me this was one
of the better TechEd’s I had been to – the sessions were a little light on, but the
labs + exams made up for that big time.
</p>
        <p>
So <a href="http://blogs.breezetraining.com.au/scotts" target="_blank">Scotty</a> and
I developed an <strong>Integration Pre Conference Training Session </strong>aimed
at working out which MS Integration technology to run where – unscrambling the mess.
We got a great turn out for the training in terms of numbers – we beat SharePoint
2010 dev + admin!!! :)
</p>
        <p>
For all of you whom I had the pleasure of training this week – well done! I hope you
enjoyed it and it was great sharing that time with you. The sun, sand, BizTalk and
Azure…what could be better?? :)
</p>
        <p>
As promised – here are the slides from those two days.
</p>
        <p>
          <iframe title="Preview" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" style="width:98px;height:115px;padding:0;background-color:#fcfcfc;" src="http://cid-caf608907d66ab49.office.live.com/embedicon.aspx/.Public/TechEd2010/TechEd%202010%20Integration%20Solution.zip">
          </iframe>
        </p>
        <p>
Keep smiling, 
<br />
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=250bde69-39c6-4033-97cb-f288a66b8e32" />
      </body>
      <title>TechEd 2010: Mastering Microsoft Integration Solutions</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,250bde69-39c6-4033-97cb-f288a66b8e32.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/08/27/TechEd2010MasteringMicrosoftIntegrationSolutions.aspx</link>
      <pubDate>Fri, 27 Aug 2010 04:40:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/TechEd2010MasteringMicrosoftIntegrationS_C7D7/Integration%20-%20Course%20Agenda_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Integration - Course Agenda" border="0" alt="Integration - Course Agenda" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/TechEd2010MasteringMicrosoftIntegrationS_C7D7/Integration%20-%20Course%20Agenda_thumb.png" width="644" height="364"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Well as TechEd 2010 draws to a close this year in Australia, I had a great time getting
away from it all and certainly experiencing a couple of firsts. For me this was one
of the better TechEd’s I had been to – the sessions were a little light on, but the
labs + exams made up for that big time.
&lt;/p&gt;
&lt;p&gt;
So &lt;a href="http://blogs.breezetraining.com.au/scotts" target="_blank"&gt;Scotty&lt;/a&gt; and
I developed an &lt;strong&gt;Integration Pre Conference Training Session &lt;/strong&gt;aimed
at working out which MS Integration technology to run where – unscrambling the mess.
We got a great turn out for the training in terms of numbers – we beat SharePoint
2010 dev + admin!!! :)
&lt;/p&gt;
&lt;p&gt;
For all of you whom I had the pleasure of training this week – well done! I hope you
enjoyed it and it was great sharing that time with you. The sun, sand, BizTalk and
Azure…what could be better?? :)
&lt;/p&gt;
&lt;p&gt;
As promised – here are the slides from those two days.
&lt;/p&gt;
&lt;p&gt;
&lt;iframe title="Preview" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" style="width:98px;height:115px;padding:0;background-color:#fcfcfc;" src="http://cid-caf608907d66ab49.office.live.com/embedicon.aspx/.Public/TechEd2010/TechEd%202010%20Integration%20Solution.zip"&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;p&gt;
Keep smiling, 
&lt;br&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=250bde69-39c6-4033-97cb-f288a66b8e32" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,250bde69-39c6-4033-97cb-f288a66b8e32.aspx</comments>
      <category>AppFabricServer</category>
      <category>Azure</category>
      <category>BizTalk</category>
      <category>Events</category>
      <category>Events/TechEd/2010</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=1922491d-23f6-4c5e-b6c5-a6533e693d7a</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,1922491d-23f6-4c5e-b6c5-a6533e693d7a.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,1922491d-23f6-4c5e-b6c5-a6533e693d7a.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=1922491d-23f6-4c5e-b6c5-a6533e693d7a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Olaf and I were cracking away on some SharePoint 2010 work which we thought should
be simple…point SPMetal to the site and start LINQ-ing to our hearts content…..
</p>
        <p>
with the one exception that we couldn’t select items from a list based on their <strong>Content
Type</strong>.
</p>
        <p>
By default <strong>SPMetal.exe doesn’t include these ‘system’ fields</strong> (apart
from ID + Title – go figure) and the secret is to use an <strong>Override file.</strong></p>
        <p>
The good oil is:<a title="http://msdn.microsoft.com/en-us/library/ee535056.aspx" href="http://msdn.microsoft.com/en-us/library/ee535056.aspx">http://msdn.microsoft.com/en-us/library/ee535056.aspx</a><br />
(Here’s a good article on how .NET Types are mapped to SharePoint - <a title="http://msdn.microsoft.com/en-us/library/ee536245.aspx" href="http://msdn.microsoft.com/en-us/library/ee536245.aspx">http://msdn.microsoft.com/en-us/library/ee536245.aspx</a>)
</p>
        <p>
          <strong>The simple override/parameters file:</strong>
        </p>
        <pre style="font-family: consolas">
          <span style="color: blue">&lt;</span>
          <span style="color: #a31515">Web</span>
          <span style="color: blue"> </span>
          <span style="color: red">AccessModifier</span>
          <span style="color: blue">=</span>"<span style="color: blue">Internal</span>"<span style="color: blue"> </span><span style="color: red">xmlns</span><span style="color: blue">=</span>"<span style="color: blue">http://schemas.microsoft.com/SharePoint/2009/spmetal</span>"<span style="color: blue">&gt;</span><br /><span style="color: blue">  &lt;</span><span style="color: #a31515">ContentType</span><span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>"<span style="color: blue">Item</span>"<span style="color: blue"> </span><span style="color: red">Class</span><span style="color: blue">=</span>"<span style="color: blue">Item</span>"<span style="color: blue">&gt;</span><br /><span style="color: blue">    &lt;</span><span style="color: #a31515">Column</span><span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>"<span style="color: blue">ContentType</span>"<span style="color: blue"> </span><span style="color: red">Member</span><span style="color: blue">=</span>"<span style="color: blue">ContentType</span>"<span style="color: blue"> /&gt;</span><br /><span style="color: blue">   </span><br /><span style="color: blue">  &lt;/</span><span style="color: #a31515">ContentType</span><span style="color: blue">&gt;</span><br /><span style="color: blue">  </span><br /><span style="color: blue">&lt;/</span><span style="color: #a31515">Web</span><span style="color: blue">&gt;</span><br /></pre>
        <p>
 
</p>
        <p>
          <strong>The SPMetal Command Line</strong>
        </p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/Shar.exeandsystemfieldsnamelyContentType_FF88/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/Shar.exeandsystemfieldsnamelyContentType_FF88/image_thumb.png" width="667" height="52" />
          </a>
        </p>
        <p>
          <strong>The VS.NET Code</strong>
        </p>
        <blockquote>
          <pre style="font-family: consolas"> <span style="color: blue">static</span> <span style="color: blue">void</span> Main(<span style="color: blue">string</span>[]
args)<br />
        {<br />
            <span style="color: blue">using</span> (<span style="color: #2b91af">BreezeDataContext</span> dc
= <span style="color: blue">new</span> <span style="color: #2b91af">BreezeDataContext</span>(<span style="color: #a31515">"http://breezelocal"</span>))<br />
            {<br />
                <span style="color: blue">var</span> myitems
= <span style="color: blue">from</span> i <span style="color: blue">in</span> dc.GetList&lt;<span style="color: #2b91af">ContentListTraining</span>&gt;(<span style="color: #a31515">"My
Content List"</span>)<br />
                              <span style="color: blue">where</span> i.ContentType
== <span style="color: #a31515">"Training"</span><br />
                              <span style="color: blue">select</span> i;<br />
                <span style="color: blue">var</span> courses
= myitems.ToList&lt;<span style="color: #2b91af">ContentListTraining</span>&gt;();<br /><br />
                <span style="color: #2b91af">Console</span>.WriteLine(<span style="color: #a31515">"There
are {0} items"</span>,courses[0].Title);<br />
                    
<br />
            }<br /><br />
            <span style="color: #2b91af">Console</span>.ReadLine();<br />
        }</pre>
        </blockquote>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=1922491d-23f6-4c5e-b6c5-a6533e693d7a" />
      </body>
      <title>SharePoint 2010: SPMetal.exe and system fields namely ContentType</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,1922491d-23f6-4c5e-b6c5-a6533e693d7a.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/07/28/SharePoint2010SPMetalexeAndSystemFieldsNamelyContentType.aspx</link>
      <pubDate>Wed, 28 Jul 2010 08:10:19 GMT</pubDate>
      <description>&lt;p&gt;
Olaf and I were cracking away on some SharePoint 2010 work which we thought should
be simple…point SPMetal to the site and start LINQ-ing to our hearts content…..
&lt;/p&gt;
&lt;p&gt;
with the one exception that we couldn’t select items from a list based on their &lt;strong&gt;Content
Type&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
By default &lt;strong&gt;SPMetal.exe doesn’t include these ‘system’ fields&lt;/strong&gt; (apart
from ID + Title – go figure) and the secret is to use an &lt;strong&gt;Override file.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The good oil is:&lt;a title="http://msdn.microsoft.com/en-us/library/ee535056.aspx" href="http://msdn.microsoft.com/en-us/library/ee535056.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee535056.aspx&lt;/a&gt;
&lt;br&gt;
(Here’s a good article on how .NET Types are mapped to SharePoint - &lt;a title="http://msdn.microsoft.com/en-us/library/ee536245.aspx" href="http://msdn.microsoft.com/en-us/library/ee536245.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee536245.aspx&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The simple override/parameters file:&lt;/strong&gt;
&lt;/p&gt;
&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Web&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;AccessModifier&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Internal&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;http://schemas.microsoft.com/SharePoint/2009/spmetal&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: blue"&gt;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ContentType&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Item&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;Class&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;Item&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Column&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;ContentType&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;Member&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;ContentType&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="color: blue"&gt;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ContentType&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="color: blue"&gt;&amp;nbsp; &lt;/span&gt;
&lt;br&gt;
&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Web&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;/pre&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The SPMetal Command Line&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/Shar.exeandsystemfieldsnamelyContentType_FF88/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/Shar.exeandsystemfieldsnamelyContentType_FF88/image_thumb.png" width="667" height="52"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The VS.NET Code&lt;/strong&gt;
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre style="font-family: consolas"&gt;&amp;nbsp;&lt;span style="color: blue"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt; Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[]
args)&lt;br&gt;
&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; &lt;span style="color: blue"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;BreezeDataContext&lt;/span&gt; dc
= &lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;BreezeDataContext&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"http://breezelocal"&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; {&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;var&lt;/span&gt; myitems
= &lt;span style="color: blue"&gt;from&lt;/span&gt; i &lt;span style="color: blue"&gt;in&lt;/span&gt; dc.GetList&amp;lt;&lt;span style="color: #2b91af"&gt;ContentListTraining&lt;/span&gt;&amp;gt;(&lt;span style="color: #a31515"&gt;"My
Content List"&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;&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;where&lt;/span&gt; i.ContentType
== &lt;span style="color: #a31515"&gt;"Training"&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;&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;select&lt;/span&gt; i;&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;var&lt;/span&gt; courses
= myitems.ToList&amp;lt;&lt;span style="color: #2b91af"&gt;ContentListTraining&lt;/span&gt;&amp;gt;();&lt;br&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; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"There
are {0} items"&lt;/span&gt;,courses[0].Title);&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;&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; }&lt;br&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; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.ReadLine();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/pre&gt;&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=1922491d-23f6-4c5e-b6c5-a6533e693d7a" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,1922491d-23f6-4c5e-b6c5-a6533e693d7a.aspx</comments>
      <category>.NET Developer</category>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=49a2da15-d39a-48ba-bb70-7d8770a6385c</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,49a2da15-d39a-48ba-bb70-7d8770a6385c.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,49a2da15-d39a-48ba-bb70-7d8770a6385c.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=49a2da15-d39a-48ba-bb70-7d8770a6385c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m in the process of planning a SP2007 to SP2010 ‘migration’ moving over the content
database and other web artifacts.
</p>
        <p>
I was making sure all things were ticked off and available in the new SP2010 environment
such as – additional external scripts, paths, externally accessible images, webparts
+ flash movie files.
</p>
        <p>
Migrated over – fired up the browser and after some minor tweaking most things came
over, except for the <strong>flash movies.</strong></p>
        <p>
          <strong>The flash movie was not being displayed</strong>.
</p>
        <p>
So naturally you think – must be a path, permission, activeX, flash object declaration,
upload or even a masterpage might need a tweak…
</p>
        <p>
Fired up FireBug in firefox and went to work – we could access the *.swf file directly
from within the browser, but when the Page loaded with the link in there… <strong>no
go</strong>.
</p>
        <p>
          <strong>In fact we got a ‘304 not modified’ response</strong> within <strong>FireBug</strong> –
which seems pretty normal if the flash player already has the movie locally and it’s
just comparing the server version versus the local…but still no flash playing.
</p>
        <p>
          <strong>SharePoint 2010 Web Applications restrict ‘active’ content – aka Flash out
of the box.</strong>
        </p>
        <p>
After some digging and a seemingly unrelated option appeared in<strong></strong>Web
Application –&gt; General Settings.<br /><strong>Browser File Handling - Default setting: STRICT</strong></p>
        <p>
This was the culprit, setting this to permissive did the trick. 
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010FlashGotcha_C2E1/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010FlashGotcha_C2E1/image_thumb.png" width="628" height="565" />
          </a>
        </p>
        <p>
Wow! Have a great weekend folks!
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=49a2da15-d39a-48ba-bb70-7d8770a6385c" />
      </body>
      <title>SharePoint 2010: Flash Gotcha…</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,49a2da15-d39a-48ba-bb70-7d8770a6385c.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/07/16/SharePoint2010FlashGotcha.aspx</link>
      <pubDate>Fri, 16 Jul 2010 03:51:43 GMT</pubDate>
      <description>&lt;p&gt;
I’m in the process of planning a SP2007 to SP2010 ‘migration’ moving over the content
database and other web artifacts.
&lt;/p&gt;
&lt;p&gt;
I was making sure all things were ticked off and available in the new SP2010 environment
such as – additional external scripts, paths, externally accessible images, webparts
+ flash movie files.
&lt;/p&gt;
&lt;p&gt;
Migrated over – fired up the browser and after some minor tweaking most things came
over, except for the &lt;strong&gt;flash movies.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The flash movie was not being displayed&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
So naturally you think – must be a path, permission, activeX, flash object declaration,
upload or even a masterpage might need a tweak…
&lt;/p&gt;
&lt;p&gt;
Fired up FireBug in firefox and went to work – we could access the *.swf file directly
from within the browser, but when the Page loaded with the link in there… &lt;strong&gt;no
go&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;In fact we got a ‘304 not modified’ response&lt;/strong&gt; within &lt;strong&gt;FireBug&lt;/strong&gt; –
which seems pretty normal if the flash player already has the movie locally and it’s
just comparing the server version versus the local…but still no flash playing.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;SharePoint 2010 Web Applications restrict ‘active’ content – aka Flash out
of the box.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
After some digging and a seemingly unrelated option appeared in&lt;strong&gt; &lt;/strong&gt;Web
Application –&amp;gt; General Settings.&lt;br&gt;
&lt;strong&gt;Browser File Handling - Default setting: STRICT&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
This was the culprit, setting this to permissive did the trick. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010FlashGotcha_C2E1/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010FlashGotcha_C2E1/image_thumb.png" width="628" height="565"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Wow! Have a great weekend folks!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=49a2da15-d39a-48ba-bb70-7d8770a6385c" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,49a2da15-d39a-48ba-bb70-7d8770a6385c.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=fd448cca-bed8-4d53-b1b3-bbeefa9cd280</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,fd448cca-bed8-4d53-b1b3-bbeefa9cd280.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,fd448cca-bed8-4d53-b1b3-bbeefa9cd280.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=fd448cca-bed8-4d53-b1b3-bbeefa9cd280</wfw:commentRss>
      <title>SharePoint 2010: Another Breeze Bootcamp fast approaching…</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,fd448cca-bed8-4d53-b1b3-bbeefa9cd280.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/07/12/SharePoint2010AnotherBreezeBootcampFastApproaching.aspx</link>
      <pubDate>Mon, 12 Jul 2010 13:21:46 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 'Dotum','sans-serif'; letter-spacing: -0.9pt; color: #305480; font-size: 30pt"&gt;&lt;?xml:namespace prefix = w /&gt;
&lt;w:sdt id="1004468042" title="Title" storeitemid="X_6C3C8BC8-F283-45AE-878A-BAB7291924A1" text="t" xpath="/ns1:coreProperties[1]/ns0:title[1]" prefixmappings="xmlns:ns0='http://purl.org/dc/elements/1.1/' xmlns:ns1='http://schemas.openxmlformats.org/package/2006/metadata/core-properties' "&gt;Breeze SharePoint 2010 Bootcamp&lt;/w:sdt&gt;
&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: black; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/span&gt;&lt;span style="font-family: 'Dotum','sans-serif'; letter-spacing: -1.5pt; color: #4579b9; font-size: 30pt; mso-bidi-font-family: calibri"&gt;&lt;?xml:namespace prefix = o /&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 10pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Calibri','sans-serif'; color: #f4740a; font-size: 14pt"&gt;The
Breeze SharePoint 2010 Bootcamp is here!&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 10pt" class="MsoNormal"&gt;
&lt;span style="z-index: 251658240; position: relative; mso-ignore: vglayout"&gt;&lt;span style="position: absolute; width: 73px; height: 73px; top: -223px; left: -78px"&gt; 
&lt;table cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border-bottom: black 0.75pt solid; border-left: black 0.75pt solid; background: white; vertical-align: top; border-top: black 0.75pt solid; border-right: black 0.75pt solid" bgcolor="white" height="73" width="73"&gt;
&lt;span style="z-index: 251658240; position: absolute; mso-ignore: vglayout"&gt; 
&lt;table cellspacing="0" cellpadding="0" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div style="padding-bottom: 4.35pt; padding-left: 7.95pt; padding-right: 7.95pt; padding-top: 4.35pt" class="shape" v:shape="_x0000_s1026"&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;xml&gt;
&lt;v:imagedata o:title="logo-sharepoint-2010" src="file:///C:\Users\kiddies\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;
&lt;/xml&gt;
&lt;w:wrap type="square"&gt;&lt;/w:wrap&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/span&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: #5f5f5f; font-size: 10pt; mso-bidi-font-size: 11.0pt"&gt;Breeze
SharePoint 2010 Bootcamps – Building Real World Solutions&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #5f5f5f; font-size: 10pt; mso-bidi-font-size: 11.0pt"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/span&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: #5f5f5f; font-size: 10pt; mso-bidi-font-size: 11.0pt"&gt;The
eagerly anticipated SharePoint 2010 Bootcamps are underway in Australia, and here’s
what some of the excitement is about. Technical training this year is all about value
for money. After the change in the economy, customers are more careful about where
their training budget is being allocated. This year, customers need technical training
that is relevant and an investment to their business. They are looking for knowledge
that will improve business efficiencies, provide real world scenarios and give students
the confidence to be hands-on when they leave the classroom.&lt;br&gt;
&lt;br&gt;
The new Breeze SharePoint 2010 Bootcamp has been designed to provide just that. Our
customers asked for an in-depth, technical, customized course that, if they were to
spend $$s on just one SharePoint&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;2010
course this year, would give them enough knowledge of the technology to build real
world solutions. &lt;/span&gt;&lt;span style="color: #333399"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 10pt" class="MsoNormal"&gt;
&lt;span style="font-family: 'Calibri','sans-serif'; color: #5f5f5f; font-size: 10pt; mso-bidi-font-size: 11.0pt"&gt;These
bootcamps have been written for the ITPro &amp;amp; Developer who need to upgrade their
SharePoint skills, or are just starting out with SharePoint 2010. 
&lt;br&gt;
&lt;br&gt;
Be ready to roll up your sleeves and start your adventure &lt;a href="http://www.breeze.net/Training/default.aspx?PermID=8cedaaba-0607-45b3-b6ce-d63cc8296550"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;span style="color: #333399"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 10pt" class="MsoNormal"&gt;
&lt;strong&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: #5f5f5f; font-size: 10pt; mso-bidi-font-size: 11.0pt"&gt;Sydney:
2nd August 2010&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: #333399"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 10pt" class="MsoNormal"&gt;
&lt;strong&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: #5f5f5f; font-size: 10pt; mso-bidi-font-size: 11.0pt"&gt;Price:
$3450 ex GST&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: #333399"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 10pt" class="MsoNormal"&gt;
&lt;strong&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: #5f5f5f; font-size: 10pt; mso-bidi-font-size: 11.0pt"&gt;Register
NOW: info {at} breeze {d.o.t.} net&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;strong&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: #333333; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;*Quote
this blog article to receive a special promotion.&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 'Trebuchet MS','sans-serif'; color: #333399; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Enjoy,
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;p&gt;
p.s. anyone seen the octopus…I’ve got destiny with it….
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=fd448cca-bed8-4d53-b1b3-bbeefa9cd280" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,fd448cca-bed8-4d53-b1b3-bbeefa9cd280.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Training</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=a26033ec-47e6-449a-a4b2-b5d1066ae0fb</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,a26033ec-47e6-449a-a4b2-b5d1066ae0fb.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,a26033ec-47e6-449a-a4b2-b5d1066ae0fb.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=a26033ec-47e6-449a-a4b2-b5d1066ae0fb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well if you’re cracking on and updating your SharePoint Beta 2 Installs to RTM and
wanting to make it out the door while there’s some daylight left…then you’re better
than me…right now it’s dark! :)
</p>
        <p>
Ok – so I figured, no probs just do a <strong>stsadm –o addcontentdb</strong> … and
we’re well on our way, exactly the same from Beta 1 to Beta 2.
</p>
        <p>
This time <strong>SharePoint RTM doesn’t want to play. </strong>I got this error:
</p>
        <blockquote>
          <p>
            <font color="#0000ff">Sequence [<strong>Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence</strong>]
cannot upgrade<br />
an object [<strong>SPContentDatabase</strong> Name=WSS_Content_Int2010] whose build
version 
<br />
[14.0.4536.1000] is too old. Upgrade requires [14.0.4730.1000] or higher.</font>
          </p>
        </blockquote>
        <div class="csharpcode">So as you can see the Version numbers of my Beta2 ContentDB
is close, but RTM is not playing.
</div>
        <div class="csharpcode"> 
</div>
        <div class="csharpcode">I thought I’d take a punt and see what happened:
</div>
        <ol>
          <li>
            <div class="csharpcode">Open up the ContentDB in SQL Management Studio and open up
the <strong>Tables</strong> folder.
</div>
          </li>
          <li>
            <div class="csharpcode">Locate the <strong>Versions Table </strong>(down the bottom).
</div>
          </li>
          <li>
            <div class="csharpcode">Open the <strong>Versions Table </strong>in Edit Mode and <strong>modify
the Rows which have a Version=14.0.4536.1000</strong> next to them. 
</div>
          </li>
          <li>
            <div class="csharpcode">Simply change the version number to <strong>14.0.4730.1000</strong></div>
          </li>
          <li>
            <div class="csharpcode">Save the changes
</div>
          </li>
          <li>
            <div class="csharpcode">Rerun the <strong>stsadm –o addcontentdb</strong> command
and bob’s your uncle.
</div>
          </li>
        </ol>
        <p class="csharpcode">
The ContentDB I used here was 18GB in size and all has come up trumps.
</p>
        <p class="csharpcode">
This may save you a bit of time and sure it’s a hack, but we’re now in RTM land.
</p>
        <p class="csharpcode">
Good luck :)
</p>
        <div class="csharpcode"> 
</div>
        <div class="csharpcode"> 
</div>
        <style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePointErrorUpgradingSPContentDB.1000_1383A/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePointErrorUpgradingSPContentDB.1000_1383A/image_thumb.png" width="668" height="263" />
          </a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a26033ec-47e6-449a-a4b2-b5d1066ae0fb" />
      </body>
      <title>SharePoint: Error Upgrading SP ContentDB from Beta 2 to RTM (14.0.4536.1000 –&gt; 14.0.4730.1000)</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,a26033ec-47e6-449a-a4b2-b5d1066ae0fb.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/04/24/SharePointErrorUpgradingSPContentDBFromBeta2ToRTM1404536100014047301000.aspx</link>
      <pubDate>Sat, 24 Apr 2010 12:13:39 GMT</pubDate>
      <description>&lt;p&gt;
Well if you’re cracking on and updating your SharePoint Beta 2 Installs to RTM and
wanting to make it out the door while there’s some daylight left…then you’re better
than me…right now it’s dark! :)
&lt;/p&gt;
&lt;p&gt;
Ok – so I figured, no probs just do a &lt;strong&gt;stsadm –o addcontentdb&lt;/strong&gt; … and
we’re well on our way, exactly the same from Beta 1 to Beta 2.
&lt;/p&gt;
&lt;p&gt;
This time &lt;strong&gt;SharePoint RTM doesn’t want to play. &lt;/strong&gt;I got this error:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;font color="#0000ff"&gt;Sequence [&lt;strong&gt;Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence&lt;/strong&gt;]
cannot upgrade&lt;br&gt;
an object [&lt;strong&gt;SPContentDatabase&lt;/strong&gt; Name=WSS_Content_Int2010] whose build
version 
&lt;br&gt;
[14.0.4536.1000] is too old. Upgrade requires [14.0.4730.1000] or higher.&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;div class="csharpcode"&gt;So as you can see the Version numbers of my Beta2 ContentDB
is close, but RTM is not playing.
&lt;/div&gt;
&lt;div class="csharpcode"&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;I thought I’d take a punt and see what happened:
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div class="csharpcode"&gt;Open up the ContentDB in SQL Management Studio and open up
the &lt;strong&gt;Tables&lt;/strong&gt; folder.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="csharpcode"&gt;Locate the &lt;strong&gt;Versions Table &lt;/strong&gt;(down the bottom).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="csharpcode"&gt;Open the &lt;strong&gt;Versions Table &lt;/strong&gt;in Edit Mode and &lt;strong&gt;modify
the Rows which have a Version=14.0.4536.1000&lt;/strong&gt; next to them. 
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="csharpcode"&gt;Simply change the version number to &lt;strong&gt;14.0.4730.1000&lt;/strong&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="csharpcode"&gt;Save the changes
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="csharpcode"&gt;Rerun the &lt;strong&gt;stsadm –o addcontentdb&lt;/strong&gt; command
and bob’s your uncle.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="csharpcode"&gt;
The ContentDB I used here was 18GB in size and all has come up trumps.
&lt;/p&gt;
&lt;p class="csharpcode"&gt;
This may save you a bit of time and sure it’s a hack, but we’re now in RTM land.
&lt;/p&gt;
&lt;p class="csharpcode"&gt;
Good luck :)
&lt;/p&gt;
&lt;div class="csharpcode"&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div class="csharpcode"&gt;&amp;nbsp;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePointErrorUpgradingSPContentDB.1000_1383A/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePointErrorUpgradingSPContentDB.1000_1383A/image_thumb.png" width="668" height="263"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a26033ec-47e6-449a-a4b2-b5d1066ae0fb" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,a26033ec-47e6-449a-a4b2-b5d1066ae0fb.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=9530140e-b94b-4d6b-8f86-2169757d65c6</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,9530140e-b94b-4d6b-8f86-2169757d65c6.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,9530140e-b94b-4d6b-8f86-2169757d65c6.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=9530140e-b94b-4d6b-8f86-2169757d65c6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ve just spent the past couple of days looking into the ‘upgrade’ process and I’ve
come out the other side. Here’s a quick jot down of what I encountered
</p>
        <ol>
          <li>
            <strong>Environment</strong>: Single WFE (Win2K8 R2 x64) and a separate SQL 2008 x64
'backend’. Currently running SP2010 Beta2 with content databases around 13GB</li>
          <li>
I haven’t uninstalled any of the existing SP2010 beta 2 bits – this is a VM and I
have a handy backup, so in case of emergency break glass was my plan b.</li>
          <li>
            <strong>Launched Setup.bat – </strong>up came the intro screen and I selected <strong>Install
PreReqs.</strong> In my case the prereqs failed their first installed with it grumbling
about the IIS Web Role not present (but this was an existing SP2010 server, so obviously
the Web Role was present and correctly running). 
<br /><br />
Ran the PreReqs again and all was fine :)</li>
          <li>
            <strong>Setup.exe – </strong>launched the product, provided a license key and we ran
all the way through no problems. Interestingly thRege installer didn’t mention anything
like “…I found a previous version of SharePoint do you want to …”</li>
          <li>
            <strong>Configuration Wizard</strong> – this is where my trouble started.</li>
        </ol>
        <ol>
          <li>
As the Wizard was launching, it appeared <strong>not to be able to recognise </strong>the
fact that we were already in a farm. It was like we were running on a machine, where
the DB Server wasn’t accessible.<br /><br />
I ‘removed’ the Server from the Farm (which were the only options in the Wizard for
me)</li>
          <li>
            <strong>Re-ran the Wizard Take#2, </strong>supplied the details at the beginning,
Server Farm etc etc and sent it on it’s way.</li>
          <li>
The Wizard ran up to <strong>step 3 of 10 </strong>(where it configures the Farm DB
+ creates the SharePoint Web Services IIS Site) <strong>and then FAILED</strong>.
What I noticed that the FarmDB was created successfully, but the IIS side was failing.<br />
(The error logs spoke about a socket based error – which I think was unrelated)</li>
          <li>
Tweaking, rerunning the Wizard didn’t fix things…so here’s my fix….</li>
          <li>
I also uninstalled SP2010 RTM a few times and reinstalled, but same error</li>
        </ol>
        <li>
          <strong>The fix -</strong>
        </li>
        <ol>
          <li>
            <strong>
            </strong>Delete the <strong>\14 hive</strong></li>
          <li>
Delete the <strong>Registry Key </strong>(and all under it) <strong>HKLM\Software\Microsoft\Shared
Tools\Web Server Extensions</strong></li>
          <li>
Uninstall/reinstall the <strong>IIS Web Role on the Server</strong></li>
        </ol>
        <li>
          <strong>Repair the SharePoint install </strong>from rerunning <strong>Setup.exe –
repair option. </strong>(you might be able to leave this step out, but I deleted the
Web Server Extensions key after I installed SP2010, so I needed it to be rewritten)</li>
        <li>
          <strong>Run Config Wizard</strong>
        </li>
        <li>
          <strong>Upgrade any Content DBs you want to mount – </strong>through <strong>stsadm
–o addcontentdb</strong> or <strong>Mount-ContentDB</strong> (powershell)</li>
        <p>
I’m sure you’ll be able to shorten this list of steps when you upgrade, but I’ve got
to get on and configure this environment.
</p>
        <p>
Have fun,
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=9530140e-b94b-4d6b-8f86-2169757d65c6" />
      </body>
      <title>Upgrading from SharePoint 2010 Beta 2 to RTM</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,9530140e-b94b-4d6b-8f86-2169757d65c6.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/04/23/UpgradingFromSharePoint2010Beta2ToRTM.aspx</link>
      <pubDate>Fri, 23 Apr 2010 23:31:07 GMT</pubDate>
      <description>&lt;p&gt;
I’ve just spent the past couple of days looking into the ‘upgrade’ process and I’ve
come out the other side. Here’s a quick jot down of what I encountered
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Environment&lt;/strong&gt;: Single WFE (Win2K8 R2 x64) and a separate SQL 2008 x64
'backend’. Currently running SP2010 Beta2 with content databases around 13GB&lt;/li&gt;
&lt;li&gt;
I haven’t uninstalled any of the existing SP2010 beta 2 bits – this is a VM and I
have a handy backup, so in case of emergency break glass was my plan b.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Launched Setup.bat – &lt;/strong&gt;up came the intro screen and I selected &lt;strong&gt;Install
PreReqs.&lt;/strong&gt; In my case the prereqs failed their first installed with it grumbling
about the IIS Web Role not present (but this was an existing SP2010 server, so obviously
the Web Role was present and correctly running). 
&lt;br&gt;
&lt;br&gt;
Ran the PreReqs again and all was fine :)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Setup.exe – &lt;/strong&gt;launched the product, provided a license key and we ran
all the way through no problems. Interestingly thRege installer didn’t mention anything
like “…I found a previous version of SharePoint do you want to …”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configuration Wizard&lt;/strong&gt; – this is where my trouble started.&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
As the Wizard was launching, it appeared &lt;strong&gt;not to be able to recognise &lt;/strong&gt;the
fact that we were already in a farm. It was like we were running on a machine, where
the DB Server wasn’t accessible.&lt;br&gt;
&lt;br&gt;
I ‘removed’ the Server from the Farm (which were the only options in the Wizard for
me)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-ran the Wizard Take#2, &lt;/strong&gt;supplied the details at the beginning,
Server Farm etc etc and sent it on it’s way.&lt;/li&gt;
&lt;li&gt;
The Wizard ran up to &lt;strong&gt;step 3 of 10 &lt;/strong&gt;(where it configures the Farm DB
+ creates the SharePoint Web Services IIS Site) &lt;strong&gt;and then FAILED&lt;/strong&gt;.
What I noticed that the FarmDB was created successfully, but the IIS side was failing.&lt;br&gt;
(The error logs spoke about a socket based error – which I think was unrelated)&lt;/li&gt;
&lt;li&gt;
Tweaking, rerunning the Wizard didn’t fix things…so here’s my fix….&lt;/li&gt;
&lt;li&gt;
I also uninstalled SP2010 RTM a few times and reinstalled, but same error&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;
&lt;strong&gt;The fix -&lt;/strong&gt;
&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;/strong&gt;Delete the &lt;strong&gt;\14 hive&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
Delete the &lt;strong&gt;Registry Key &lt;/strong&gt;(and all under it) &lt;strong&gt;HKLM\Software\Microsoft\Shared
Tools\Web Server Extensions&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
Uninstall/reinstall the &lt;strong&gt;IIS Web Role on the Server&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;
&lt;strong&gt;Repair the SharePoint install &lt;/strong&gt;from rerunning &lt;strong&gt;Setup.exe –
repair option. &lt;/strong&gt;(you might be able to leave this step out, but I deleted the
Web Server Extensions key after I installed SP2010, so I needed it to be rewritten)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run Config Wizard&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Upgrade any Content DBs you want to mount – &lt;/strong&gt;through &lt;strong&gt;stsadm
–o addcontentdb&lt;/strong&gt; or &lt;strong&gt;Mount-ContentDB&lt;/strong&gt; (powershell)&lt;/li&gt;&gt;
&lt;p&gt;
I’m sure you’ll be able to shorten this list of steps when you upgrade, but I’ve got
to get on and configure this environment.
&lt;/p&gt;
&lt;p&gt;
Have fun,
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=9530140e-b94b-4d6b-8f86-2169757d65c6" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,9530140e-b94b-4d6b-8f86-2169757d65c6.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=4d1ba29d-335e-43e9-a95b-b2f7237244fb</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,4d1ba29d-335e-43e9-a95b-b2f7237244fb.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,4d1ba29d-335e-43e9-a95b-b2f7237244fb.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=4d1ba29d-335e-43e9-a95b-b2f7237244fb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well folks we are partnering with Education leaders in the APAC region <strong>Excom</strong> to
deliver to you our Breeze SharePoint 2010 Bootcamp.
</p>
        <p>
I’ve recently come out of that code cave…the place which I’m sure a lot of us know
all too well. I discovered people…and conversations again :)
</p>
        <p>
We’ve put together 13 modules of original material and labs to match based on real
world examples. For e.g. Integrating with Oracle EB from SharePoint 2010 via the BizTalk
Adapter Pack (being a BTS MVP I couldn’t resist that one).
</p>
        <p>
I ran a course in Melbourne the week before last and it was a solid week which the
students loved with the average score for the course being <strong>8.2 </strong>(with
9 being the top) 
</p>
        <p>
          <strong>Our next city is Sydney this coming month and I’ve managed to grab a couple
of seats for you.</strong>
        </p>
        <p>
To Register in a city near you – <a href="https://www.microsoft.com.au/events/register/home.aspx?levent=451550&amp;linvitation">click
here</a></p>
        <p>
  
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BreezeSharePoint2010BootcampSydneycouple_7EE5/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BreezeSharePoint2010BootcampSydneycouple_7EE5/image_thumb.png" width="644" height="454" />
          </a>
          <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=4d1ba29d-335e-43e9-a95b-b2f7237244fb" />
        </p>
      </body>
      <title>Breeze SharePoint 2010 Bootcamp – Sydney – couple of seats available…</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,4d1ba29d-335e-43e9-a95b-b2f7237244fb.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/04/21/BreezeSharePoint2010BootcampSydneyCoupleOfSeatsAvailable.aspx</link>
      <pubDate>Wed, 21 Apr 2010 23:01:58 GMT</pubDate>
      <description>&lt;p&gt;
Well folks we are partnering with Education leaders in the APAC region &lt;strong&gt;Excom&lt;/strong&gt; to
deliver to you our Breeze SharePoint 2010 Bootcamp.
&lt;/p&gt;
&lt;p&gt;
I’ve recently come out of that code cave…the place which I’m sure a lot of us know
all too well. I discovered people…and conversations again :)
&lt;/p&gt;
&lt;p&gt;
We’ve put together 13 modules of original material and labs to match based on real
world examples. For e.g. Integrating with Oracle EB from SharePoint 2010 via the BizTalk
Adapter Pack (being a BTS MVP I couldn’t resist that one).
&lt;/p&gt;
&lt;p&gt;
I ran a course in Melbourne the week before last and it was a solid week which the
students loved with the average score for the course being &lt;strong&gt;8.2 &lt;/strong&gt;(with
9 being the top) 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Our next city is Sydney this coming month and I’ve managed to grab a couple
of seats for you.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
To Register in a city near you – &lt;a href="https://www.microsoft.com.au/events/register/home.aspx?levent=451550&amp;amp;linvitation"&gt;click
here&lt;/a&gt; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BreezeSharePoint2010BootcampSydneycouple_7EE5/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BreezeSharePoint2010BootcampSydneycouple_7EE5/image_thumb.png" width="644" height="454"&gt;&lt;/a&gt;&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=4d1ba29d-335e-43e9-a95b-b2f7237244fb" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,4d1ba29d-335e-43e9-a95b-b2f7237244fb.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Training</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=d7a4be19-3619-474a-9c81-083b610287ec</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,d7a4be19-3619-474a-9c81-083b610287ec.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,d7a4be19-3619-474a-9c81-083b610287ec.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=d7a4be19-3619-474a-9c81-083b610287ec</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
May 12th has always been the big date for the release of the products, the icons will
be all completed (no more purple dots) questions about performance (how many, how
big, how fast…) can all start to be answered in the real world about lists and list
sizes.
</p>
        <p>
The <a href="http://sharepoint.microsoft.com/businessproductivity/proof/pages/2010-launch-events.aspx#fbid=N8d0sCNu5-O" target="_blank">Launch
of Office 2010 and SharePoint 2010</a> is due on May 12th.<br /><br />
Those on <strong>MSDN and TechNet</strong> will get access on <strong>April 22nd</strong> to
start downloading.
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010Office2010RTMsandclosetom_E309/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010Office2010RTMsandclosetom_E309/image_thumb.png" width="430" height="274" />
          </a>
          <br />
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010Office2010RTMsandclosetom_E309/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010Office2010RTMsandclosetom_E309/image_thumb_1.png" width="452" height="132" />
          </a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d7a4be19-3619-474a-9c81-083b610287ec" />
      </body>
      <title>SharePoint 2010 / Office 2010 – RTMs and close to materialisation.</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,d7a4be19-3619-474a-9c81-083b610287ec.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/04/19/SharePoint2010Office2010RTMsAndCloseToMaterialisation.aspx</link>
      <pubDate>Mon, 19 Apr 2010 06:08:41 GMT</pubDate>
      <description>&lt;p&gt;
May 12th has always been the big date for the release of the products, the icons will
be all completed (no more purple dots) questions about performance (how many, how
big, how fast…) can all start to be answered in the real world about lists and list
sizes.
&lt;/p&gt;
&lt;p&gt;
The &lt;a href="http://sharepoint.microsoft.com/businessproductivity/proof/pages/2010-launch-events.aspx#fbid=N8d0sCNu5-O" target="_blank"&gt;Launch
of Office 2010 and SharePoint 2010&lt;/a&gt; is due on May 12th.&lt;br&gt;
&lt;br&gt;
Those on &lt;strong&gt;MSDN and TechNet&lt;/strong&gt; will get access on &lt;strong&gt;April 22nd&lt;/strong&gt; to
start downloading.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010Office2010RTMsandclosetom_E309/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010Office2010RTMsandclosetom_E309/image_thumb.png" width="430" height="274"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010Office2010RTMsandclosetom_E309/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010Office2010RTMsandclosetom_E309/image_thumb_1.png" width="452" height="132"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d7a4be19-3619-474a-9c81-083b610287ec" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,d7a4be19-3619-474a-9c81-083b610287ec.aspx</comments>
      <category>Office</category>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=bbacb652-06d7-47d1-957a-5eb4cedf00a8</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,bbacb652-06d7-47d1-957a-5eb4cedf00a8.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,bbacb652-06d7-47d1-957a-5eb4cedf00a8.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=bbacb652-06d7-47d1-957a-5eb4cedf00a8</wfw:commentRss>
      <title>Updated Lightup.xml for SharePoint 2010</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,bbacb652-06d7-47d1-957a-5eb4cedf00a8.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/04/05/UpdatedLightupxmlForSharePoint2010.aspx</link>
      <pubDate>Mon, 05 Apr 2010 14:37:13 GMT</pubDate>
      <description>&lt;p&gt;
In true SharePoint fashion, I’ve updated the common lightup.xml file for SharePoint
2010.
&lt;/p&gt;
&lt;p&gt;
Some things that are missing from below is an Admin link – I’ll update shortly as
I’ve got to get back to a lab I’m finishing writing.&lt;br&gt;
(note I’ve added ~sitecollection below, as all the samples I’ve seen leave this out)
&lt;/p&gt;
&lt;p&gt;
Enjoy and happy Easter all.
&lt;/p&gt;&lt;?XML:NAMESPACE PREFIX = [default] http://schemas.microsoft.com/sharepoint/ NS = "http://schemas.microsoft.com/sharepoint/" /&gt;
&lt;elements xmlns="http://schemas.microsoft.com/sharepoint/"&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;="utf-8"&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Elements&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/sharepoint/"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Document Library Toolbar New Menu Dropdown --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt; &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.DocLibNewToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;RegistrationType&lt;/span&gt;&lt;span class="kwrd"&gt;="List"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;RegistrationId&lt;/span&gt;&lt;span class="kwrd"&gt;="101"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;GroupId&lt;/span&gt;&lt;span class="kwrd"&gt;="NewMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Rights&lt;/span&gt;&lt;span class="kwrd"&gt;="ManagePermissions"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.SharePoint.StandardMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="1000"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
DOCLIB NEW MENU TOOLBAR BUTTON"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?NewMenu"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Document Library Toolbar Upload Menu Dropdown --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt; &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.DocLibUploadToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;RegistrationType&lt;/span&gt;&lt;span class="kwrd"&gt;="List"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;RegistrationId&lt;/span&gt;&lt;span class="kwrd"&gt;="101"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;GroupId&lt;/span&gt;&lt;span class="kwrd"&gt;="UploadMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Rights&lt;/span&gt;&lt;span class="kwrd"&gt;="ManagePermissions"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.SharePoint.StandardMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="1000"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
DOCLIB UPLOAD MENU TOOLBAR BUTTON"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?UploadMenu"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Document Library Toolbar Actions Menu Dropdown --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt; &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.DocLibActionsToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;RegistrationType&lt;/span&gt;&lt;span class="kwrd"&gt;="List"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;RegistrationId&lt;/span&gt;&lt;span class="kwrd"&gt;="101"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;GroupId&lt;/span&gt;&lt;span class="kwrd"&gt;="ActionsMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.SharePoint.StandardMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="1000"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
DOCLIB ACTIONS MENU TOOLBAR BUTTON"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?ActionsMenu"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Document Library Toolbar Settings Menu Dropdown --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt; &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.DocLibSettingsToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;RegistrationType&lt;/span&gt;&lt;span class="kwrd"&gt;="List"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;RegistrationId&lt;/span&gt;&lt;span class="kwrd"&gt;="101"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;GroupId&lt;/span&gt;&lt;span class="kwrd"&gt;="SettingsMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.SharePoint.StandardMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="1000"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
DOCLIB SETTINGS MENU TOOLBAR BUTTON"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?SettingsMenu"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Site Actions Dropdown --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt; &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.SiteActionsToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;GroupId&lt;/span&gt;&lt;span class="kwrd"&gt;="SiteActions"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.SharePoint.StandardMenu"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="1000"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
SITE ACTIONS BUTTON"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?SiteActions"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Per Item Dropdown (ECB)--&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.ECBItemToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;RegistrationType&lt;/span&gt;&lt;span class="kwrd"&gt;="List"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;RegistrationId&lt;/span&gt;&lt;span class="kwrd"&gt;="101"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="EditControlBlock"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="106"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
ECB ITEM"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?ECBItem"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Display Form Toolbar --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.DisplayFormToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;RegistrationType&lt;/span&gt;&lt;span class="kwrd"&gt;="List"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;RegistrationId&lt;/span&gt;&lt;span class="kwrd"&gt;="101"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="DisplayFormToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="106"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
DISPLAY FORM TOOLBAR"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?DisplayFormToolbar"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Edit Form Toolbar --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.EditFormToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;RegistrationType&lt;/span&gt;&lt;span class="kwrd"&gt;="List"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;RegistrationId&lt;/span&gt;&lt;span class="kwrd"&gt;="101"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="EditFormToolbar"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="106"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
EDIT FORM TOOLBAR"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?EditFormToolbar"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Site Settings --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.SiteSettings"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;GroupId&lt;/span&gt;&lt;span class="kwrd"&gt;="Customization"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.SharePoint.SiteSettings"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="106"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
SITE SETTINGS LINK"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?Customization"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="rem"&gt;&amp;lt;!--
Content Type Settings --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;="UserInterfaceLightUp.ContentTypeSettings"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;GroupId&lt;/span&gt;&lt;span class="kwrd"&gt;="General"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.SharePoint.ContentTypeSettings"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="attr"&gt;Sequence&lt;/span&gt;&lt;span class="kwrd"&gt;="106"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MY
CONTENT TYPE SETTINGS LINK"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UrlAction&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?General"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CustomAction&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Elements&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;customaction id="UserInterfaceLightUp.DocLibNewToolbar" title="MY DOCLIB NEW MENU TOOLBAR BUTTON" sequence="1000" location="Microsoft.SharePoint.StandardMenu" rights="ManagePermissions" groupid="NewMenu" registrationid="101" registrationtype="List"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?NewMenu"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.DocLibUploadToolbar" title="MY DOCLIB UPLOAD MENU TOOLBAR BUTTON" sequence="1000" location="Microsoft.SharePoint.StandardMenu" rights="ManagePermissions" groupid="UploadMenu" registrationid="101" registrationtype="List"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?UploadMenu"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.DocLibActionsToolbar" title="MY DOCLIB ACTIONS MENU TOOLBAR BUTTON" sequence="1000" location="Microsoft.SharePoint.StandardMenu" groupid="ActionsMenu" registrationid="101" registrationtype="List"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?ActionsMenu"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.DocLibSettingsToolbar" title="MY DOCLIB SETTINGS MENU TOOLBAR BUTTON" sequence="1000" location="Microsoft.SharePoint.StandardMenu" groupid="SettingsMenu" registrationid="101" registrationtype="List"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?SettingsMenu"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.SiteActionsToolbar" title="MY SITE ACTIONS BUTTON" sequence="1000" location="Microsoft.SharePoint.StandardMenu" groupid="SiteActions"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?SiteActions"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.ECBItemToolbar" title="MY ECB ITEM" sequence="106" location="EditControlBlock" registrationid="101" registrationtype="List"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?ECBItem"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.DisplayFormToolbar" title="MY DISPLAY FORM TOOLBAR" sequence="106" location="DisplayFormToolbar" registrationid="101" registrationtype="List"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?DisplayFormToolbar"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.EditFormToolbar" title="MY EDIT FORM TOOLBAR" sequence="106" location="EditFormToolbar" registrationid="101" registrationtype="List"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?EditFormToolbar"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.SiteSettings" title="MY SITE SETTINGS LINK" sequence="106" location="Microsoft.SharePoint.SiteSettings" groupid="Customization"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?Customization"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;customaction id="UserInterfaceLightUp.ContentTypeSettings" title="MY CONTENT TYPE SETTINGS LINK" sequence="106" location="Microsoft.SharePoint.ContentTypeSettings" groupid="General"&gt;
&lt;urlaction url="~sitecollection/_layouts/ContosoLegalFunctionality/LightupHello.aspx?General"&gt;
&lt;/urlaction&gt;
&lt;/customaction&gt;
&lt;/elements&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=bbacb652-06d7-47d1-957a-5eb4cedf00a8" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,bbacb652-06d7-47d1-957a-5eb4cedf00a8.aspx</comments>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=48efaf16-68be-4ca6-a3a6-79a251dc8b3b</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,48efaf16-68be-4ca6-a3a6-79a251dc8b3b.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,48efaf16-68be-4ca6-a3a6-79a251dc8b3b.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=48efaf16-68be-4ca6-a3a6-79a251dc8b3b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While writing a lab for an up and coming SharePoint 2010 course I came across a few
handy things.
</p>
        <p>
I’ve always been a big fan of the developer dashboard and until recently the example
code has been a little scarce.
</p>
        <p>
Fortunately I’ve found a couple of gems
</p>
        <p>
- one from <a href="http://blogs.msdn.com/pandrew/archive/2010/03/26/sharepoint-2010-developer-dashboard-for-debugging-code.aspx" target="_blank">Paul
Andrew’s blog</a> on how to get your own text in the debug tree<br /><strong>using (SPMonitoredScope sc = new SPMonitoredScope(“Some timed scope”)) 
<br />
{ 
<br />
  // some code in here that you think may take time 
<br />
}</strong></p>
        <p>
and for the right side of the screen:<br /><strong>SPCriticalTraceCounter.AddDataToScope(uCounter, “Your category”, traceLevel,
“Detailed long message”);</strong><br /><br />
- and the 2nd is an extension that sits on the Dashboard page that plots the time
taken for each component to process/render in the tree (it does this client side using
jquery and an ASCX control)<br /><a title="http://devdashvis.codeplex.com/releases/view/36559" href="http://devdashvis.codeplex.com/releases/view/36559">http://devdashvis.codeplex.com/releases/view/36559</a></p>
        <p>
Check them out.
</p>
        <p>
Cheers,
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=48efaf16-68be-4ca6-a3a6-79a251dc8b3b" />
      </body>
      <title>SharePoint 2010 Developer Dashboard - extensions</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,48efaf16-68be-4ca6-a3a6-79a251dc8b3b.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2010/04/01/SharePoint2010DeveloperDashboardExtensions.aspx</link>
      <pubDate>Thu, 01 Apr 2010 15:25:44 GMT</pubDate>
      <description>&lt;p&gt;
While writing a lab for an up and coming SharePoint 2010 course I came across a few
handy things.
&lt;/p&gt;
&lt;p&gt;
I’ve always been a big fan of the developer dashboard and until recently the example
code has been a little scarce.
&lt;/p&gt;
&lt;p&gt;
Fortunately I’ve found a couple of gems
&lt;/p&gt;
&lt;p&gt;
- one from &lt;a href="http://blogs.msdn.com/pandrew/archive/2010/03/26/sharepoint-2010-developer-dashboard-for-debugging-code.aspx" target="_blank"&gt;Paul
Andrew’s blog&lt;/a&gt; on how to get your own text in the debug tree&lt;br&gt;
&lt;strong&gt;using (SPMonitoredScope sc = new SPMonitoredScope(“Some timed scope”)) 
&lt;br&gt;
{ 
&lt;br&gt;
&amp;nbsp; // some code in here that you think may take time 
&lt;br&gt;
}&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
and for the right side of the screen:&lt;br&gt;
&lt;strong&gt;SPCriticalTraceCounter.AddDataToScope(uCounter, “Your category”, traceLevel,
“Detailed long message”);&lt;/strong&gt;
&lt;br&gt;
&lt;br&gt;
- and the 2nd is an extension that sits on the Dashboard page that plots the time
taken for each component to process/render in the tree (it does this client side using
jquery and an ASCX control)&lt;br&gt;
&lt;a title="http://devdashvis.codeplex.com/releases/view/36559" href="http://devdashvis.codeplex.com/releases/view/36559"&gt;http://devdashvis.codeplex.com/releases/view/36559&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Check them out.
&lt;/p&gt;
&lt;p&gt;
Cheers,
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=48efaf16-68be-4ca6-a3a6-79a251dc8b3b" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,48efaf16-68be-4ca6-a3a6-79a251dc8b3b.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=ecd70fb3-47df-47db-8ca2-a841c29ead61</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,ecd70fb3-47df-47db-8ca2-a841c29ead61.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,ecd70fb3-47df-47db-8ca2-a841c29ead61.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=ecd70fb3-47df-47db-8ca2-a841c29ead61</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hi folks, we’ve used our SharePoint expertise and knowledge to distil <strong>SharePoint
2010</strong> product feature set, to provide a rich <strong>5 day</strong> course
for you.
</p>
        <p>
I believe with <strong>SharePoint in particular</strong> that as a developer you *need*
to know details about the SharePoint environment that is running your code, and as
an Admin, you need to know what and how the developer provides the additions/customisations
that they do. 
</p>
        <p>
Check <a href="http://breeze.net/Training/default.aspx?PermID=8cedaaba-0607-45b3-b6ce-d63cc8296550" target="_blank">out
the details</a> and you can register with <a href="https://www.microsoft.com.au/events/register/home.aspx?levent=451550&amp;linvitation" target="_blank">Microsoft
here</a>.
</p>
        <p>
We’re really excited about the offering and have a great Christmas break.
</p>
        <p>
See you soon… ho ho ho…
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ecd70fb3-47df-47db-8ca2-a841c29ead61" />
      </body>
      <title>Breeze SharePoint 2010 Bootcamp Details</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,ecd70fb3-47df-47db-8ca2-a841c29ead61.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/12/23/BreezeSharePoint2010BootcampDetails.aspx</link>
      <pubDate>Wed, 23 Dec 2009 10:59:24 GMT</pubDate>
      <description>&lt;p&gt;
Hi folks, we’ve used our SharePoint expertise and knowledge to distil &lt;strong&gt;SharePoint
2010&lt;/strong&gt; product feature set, to provide a rich &lt;strong&gt;5 day&lt;/strong&gt; course
for you.
&lt;/p&gt;
&lt;p&gt;
I believe with &lt;strong&gt;SharePoint in particular&lt;/strong&gt; that as a developer you *need*
to know details about the SharePoint environment that is running your code, and as
an Admin, you need to know what and how the developer provides the additions/customisations
that they do. 
&lt;/p&gt;
&lt;p&gt;
Check &lt;a href="http://breeze.net/Training/default.aspx?PermID=8cedaaba-0607-45b3-b6ce-d63cc8296550" target="_blank"&gt;out
the details&lt;/a&gt; and you can register with &lt;a href="https://www.microsoft.com.au/events/register/home.aspx?levent=451550&amp;amp;linvitation" target="_blank"&gt;Microsoft
here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
We’re really excited about the offering and have a great Christmas break.
&lt;/p&gt;
&lt;p&gt;
See you soon… ho ho ho…
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ecd70fb3-47df-47db-8ca2-a841c29ead61" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,ecd70fb3-47df-47db-8ca2-a841c29ead61.aspx</comments>
      <category>MOSS</category>
      <category>MOSS/Admin</category>
      <category>SharePoint/2010</category>
      <category>Training</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=6694283d-a98c-46c2-a4d9-2f4d65d4a01f</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,6694283d-a98c-46c2-a4d9-2f4d65d4a01f.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <georss:point>0 0</georss:point>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,6694283d-a98c-46c2-a4d9-2f4d65d4a01f.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=6694283d-a98c-46c2-a4d9-2f4d65d4a01f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Came across a great MS Article that gives you the broad brush strokes of updates and
changes.
</p>
        <p>
Very handy one
</p>
        <br />
        <a href="http://technet.microsoft.com/en-us/sharepoint/ee518662.aspx">http://technet.microsoft.com/en-us/sharepoint/ee518662.aspx</a>
        <br />
        <br />
Enjoy!<img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=6694283d-a98c-46c2-a4d9-2f4d65d4a01f" /></body>
      <title>SharePoint 2010: New Features at a glance</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,6694283d-a98c-46c2-a4d9-2f4d65d4a01f.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/12/10/SharePoint2010NewFeaturesAtAGlance.aspx</link>
      <pubDate>Thu, 10 Dec 2009 10:22:47 GMT</pubDate>
      <description>&lt;p&gt;
Came across a great MS Article that gives you the broad brush strokes of updates and
changes.
&lt;/p&gt;
&lt;p&gt;
Very handy one
&lt;/p&gt;
&lt;br&gt;
&lt;a href='http://technet.microsoft.com/en-us/sharepoint/ee518662.aspx'&gt;http://technet.microsoft.com/en-us/sharepoint/ee518662.aspx&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Enjoy!&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=6694283d-a98c-46c2-a4d9-2f4d65d4a01f" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,6694283d-a98c-46c2-a4d9-2f4d65d4a01f.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/1010/Guides</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=0d55e967-8144-4eed-8448-10145b4aa3e2</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,0d55e967-8144-4eed-8448-10145b4aa3e2.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,0d55e967-8144-4eed-8448-10145b4aa3e2.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=0d55e967-8144-4eed-8448-10145b4aa3e2</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hi guys, I’ve been busy over the recent months always working and planning new ways
to train, deliver and impart knowledge to *you* in a variety of different ways.
</p>
        <p>
Truth be told our Region with respect to SharePoint Adoption and Knowledge, has been
ahead of the curve worlwide – that you guys “SharePoint-ies”.<br />
With the release of SharePoint 2010 soon-ish, we’ve been busy – to bring you the best
value and the most effective training for your time.<br /><br />
For the release of SharePoint 2007 some numbers:
</p>
        <ol>
          <li>
We trained over 1400 students on our Breeze SharePoint Bootcamp (we cover technical
in-depth approx 80-85% of major SharePoint features in a week. Not for the faint hearted) 
</li>
          <li>
You guys demanded excellence and we gave you that. 
</li>
          <li>
We train 50% of the time and consult 50% – we bring real world knowledge into the
classroom, what works, what doesn’t from a business perspective. 
</li>
          <li>
We’ve rolled out over 1000 different SharePoint 2007 sites (and are currently working
on migrations to SP2010) 
</li>
          <li>
The buck stops with me – which can be good thing…so I’m told :)<br /><br /><strong>The big congrats goes to you!</strong> For being driven, demanding better,
demanding more detail and better knowledge, you demand that the bar is raised and
meet and excel that challenge.<br /></li>
        </ol>
        <p>
Breeze has partnered with Microsoft &amp; Excom, allowing us to each focus on our
strengths, delivering to you the best possible offering in this space.
</p>
        <p>
          <strong>I’m pretty excited to announce our SharePoint 2010 Series running in Melb
+ Sydney initially </strong>(+ others soon)<br />
(running at Microsoft Offices)<br /><br /><font color="#ff0000"><strong>A Special Blog Reader offer: Would you like me to Webcast
these sessions for those whom can’t make it?<br />
Add a comment on this Post to let me know – I’ll get back to you with details.<br /></strong></font><font color="#000000">(we are giving away goodies and offers but I
can’t tell you too much)</font></p>
        <p>
Here’s the formal blurb: ------ snip ------
</p>
        <blockquote>
          <p>
            <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_2.png">
              <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_thumb.png" width="85" height="108" />
            </a>
          </p>
        </blockquote>
        <p>
             <img src="http://www.cige.es/images/Logo-Microsoft.jpg" width="343" height="83" />        <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_8.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_thumb_3.png" width="206" height="58" /></a></p>
        <p>
          <br />
  
</p>
        <p align="left">
          <b>Microsoft Australia</b>, is pleased to invite you to a <strong>FREE Seminar</strong> on <a href="https://www.microsoft.com.au/events/register/home.aspx?levent=343803&amp;linvitation" target="_blank">SharePoint
2010.</a><br /><b></b><br /></p>
        <p align="left">
          <b>
            <i>Melbourne – December 2, 2009</i>
          </b>
        </p>
        <p align="left">
          <b>
            <i>Sydney – December 11, 2009<br /><br /></i>
          </b>
        </p>
        <p>
Delivered by <strong>Breeze &amp; EXCOM Education</strong>, this seminar is the first
in a series that are designed to get you across the new functionality of SharePoint
2010 and importantly how your business can benefit.<br /><br />
SharePoint 2010 is the business collaboration platform that enables you to connect
and empower people through formal and informal business communities, within the enterprise
and beyond, and to manage content throughout the information lifecycle.<br /><br />
This next release of SharePoint has some exciting new enhancements for IT Professionals
and Developers we think you will want to see for yourself! 
<br /><br />
This seminar is for all SharePoint enthusiasts from IT Professionals, Developers to
Business Decision Makers and Information Workers. Bring along your questions to the
unveiling of SharePoint 2010! 
<br /><br />
Seats are limited. Register NOW !!!! 
<br />
For more information and to register, click <a href="https://www.microsoft.com.au/events/register/home.aspx?levent=343803&amp;linvitation" target="_blank">HERE</a><b></b></p>
        <p>
        </p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_10.png">
            <img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_thumb_4.png" width="240" height="159" />
          </a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=0d55e967-8144-4eed-8448-10145b4aa3e2" />
      </body>
      <title>SERIES: It’s Christmas and SharePoint 2010 is coming to town</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,0d55e967-8144-4eed-8448-10145b4aa3e2.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/11/20/SERIESItsChristmasAndSharePoint2010IsComingToTown.aspx</link>
      <pubDate>Fri, 20 Nov 2009 13:14:28 GMT</pubDate>
      <description>&lt;p&gt;
Hi guys, I’ve been busy over the recent months always working and planning new ways
to train, deliver and impart knowledge to *you* in a variety of different ways.
&lt;/p&gt;
&lt;p&gt;
Truth be told our Region with respect to SharePoint Adoption and Knowledge, has been
ahead of the curve worlwide – that you guys “SharePoint-ies”.&lt;br&gt;
With the release of SharePoint 2010 soon-ish, we’ve been busy – to bring you the best
value and the most effective training for your time.&lt;br&gt;
&lt;br&gt;
For the release of SharePoint 2007 some numbers:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
We trained over 1400 students on our Breeze SharePoint Bootcamp (we cover technical
in-depth approx 80-85% of major SharePoint features in a week. Not for the faint hearted) 
&lt;li&gt;
You guys demanded excellence and we gave you that. 
&lt;li&gt;
We train 50% of the time and consult 50% – we bring real world knowledge into the
classroom, what works, what doesn’t from a business perspective. 
&lt;li&gt;
We’ve rolled out over 1000 different SharePoint 2007 sites (and are currently working
on migrations to SP2010) 
&lt;li&gt;
The buck stops with me – which can be good thing…so I’m told :)&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;The big congrats goes to you!&lt;/strong&gt; For being driven, demanding better,
demanding more detail and better knowledge, you demand that the bar is raised and
meet and excel that challenge.&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Breeze has partnered with Microsoft &amp;amp; Excom, allowing us to each focus on our
strengths, delivering to you the best possible offering in this space.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;I’m pretty excited to announce our SharePoint 2010 Series running in Melb
+ Sydney initially &lt;/strong&gt;(+ others soon)&lt;br&gt;
(running at Microsoft Offices)&lt;br&gt;
&lt;br&gt;
&lt;font color="#ff0000"&gt;&lt;strong&gt;A Special Blog Reader offer: Would you like me to Webcast
these sessions for those whom can’t make it?&lt;br&gt;
Add a comment on this Post to let me know – I’ll get back to you with details.&lt;br&gt;
&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(we are giving away goodies and offers but I
can’t tell you too much)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Here’s the formal blurb: ------ snip ------
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_thumb.png" width="85" height="108"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;/blockquote&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;img src="http://www.cige.es/images/Logo-Microsoft.jpg" width="343" height="83"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_thumb_3.png" width="206" height="58"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&amp;nbsp; 
&lt;p align="left"&gt;
&lt;b&gt;Microsoft Australia&lt;/b&gt;, is pleased to invite you to a &lt;strong&gt;FREE Seminar&lt;/strong&gt; on &lt;a href="https://www.microsoft.com.au/events/register/home.aspx?levent=343803&amp;amp;linvitation" target="_blank"&gt;SharePoint
2010.&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;&lt;/b&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p align="left"&gt;
&lt;b&gt;&lt;i&gt;Melbourne – December 2, 2009&lt;/i&gt;&lt;/b&gt; 
&lt;p align="left"&gt;
&lt;b&gt;&lt;i&gt;Sydney – December 11, 2009&lt;br&gt;
&lt;br&gt;
&lt;/i&gt;&lt;/b&gt; 
&lt;p&gt;
Delivered by &lt;strong&gt;Breeze &amp;amp; EXCOM Education&lt;/strong&gt;, this seminar is the first
in a series that are designed to get you across the new functionality of SharePoint
2010 and importantly how your business can benefit.&lt;br&gt;
&lt;br&gt;
SharePoint 2010 is the business collaboration platform that enables you to connect
and empower people through formal and informal business communities, within the enterprise
and beyond, and to manage content throughout the information lifecycle.&lt;br&gt;
&lt;br&gt;
This next release of SharePoint has some exciting new enhancements for IT Professionals
and Developers we think you will want to see for yourself! 
&lt;br&gt;
&lt;br&gt;
This seminar is for all SharePoint enthusiasts from IT Professionals, Developers to
Business Decision Makers and Information Workers. Bring along your questions to the
unveiling of SharePoint 2010! 
&lt;br&gt;
&lt;br&gt;
Seats are limited. Register NOW !!!! 
&lt;br&gt;
For more information and to register, click &lt;a href="https://www.microsoft.com.au/events/register/home.aspx?levent=343803&amp;amp;linvitation" target="_blank"&gt;HERE&lt;/a&gt;&lt;b&gt;&lt;/b&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SERIESItsChristmasandSharePoint2010iscom_350/image_thumb_4.png" width="240" height="159"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=0d55e967-8144-4eed-8448-10145b4aa3e2" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,0d55e967-8144-4eed-8448-10145b4aa3e2.aspx</comments>
      <category>SharePoint</category>
      <category>SharePoint/2010</category>
      <category>Training</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=75d78fdb-924c-4a8e-ad54-89262abd4fc1</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,75d78fdb-924c-4a8e-ad54-89262abd4fc1.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,75d78fdb-924c-4a8e-ad54-89262abd4fc1.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=75d78fdb-924c-4a8e-ad54-89262abd4fc1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently at the SharePoint Conference (SPC2010) delegates were given a beautiful book
with all sorts of developers bits.
</p>
        <p>
The book stars 123 pages of great information, and improvements to many areas that
we previously had pain with (lists, queries, and just CAML in general)
</p>
        <p>
There’s also 6 walkthroughs (sort of like HOLs) with code etc. to give you a feel
for customising SharePoint. 
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cffb14e8-88a9-43bd-87aa-4792ab60d320&amp;displaylang=en" target="_blank">Grab
the PDF version HERE</a>
          <br />
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cffb14e8-88a9-43bd-87aa-4792ab60d320&amp;displaylang=en" target="_blank">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010ProfessionalDevelopersGuid_ED4B/image_5.png" width="304" height="392" />
          </a>
        </p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
 
</p>
        <p>
Some snippets which I found interesting from the book are:
</p>
        <ol>
          <li>
Some great object model options now for integrating with SharePoint.<br /><br /><a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010ProfessionalDevelopersGuid_ED4B/image_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010ProfessionalDevelopersGuid_ED4B/image_thumb.png" width="320" height="246" /></a><br />
Points to note here: 
<br />
- Client OM + Rest are exposed as WCF Services (based on Client.Svc) and the Client
OM is a batched model, so you transmit only what you ask for within Object Collection
Hierarchies (unlike SPSite.AllWebs etc etc)<br />
- LINQ to SharePoint is initially created with SPMetal to create all the LINQ classes
(there’s no ‘designer’ support for this yet, like LINQ for SQL – at least in this
beta)<br />
- External Lists are an interesting one, you can develop plugins to expose two-way
data syncs within SharePoint. I’m looking to reach out to SAP + Siebel systems when
I explore this option :)<br /></li>
          <li>
Resource Throttling is turned on by default – previously developers could write code
like SPList.Items… Usually on a Developer’s machine, with 5 items in a list this was
not an issue, 8000 items in a list turns into a different story.<br /><br />
SharePoint 2010 now has safe guards against this turned on by default.</li>
        </ol>
        <p>
Enjoy…I’m off to enjoy the sun.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=75d78fdb-924c-4a8e-ad54-89262abd4fc1" />
      </body>
      <title>SharePoint 2010: Professional Developers Guide (BETA) Released</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,75d78fdb-924c-4a8e-ad54-89262abd4fc1.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/11/14/SharePoint2010ProfessionalDevelopersGuideBETAReleased.aspx</link>
      <pubDate>Sat, 14 Nov 2009 05:53:07 GMT</pubDate>
      <description>&lt;p&gt;
Recently at the SharePoint Conference (SPC2010) delegates were given a beautiful book
with all sorts of developers bits.
&lt;/p&gt;
&lt;p&gt;
The book stars 123 pages of great information, and improvements to many areas that
we previously had pain with (lists, queries, and just CAML in general)
&lt;/p&gt;
&lt;p&gt;
There’s also 6 walkthroughs (sort of like HOLs) with code etc. to give you a feel
for customising SharePoint. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cffb14e8-88a9-43bd-87aa-4792ab60d320&amp;amp;displaylang=en" target="_blank"&gt;Grab
the PDF version HERE&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cffb14e8-88a9-43bd-87aa-4792ab60d320&amp;amp;displaylang=en" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010ProfessionalDevelopersGuid_ED4B/image_5.png" width="304" height="392"&gt;&lt;/a&gt; 
&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;p&gt;
&amp;nbsp;
&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;p&gt;
&amp;nbsp;
&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;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Some snippets which I found interesting from the book are:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Some great object model options now for integrating with SharePoint.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010ProfessionalDevelopersGuid_ED4B/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2010ProfessionalDevelopersGuid_ED4B/image_thumb.png" width="320" height="246"&gt;&lt;/a&gt; 
&lt;br&gt;
Points to note here: 
&lt;br&gt;
- Client OM + Rest are exposed as WCF Services (based on Client.Svc) and the Client
OM is a batched model, so you transmit only what you ask for within Object Collection
Hierarchies (unlike SPSite.AllWebs etc etc)&lt;br&gt;
- LINQ to SharePoint is initially created with SPMetal to create all the LINQ classes
(there’s no ‘designer’ support for this yet, like LINQ for SQL – at least in this
beta)&lt;br&gt;
- External Lists are an interesting one, you can develop plugins to expose two-way
data syncs within SharePoint. I’m looking to reach out to SAP + Siebel systems when
I explore this option :)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Resource Throttling is turned on by default – previously developers could write code
like SPList.Items… Usually on a Developer’s machine, with 5 items in a list this was
not an issue, 8000 items in a list turns into a different story.&lt;br&gt;
&lt;br&gt;
SharePoint 2010 now has safe guards against this turned on by default.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Enjoy…I’m off to enjoy the sun.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=75d78fdb-924c-4a8e-ad54-89262abd4fc1" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,75d78fdb-924c-4a8e-ad54-89262abd4fc1.aspx</comments>
      <category>.NET Developer</category>
      <category>Office</category>
      <category>Office/Deployment</category>
      <category>SharePoint/2010</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=95e8761b-1f48-4766-b8f2-0a3f075a813e</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,95e8761b-1f48-4766-b8f2-0a3f075a813e.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,95e8761b-1f48-4766-b8f2-0a3f075a813e.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=95e8761b-1f48-4766-b8f2-0a3f075a813e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
When automation and word comes to mind, you usually think of COM, Interop and lack
of speed with 40 copies of Word running in the background that you’ve got no idea
how they got there.
</p>
        <p>
Imagine having your own copy of ‘Word’ Server Side – callable through APIs you could
easily create and manipulate Word Documents (Docx) and do a whole bunch of things
through the OpenXML.
</p>
        <p>
These Services are to live within SharePoint 2010 and imagine being able to create
PDFs on the fly…. :)
</p>
        <p>
          <a title="http://blogs.msdn.com/microsoft_office_word/archive/2009/10/26/introducing-word-automation-services.aspx" href="http://blogs.msdn.com/microsoft_office_word/archive/2009/10/26/introducing-word-automation-services.aspx">http://blogs.msdn.com/microsoft_office_word/archive/2009/10/26/introducing-word-automation-services.aspx</a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=95e8761b-1f48-4766-b8f2-0a3f075a813e" />
      </body>
      <title>SharePoint 2010: Word Automation Services</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,95e8761b-1f48-4766-b8f2-0a3f075a813e.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/11/03/SharePoint2010WordAutomationServices.aspx</link>
      <pubDate>Tue, 03 Nov 2009 19:51:32 GMT</pubDate>
      <description>&lt;p&gt;
When automation and word comes to mind, you usually think of COM, Interop and lack
of speed with 40 copies of Word running in the background that you’ve got no idea
how they got there.
&lt;/p&gt;
&lt;p&gt;
Imagine having your own copy of ‘Word’ Server Side – callable through APIs you could
easily create and manipulate Word Documents (Docx) and do a whole bunch of things
through the OpenXML.
&lt;/p&gt;
&lt;p&gt;
These Services are to live within SharePoint 2010 and imagine being able to create
PDFs on the fly…. :)
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://blogs.msdn.com/microsoft_office_word/archive/2009/10/26/introducing-word-automation-services.aspx" href="http://blogs.msdn.com/microsoft_office_word/archive/2009/10/26/introducing-word-automation-services.aspx"&gt;http://blogs.msdn.com/microsoft_office_word/archive/2009/10/26/introducing-word-automation-services.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=95e8761b-1f48-4766-b8f2-0a3f075a813e" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,95e8761b-1f48-4766-b8f2-0a3f075a813e.aspx</comments>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=b9aaeee5-0c36-44d5-81d7-d4fa19a710d1</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,b9aaeee5-0c36-44d5-81d7-d4fa19a710d1.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,b9aaeee5-0c36-44d5-81d7-d4fa19a710d1.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=b9aaeee5-0c36-44d5-81d7-d4fa19a710d1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A few tidbits to share with you so far.<br /><br /><img alt="SharePoint 2010 architecture" src="http://i.msdn.microsoft.com/Ee557253.51b4c417-9469-4ba4-95d7-d5ca6f5ecd1c(en-us,office.14).gif" /></p>
        <p>
WSS has gone through a name change (there was a time when WSS stood for ‘Web Storage
Server’ that SharePoint V1 + Exchange 5.x were based on) and is now called <strong>SharePoint
Foundation 2010</strong>. 
</p>
        <p>
I’m guessing that this name is more inline with Microsoft’s thinking around getting
SharePoint as the backend/foundation in Companies, as Office is standard on user’s
desktops.
</p>
        <p>
          <strong>Setting up your Development Environment:</strong>
        </p>
        <p>
(no more WSPBuilder…the SharePoint tools are baked into VS2010 beta 2. A nice feature
is that you can select what a ‘Deploy’ does, or a ‘ReDeploy’ by essentially adding
all these actions to your config, such as ‘restart IIS’, recycle app pool, make web.config
change… You just package them up – nice!)
</p>
        <ol>
          <li>
SharePoint 2010 Beta Center - <a title="http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx" href="http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx">http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx</a> ***
Great place to Start ***</li>
          <li>
SharePoint 2010 SDK - <a title="http://msdn.microsoft.com/en-au/library/ee557253(office.14).aspx" href="http://msdn.microsoft.com/en-au/library/ee557253(office.14).aspx">http://msdn.microsoft.com/en-au/library/ee557253(office.14).aspx</a></li>
          <li>
Visual Studio 2010 Beta 2 - <a title="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx" href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx">http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx</a> (this
will work with the upcoming beta release of SharePoint 2010)<br /><strong>Point to note: .NET 4.0 introduces WF4.0, however at this point SP2010 supports
only 3.51.</strong> There are some *very* significant changes in Workflow between
these 2 versions and we’ll have to wait and see the outcome. Performant 10-30x faster,
reduced memory footprint, more flexible, clean XAML, more events etc etc.<br /></li>
          <li>
One last little point – where is the Public SharePoint 2010 download….unfortunately
not yet will be soon and should be up on Dev Center Downloads - <a title="http://msdn.microsoft.com/en-us/sharepoint/aa905690.aspx" href="http://msdn.microsoft.com/en-us/sharepoint/aa905690.aspx">http://msdn.microsoft.com/en-us/sharepoint/aa905690.aspx</a></li>
        </ol>
        <p>
In the meantime, be sure to check out the changes and enhancements to the SharePoint
2010 API model and some of the new capabilities such as:
</p>
        <ol>
          <li>
Powershell everything</li>
          <li>
Check out LINQ/ADO.NET Entities integration and querying data</li>
          <li>
Performing JOINS in CAML</li>
          <li>
Client.svc – client side proxying, batching of requests and sending them through to
SharePoint 2010. Very fast, as we only send what we need.</li>
          <li>
Workflow exporting/importing from Visio-&gt;SPD-&gt;VS.NET-&gt;Deploy.</li>
          <li>
Sandbox Solutions – <strong>now we can target our SharePoint Solutions to the Site
Collection</strong> Level (rather than previously targeting only the farm). When we
create this solution in VSNET2010, it rebinds to a ‘fake’ Microsoft.SharePoint.dll
(v14.0.0.39 from memory) that introduces all the restrictions in your code and provides
special intellisense. Commands such as ‘Run Under Elevated Security’… get caught on
compile as these are not allowed.<br /><br />
Could you be in the situation where your code compiles but the *real* SharePoint ‘foundation’
says ‘no!..that instruction is not allowed’ – it’s possible, as you’re not actually
compiling against the real DLL. 
<br /><br />
Currently there are several projects that you <strong>can’t sandbox</strong> based
on their type – such as Workflow Projects. These still need to be targeted to the
Farm.<br /><br />
Worth checking out – specifically if you’re hosting SP sites.<br /></li>
          <li>
AJAX through out – even WebPart editor toolparts you can introduce AJAX there for
alot of the lookups etc. 
<br /></li>
          <li>
Other noted feature is that <strong>Throttling is on by default</strong> – so if you
say “list.Items.AllItems” and that returns back 50000 usually, SP2010 will error.
You have to explicitly ask to make the request without Throttling (couple of properties
you set before hand)<br /></li>
          <li>
Your WSSv3.0/MOSS sites can be *supported* in SP2010 and stay at their existing UI
Level (look and feel), then at a later point we can flick the switch and see your
site under the newer/AJAXY UI – through the APIs we can change it back SPWeb.UIVersion
= 3 or 4.</li>
        </ol>
        <p>
Enjoy,
</p>
        <p>
 
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=b9aaeee5-0c36-44d5-81d7-d4fa19a710d1" />
      </body>
      <title>SharePoint 2010: Developing – almost…</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,b9aaeee5-0c36-44d5-81d7-d4fa19a710d1.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/11/02/SharePoint2010DevelopingAlmost.aspx</link>
      <pubDate>Mon, 02 Nov 2009 13:39:37 GMT</pubDate>
      <description>&lt;p&gt;
A few tidbits to share with you so far.&lt;br&gt;
&lt;br&gt;
&lt;img alt="SharePoint 2010 architecture" src="http://i.msdn.microsoft.com/Ee557253.51b4c417-9469-4ba4-95d7-d5ca6f5ecd1c(en-us,office.14).gif"&gt;
&lt;/p&gt;
&lt;p&gt;
WSS has gone through a name change (there was a time when WSS stood for ‘Web Storage
Server’ that SharePoint V1 + Exchange 5.x were based on) and is now called &lt;strong&gt;SharePoint
Foundation 2010&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
I’m guessing that this name is more inline with Microsoft’s thinking around getting
SharePoint as the backend/foundation in Companies, as Office is standard on user’s
desktops.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Setting up your Development Environment:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
(no more WSPBuilder…the SharePoint tools are baked into VS2010 beta 2. A nice feature
is that you can select what a ‘Deploy’ does, or a ‘ReDeploy’ by essentially adding
all these actions to your config, such as ‘restart IIS’, recycle app pool, make web.config
change… You just package them up – nice!)
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
SharePoint 2010 Beta Center - &lt;a title="http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx" href="http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx"&gt;http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx&lt;/a&gt; ***
Great place to Start ***&lt;/li&gt;
&lt;li&gt;
SharePoint 2010 SDK - &lt;a title="http://msdn.microsoft.com/en-au/library/ee557253(office.14).aspx" href="http://msdn.microsoft.com/en-au/library/ee557253(office.14).aspx"&gt;http://msdn.microsoft.com/en-au/library/ee557253(office.14).aspx&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Visual Studio 2010 Beta 2 - &lt;a title="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx" href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx&lt;/a&gt; (this
will work with the upcoming beta release of SharePoint 2010)&lt;br&gt;
&lt;strong&gt;Point to note: .NET 4.0 introduces WF4.0, however at this point SP2010 supports
only 3.51.&lt;/strong&gt; There are some *very* significant changes in Workflow between
these 2 versions and we’ll have to wait and see the outcome. Performant 10-30x faster,
reduced memory footprint, more flexible, clean XAML, more events etc etc.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
One last little point – where is the Public SharePoint 2010 download….unfortunately
not yet will be soon and should be up on Dev Center Downloads - &lt;a title="http://msdn.microsoft.com/en-us/sharepoint/aa905690.aspx" href="http://msdn.microsoft.com/en-us/sharepoint/aa905690.aspx"&gt;http://msdn.microsoft.com/en-us/sharepoint/aa905690.aspx&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
In the meantime, be sure to check out the changes and enhancements to the SharePoint
2010 API model and some of the new capabilities such as:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Powershell everything&lt;/li&gt;
&lt;li&gt;
Check out LINQ/ADO.NET Entities integration and querying data&lt;/li&gt;
&lt;li&gt;
Performing JOINS in CAML&lt;/li&gt;
&lt;li&gt;
Client.svc – client side proxying, batching of requests and sending them through to
SharePoint 2010. Very fast, as we only send what we need.&lt;/li&gt;
&lt;li&gt;
Workflow exporting/importing from Visio-&amp;gt;SPD-&amp;gt;VS.NET-&amp;gt;Deploy.&lt;/li&gt;
&lt;li&gt;
Sandbox Solutions – &lt;strong&gt;now we can target our SharePoint Solutions to the Site
Collection&lt;/strong&gt; Level (rather than previously targeting only the farm). When we
create this solution in VSNET2010, it rebinds to a ‘fake’ Microsoft.SharePoint.dll
(v14.0.0.39 from memory) that introduces all the restrictions in your code and provides
special intellisense. Commands such as ‘Run Under Elevated Security’… get caught on
compile as these are not allowed.&lt;br&gt;
&lt;br&gt;
Could you be in the situation where your code compiles but the *real* SharePoint ‘foundation’
says ‘no!..that instruction is not allowed’ – it’s possible, as you’re not actually
compiling against the real DLL. 
&lt;br&gt;
&lt;br&gt;
Currently there are several projects that you &lt;strong&gt;can’t sandbox&lt;/strong&gt; based
on their type – such as Workflow Projects. These still need to be targeted to the
Farm.&lt;br&gt;
&lt;br&gt;
Worth checking out – specifically if you’re hosting SP sites.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
AJAX through out – even WebPart editor toolparts you can introduce AJAX there for
alot of the lookups etc. 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Other noted feature is that &lt;strong&gt;Throttling is on by default&lt;/strong&gt; – so if you
say “list.Items.AllItems” and that returns back 50000 usually, SP2010 will error.
You have to explicitly ask to make the request without Throttling (couple of properties
you set before hand)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Your WSSv3.0/MOSS sites can be *supported* in SP2010 and stay at their existing UI
Level (look and feel), then at a later point we can flick the switch and see your
site under the newer/AJAXY UI – through the APIs we can change it back SPWeb.UIVersion
= 3 or 4.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Enjoy,
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=b9aaeee5-0c36-44d5-81d7-d4fa19a710d1" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,b9aaeee5-0c36-44d5-81d7-d4fa19a710d1.aspx</comments>
      <category>MOSS</category>
      <category>MOSS/Admin</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=405bd13a-a590-4b0b-ad90-92e461c3870d</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,405bd13a-a590-4b0b-ad90-92e461c3870d.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,405bd13a-a590-4b0b-ad90-92e461c3870d.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=405bd13a-a590-4b0b-ad90-92e461c3870d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As far as I know there’s some good news and bad news…
</p>
        <p>
          <strong>Good news:</strong> the existing BizTalk SharePoint Adapter *should* work
with SharePoint 2010 – you will however need to add ‘&lt;rebinding&gt;’ section to
the existing adapters web.config *if* the SharePoint 2010 is installed locally to
the BizTalk Server.
</p>
        <p>
The ‘rebinding’ tells your local .NET app that even though you want V12.0.0.0 of the
SharePoint APIs, V14.0.0.0 assemblies will give it to you.
</p>
        <p>
          <strong>Bad News:</strong> there’s no new BTS Adapter on the Horizon for this – AFAIK.<br /></p>
        <p>
------
</p>
        <p>
With SharePoint 2010 we now have the capability to involve many tighter technologies
such as:
</p>
        <p>
1) <strong>event notification</strong>, rather than polling for the adapter.
</p>
        <p>
2) <strong>LINQ and ADO.NET Entities</strong> to query the Data.
</p>
        <p>
3) <strong>SharePoint Client WCF Service</strong> – Client.svc . This is a lightweight
and fast interface, where we can batch up requests, send them over the wire and get
back just what we ask for. 
</p>
        <p>
4) <strong>Lists.ASMX web service</strong> (+ the others) for backward compatibility.
</p>
        <p>
When I get some time…:D, I’m keen to develop a .NET LOB WCF Adapter.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=405bd13a-a590-4b0b-ad90-92e461c3870d" />
      </body>
      <title>BizTalk Adapter for SharePoint 2010</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,405bd13a-a590-4b0b-ad90-92e461c3870d.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/11/02/BizTalkAdapterForSharePoint2010.aspx</link>
      <pubDate>Mon, 02 Nov 2009 13:05:01 GMT</pubDate>
      <description>&lt;p&gt;
As far as I know there’s some good news and bad news…
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Good news:&lt;/strong&gt; the existing BizTalk SharePoint Adapter *should* work
with SharePoint 2010 – you will however need to add ‘&amp;lt;rebinding&amp;gt;’ section to
the existing adapters web.config *if* the SharePoint 2010 is installed locally to
the BizTalk Server.
&lt;/p&gt;
&lt;p&gt;
The ‘rebinding’ tells your local .NET app that even though you want V12.0.0.0 of the
SharePoint APIs, V14.0.0.0 assemblies will give it to you.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Bad News:&lt;/strong&gt; there’s no new BTS Adapter on the Horizon for this – AFAIK.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
------
&lt;/p&gt;
&lt;p&gt;
With SharePoint 2010 we now have the capability to involve many tighter technologies
such as:
&lt;/p&gt;
&lt;p&gt;
1) &lt;strong&gt;event notification&lt;/strong&gt;, rather than polling for the adapter.
&lt;/p&gt;
&lt;p&gt;
2) &lt;strong&gt;LINQ and ADO.NET Entities&lt;/strong&gt; to query the Data.
&lt;/p&gt;
&lt;p&gt;
3) &lt;strong&gt;SharePoint Client WCF Service&lt;/strong&gt; – Client.svc . This is a lightweight
and fast interface, where we can batch up requests, send them over the wire and get
back just what we ask for. 
&lt;/p&gt;
&lt;p&gt;
4) &lt;strong&gt;Lists.ASMX web service&lt;/strong&gt; (+ the others) for backward compatibility.
&lt;/p&gt;
&lt;p&gt;
When I get some time…:D, I’m keen to develop a .NET LOB WCF Adapter.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=405bd13a-a590-4b0b-ad90-92e461c3870d" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,405bd13a-a590-4b0b-ad90-92e461c3870d.aspx</comments>
      <category>BizTalk/2009</category>
      <category>BizTalk/BizTalk Adapter Pack</category>
      <category>BizTalk/Insights</category>
      <category>BizTalk/SharePoint</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=a4c8c100-959a-43d1-90ee-454334414a77</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,a4c8c100-959a-43d1-90ee-454334414a77.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,a4c8c100-959a-43d1-90ee-454334414a77.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=a4c8c100-959a-43d1-90ee-454334414a77</wfw:commentRss>
      <title>BizTalk 2009 – Configuring the SharePoint Adapter *Manually*</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,a4c8c100-959a-43d1-90ee-454334414a77.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/11/02/BizTalk2009ConfiguringTheSharePointAdapterManually.aspx</link>
      <pubDate>Mon, 02 Nov 2009 10:02:11 GMT</pubDate>
      <description>&lt;p&gt;
Well – after spending *far* too long trying to get a little Red X to disappear from
my BTS Configuration tool, so I can have a green light to configure the SharePoint
adapter, I thought “There’s got to be an easier way”&lt;br&gt;
&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_2.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_thumb.png" width="590" height="484"&gt;&lt;/a&gt; 
&lt;br&gt;
Exhibit A – your honour. The SharePoint Adapter Configured.
&lt;/p&gt;
&lt;p&gt;
So – what I did was roll my sleeves up and do this by hand.&lt;br&gt;
&lt;br&gt;
This particular install – BTS09 x86, I installed WSS V3.0 with Sp2 and created a local
sharepoint web application, site collection and had a whole bunch of SharePoint happiness
coming back to me on &lt;a href="http://biztalk"&gt;http://biztalk&lt;/a&gt; (my server name). 
&lt;/p&gt;
&lt;p&gt;
All good I thought – except the configuration tool didn’t like what it found. I looked
at logs, ran network sniffers and even manually ran the tool&amp;nbsp; &lt;strong&gt;Microsoft.BizTalk.KwTpm.StsOmInterop3.exe &lt;/strong&gt;&lt;a href="http://biztalk"&gt;&lt;strong&gt;http://biztalk&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;with
success:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_thumb_1.png" width="672" height="335"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
But still no joy in the configurator. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Here’s how to do it manually:&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Setup your local or domain SharePoint Groups&lt;br&gt;
&lt;/strong&gt;Typically this is the ‘SharePoint Enabled Hosts’ Group – if it already exists
on the domain, then great, if not create it. For this I created my group on the local
machine.&lt;br&gt;
I also added as members, my &lt;strong&gt;biztalk service account and my Sharepoint Service
Account&lt;/strong&gt;.&lt;br&gt;
&lt;li&gt;
&lt;strong&gt;Configure IIS – BTS SharePoint WS Web Application&lt;/strong&gt; 
&lt;ol&gt;
&lt;li&gt;
Within the BizTalk Installed folders – e.g. c:\program files\Microsoft BizTalk 2009\Business
Activity Services, you’ll find the set of WebServices to choose from. Select the right
one for your SharePoint deployment. 
&lt;li&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_thumb_2.png" width="644" height="484"&gt;&lt;/a&gt; 
&lt;li&gt;
As you can see I selected BTSharePointV3AdapterWS (for WSS V2 SP3, select BTSharePointAdapterWS). 
&lt;li&gt;
This is the folder you will point IIS to later. 
&lt;li&gt;
Open this folder and you’ll see a web application with a &lt;strong&gt;web.config.tmpl&lt;/strong&gt; 
&lt;li&gt;
Copy the &lt;strong&gt;web.config.tmpl and rename the *copy* to web.config&lt;/strong&gt; 
&lt;li&gt;
Open up your Web.Config in Notepad and configure as follows: 
&lt;ol&gt;
&lt;p&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br&gt;
&amp;lt;configuration&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;system.web&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;httpModules&amp;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;lt;!--add name="UrlAuthorization"
type="System.Web.Security.UrlAuthorizationModule" /--&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/httpModules&amp;gt; 
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Change debug="true" if you want to debug this web service
--&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;compilation defaultLanguage="c#" debug="false" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;customErrors mode="Off" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Windows Authentication is required for this web service.
--&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authentication mode="Windows" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Impersonation is required for this web service. --&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;identity impersonate="true" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authorization&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow roles="SharePoint Enabled Hosts"
verbs="GET,HEAD,POST"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deny users="*"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/authorization&amp;gt; 
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Uncomment this block if you want to do some tracing of
this web service --&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- &amp;lt;trace enabled="true" requestLimit="10" pageOutput="false"
traceMode="SortByTime" localOnly="true" /&amp;gt;&amp;nbsp; --&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;globalization requestEncoding="utf-8" responseEncoding="utf-8"
/&amp;gt; 
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- The size of a document being posted to SharePoint depends
on this setting --&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;httpRuntime maxRequestLength="100000" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;trust level="Full" originUrl="" /&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;/system.web&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;runtime&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependentAssembly&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name="Microsoft.SharePoint"
publicKeyToken="71e9bce111e9429c"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bindingRedirect oldVersion="11.0.0.0"
newVersion="12.0.0.0"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/assemblyBinding&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;/runtime&amp;gt;&lt;br&gt;
&amp;lt;/configuration&amp;gt; 
&lt;br&gt;
&lt;li&gt;
(you can always go back and tighten security up on this when you’ve got it working). 
&lt;li&gt;
Note the ‘SharePoint Enabled Hosts’ – local group here. 
&lt;li&gt;
I’ve also removed the ‘Documentation’ tags so I could get some WSDL to make sure it
works within the browser. 
&lt;li&gt;
&lt;strong&gt;Save your web.config within Notepad.&lt;/strong&gt; 
&lt;li&gt;
&lt;strong&gt;NOTE: make note of the Folder Path to get here as we’ll need it in IIS next.&lt;/strong&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;
&lt;strong&gt;Configuring IIS&lt;/strong&gt; 
&lt;ol&gt;
&lt;li&gt;
Bring up IIS Admin MMC snapin. 
&lt;li&gt;
Select your SharePoint enabled Web Site, I selected ‘Default Web Site’. Right click
when ‘Default Web Site’ is Selected and select ‘&lt;strong&gt;Add Application’&lt;/strong&gt;
&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_thumb_3.png" width="597" height="484"&gt;&lt;/a&gt; 
&lt;br&gt;
note: IIS 7.0 Manager shown. 
&lt;li&gt;
Configure this as follows:&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_thumb_4.png" width="644" height="448"&gt;&lt;/a&gt; 
&lt;br&gt;
(Note – the App Pool User should be able to post into BizTalk and SharePoint)&lt;br&gt;
&lt;strong&gt;Physical Path: &amp;lt;path you had previously to either V2 or V3 of your BTSharePointV3Adapter…&amp;gt;&lt;/strong&gt;
&lt;br&gt;
&lt;li&gt;
Click &lt;strong&gt;OK.&lt;/strong&gt; 
&lt;li&gt;
&lt;strong&gt;To Test your WS: &lt;/strong&gt;browse to: &lt;a href="http://&amp;lt;your"&gt;http://&amp;lt;your&lt;/a&gt; server&amp;gt;/BTSharePointAdapterWS/BTSharePointAdapterWS.asmx 
&lt;li&gt;
You *should* get this:&lt;br&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_thumb_5.png" width="644" height="484"&gt;&lt;/a&gt; 
&lt;br&gt;
You can invoke the &lt;strong&gt;IsAlive function &lt;/strong&gt;and get TRUE back.&lt;br&gt;
&lt;li&gt;
If not, then fix your IIS related errors, at this point you’ve got a WS that uses
the SharePoint APIs (locally). Some things to check: 
&lt;ol&gt;
&lt;li&gt;
Local file security – make sure the Web App Pool acct can access those directories. 
&lt;li&gt;
Windows Auth is turned on, on your Web App. 
&lt;li&gt;
Check IIS log files for clues.&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;
You’re done on the IIS side of things, let’s configure BTS Side.&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;
&lt;strong&gt;Configuring BizTalk Side&lt;br&gt;
&lt;/strong&gt;Fortunately the WSS Adapter is installed as part of the BizTalk Runtime configuration
– it’s just not configured. So as far as registering the adapter with BizTalk it’s
already been partly done.&lt;br&gt;
&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
Install the “I’ve been Configured Registry Keys” – I took these from a previously
successful 2009 install.&lt;br&gt;
&lt;/li&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:e43b5554-ac6f-4333-bf25-7f81e0836ae0" class="wlWriterEditableSmartContent"&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/BTS09_x86_WSSAdapterCfg_Node.zip" target="_blank"&gt;BTS
WSS Reg Keys&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;li&gt;
Once the registry keys have been applied you’ll need to go and configure the …&lt;strong&gt;\TPM
key&lt;/strong&gt; to reflect your setup as follows:&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
In Particular – configure your &lt;strong&gt;SharePoint SiteID to the one you saw in IIS.&lt;/strong&gt; 
&lt;li&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/BizTalk2009ConfiguringtheSharePointAdapt_1270B/image_thumb_6.png" width="644" height="196"&gt;&lt;/a&gt; 
&lt;/li&gt;
&lt;/ol&gt;
&gt;
&lt;li&gt;
&lt;strong&gt;How is this Different for a x64 bit Install&lt;/strong&gt;
&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
The IIS piece is the same. 
&lt;li&gt;
The BTS Piece – the Perf counters are the same, 
&lt;br&gt;
but the ..\TPM piece is under &lt;strong&gt;HKLM\SOFTWARE\WOW6432Node\Microsoft\BizTalk
Server\3.0\ConfigFramework&lt;/strong&gt; 
&lt;li&gt;
So you’ll need to ammend 1 of the above 2 REG files.&lt;/li&gt;
&lt;/ol&gt;
&gt;
&lt;p&gt;
You’re done!
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Why oh why is this so hard from within the Configurator&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;NOTE: There *USED* to be a Registry key that told the BTS WSS Adapter where
to go looking for the BTSharePoint WS – a URL (..STSServiceUrl). This eliminated the
need for a local machine install of SharePoint/WSS. Alas…this is *NOT* the case with
WSS Adapter post BTS06.&lt;/strong&gt;
&lt;/p&gt;
&lt;strong&gt;&lt;/strong&gt; 
&lt;p&gt;
&lt;br&gt;
&lt;/p&gt;&lt;?XML:NAMESPACE PREFIX = [default] urn:schemas-microsoft-com:asm.v1 NS = "urn:schemas-microsoft-com:asm.v1" /&gt;
&lt;assemblybinding xmlns="urn:schemas-microsoft-com:asm.v1"&gt;
&lt;dependentassembly&gt;
&lt;assemblyidentity name="Microsoft.SharePoint" publickeytoken="71e9bce111e9429c"&gt;
&lt;/assemblyidentity&gt;
&lt;bindingredirect oldversion="11.0.0.0" newversion="12.0.0.0"&gt;
&lt;/bindingredirect&gt;
&lt;/dependentassembly&gt;
&lt;/assemblybinding&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=a4c8c100-959a-43d1-90ee-454334414a77" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,a4c8c100-959a-43d1-90ee-454334414a77.aspx</comments>
      <category>BizTalk</category>
      <category>BizTalk/2009</category>
      <category>BizTalk/SharePoint</category>
      <category>MOSS</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=6d743a8f-12ef-4b58-9459-c13e74085955</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,6d743a8f-12ef-4b58-9459-c13e74085955.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,6d743a8f-12ef-4b58-9459-c13e74085955.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=6d743a8f-12ef-4b58-9459-c13e74085955</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Grab a look at the SDK – here - <a title="http://msdn.microsoft.com/en-us/library/dd776256.aspx" href="http://msdn.microsoft.com/en-us/library/dd776256.aspx">http://msdn.microsoft.com/en-us/library/dd776256.aspx</a> and
interestingly the BDC (now – Business Data Connectors) and BCS (Business Connectivity
Services) are the enhanced former 2007 BDC.<br /><br />
BCS = <a title="http://msdn.microsoft.com/en-us/library/ee556826(office.14).aspx" href="http://msdn.microsoft.com/en-us/library/ee556826(office.14).aspx">http://msdn.microsoft.com/en-us/library/ee556826(office.14).aspx</a></p>
        <p>
I’ve got lots to talk about and show but where to start….maybe “once there was a developer…”
:-)
</p>
        <p>
Stay tuned.
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=6d743a8f-12ef-4b58-9459-c13e74085955" />
      </body>
      <title>SharePoint 2010 SDK is available for viewing (beta-ish)</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,6d743a8f-12ef-4b58-9459-c13e74085955.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/10/22/SharePoint2010SDKIsAvailableForViewingBetaish.aspx</link>
      <pubDate>Thu, 22 Oct 2009 12:20:47 GMT</pubDate>
      <description>&lt;p&gt;
Grab a look at the SDK – here - &lt;a title="http://msdn.microsoft.com/en-us/library/dd776256.aspx" href="http://msdn.microsoft.com/en-us/library/dd776256.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd776256.aspx&lt;/a&gt; and
interestingly the BDC (now – Business Data Connectors) and BCS (Business Connectivity
Services) are the enhanced former 2007 BDC.&lt;br&gt;
&lt;br&gt;
BCS = &lt;a title="http://msdn.microsoft.com/en-us/library/ee556826(office.14).aspx" href="http://msdn.microsoft.com/en-us/library/ee556826(office.14).aspx"&gt;http://msdn.microsoft.com/en-us/library/ee556826(office.14).aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I’ve got lots to talk about and show but where to start….maybe “once there was a developer…”
:-)
&lt;/p&gt;
&lt;p&gt;
Stay tuned.
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=6d743a8f-12ef-4b58-9459-c13e74085955" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,6d743a8f-12ef-4b58-9459-c13e74085955.aspx</comments>
      <category>MOSS</category>
      <category>MOSS/Admin</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=4493042a-aa7c-4970-94d7-b1940f4f01db</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,4493042a-aa7c-4970-94d7-b1940f4f01db.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,4493042a-aa7c-4970-94d7-b1940f4f01db.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=4493042a-aa7c-4970-94d7-b1940f4f01db</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last week I met up with <a href="http://blogs.msdn.com/leonidly/" target="_blank">Leonid
(MCS SharePoint consultant)</a> whom has a great upfront and practical view on life.
Funny guy.
</p>
        <p>
He mentioned to me about a SharePoint Faceted Search – which is a series of Search
Web Parts that drill into the Search Index and return metadata tags, content types
and a bunch of other stuff to give you accurate search results grouped by <strong>Author,
Content Type, etc. </strong>(what ever you want)
</p>
        <p>
Add them to the search results page of your SharePoint Search and you’re away. The
webparts examine the Query String and have a bunch of customisations that allow you
to tweak it just the way you like.
</p>
        <p>
Great work <a href="http://blogs.msdn.com/leonidly/" target="_blank">Leonid!!!!</a> (he’s
a very clever guy – SharePoint Search is one of his passions…Red Wine is the other
:) )<br />
You can contact him via e.mail on:<strong> xsearch a.t. microsoft dot com</strong></p>
        <p>
          <strong>Standard View – </strong>notice the red regions, categories with the exact
number of results. Where std. search says “..about 512 results”
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2007FacetedCategorySearchWebPa_9D65/image_4.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2007FacetedCategorySearchWebPa_9D65/image_thumb_1.png" width="644" height="339" />
          </a>
        </p>
        <p>
        </p>
        <p>
          <strong>Adding a Couple of Categories – </strong>and looking at Content Type Search.
</p>
        <p>
          <a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2007FacetedCategorySearchWebPa_9D65/image_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2007FacetedCategorySearchWebPa_9D65/image_thumb_2.png" width="644" height="339" />
          </a>
        </p>
        <p>
Here I clicked on Author – Mick Badran and a Content Type of ‘Word’. You can see how
the ‘advanced search’ is being visually built for me.
</p>
        <p>
The best thing I like about all of this is that the RHS Web Part is totally customisable.
The results all come from an XML File (property of the webpart) that you can customise
– we can have icons, map different words/terms for things like ‘Word’ as a content
type.<br />
You can even add/remove your own.
</p>
        <p>
The webpart has collapsible sections to it (you can even set how many items you want
visible when collapse in the section!) and the collapsing/expanding is driven off
Javascript calls back to the Server, so no round tripping.
</p>
        <p>
Simply download, install the Solution, Activate the Feature for your Site Collection
and add the Web Parts to your page. Easy as that to get started.
</p>
        <p>
          <strong>Brilliant – absolutely Brilliant</strong> (I’ve already had some of our users
emailing me to say how easy it is)<br /></p>
        <p>
Grab them here from CodePlex - <a title="http://www.codeplex.com/Wikipage?ProjectName=FacetedSearch" href="http://www.codeplex.com/Wikipage?ProjectName=FacetedSearch">http://www.codeplex.com/Wikipage?ProjectName=FacetedSearch</a></p>
        <p>
---- snip from the CodePlex Main Page ----
</p>
        <p>
          <b>Project Description</b>
          <br />
MOSS Faceted Search is a set of web parts that provide intuitive way to refine search
results by category (facet). 
<br />
The facets are implemented using SharePoint API and stored within native SharePoint
METADATA store. The solution demonstrates following key features: 
</p>
        <ul>
          <li>
Grouping search results by facet 
</li>
          <li>
Displaying a total number of hits per facet value 
</li>
          <li>
Refining search results by facet value 
</li>
          <li>
Update of the facet menu based on refined search criteria 
</li>
          <li>
Displaying of the search criteria in a Bread Crumbs 
</li>
          <li>
Ability to exclude the chosen facet from the search criteria 
</li>
          <li>
Flexibility of the Faceted search configuration and its consistency with MOSS administration</li>
        </ul>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=4493042a-aa7c-4970-94d7-b1940f4f01db" />
      </body>
      <title>SharePoint 2007 Faceted (Category) Search Web Parts</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,4493042a-aa7c-4970-94d7-b1940f4f01db.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/10/19/SharePoint2007FacetedCategorySearchWebParts.aspx</link>
      <pubDate>Mon, 19 Oct 2009 00:13:29 GMT</pubDate>
      <description>&lt;p&gt;
Last week I met up with &lt;a href="http://blogs.msdn.com/leonidly/" target="_blank"&gt;Leonid
(MCS SharePoint consultant)&lt;/a&gt; whom has a great upfront and practical view on life.
Funny guy.
&lt;/p&gt;
&lt;p&gt;
He mentioned to me about a SharePoint Faceted Search – which is a series of Search
Web Parts that drill into the Search Index and return metadata tags, content types
and a bunch of other stuff to give you accurate search results grouped by &lt;strong&gt;Author,
Content Type, etc. &lt;/strong&gt;(what ever you want)
&lt;/p&gt;
&lt;p&gt;
Add them to the search results page of your SharePoint Search and you’re away. The
webparts examine the Query String and have a bunch of customisations that allow you
to tweak it just the way you like.
&lt;/p&gt;
&lt;p&gt;
Great work &lt;a href="http://blogs.msdn.com/leonidly/" target="_blank"&gt;Leonid!!!!&lt;/a&gt; (he’s
a very clever guy – SharePoint Search is one of his passions…Red Wine is the other
:) )&lt;br&gt;
You can contact him via e.mail on:&lt;strong&gt; xsearch a.t. microsoft dot com&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Standard View – &lt;/strong&gt;notice the red regions, categories with the exact
number of results. Where std. search says “..about 512 results”
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2007FacetedCategorySearchWebPa_9D65/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2007FacetedCategorySearchWebPa_9D65/image_thumb_1.png" width="644" height="339"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Adding a Couple of Categories – &lt;/strong&gt;and looking at Content Type Search.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2007FacetedCategorySearchWebPa_9D65/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.breezetraining.com.au/mickb/content/binary/WindowsLiveWriter/SharePoint2007FacetedCategorySearchWebPa_9D65/image_thumb_2.png" width="644" height="339"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Here I clicked on Author – Mick Badran and a Content Type of ‘Word’. You can see how
the ‘advanced search’ is being visually built for me.
&lt;/p&gt;
&lt;p&gt;
The best thing I like about all of this is that the RHS Web Part is totally customisable.
The results all come from an XML File (property of the webpart) that you can customise
– we can have icons, map different words/terms for things like ‘Word’ as a content
type.&lt;br&gt;
You can even add/remove your own.
&lt;/p&gt;
&lt;p&gt;
The webpart has collapsible sections to it (you can even set how many items you want
visible when collapse in the section!) and the collapsing/expanding is driven off
Javascript calls back to the Server, so no round tripping.
&lt;/p&gt;
&lt;p&gt;
Simply download, install the Solution, Activate the Feature for your Site Collection
and add the Web Parts to your page. Easy as that to get started.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Brilliant – absolutely Brilliant&lt;/strong&gt; (I’ve already had some of our users
emailing me to say how easy it is)&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Grab them here from CodePlex - &lt;a title="http://www.codeplex.com/Wikipage?ProjectName=FacetedSearch" href="http://www.codeplex.com/Wikipage?ProjectName=FacetedSearch"&gt;http://www.codeplex.com/Wikipage?ProjectName=FacetedSearch&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
---- snip from the CodePlex Main Page ----
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Project Description&lt;/b&gt;
&lt;br&gt;
MOSS Faceted Search is a set of web parts that provide intuitive way to refine search
results by category (facet). 
&lt;br&gt;
The facets are implemented using SharePoint API and stored within native SharePoint
METADATA store. The solution demonstrates following key features: 
&lt;ul&gt;
&lt;li&gt;
Grouping search results by facet 
&lt;li&gt;
Displaying a total number of hits per facet value 
&lt;li&gt;
Refining search results by facet value 
&lt;li&gt;
Update of the facet menu based on refined search criteria 
&lt;li&gt;
Displaying of the search criteria in a Bread Crumbs 
&lt;li&gt;
Ability to exclude the chosen facet from the search criteria 
&lt;li&gt;
Flexibility of the Faceted search configuration and its consistency with MOSS administration&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=4493042a-aa7c-4970-94d7-b1940f4f01db" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,4493042a-aa7c-4970-94d7-b1940f4f01db.aspx</comments>
      <category>MOSS</category>
      <category>MOSS/Admin</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=3ba454e3-a8aa-4595-8a52-648bdc1ea8e7</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,3ba454e3-a8aa-4595-8a52-648bdc1ea8e7.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,3ba454e3-a8aa-4595-8a52-648bdc1ea8e7.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=3ba454e3-a8aa-4595-8a52-648bdc1ea8e7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
With the SharePoint conference starting this week I’m sure there’ll be some great
messaging coming out.
</p>
        <p>
When we’re given the green light I’ll talk about the many fantastic improvements on
the way to a SharePoint site near you!!!
</p>
        <p>
Stay tuned….
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=3ba454e3-a8aa-4595-8a52-648bdc1ea8e7" />
      </body>
      <title>SharePoint 2010 – What it means for you….</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,3ba454e3-a8aa-4595-8a52-648bdc1ea8e7.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/10/18/SharePoint2010WhatItMeansForYou.aspx</link>
      <pubDate>Sun, 18 Oct 2009 19:57:39 GMT</pubDate>
      <description>&lt;p&gt;
With the SharePoint conference starting this week I’m sure there’ll be some great
messaging coming out.
&lt;/p&gt;
&lt;p&gt;
When we’re given the green light I’ll talk about the many fantastic improvements on
the way to a SharePoint site near you!!!
&lt;/p&gt;
&lt;p&gt;
Stay tuned….
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=3ba454e3-a8aa-4595-8a52-648bdc1ea8e7" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,3ba454e3-a8aa-4595-8a52-648bdc1ea8e7.aspx</comments>
      <category>MOSS</category>
      <category>MOSS/Admin</category>
      <category>SharePoint/1010/Guides</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=d5853e16-4cf0-4e5d-9b33-2e566d72afc5</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,d5853e16-4cf0-4e5d-9b33-2e566d72afc5.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,d5853e16-4cf0-4e5d-9b33-2e566d72afc5.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=d5853e16-4cf0-4e5d-9b33-2e566d72afc5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This whitepaper is typically centered around the BTS SharePoint Adapter and WSS V3.0/MOSS
2007.<br />
(I’ll be posting details on SharePoint 2010 integration shortly… :) )
</p>
        <p>
          <a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=dd4e843d-2121-4016-8391-d763d0ff0a08" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=dd4e843d-2121-4016-8391-d763d0ff0a08">http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=dd4e843d-2121-4016-8391-d763d0ff0a08</a>
        </p>
        <h3>BizTalk + SharePoint: 1+1=3: Integration Best Practices
</h3>
        <h6>Brief Description
</h6>
        <p>
The integration of Microsoft BizTalk Server 2009 and Microsoft Office SharePoint 2007
brings a whole new set of capabilities to end users. Microsoft Office SharePoint Server
gives BizTalk Server a “face,” providing human workflow features and dashboard functionality. 
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d5853e16-4cf0-4e5d-9b33-2e566d72afc5" />
      </body>
      <title>BizTalk Integration with SharePoint Whitepaper published</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,d5853e16-4cf0-4e5d-9b33-2e566d72afc5.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/10/10/BizTalkIntegrationWithSharePointWhitepaperPublished.aspx</link>
      <pubDate>Sat, 10 Oct 2009 00:35:04 GMT</pubDate>
      <description>&lt;p&gt;
This whitepaper is typically centered around the BTS SharePoint Adapter and WSS V3.0/MOSS
2007.&lt;br&gt;
(I’ll be posting details on SharePoint 2010 integration shortly… :) )
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=dd4e843d-2121-4016-8391-d763d0ff0a08" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=dd4e843d-2121-4016-8391-d763d0ff0a08"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=dd4e843d-2121-4016-8391-d763d0ff0a08&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;BizTalk + SharePoint: 1+1=3: Integration Best Practices
&lt;/h3&gt;
&lt;h6&gt;Brief Description
&lt;/h6&gt;
&lt;p&gt;
The integration of Microsoft BizTalk Server 2009 and Microsoft Office SharePoint 2007
brings a whole new set of capabilities to end users. Microsoft Office SharePoint Server
gives BizTalk Server a “face,” providing human workflow features and dashboard functionality. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d5853e16-4cf0-4e5d-9b33-2e566d72afc5" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,d5853e16-4cf0-4e5d-9b33-2e566d72afc5.aspx</comments>
      <category>BizTalk</category>
      <category>BizTalk/2009</category>
      <category>MOSS</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=d981498a-ae69-47b6-8b16-f5f619c348d1</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,d981498a-ae69-47b6-8b16-f5f619c348d1.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,d981498a-ae69-47b6-8b16-f5f619c348d1.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=d981498a-ae69-47b6-8b16-f5f619c348d1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hi folks, I recently came across a tool (or enhancements to <strong>stsadm</strong>)
that runs a series of rules against your farm to see if it passes some of the core
requirements for upgrading to ‘a future release of SharePoint’ from WSS 3.0/MOSS 2007…so
I’m guessing SP2010 :)
</p>
        <p>
          <a title="http://technet.microsoft.com/en-us/library/dd793607.aspx" href="http://technet.microsoft.com/en-us/library/dd793607.aspx">http://technet.microsoft.com/en-us/library/dd793607.aspx</a>
        </p>
        <p>
Check it out and let me know what you think – I haven’t run it yet…looking into it.
</p>
        <p>
Have fun,
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d981498a-ae69-47b6-8b16-f5f619c348d1" />
      </body>
      <title>SharePoint 2010 Upgrade Verification Tool</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,d981498a-ae69-47b6-8b16-f5f619c348d1.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/10/08/SharePoint2010UpgradeVerificationTool.aspx</link>
      <pubDate>Thu, 08 Oct 2009 12:09:45 GMT</pubDate>
      <description>&lt;p&gt;
Hi folks, I recently came across a tool (or enhancements to &lt;strong&gt;stsadm&lt;/strong&gt;)
that runs a series of rules against your farm to see if it passes some of the core
requirements for upgrading to ‘a future release of SharePoint’ from WSS 3.0/MOSS 2007…so
I’m guessing SP2010 :)
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://technet.microsoft.com/en-us/library/dd793607.aspx" href="http://technet.microsoft.com/en-us/library/dd793607.aspx"&gt;http://technet.microsoft.com/en-us/library/dd793607.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Check it out and let me know what you think – I haven’t run it yet…looking into it.
&lt;/p&gt;
&lt;p&gt;
Have fun,
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d981498a-ae69-47b6-8b16-f5f619c348d1" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,d981498a-ae69-47b6-8b16-f5f619c348d1.aspx</comments>
      <category>MOSS</category>
      <category>MOSS/Admin</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=1971a12e-3f4c-457b-9724-d66dbb944808</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,1971a12e-3f4c-457b-9724-d66dbb944808.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,1971a12e-3f4c-457b-9724-d66dbb944808.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=1971a12e-3f4c-457b-9724-d66dbb944808</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
My buddy Kent Weare is launching a great series of posts on pulling/pushing documents
in/from SharePoint and BizTalk. Using InfoPath to beautify what hard-core developers
have known for years – that thing called XML.
</p>
        <p>
Kent’s just rolling up his sleeves and getting cracking - <a title="http://kentweare.blogspot.com/2009/10/biztalk-2009-sharepointwss-30.html" href="http://kentweare.blogspot.com/2009/10/biztalk-2009-sharepointwss-30.html">http://kentweare.blogspot.com/2009/10/biztalk-2009-sharepointwss-30.html</a></p>
        <p>
Well done Kent – looks great!
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=1971a12e-3f4c-457b-9724-d66dbb944808" />
      </body>
      <title>SharePoint BizTalk Integration – Kent’s running hot!</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,1971a12e-3f4c-457b-9724-d66dbb944808.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/10/04/SharePointBizTalkIntegrationKentsRunningHot.aspx</link>
      <pubDate>Sun, 04 Oct 2009 12:15:38 GMT</pubDate>
      <description>&lt;p&gt;
My buddy Kent Weare is launching a great series of posts on pulling/pushing documents
in/from SharePoint and BizTalk. Using InfoPath to beautify what hard-core developers
have known for years – that thing called XML.
&lt;/p&gt;
&lt;p&gt;
Kent’s just rolling up his sleeves and getting cracking - &lt;a title="http://kentweare.blogspot.com/2009/10/biztalk-2009-sharepointwss-30.html" href="http://kentweare.blogspot.com/2009/10/biztalk-2009-sharepointwss-30.html"&gt;http://kentweare.blogspot.com/2009/10/biztalk-2009-sharepointwss-30.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Well done Kent – looks great!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=1971a12e-3f4c-457b-9724-d66dbb944808" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,1971a12e-3f4c-457b-9724-d66dbb944808.aspx</comments>
      <category>BizTalk/2009</category>
      <category>SharePoint/2010</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=2ef0751d-ae18-47ca-af00-c2d9d46c113c</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,2ef0751d-ae18-47ca-af00-c2d9d46c113c.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,2ef0751d-ae18-47ca-af00-c2d9d46c113c.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=2ef0751d-ae18-47ca-af00-c2d9d46c113c</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Something that I’ve come across in recent years and it concerns me more and more…<strong>long
running transactions</strong>.
</p>
        <p>
For example let’s take an Insurance Company implementing a Claims Process.<br /><br />
The way it works is:
</p>
        <ul>
          <li>
            <strong>Design Long Running Business Processes around BizTalk Orchestrations</strong>
            <br />
Sounds great on the surface and since BizTalk 2004, the techniques for implementing
this were easier.<br />
Basically – the BizTalk Environment will look after ensuring state is maintained,
waiting Orchestrations are managed and Correlations are in place for return messages,
that may return seconds, minutes, weeks or months later.<br /><br />
So in this case we’d implement a main <strong>claims</strong> process manager which
is runs for the duration the claim is active in the system.<br /><br />
A Claim comes in, enters the System and the Claims Process Manager initiates and we’re
off and running.<br /><br />
A common technique with long running processes is to <strong>forcibly suspend biztalk
messages </strong>that are in error. At a later date someone looks into the BizTalk
Admin Console (or via a WMI query) and ‘deals with’ the suspended messages.<br /><br />
The benefit of these suspended messages is that they potentially can be resumed right
where they left off and these messages are stored in the MsgBoxDB awaiting attention.</li>
        </ul>
        <p>
The reason why <strong>I don’t think this works:</strong></p>
        <ul>
          <li>
Messages are immutable – meaning that while they’re in the MsgBoxDB they can’t be
changed (technically we *can* changed these messages as a hack, but it’s *not supported*).
So if the message is incorrect and in the overall process, we might fix the problem
and resubmit that message – we can’t do this from within the MessageBox. We have to
export the message out and provide some ‘resubmit to biztalk’ port (usually a file
port).<br /></li>
          <li>
BizTalk MessageBoxDB is keeping state of the system. In process Claims are part floating
around as part of our system (we could also be a bank processing Loans etc etc). If
we lose the MessageBoxDB this could spell even more trouble.<br /></li>
          <li>
Also system upgrade complexity moves up that extra notch, careful planning and various
considerations need to be thought out. Pending Orchestrations have to be allowed to
run through to completion; hydrated messages waiting to be sent through Ports, means
that those ports must stay around until these messages are dealt with… and many other.<br /></li>
          <li>
Backup – despite the recent advancements in SQL Server 2008 (mirroring) we can’t take
advantage of it in the BizTalk world.<br />
The supported Technique is to use <strong>Log Shipping</strong> – The recommended
backup interval is <strong>15 minutes</strong> so worse case your system is out 15
minutes in the case of a crash.<br /><br />
This is not entirely true… on busy systems the actual log shipping process may take
between 15-30 mins to backup. This means that during the time while log shipping backup
is running, the system is not being backed up. So all in all your system could be
running for 1hr (approx.) with no covering backup.<br /><br />
This essentially is the <strong>state of your solution</strong>.<br /></li>
        </ul>
        <p>
What <strong>Does Work</strong>….in my opinion.
</p>
        <ul>
          <li>
Manage the State of your System in another area, such as SQL or SharePoint.</li>
          <li>
Where possible keep the Orchestrations short running.</li>
          <li>
Upgrades are simplier</li>
          <li>
System maintenance is simplier.</li>
          <li>
Provide a MSMQ or File Inbound Port for ‘Resubmission into BizTalk’.</li>
          <li>
Use Content Based Routing to establish mutually exclusive processes.</li>
        </ul>
        <p>
Food for thought folks, from what I’ve worked on and noticed out in the field.
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=2ef0751d-ae18-47ca-af00-c2d9d46c113c" />
      </body>
      <title>BizTalk: Long Running Processes – Friend or Foe?</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,2ef0751d-ae18-47ca-af00-c2d9d46c113c.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/10/04/BizTalkLongRunningProcessesFriendOrFoe.aspx</link>
      <pubDate>Sun, 04 Oct 2009 12:05:03 GMT</pubDate>
      <description>&lt;p&gt;
Something that I’ve come across in recent years and it concerns me more and more…&lt;strong&gt;long
running transactions&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
For example let’s take an Insurance Company implementing a Claims Process.&lt;br&gt;
&lt;br&gt;
The way it works is:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Design Long Running Business Processes around BizTalk Orchestrations&lt;/strong&gt;
&lt;br&gt;
Sounds great on the surface and since BizTalk 2004, the techniques for implementing
this were easier.&lt;br&gt;
Basically – the BizTalk Environment will look after ensuring state is maintained,
waiting Orchestrations are managed and Correlations are in place for return messages,
that may return seconds, minutes, weeks or months later.&lt;br&gt;
&lt;br&gt;
So in this case we’d implement a main &lt;strong&gt;claims&lt;/strong&gt; process manager which
is runs for the duration the claim is active in the system.&lt;br&gt;
&lt;br&gt;
A Claim comes in, enters the System and the Claims Process Manager initiates and we’re
off and running.&lt;br&gt;
&lt;br&gt;
A common technique with long running processes is to &lt;strong&gt;forcibly suspend biztalk
messages &lt;/strong&gt;that are in error. At a later date someone looks into the BizTalk
Admin Console (or via a WMI query) and ‘deals with’ the suspended messages.&lt;br&gt;
&lt;br&gt;
The benefit of these suspended messages is that they potentially can be resumed right
where they left off and these messages are stored in the MsgBoxDB awaiting attention.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The reason why &lt;strong&gt;I don’t think this works:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Messages are immutable – meaning that while they’re in the MsgBoxDB they can’t be
changed (technically we *can* changed these messages as a hack, but it’s *not supported*).
So if the message is incorrect and in the overall process, we might fix the problem
and resubmit that message – we can’t do this from within the MessageBox. We have to
export the message out and provide some ‘resubmit to biztalk’ port (usually a file
port).&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
BizTalk MessageBoxDB is keeping state of the system. In process Claims are part floating
around as part of our system (we could also be a bank processing Loans etc etc). If
we lose the MessageBoxDB this could spell even more trouble.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Also system upgrade complexity moves up that extra notch, careful planning and various
considerations need to be thought out. Pending Orchestrations have to be allowed to
run through to completion; hydrated messages waiting to be sent through Ports, means
that those ports must stay around until these messages are dealt with… and many other.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Backup – despite the recent advancements in SQL Server 2008 (mirroring) we can’t take
advantage of it in the BizTalk world.&lt;br&gt;
The supported Technique is to use &lt;strong&gt;Log Shipping&lt;/strong&gt; – The recommended
backup interval is &lt;strong&gt;15 minutes&lt;/strong&gt; so worse case your system is out 15
minutes in the case of a crash.&lt;br&gt;
&lt;br&gt;
This is not entirely true… on busy systems the actual log shipping process may take
between 15-30 mins to backup. This means that during the time while log shipping backup
is running, the system is not being backed up. So all in all your system could be
running for 1hr (approx.) with no covering backup.&lt;br&gt;
&lt;br&gt;
This essentially is the &lt;strong&gt;state of your solution&lt;/strong&gt;.&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
What &lt;strong&gt;Does Work&lt;/strong&gt;….in my opinion.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Manage the State of your System in another area, such as SQL or SharePoint.&lt;/li&gt;
&lt;li&gt;
Where possible keep the Orchestrations short running.&lt;/li&gt;
&lt;li&gt;
Upgrades are simplier&lt;/li&gt;
&lt;li&gt;
System maintenance is simplier.&lt;/li&gt;
&lt;li&gt;
Provide a MSMQ or File Inbound Port for ‘Resubmission into BizTalk’.&lt;/li&gt;
&lt;li&gt;
Use Content Based Routing to establish mutually exclusive processes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Food for thought folks, from what I’ve worked on and noticed out in the field.
&lt;/p&gt;
&lt;p&gt;
Mick.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=2ef0751d-ae18-47ca-af00-c2d9d46c113c" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,2ef0751d-ae18-47ca-af00-c2d9d46c113c.aspx</comments>
      <category>BizTalk/2009</category>
      <category>SharePoint/2010</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=fbfc5075-cc79-4200-a157-8cb4a917385a</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,fbfc5075-cc79-4200-a157-8cb4a917385a.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,fbfc5075-cc79-4200-a157-8cb4a917385a.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=fbfc5075-cc79-4200-a157-8cb4a917385a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Great to see some public information surfacing around SharePoint 2010 and development.
</p>
        <p>
To get started (if you’re not already) here’s the SDK with a CHM file and PDF/XPS
on “how to customise the ribbon”.<br /><a title="http://www.microsoft.com/downloads/details.aspx?familyid=94AFE886-3B20-4BC9-9A0D-ACD8CD232C24&amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=94AFE886-3B20-4BC9-9A0D-ACD8CD232C24&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?familyid=94AFE886-3B20-4BC9-9A0D-ACD8CD232C24&amp;displaylang=en</a></p>
        <p>
Doing a little digging in the CHM file, you can see (below) all the different Content
categories with some special areas to note:
</p>
        <ol>
          <li>
There appears to be a Visio Server – I guess like InfoPath + Excel Services as they
currently stand in 2007.</li>
          <li>
AJAX + JSON seem to make an appearance at the foundational core – yay! less page reloads.</li>
          <li>
WCF Services used (*.SVC) as expected and simplified. Also it appears that BDC systems
are accessible via a SharePoint custom WCF Binding, making it possible to work on
BDC based data from various applications within SharePoint. SharePoint might become
the hub ‘repository’ for this sort of information.</li>
        </ol>
        <p>
Bear in mind *alot* of this information is ‘subject’ to change.<br /><br />
Certainly going fwd it should be very exciting to see what actually ships and whether
some of the immediate constraints are dealt with.
</p>
        <p>
Looks like we’re up for another Ribbon experience in this Version of SharePoint from
within the Browser.
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/WindowsLiveWriter/SharePoint2010TechPreviewDeveloperSDKish_CAD/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/WindowsLiveWriter/SharePoint2010TechPreviewDeveloperSDKish_CAD/image_thumb.png" width="644" height="428" />
          </a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=fbfc5075-cc79-4200-a157-8cb4a917385a" />
      </body>
      <title>SharePoint 2010 (Tech Preview) Developer SDK is here</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,fbfc5075-cc79-4200-a157-8cb4a917385a.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2009/09/03/SharePoint2010TechPreviewDeveloperSDKIsHere.aspx</link>
      <pubDate>Thu, 03 Sep 2009 14:54:21 GMT</pubDate>
      <description>&lt;p&gt;
Great to see some public information surfacing around SharePoint 2010 and development.
&lt;/p&gt;
&lt;p&gt;
To get started (if you’re not already) here’s the SDK with a CHM file and PDF/XPS
on “how to customise the ribbon”.&lt;br&gt;
&lt;a title="http://www.microsoft.com/downloads/details.aspx?familyid=94AFE886-3B20-4BC9-9A0D-ACD8CD232C24&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=94AFE886-3B20-4BC9-9A0D-ACD8CD232C24&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=94AFE886-3B20-4BC9-9A0D-ACD8CD232C24&amp;amp;displaylang=en&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Doing a little digging in the CHM file, you can see (below) all the different Content
categories with some special areas to note:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
There appears to be a Visio Server – I guess like InfoPath + Excel Services as they
currently stand in 2007.&lt;/li&gt;
&lt;li&gt;
AJAX + JSON seem to make an appearance at the foundational core – yay! less page reloads.&lt;/li&gt;
&lt;li&gt;
WCF Services used (*.SVC) as expected and simplified. Also it appears that BDC systems
are accessible via a SharePoint custom WCF Binding, making it possible to work on
BDC based data from various applications within SharePoint. SharePoint might become
the hub ‘repository’ for this sort of information.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Bear in mind *alot* of this information is ‘subject’ to change.&lt;br&gt;
&lt;br&gt;
Certainly going fwd it should be very exciting to see what actually ships and whether
some of the immediate constraints are dealt with.
&lt;/p&gt;
&lt;p&gt;
Looks like we’re up for another Ribbon experience in this Version of SharePoint from
within the Browser.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/WindowsLiveWriter/SharePoint2010TechPreviewDeveloperSDKish_CAD/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/WindowsLiveWriter/SharePoint2010TechPreviewDeveloperSDKish_CAD/image_thumb.png" width="644" height="428"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=fbfc5075-cc79-4200-a157-8cb4a917385a" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,fbfc5075-cc79-4200-a157-8cb4a917385a.aspx</comments>
      <category>.NET Developer</category>
      <category>MOSS</category>
      <category>Office</category>
      <category>Office/Deployment</category>
      <category>SharePoint/2010</category>
    </item>
  </channel>
</rss>