<?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/... - Dev</title>
    <link>http://blogs.breeze.net/mickb/</link>
    <description>Things hard and not so hard....</description>
    <language>en-us</language>
    <copyright>Breeze</copyright>
    <lastBuildDate>Mon, 20 May 2013 02:23:00 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=d2715669-1ba4-4827-9e48-3d75c1262cc0</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,d2715669-1ba4-4827-9e48-3d75c1262cc0.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,d2715669-1ba4-4827-9e48-3d75c1262cc0.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=d2715669-1ba4-4827-9e48-3d75c1262cc0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well folks I’ve been greeted with the news that <strong>Microsoft Windows Azure will
be in 2 geo-replicated places here on Australian soil, </strong>coming ‘shortly’.
</p>
        <p>
As an Azure MVP &amp; from <a href="http://www.breeze.net" target="_blank">Breeze</a> (a
leading Microsoft Cloud Partner) perspective we invest heavily in cloud technologies.
</p>
        <p>
          <strong>What does this mean and why should I care?</strong> I hear you ask… good question
and I asked the same. 
</p>
        <p>
As most of you know I have a passion for Integration, sticking all sorts of things
together from small RFID devices, hand made hand-held devices, raspberry PIs through
to high end ERP, Financials &amp; many other types of systems. So before I get to
the WHY aspect, let me briefly set the context.
</p>
        <p>
There’s some great data coming out of Gartner a report which caught my eye - <a href="http://searchsoa.techtarget.com/news/2240173583/Gartner-Better-collaboration-for-new-era-of-application-integration">http://searchsoa.techtarget.com/news/2240173583/Gartner-Better-collaboration-for-new-era-of-application-integration</a> came
out with these:
</p>
        <ul>
          <li>
            <font style="background-color: #ffff00">Integration Costs to rise by 33% by 2016,
more than half of new system development costs will be spent on Integration </font>
          </li>
          <li>
            <font style="background-color: #ffff00">By 2017, over two-thirds of all new integration
flows will extend outside the enterprise firewall.</font>
          </li>
        </ul>
        <p>
          <strong>So Integration just took on a whole new face – successful integration is about
using the right tools (in the toolbox) for the right task.</strong> Now we have a
whole new drawer in our toolbox full of Azure goodies &amp; widgets. This functionality
is just too compelling to be ignored….
</p>
        <p>
…and now that it’s on Australian soil I’d be thinking that just about every Data center
service provider should be giving you cloud functionality.
</p>
        <p>
          <strong>Some quick cloud advantages</strong>:
</p>
        <ul>
          <li>
scale, provisioning and ease of use 
<ul><li>
Imagine being able to spin up a SharePoint site in the time it takes me to write this
article.<br /><a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_thumb.png" width="244" height="173" /></a></li><li>
Imagine being able to ask for an extra load balanced highly available Server/Service
at the click of a button. Importantly – Imagine being able to give it back again at
the end of the weekend/day/next hour. 
<br /><a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_4.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_thumb_1.png" width="244" height="95" /></a><br /></li></ul></li>
          <li>
Not wait the typical 12 weeks for a new server to be provisioned, oh and dont mention
filling out the right forms. Running an application on those machines and getting
a firewall port opened….that’ll be another 2 weeks…and on it goes.<br /></li>
          <li>
The much beloved Enlightenment for many companies of achieving Single Sign-On – Imagine
your customers being able to sign into your applications using their own Ids, Live
Ids, + a bunch of other Ids without you needing to provision more services. You can
house your identity accounts in Azure, locally or elsewhere – finally you don’t need
a Quantum Analyst to setup Single Sign-on.<br /></li>
          <li>
My experiences in the last few weeks on client sites have been back in the world of
old – classic encumbered infrastructure service providers wanting to claim everything,
put the brakes on any new ideas and have meetings around such concepts of adding an
extra 10gb disk space to existing servers. These guys should be ‘can do’ people –
it’s all about choosing the right tool for the job.<br /></li>
          <li>
Microsoft have done a great job on the developer tooling front from the classic MS
toolset through to Apple, PHP, Ruby, Phython etc. all being able to access, develop
on, publish and deploy.<br /></li>
          <li>
We could even give a bunch of HDD drives to Olaf (our gun cyclist @ Breeze) to ride
to the Azure Data Center and offload our data, while we wait for the NBN to never
come to our area.<br /></li>
          <li>
There are some great options on the horizon coming down the track.<br /></li>
        </ul>
        <p>
          <strong>So let’s say we’re keen to explore – how hard/easy is it to get ‘my’ own environment
&amp; what does this mean.</strong>
        </p>
        <p>
The short answer is you get an Azure Footprint which could be running in a ‘Data Center’
in Sydney. Depending on what you’re playing with you could get:
</p>
        <p>
- SQL Databases, Cloud Services, Scalable Mobile Device Services, Load balanced Websites/Services/Restful
endpoints…and the list of ‘widgets’ goes on and on.
</p>
        <p>
          <strong>How do I interact with this environment</strong>:
</p>
        <p>
Often the issue around alot of this is that because my beloved ‘servers’ are running
somewhere else I’m concerned over how much control we get.
</p>
        <p>
We enter into the <strong>Hybrid Integration </strong>space – where as you can imagine
not *everything* is suited for the Cloud, there will be things you keep exactly as
they are. So there will be many many scenarios where – we have something running locally
as well as something running in Azure. Some options we have available are to make
our servers ‘feel at home’:
</p>
        <ul>
          <li>
            <strong>VPN connection</strong> – we can have several flavours of a VPN connection
that connect our <strong>Azure Footprint</strong> to our local network. for e.g. local
network is 10.10.x.x/16, Azure network 10.50.x.x/16. Full access to all the machines/services
and other things you have running. CRON jobs, FTP, scripts, processes, linux boxes,
samba shares, etc etc.. (I do realise the integration world is never as easy as we
see it in the magazines)<br /></li>
          <li>
            <strong>RDP Connections – </strong>standard level of service really from any Service
provider.<br /></li>
          <li>
            <strong>Remote PowerShell Access 
<br /></strong>
          </li>
          <li>
            <strong>Azure Service Bus - Applications Level Web/WCF/Restful Services </strong>connectivity.
An Application Service can run either locally or in the cloud and this feature allows
your Service to be accessed through a consistent Endpoint within the cloud, but the
calls are Relayed down to your Application Service. There’s a few different ways we
can ‘relay’ but the public endpoint could house all the clients &amp; their device
requests, while your existing application infrastructure remains unchanged.<br /></li>
          <li>
            <strong>SQL Azure Data Sync – </strong>sync data between clouds &amp; local from your
databases. So for many clients, come 8pm each day, their local database has all the
Orders for the day as per normal, without the usual provisioning headaches as the
business responds to new market opportunities to support smart devices.<br /></li>
          <li>
            <strong>We even get pretty graphs….<br /><a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_6.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_thumb_2.png" width="244" height="103" /></a></strong>
            <ul>
              <li>
But wait there’s more….. 
</li>
              <li>
These details are typical performance monitor counters + diagnostic information. We
can use Azure Admin tools to import these regularly and import them into our typical
tools. 
</li>
              <li>
System Center does exactly this – so our ‘dashboard’ of machines will list our local
machines as well as our cloud machines. Your IT guys have visibility into what’s going
on.</li>
            </ul>
          </li>
        </ul>
        <p>
We’ve been using Singapore DCs or West Coast US with pretty good performance times
across the infrastructure.  
</p>
        <p>
          <strong>What does having a local Windows Azure Data Center mean to me:</strong>
        </p>
        <ul>
          <li>
            <strong>Medical Industry</strong> – we have several medical clients allowing us to
innovate around Cloud technologies using HL7 transports. Faster time to market and
higher degrees of re-use. 
</li>
          <li>
            <strong>Cloud Lab Manager – </strong>
            <a href="http://www.cloudlabmanager.com">www.cloudlabmanager.com</a> can
run locally for all training providers. Breeze has created an award winning cloud
based application that will certainly benefit from this piece of great news. 
</li>
          <li>
            <strong>Creating a cloud based application is now feasible</strong> (this particular
one was due to the sensitive nature of information it carried) 
</li>
          <li>
            <strong>And lastly I can house my MineCraft server – </strong>well it’s my 10 yr old
sons and half the school I reckon.</li>
        </ul>
        <p>
          <strong>
          </strong> 
</p>
        <p>
          <strong>So for you…</strong>
        </p>
        <p>
Ask yourself the question – are you getting all these features from where you currently
host/run your hardware?
</p>
        <p>
Lack of infrastructure and provisioning challenges shouldn’t be holding back new ideas
&amp; business movement. iPads, smartphones, anywhere, any time access should be the
norm, not like we’re putting another person on the moon.
</p>
        <p>
          <strong>It’s all about using the right tool for the job</strong>
        </p>
        <p>
Enjoy folks as it’s certainly exciting times for us Aussies ahead!!
</p>
        <p>
          <a href="http://blogs.msdn.com/b/ausblog/archive/2013/05/16/windows-azure-expands-downunder.aspx" target="_blank">Microsoft’s
Announcement</a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d2715669-1ba4-4827-9e48-3d75c1262cc0" />
      </body>
      <title>Local Windows Azure: Integrate, Innovate &amp; Australia just got smarter</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,d2715669-1ba4-4827-9e48-3d75c1262cc0.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2013/05/20/LocalWindowsAzureIntegrateInnovateAustraliaJustGotSmarter.aspx</link>
      <pubDate>Mon, 20 May 2013 02:23:00 GMT</pubDate>
      <description>&lt;p&gt;
Well folks I’ve been greeted with the news that &lt;strong&gt;Microsoft Windows Azure will
be in 2 geo-replicated places here on Australian soil, &lt;/strong&gt;coming ‘shortly’.
&lt;/p&gt;
&lt;p&gt;
As an Azure MVP &amp;amp; from &lt;a href="http://www.breeze.net" target="_blank"&gt;Breeze&lt;/a&gt; (a
leading Microsoft Cloud Partner) perspective we invest heavily in cloud technologies.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What does this mean and why should I care?&lt;/strong&gt; I hear you ask… good question
and I asked the same. 
&lt;/p&gt;
&lt;p&gt;
As most of you know I have a passion for Integration, sticking all sorts of things
together from small RFID devices, hand made hand-held devices, raspberry PIs through
to high end ERP, Financials &amp;amp; many other types of systems. So before I get to
the WHY aspect, let me briefly set the context.
&lt;/p&gt;
&lt;p&gt;
There’s some great data coming out of Gartner a report which caught my eye - &lt;a href="http://searchsoa.techtarget.com/news/2240173583/Gartner-Better-collaboration-for-new-era-of-application-integration"&gt;http://searchsoa.techtarget.com/news/2240173583/Gartner-Better-collaboration-for-new-era-of-application-integration&lt;/a&gt; came
out with these:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;font style="background-color: #ffff00"&gt;Integration Costs to rise by 33% by 2016,
more than half of new system development costs will be spent on Integration &lt;/font&gt; 
&lt;li&gt;
&lt;font style="background-color: #ffff00"&gt;By 2017, over two-thirds of all new integration
flows will extend outside the enterprise firewall.&lt;/font&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;So Integration just took on a whole new face – successful integration is about
using the right tools (in the toolbox) for the right task.&lt;/strong&gt; Now we have a
whole new drawer in our toolbox full of Azure goodies &amp;amp; widgets. This functionality
is just too compelling to be ignored….
&lt;/p&gt;
&lt;p&gt;
…and now that it’s on Australian soil I’d be thinking that just about every Data center
service provider should be giving you cloud functionality.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Some quick cloud advantages&lt;/strong&gt;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
scale, provisioning and ease of use 
&lt;ul&gt;
&lt;li&gt;
Imagine being able to spin up a SharePoint site in the time it takes me to write this
article.&lt;br&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_2.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_thumb.png" width="244" height="173"&gt;&lt;/a&gt; 
&lt;li&gt;
Imagine being able to ask for an extra load balanced highly available Server/Service
at the click of a button. Importantly – Imagine being able to give it back again at
the end of the weekend/day/next hour. 
&lt;br&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_4.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_thumb_1.png" width="244" height="95"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Not wait the typical 12 weeks for a new server to be provisioned, oh and dont mention
filling out the right forms. Running an application on those machines and getting
a firewall port opened….that’ll be another 2 weeks…and on it goes.&lt;br&gt;
&lt;li&gt;
The much beloved Enlightenment for many companies of achieving Single Sign-On – Imagine
your customers being able to sign into your applications using their own Ids, Live
Ids, + a bunch of other Ids without you needing to provision more services. You can
house your identity accounts in Azure, locally or elsewhere – finally you don’t need
a Quantum Analyst to setup Single Sign-on.&lt;br&gt;
&lt;li&gt;
My experiences in the last few weeks on client sites have been back in the world of
old – classic encumbered infrastructure service providers wanting to claim everything,
put the brakes on any new ideas and have meetings around such concepts of adding an
extra 10gb disk space to existing servers. These guys should be ‘can do’ people –
it’s all about choosing the right tool for the job.&lt;br&gt;
&lt;li&gt;
Microsoft have done a great job on the developer tooling front from the classic MS
toolset through to Apple, PHP, Ruby, Phython etc. all being able to access, develop
on, publish and deploy.&lt;br&gt;
&lt;li&gt;
We could even give a bunch of HDD drives to Olaf (our gun cyclist @ Breeze) to ride
to the Azure Data Center and offload our data, while we wait for the NBN to never
come to our area.&lt;br&gt;
&lt;li&gt;
There are some great options on the horizon coming down the track.&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;So let’s say we’re keen to explore – how hard/easy is it to get ‘my’ own environment
&amp;amp; what does this mean.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The short answer is you get an Azure Footprint which could be running in a ‘Data Center’
in Sydney. Depending on what you’re playing with you could get:
&lt;/p&gt;
&lt;p&gt;
- SQL Databases, Cloud Services, Scalable Mobile Device Services, Load balanced Websites/Services/Restful
endpoints…and the list of ‘widgets’ goes on and on.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How do I interact with this environment&lt;/strong&gt;:
&lt;/p&gt;
&lt;p&gt;
Often the issue around alot of this is that because my beloved ‘servers’ are running
somewhere else I’m concerned over how much control we get.
&lt;/p&gt;
&lt;p&gt;
We enter into the &lt;strong&gt;Hybrid Integration &lt;/strong&gt;space – where as you can imagine
not *everything* is suited for the Cloud, there will be things you keep exactly as
they are. So there will be many many scenarios where – we have something running locally
as well as something running in Azure. Some options we have available are to make
our servers ‘feel at home’:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VPN connection&lt;/strong&gt; – we can have several flavours of a VPN connection
that connect our &lt;strong&gt;Azure Footprint&lt;/strong&gt; to our local network. for e.g. local
network is 10.10.x.x/16, Azure network 10.50.x.x/16. Full access to all the machines/services
and other things you have running. CRON jobs, FTP, scripts, processes, linux boxes,
samba shares, etc etc.. (I do realise the integration world is never as easy as we
see it in the magazines)&lt;br&gt;
&lt;li&gt;
&lt;strong&gt;RDP Connections – &lt;/strong&gt;standard level of service really from any Service
provider.&lt;br&gt;
&lt;li&gt;
&lt;strong&gt;Remote PowerShell Access 
&lt;br&gt;
&lt;/strong&gt; 
&lt;li&gt;
&lt;strong&gt;Azure Service Bus - Applications Level Web/WCF/Restful Services &lt;/strong&gt;connectivity.
An Application Service can run either locally or in the cloud and this feature allows
your Service to be accessed through a consistent Endpoint within the cloud, but the
calls are Relayed down to your Application Service. There’s a few different ways we
can ‘relay’ but the public endpoint could house all the clients &amp;amp; their device
requests, while your existing application infrastructure remains unchanged.&lt;br&gt;
&lt;li&gt;
&lt;strong&gt;SQL Azure Data Sync – &lt;/strong&gt;sync data between clouds &amp;amp; local from your
databases. So for many clients, come 8pm each day, their local database has all the
Orders for the day as per normal, without the usual provisioning headaches as the
business responds to new market opportunities to support smart devices.&lt;br&gt;
&lt;li&gt;
&lt;strong&gt;We even get pretty graphs….&lt;br&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_6.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/243438c96f1b_11015/image_thumb_2.png" width="244" height="103"&gt;&lt;/a&gt;&lt;/strong&gt; 
&lt;ul&gt;
&lt;li&gt;
But wait there’s more….. 
&lt;li&gt;
These details are typical performance monitor counters + diagnostic information. We
can use Azure Admin tools to import these regularly and import them into our typical
tools. 
&lt;li&gt;
System Center does exactly this – so our ‘dashboard’ of machines will list our local
machines as well as our cloud machines. Your IT guys have visibility into what’s going
on.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
We’ve been using Singapore DCs or West Coast US with pretty good performance times
across the infrastructure.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What does having a local Windows Azure Data Center mean to me:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Medical Industry&lt;/strong&gt; – we have several medical clients allowing us to
innovate around Cloud technologies using HL7 transports. Faster time to market and
higher degrees of re-use. 
&lt;li&gt;
&lt;strong&gt;Cloud Lab Manager – &lt;/strong&gt;&lt;a href="http://www.cloudlabmanager.com"&gt;www.cloudlabmanager.com&lt;/a&gt; can
run locally for all training providers. Breeze has created an award winning cloud
based application that will certainly benefit from this piece of great news. 
&lt;li&gt;
&lt;strong&gt;Creating a cloud based application is now feasible&lt;/strong&gt; (this particular
one was due to the sensitive nature of information it carried) 
&lt;li&gt;
&lt;strong&gt;And lastly I can house my MineCraft server – &lt;/strong&gt;well it’s my 10 yr old
sons and half the school I reckon.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;So for you…&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Ask yourself the question – are you getting all these features from where you currently
host/run your hardware?
&lt;/p&gt;
&lt;p&gt;
Lack of infrastructure and provisioning challenges shouldn’t be holding back new ideas
&amp;amp; business movement. iPads, smartphones, anywhere, any time access should be the
norm, not like we’re putting another person on the moon.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;It’s all about using the right tool for the job&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Enjoy folks as it’s certainly exciting times for us Aussies ahead!!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.msdn.com/b/ausblog/archive/2013/05/16/windows-azure-expands-downunder.aspx" target="_blank"&gt;Microsoft’s
Announcement&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=d2715669-1ba4-4827-9e48-3d75c1262cc0" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,d2715669-1ba4-4827-9e48-3d75c1262cc0.aspx</comments>
      <category>Azure</category>
      <category>Azure/Integration</category>
      <category>Azure/ServiceBus</category>
      <category>BizTalk</category>
      <category>BizTalk/SharePoint</category>
      <category>Dev</category>
      <category>Events</category>
      <category>General</category>
      <category>Tips</category>
      <category>Training</category>
      <category>Win2012</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=e364d6e1-50b2-4a20-9c34-4bc35f20bd26</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,e364d6e1-50b2-4a20-9c34-4bc35f20bd26.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,e364d6e1-50b2-4a20-9c34-4bc35f20bd26.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=e364d6e1-50b2-4a20-9c34-4bc35f20bd26</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While looking into purchasing MSDN licenses for a client here’s what I found:
</p>
        <p>
          <strong>For the US:</strong>
        </p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/MSDN-US-prices-vs-Australian-priceswhat-_9198/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/MSDN-US-prices-vs-Australian-priceswhat-_9198/image_thumb_1.png" width="951" height="600" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Now when you change the drop down from US to Australia we get these prices (given
that $AUD 1 = (approx) $USD 1
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/MSDN-US-prices-vs-Australian-priceswhat-_9198/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/MSDN-US-prices-vs-Australian-priceswhat-_9198/image_thumb_2.png" width="1034" height="600" />
          </a>
        </p>
        <p>
So for e.g. take a MSDN – VS.NET Test.
</p>
        <p>
          <font size="6">
            <strong>Aussie Dollar = $3,460   US= $2,170</strong> which
equates to <strong>$AUD 1 = $USD 0.627</strong></font>
        </p>
        <p>
          <font size="3">this is what happens when living in a 3rd world country…. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/MSDN-US-prices-vs-Australian-priceswhat-_9198/wlEmoticon-smile_2.png" /> -
absolutely outrageous.</font>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=e364d6e1-50b2-4a20-9c34-4bc35f20bd26" />
      </body>
      <title>MSDN: US prices vs Australian prices–what gives?</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,e364d6e1-50b2-4a20-9c34-4bc35f20bd26.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2013/04/29/MSDNUSPricesVsAustralianPriceswhatGives.aspx</link>
      <pubDate>Mon, 29 Apr 2013 00:27:38 GMT</pubDate>
      <description>&lt;p&gt;
While looking into purchasing MSDN licenses for a client here’s what I found:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;For the US:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/MSDN-US-prices-vs-Australian-priceswhat-_9198/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/MSDN-US-prices-vs-Australian-priceswhat-_9198/image_thumb_1.png" width="951" height="600"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Now when you change the drop down from US to Australia we get these prices (given
that $AUD 1 = (approx) $USD 1
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/MSDN-US-prices-vs-Australian-priceswhat-_9198/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/MSDN-US-prices-vs-Australian-priceswhat-_9198/image_thumb_2.png" width="1034" height="600"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
So for e.g. take a MSDN – VS.NET Test.
&lt;/p&gt;
&lt;p&gt;
&lt;font size="6"&gt;&lt;strong&gt;Aussie Dollar = $3,460&amp;nbsp;&amp;nbsp; US= $2,170&lt;/strong&gt; which
equates to &lt;strong&gt;$AUD 1 = $USD 0.627&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;this is what happens when living in a 3rd world country…. &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/MSDN-US-prices-vs-Australian-priceswhat-_9198/wlEmoticon-smile_2.png"&gt; -
absolutely outrageous.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=e364d6e1-50b2-4a20-9c34-4bc35f20bd26" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,e364d6e1-50b2-4a20-9c34-4bc35f20bd26.aspx</comments>
      <category>.NET Developer</category>
      <category>Dev</category>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=5343b256-a491-434a-868f-471c514f2e1e</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,5343b256-a491-434a-868f-471c514f2e1e.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,5343b256-a491-434a-868f-471c514f2e1e.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=5343b256-a491-434a-868f-471c514f2e1e</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hi folks, I came across a very handy little tip the other day that works with *any*
set of Batch Commands that you want to run sequentially.
</p>
        <p>
Now before you jump out and tell me “Mick, what are you doing?! Powershell is where
it’s at!”….yes yes I know. I’ve half the guys at the office telling me that too.
</p>
        <p>
So onto the goodness on this one:
</p>
        <p>
          <strong>The key is</strong>
        </p>
        <p>
          <strong>&lt;cmd&gt; &amp;&amp; &lt;cmd&gt;<br /></strong>or<br /><strong>&lt;cmd&gt; &amp; &lt;cmd&gt;</strong></p>
        <p>
          <font color="#ff0000">Hold the Phone - we have an UPDATE (from a commenter upon whom
I owe a beer)</font>
        </p>
        <p>
          <font color="#ff0000">----- Update ----</font>
        </p>
        <p>
          <font color="#ff0000">Using a single ampersand achieves a similar result but with
a slight difference:<br /><br />
* single (&amp;): run command 1 then command 2<br />
* double (&amp;&amp;): run command 1, and if it returns success then run command 2<br /><br />
So in your example, if the print spooler is already stopped then "net stop" will fail
and "net start" will not be run. If you use a single ampersand instead, then "net
start" will still be run.</font>
        </p>
        <p>
          <font color="#ff0000">------ End of Update -----</font>
        </p>
        <p>
e.g.
</p>
        <p>
net stop “Print Spooler” &amp;&amp; net start “Print Spooler”
</p>
        <p>
 
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/General-Handy-little-Command-line-tip-fo_D933/image_2.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/General-Handy-little-Command-line-tip-fo_D933/image_thumb.png" width="681" height="443" />
          </a>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=5343b256-a491-434a-868f-471c514f2e1e" />
      </body>
      <title>General: Handy little Command line tip for Restarting Services from a Batch File</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,5343b256-a491-434a-868f-471c514f2e1e.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2013/01/11/GeneralHandyLittleCommandLineTipForRestartingServicesFromABatchFile.aspx</link>
      <pubDate>Fri, 11 Jan 2013 04:28:28 GMT</pubDate>
      <description>&lt;p&gt;
Hi folks, I came across a very handy little tip the other day that works with *any*
set of Batch Commands that you want to run sequentially.
&lt;/p&gt;
&lt;p&gt;
Now before you jump out and tell me “Mick, what are you doing?! Powershell is where
it’s at!”….yes yes I know. I’ve half the guys at the office telling me that too.
&lt;/p&gt;
&lt;p&gt;
So onto the goodness on this one:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The key is&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&amp;lt;cmd&amp;gt; &amp;amp;&amp;amp; &amp;lt;cmd&amp;gt;&lt;br&gt;
&lt;/strong&gt;or&lt;br&gt;
&lt;strong&gt;&amp;lt;cmd&amp;gt; &amp;amp; &amp;lt;cmd&amp;gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#ff0000&gt;Hold the Phone - we have an UPDATE (from a commenter upon whom
I owe a beer)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#ff0000&gt;----- Update ----&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#ff0000&gt;Using a single ampersand achieves a similar result but with a
slight difference:&lt;br&gt;
&lt;br&gt;
* single (&amp;amp;): run command 1 then command 2&lt;br&gt;
* double (&amp;amp;&amp;amp;): run command 1, and if it returns success then run command 2&lt;br&gt;
&lt;br&gt;
So in your example, if the print spooler is already stopped then "net stop" will fail
and "net start" will not be run. If you use a single ampersand instead, then "net
start" will still be run.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#ff0000&gt;------ End of Update -----&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
e.g.
&lt;/p&gt;
&lt;p&gt;
net stop “Print Spooler” &amp;amp;&amp;amp; net start “Print Spooler”
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/General-Handy-little-Command-line-tip-fo_D933/image_2.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/General-Handy-little-Command-line-tip-fo_D933/image_thumb.png" width=681 height=443&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=5343b256-a491-434a-868f-471c514f2e1e" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,5343b256-a491-434a-868f-471c514f2e1e.aspx</comments>
      <category>Dev</category>
      <category>Events</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=ddd50d57-dc54-42c7-97c5-7f47fef1fc27</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,ddd50d57-dc54-42c7-97c5-7f47fef1fc27.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,ddd50d57-dc54-42c7-97c5-7f47fef1fc27.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=ddd50d57-dc54-42c7-97c5-7f47fef1fc27</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While on SharePoint 2013 training we came across all the different ways of calling
SharePoint and it’s data through JavaScript, JQuery and all the bits.
</p>
        <p>
It was all looking good until we needed to <strong>update sharepoint</strong> – e.g.
a list, a list item etc.
</p>
        <p>
The MS Course notes say – “if you’re in SharePoint you can get the Form Digest from
the main SharePoint Form….”
</p>
        <p>
 
</p>
        <p>
What about if you’re running outside of SharePoint (a Provider App – they now call
it, or Cloud Hosted…depending on who wrote the help article)
</p>
        <p>
 
</p>
        <p>
The answer in the notes is… <strong>go and make an old fashion call to Sites.asmx
SOAP WebService….</strong> from client side javascript this is going to be a feat.
</p>
        <p>
….
</p>
        <p>
The Answer – <strong>make a REST call to get the ‘Context Info’ first</strong>, then
you’ll have the form digest and you’re done.
</p>
        <p>
          <a title="http://msdn.microsoft.com/en-us/library/fp142386(office.15).aspx#bk_synchronize" href="http://msdn.microsoft.com/en-us/library/fp142386(office.15).aspx#bk_synchronize">http://msdn.microsoft.com/en-us/library/fp142386(office.15).aspx#bk_synchronize</a> (just
at the top of this page)
</p>
        <p>
 
</p>
        <div class="caption" style="word-wrap: break-word; height: 20px; clear: both">
          <font face="Segoe UI">
            <font style="font-size: 9.7pt" color="#3f529c">
              <strong>Table
1. SPContextWebInformation structure initialization properties</strong>
            </font>
          </font>
        </div>
        <div class="tableSection" style="word-wrap: break-word">
          <table style="border-top: #bbb 1px solid; border-right: #bbb 1px solid; border-collapse: collapse; border-bottom: #bbb 1px solid; border-left: #bbb 1px solid" width="100%">
            <tbody>
              <tr style="vertical-align: top">
                <th style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: 1px solid; padding-right: 4px; background-color: #e5e5e5" height="21" align="left">
                  <p>
                    <font face="Segoe UI">
                      <font style="font-size: 12.9pt">Property</font>
                    </font>
                  </p>
                </th>
                <th style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: 1px solid; padding-right: 4px; background-color: #e5e5e5" height="21" align="left">
                  <p>
                    <font face="Segoe UI">
                      <font style="font-size: 12.9pt">Description</font>
                    </font>
                  </p>
                </th>
              </tr>
              <tr style="vertical-align: top">
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <span>
                      <span class="input">
                        <font face="Segoe UI">
                          <font style="font-size: 12pt">
                            <strong>webFullUrl</strong>
                          </font>
                        </font>
                      </span>
                    </span>
                  </p>
                </td>
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <font face="Segoe UI">
                      <font style="font-size: 12pt">Gets the server-relative URL of
the nearest site.</font>
                    </font>
                  </p>
                </td>
              </tr>
              <tr style="vertical-align: top">
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <span>
                      <span class="input">
                        <font face="Segoe UI">
                          <font style="font-size: 12pt">
                            <strong>siteFullUrl</strong>
                          </font>
                        </font>
                      </span>
                    </span>
                  </p>
                </td>
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <font face="Segoe UI">
                      <font style="font-size: 12pt">Gets the server-relative URL of
the root of the site collection that the site is contained within.</font>
                    </font>
                  </p>
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <font face="Segoe UI">
                      <font style="font-size: 12pt">If the nearest web is the root
of a site collection, then the value of the <span><span class="input"><strong>webFullUrl</strong></span></span> property
is equal to the <span><span class="input"><strong>siteFullUrl</strong></span></span> property.</font>
                    </font>
                  </p>
                </td>
              </tr>
              <tr style="vertical-align: top">
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <span>
                      <span class="input">
                        <font face="Segoe UI">
                          <font style="font-size: 12pt">
                            <strong>formDigestValue</strong>
                          </font>
                        </font>
                      </span>
                    </span>
                  </p>
                </td>
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <font face="Segoe UI">
                      <font style="font-size: 12pt">Gets the server's request form
digest.</font>
                    </font>
                  </p>
                </td>
              </tr>
              <tr style="vertical-align: top">
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <span>
                      <span class="input">
                        <font face="Segoe UI">
                          <font style="font-size: 12pt">
                            <strong>LibraryVersion</strong>
                          </font>
                        </font>
                      </span>
                    </span>
                  </p>
                </td>
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <font face="Segoe UI">
                      <font style="font-size: 12pt">Gets the current version of the
REST library.</font>
                    </font>
                  </p>
                </td>
              </tr>
              <tr style="vertical-align: top">
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <span>
                      <span class="input">
                        <font face="Segoe UI">
                          <font style="font-size: 12pt">
                            <strong>SupportedSchemaVersions</strong>
                          </font>
                        </font>
                      </span>
                    </span>
                  </p>
                </td>
                <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff">
                  <p style="margin-bottom: 0px; position: relative; margin-top: 0px">
                    <font face="Segoe UI">
                      <font style="font-size: 12pt">Gets the versions of the schema
of the REST/CSOM library that are supported.</font>
                    </font>
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
        <p style="word-wrap: break-word">
          <font face="Segoe UI">
            <font style="font-size: 9.7pt">To access this information, use
the </font>
          </font>
          <span class="code">
            <font face="Courier New">
              <font style="font-size: 10.2pt" color="#000066">/contextinfo</font>
            </font>
          </span>
          <font face="Segoe UI">
            <font style="font-size: 9.7pt"> operator.
For example: </font>
          </font>
        </p>
        <p style="word-wrap: break-word">
          <span class="code">
            <font face="Courier New">
              <font style="font-size: 10.2pt" color="#000066">http://server/web/doclib/forms/_api/contextinfo</font>
            </font>
          </span>
        </p>
        <p style="word-wrap: break-word">
          <font face="Segoe UI">
            <font style="font-size: 9.7pt">To increase security against
cross-site scripting attempts, the </font>
          </font>
          <span class="code">
            <font face="Courier New">
              <font style="font-size: 10.2pt" color="#000066">/contextinfo</font>
            </font>
          </span>
          <font face="Segoe UI">
            <font style="font-size: 9.7pt"> operator
accepts only <span><span class="input"><strong>POST</strong></span></span> requests.</font>
          </font>
        </p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ddd50d57-dc54-42c7-97c5-7f47fef1fc27" />
      </body>
      <title>SP2013: Getting a Form Digest for Update REST calls</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,ddd50d57-dc54-42c7-97c5-7f47fef1fc27.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/11/20/SP2013GettingAFormDigestForUpdateRESTCalls.aspx</link>
      <pubDate>Tue, 20 Nov 2012 04:43:32 GMT</pubDate>
      <description>&lt;p&gt;
While on SharePoint 2013 training we came across all the different ways of calling
SharePoint and it’s data through JavaScript, JQuery and all the bits.
&lt;/p&gt;
&lt;p&gt;
It was all looking good until we needed to &lt;strong&gt;update sharepoint&lt;/strong&gt; – e.g.
a list, a list item etc.
&lt;/p&gt;
&lt;p&gt;
The MS Course notes say – “if you’re in SharePoint you can get the Form Digest from
the main SharePoint Form….”
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
What about if you’re running outside of SharePoint (a Provider App – they now call
it, or Cloud Hosted…depending on who wrote the help article)
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The answer in the notes is… &lt;strong&gt;go and make an old fashion call to Sites.asmx
SOAP WebService….&lt;/strong&gt; from client side javascript this is going to be a feat.
&lt;/p&gt;
&lt;p&gt;
….
&lt;/p&gt;
&lt;p&gt;
The Answer – &lt;strong&gt;make a REST call to get the ‘Context Info’ first&lt;/strong&gt;, then
you’ll have the form digest and you’re done.
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://msdn.microsoft.com/en-us/library/fp142386(office.15).aspx#bk_synchronize" href="http://msdn.microsoft.com/en-us/library/fp142386(office.15).aspx#bk_synchronize"&gt;http://msdn.microsoft.com/en-us/library/fp142386(office.15).aspx#bk_synchronize&lt;/a&gt; (just
at the top of this page)
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div class="caption" style="word-wrap: break-word; height: 20px; clear: both"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt" color="#3f529c"&gt;&lt;strong&gt;Table
1. SPContextWebInformation structure initialization properties&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;div class="tableSection" style="word-wrap: break-word"&gt;
&lt;table style="border-top: #bbb 1px solid; border-right: #bbb 1px solid; border-collapse: collapse; border-bottom: #bbb 1px solid; border-left: #bbb 1px solid" width="100%"&gt;
&lt;tbody&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;th style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: 1px solid; padding-right: 4px; background-color: #e5e5e5" height="21" align="left"&gt;
&lt;p&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12.9pt"&gt;Property&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/th&gt;
&lt;th style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 4px; padding-top: 4px; padding-left: 4px; border-left: 1px solid; padding-right: 4px; background-color: #e5e5e5" height="21" align="left"&gt;
&lt;p&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12.9pt"&gt;Description&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;span&gt;&lt;span class="input"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;&lt;strong&gt;webFullUrl&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;Gets the server-relative URL of
the nearest site.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;span&gt;&lt;span class="input"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;&lt;strong&gt;siteFullUrl&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;Gets the server-relative URL of
the root of the site collection that the site is contained within.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;If the nearest web is the root
of a site collection, then the value of the &lt;span&gt;&lt;span class="input"&gt;&lt;strong&gt;webFullUrl&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; property
is equal to the &lt;span&gt;&lt;span class="input"&gt;&lt;strong&gt;siteFullUrl&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; property.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;span&gt;&lt;span class="input"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;&lt;strong&gt;formDigestValue&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;Gets the server's request form
digest.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;span&gt;&lt;span class="input"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;&lt;strong&gt;LibraryVersion&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;Gets the current version of the
REST library.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;span&gt;&lt;span class="input"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;&lt;strong&gt;SupportedSchemaVersions&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 17pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative; margin-top: 0px"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 12pt"&gt;Gets the versions of the schema
of the REST/CSOM library that are supported.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style="word-wrap: break-word"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;To access this information, use
the &lt;/font&gt;&lt;/font&gt;&lt;span class="code"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10.2pt" color="#000066"&gt;/contextinfo&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt; operator.
For example: &lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="word-wrap: break-word"&gt;
&lt;span class="code"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10.2pt" color="#000066"&gt;http://server/web/doclib/forms/_api/contextinfo&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="word-wrap: break-word"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;To increase security against
cross-site scripting attempts, the &lt;/font&gt;&lt;/font&gt;&lt;span class="code"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10.2pt" color="#000066"&gt;/contextinfo&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt; operator
accepts only &lt;span&gt;&lt;span class="input"&gt;&lt;strong&gt;POST&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; requests.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ddd50d57-dc54-42c7-97c5-7f47fef1fc27" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,ddd50d57-dc54-42c7-97c5-7f47fef1fc27.aspx</comments>
      <category>Dev</category>
      <category>SharePoint</category>
      <category>SharePoint/2013</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=9946241b-a9ec-48e3-bfed-5cd90bc33913</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,9946241b-a9ec-48e3-bfed-5cd90bc33913.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,9946241b-a9ec-48e3-bfed-5cd90bc33913.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=9946241b-a9ec-48e3-bfed-5cd90bc33913</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Great news – <a href="http://blogs.msdn.com/355260/ProfileUrlRedirect.ashx" target="_blank">Jurgen
Willis</a> and his team have worked hard to bring <a href="http://blogs.technet.com/b/server-cloud/archive/2012/10/24/announcing-the-public-availability-of-workflow-manager-1-0.aspx" target="_blank">Microsoft’s
first V1.0 WF Workflow Hosting Manager</a>.
</p>
        <p>
It  runs both as part of Windows Server and within Azure VMs also. It also is
used by the SharePoint team in 2013, so learn it once and you’ll get great mileage
out of it.<br />
(I’m yet to put it through serious paces)
</p>
        <p>
Some links to help you out…
</p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/library/jj193471(v=azure.10).aspx" target="_blank">What
is it?</a>
        </p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/library/jj193482(v=azure.10).aspx" target="_blank">WF
Mgr 1.0 – Code Samples</a>
        </p>
        <p>
 
</p>
        <p>
The following main areas for WF improvements in .NET 4.5: (great <a href="http://msdn.microsoft.com/en-us/magazine/hh781025.aspx" target="_blank">MSDN
magazine article</a>)
</p>
        <ol>
          <li>
Workflow Designer enhancements 
</li>
          <li>
C# expressions 
</li>
          <li>
Contract-first authoring of WCF Workflow Services 
</li>
          <li>
Workflow versioning 
</li>
          <li>
Dynamic update 
</li>
          <li>
Partial trust 
</li>
          <li>
Performance enhancements</li>
        </ol>
        <p>
Specifically for WorkflowManager there’s integration with:
</p>
        <blockquote>
          <p>
1. Windows Azure Service Bus.
</p>
        </blockquote>
        <p>
So all in all a major improvement and we’ve now got somewhere serious to host our
WF Services. If you’ve ever gone through the process of creating your own WF host,
you’ll appreciate it’s not a trivial task especially if you want some deeper functionality
such as restartability and fault tolerance.
</p>
        <p>
but…. if you want to kick off a quick WF to be part of an install script, evaluate
an Excel spreadsheet and set results, then hosting within the app, spreadsheet is
fine.
</p>
        <p>
          <strong>Let’s go through installation:</strong>
        </p>
        <p>
Download from here
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_2.png">
            <img title="image" style="display: inline" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb.png" width="640" height="238" />
          </a>
        </p>
        <p>
Workflow_Manager_BPA.msi = Best Practices Analyser.
</p>
        <p>
WorfklowClient = Client APIs, install on machines that want to communicate to WF Manager.
</p>
        <p>
WorkflowManager = the Server/Service Component.
</p>
        <p>
WorkflowTools = VS2012 plugin tools – project types etc.
</p>
        <p>
And we’ll grab the 4 or you can you the Web Platform Installer
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_1.png" width="644" height="381" />
          </a>
        </p>
        <p>
 
</p>
        <p>
          <strong>The Workflow Client </strong>should install fine on it’s own (mine didn’t
as I had to remove some of the beta bits that were previously installed).
</p>
        <p>
          <strong>Installing the Workflow Manager – </strong>create a farm, I went for a <strong>Custom
Setting install</strong> below, just to show you the options.
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_2.png" width="535" height="484" />
          </a>
        </p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_3.png" width="557" height="484" />
          </a>
        </p>
        <p>
As you scroll down on this page, you’ll notice a <strong>HTTP Port – </strong>check
the check box to enable <strong>HTTP communications to the Workflow Manager.<br /></strong>This just makes it easier if we need to debug anything across the wire.
</p>
        <p>
          <strong>Select NEXT </strong>or the cool little Arrow-&gt;
</p>
        <p>
          <strong>On Prem Service Bus </strong>is rolled into this install now – accepting defaults.
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_4.png" width="557" height="484" />
          </a>
        </p>
        <p>
Plugin your Service Accounts and passphrase (for Farm membership and an encryption
seed).
</p>
        <p>
Click Next –&gt; to reveal….
</p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_5.png" width="578" height="484" />
          </a>
        </p>
        <p>
As with the latest set of MS Products a cool cool feature is the <strong>‘Get PowerShell
Commands’ </strong>so you can see the script behind your UI choices (VMM manager,
SCCM 2012 has all this right through). BTW – passwords don’t get exported in the script,
you’ll need to add.
</p>
        <p>
Script Sample:
</p>
        <p>
          <font style="background-color: #cccccc"># To be run in Workflow Manager PowerShell
console that has both Workflow Manager and Service Bus installed.</font>
        </p>
        <p>
          <font style="background-color: #cccccc"># Create new SB Farm<br />
$SBCertificateAutoGenerationKey = ConvertTo-SecureString -AsPlainText  -Force 
-String '***** Replace with Service Bus Certificate Auto-generation key ******' -Verbose;</font>
        </p>
        <p>
          <br />
          <font style="background-color: #cccccc">New-SBFarm -SBFarmDBConnectionString 'Data
Source=BTS2012DEV;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False'
-InternalPortRangeStart 9000 -TcpPort 9354 -MessageBrokerPort 9356 -RunAsAccount 'administrator'
-AdminGroup 'BUILTIN\Administrators' -GatewayDBConnectionString 'Data Source=BTS2012DEV;Initial
Catalog=SbGatewayDatabase;Integrated Security=True;Encrypt=False' -CertificateAutoGenerationKey
$SBCertificateAutoGenerationKey -MessageContainerDBConnectionString 'Data Source=BTS2012DEV;Initial
Catalog=SBMessageContainer01;Integrated Security=True;Encrypt=False' -Verbose;</font>
        </p>
        <p>
          <font style="background-color: #cccccc"># To be run in Workflow Manager PowerShell
console that has both Workflow Manager and Service Bus installed.</font>
        </p>
        <p>
          <font style="background-color: #cccccc"># Create new WF Farm<br />
$WFCertAutoGenerationKey = ConvertTo-SecureString -AsPlainText  -Force 
-String '***** Replace with Workflow Manager Certificate Auto-generation key ******'
-Verbose;</font>
        </p>
        <p>
          <br />
          <font style="background-color: #cccccc">New-WFFarm -WFFarmDBConnectionString 'Data
Source=BTS2012DEV;Initial Catalog=BreezeWFManagementDB;Integrated Security=True;Encrypt=False'
-RunAsAccount 'administrator' -AdminGroup 'BUILTIN\Administrators' -HttpsPort 12290
-HttpPort 12291 -InstanceDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=WFInstanceManagementDB;Integrated
Security=True;Encrypt=False' -ResourceDBConnectionString 'Data Source=BTS2012DEV;Initial
Catalog=WFResourceManagementDB;Integrated Security=True;Encrypt=False' -CertificateAutoGenerationKey
$WFCertAutoGenerationKey -Verbose;</font>
        </p>
        <p>
          <font style="background-color: #cccccc"># Add SB Host<br />
$SBRunAsPassword = ConvertTo-SecureString -AsPlainText  -Force  -String
'***** Replace with RunAs Password for Service Bus ******' -Verbose;</font>
        </p>
        <p>
          <br />
          <font style="background-color: #cccccc">Add-SBHost -SBFarmDBConnectionString 'Data
Source=BTS2012DEV;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False'
-RunAsPassword $SBRunAsPassword -EnableFirewallRules $true -CertificateAutoGenerationKey
$SBCertificateAutoGenerationKey -Verbose;</font>
        </p>
        <p>
          <font style="background-color: #cccccc">Try<br />
{<br />
    # Create new SB Namespace<br />
    New-SBNamespace -Name 'WorkflowDefaultNamespace' -AddressingScheme
'Path' -ManageUsers 'administrator','mickb' -Verbose;</font>
        </p>
        <p>
          <font style="background-color: #cccccc">    Start-Sleep -s 90<br />
}<br />
Catch [system.InvalidOperationException]<br />
{<br />
}</font>
        </p>
        <p>
          <font style="background-color: #cccccc"># Get SB Client Configuration<br />
$SBClientConfiguration = Get-SBClientConfiguration -Namespaces 'WorkflowDefaultNamespace'
-Verbose;</font>
        </p>
        <p>
          <font style="background-color: #cccccc"># Add WF Host<br />
$WFRunAsPassword = ConvertTo-SecureString -AsPlainText  -Force  -String
'***** Replace with RunAs Password for Workflow Manager ******' -Verbose;</font>
        </p>
        <p>
          <br />
          <font style="background-color: #cccccc">Add-WFHost -WFFarmDBConnectionString 'Data
Source=BTS2012DEV;Initial Catalog=BreezeWFManagementDB;Integrated Security=True;Encrypt=False'
-RunAsPassword $WFRunAsPassword -EnableFirewallRules $true -SBClientConfiguration
$SBClientConfiguration -EnableHttpPort  -CertificateAutoGenerationKey $WFCertAutoGenerationKey
-Verbose;<br /></font>
        </p>
        <p>
 
</p>
        <p>
Upon completion you should see a new IIS Site…. with the ‘management ports’ of in
my case <strong>HTTPS</strong></p>
        <p>
          <a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_16.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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_7.png" width="640" height="186" />
          </a>
        </p>
        <p>
 
</p>
        <h1>
          <strong>
          </strong>
        </h1>
        <h1>Let’s Play <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/wlEmoticon-smile_2.png" /></h1>
        <p>
Go and grab the samples and have a play – make sure you run the samples as the user
you’ve nominated as ‘Admin’ during the setup – for now.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=9946241b-a9ec-48e3-bfed-5cd90bc33913" />
      </body>
      <title>Azure: Windows Workflow Manager 1.0 RTMed</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,9946241b-a9ec-48e3-bfed-5cd90bc33913.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/10/25/AzureWindowsWorkflowManager10RTMed.aspx</link>
      <pubDate>Thu, 25 Oct 2012 05:06:11 GMT</pubDate>
      <description>&lt;p&gt;
Great news – &lt;a href="http://blogs.msdn.com/355260/ProfileUrlRedirect.ashx" target="_blank"&gt;Jurgen
Willis&lt;/a&gt; and his team have worked hard to bring &lt;a href="http://blogs.technet.com/b/server-cloud/archive/2012/10/24/announcing-the-public-availability-of-workflow-manager-1-0.aspx" target="_blank"&gt;Microsoft’s
first V1.0 WF Workflow Hosting Manager&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
It&amp;nbsp; runs both as part of Windows Server and within Azure VMs also. It also is
used by the SharePoint team in 2013, so learn it once and you’ll get great mileage
out of it.&lt;br&gt;
(I’m yet to put it through serious paces)
&lt;/p&gt;
&lt;p&gt;
Some links to help you out…
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/jj193471(v=azure.10).aspx" target="_blank"&gt;What
is it?&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/jj193482(v=azure.10).aspx" target="_blank"&gt;WF
Mgr 1.0 – Code Samples&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The following main areas for WF improvements in .NET 4.5: (great &lt;a href="http://msdn.microsoft.com/en-us/magazine/hh781025.aspx" target="_blank"&gt;MSDN
magazine article&lt;/a&gt;)
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Workflow Designer enhancements 
&lt;li&gt;
C# expressions 
&lt;li&gt;
Contract-first authoring of WCF Workflow Services 
&lt;li&gt;
Workflow versioning 
&lt;li&gt;
Dynamic update 
&lt;li&gt;
Partial trust 
&lt;li&gt;
Performance enhancements&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Specifically for WorkflowManager there’s integration with:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
1. Windows Azure Service Bus.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
So all in all a major improvement and we’ve now got somewhere serious to host our
WF Services. If you’ve ever gone through the process of creating your own WF host,
you’ll appreciate it’s not a trivial task especially if you want some deeper functionality
such as restartability and fault tolerance.
&lt;/p&gt;
&lt;p&gt;
but…. if you want to kick off a quick WF to be part of an install script, evaluate
an Excel spreadsheet and set results, then hosting within the app, spreadsheet is
fine.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Let’s go through installation:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Download from here
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_2.png"&gt;&lt;img title="image" style="display: inline" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb.png" width="640" height="238"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Workflow_Manager_BPA.msi = Best Practices Analyser.
&lt;/p&gt;
&lt;p&gt;
WorfklowClient = Client APIs, install on machines that want to communicate to WF Manager.
&lt;/p&gt;
&lt;p&gt;
WorkflowManager = the Server/Service Component.
&lt;/p&gt;
&lt;p&gt;
WorkflowTools = VS2012 plugin tools – project types etc.
&lt;/p&gt;
&lt;p&gt;
And we’ll grab the 4 or you can you the Web Platform Installer
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_1.png" width="644" height="381"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The Workflow Client &lt;/strong&gt;should install fine on it’s own (mine didn’t
as I had to remove some of the beta bits that were previously installed).
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Installing the Workflow Manager – &lt;/strong&gt;create a farm, I went for a &lt;strong&gt;Custom
Setting install&lt;/strong&gt; below, just to show you the options.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_2.png" width="535" height="484"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_3.png" width="557" height="484"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
As you scroll down on this page, you’ll notice a &lt;strong&gt;HTTP Port – &lt;/strong&gt;check
the check box to enable &lt;strong&gt;HTTP communications to the Workflow Manager.&lt;br&gt;
&lt;/strong&gt;This just makes it easier if we need to debug anything across the wire.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Select NEXT &lt;/strong&gt;or the cool little Arrow-&amp;gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;On Prem Service Bus &lt;/strong&gt;is rolled into this install now – accepting defaults.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_4.png" width="557" height="484"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Plugin your Service Accounts and passphrase (for Farm membership and an encryption
seed).
&lt;/p&gt;
&lt;p&gt;
Click Next –&amp;gt; to reveal….
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_5.png" width="578" height="484"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
As with the latest set of MS Products a cool cool feature is the &lt;strong&gt;‘Get PowerShell
Commands’ &lt;/strong&gt;so you can see the script behind your UI choices (VMM manager,
SCCM 2012 has all this right through). BTW – passwords don’t get exported in the script,
you’ll need to add.
&lt;/p&gt;
&lt;p&gt;
Script Sample:
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;# To be run in Workflow Manager PowerShell
console that has both Workflow Manager and Service Bus installed.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;# Create new SB Farm&lt;br&gt;
$SBCertificateAutoGenerationKey = ConvertTo-SecureString -AsPlainText&amp;nbsp; -Force&amp;nbsp;
-String '***** Replace with Service Bus Certificate Auto-generation key ******' -Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;font style="background-color: #cccccc"&gt;New-SBFarm -SBFarmDBConnectionString 'Data
Source=BTS2012DEV;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False'
-InternalPortRangeStart 9000 -TcpPort 9354 -MessageBrokerPort 9356 -RunAsAccount 'administrator'
-AdminGroup 'BUILTIN\Administrators' -GatewayDBConnectionString 'Data Source=BTS2012DEV;Initial
Catalog=SbGatewayDatabase;Integrated Security=True;Encrypt=False' -CertificateAutoGenerationKey
$SBCertificateAutoGenerationKey -MessageContainerDBConnectionString 'Data Source=BTS2012DEV;Initial
Catalog=SBMessageContainer01;Integrated Security=True;Encrypt=False' -Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;# To be run in Workflow Manager PowerShell
console that has both Workflow Manager and Service Bus installed.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;# Create new WF Farm&lt;br&gt;
$WFCertAutoGenerationKey = ConvertTo-SecureString -AsPlainText&amp;nbsp; -Force&amp;nbsp;
-String '***** Replace with Workflow Manager Certificate Auto-generation key ******'
-Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;font style="background-color: #cccccc"&gt;New-WFFarm -WFFarmDBConnectionString 'Data
Source=BTS2012DEV;Initial Catalog=BreezeWFManagementDB;Integrated Security=True;Encrypt=False'
-RunAsAccount 'administrator' -AdminGroup 'BUILTIN\Administrators' -HttpsPort 12290
-HttpPort 12291 -InstanceDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=WFInstanceManagementDB;Integrated
Security=True;Encrypt=False' -ResourceDBConnectionString 'Data Source=BTS2012DEV;Initial
Catalog=WFResourceManagementDB;Integrated Security=True;Encrypt=False' -CertificateAutoGenerationKey
$WFCertAutoGenerationKey -Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;# Add SB Host&lt;br&gt;
$SBRunAsPassword = ConvertTo-SecureString -AsPlainText&amp;nbsp; -Force&amp;nbsp; -String
'***** Replace with RunAs Password for Service Bus ******' -Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;font style="background-color: #cccccc"&gt;Add-SBHost -SBFarmDBConnectionString 'Data
Source=BTS2012DEV;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False'
-RunAsPassword $SBRunAsPassword -EnableFirewallRules $true -CertificateAutoGenerationKey
$SBCertificateAutoGenerationKey -Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;Try&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; # Create new SB Namespace&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; New-SBNamespace -Name 'WorkflowDefaultNamespace' -AddressingScheme
'Path' -ManageUsers 'administrator','mickb' -Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start-Sleep -s 90&lt;br&gt;
}&lt;br&gt;
Catch [system.InvalidOperationException]&lt;br&gt;
{&lt;br&gt;
}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;# Get SB Client Configuration&lt;br&gt;
$SBClientConfiguration = Get-SBClientConfiguration -Namespaces 'WorkflowDefaultNamespace'
-Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font style="background-color: #cccccc"&gt;# Add WF Host&lt;br&gt;
$WFRunAsPassword = ConvertTo-SecureString -AsPlainText&amp;nbsp; -Force&amp;nbsp; -String
'***** Replace with RunAs Password for Workflow Manager ******' -Verbose;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;font style="background-color: #cccccc"&gt;Add-WFHost -WFFarmDBConnectionString 'Data
Source=BTS2012DEV;Initial Catalog=BreezeWFManagementDB;Integrated Security=True;Encrypt=False'
-RunAsPassword $WFRunAsPassword -EnableFirewallRules $true -SBClientConfiguration
$SBClientConfiguration -EnableHttpPort&amp;nbsp; -CertificateAutoGenerationKey $WFCertAutoGenerationKey
-Verbose;&lt;br&gt;
&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Upon completion you should see a new IIS Site…. with the ‘management ports’ of in
my case &lt;strong&gt;HTTPS&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_16.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/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/image_thumb_7.png" width="640" height="186"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;h1&gt;&lt;strong&gt;&lt;/strong&gt;
&lt;/h1&gt;
&lt;h1&gt;Let’s Play &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-Windows-Workflow-Manager-1.0-RTMed_9CB3/wlEmoticon-smile_2.png"&gt;
&lt;/h1&gt;
&lt;p&gt;
Go and grab the samples and have a play – make sure you run the samples as the user
you’ve nominated as ‘Admin’ during the setup – for now.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=9946241b-a9ec-48e3-bfed-5cd90bc33913" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,9946241b-a9ec-48e3-bfed-5cd90bc33913.aspx</comments>
      <category>Async</category>
      <category>Azure</category>
      <category>Azure/Integration</category>
      <category>Azure/ServiceBus</category>
      <category>BizTalk</category>
      <category>BizTalk/2010</category>
      <category>BizTalk/2010 R2</category>
      <category>Dev</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=6c12be50-a2af-41c1-9773-55355b6b0536</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,6c12be50-a2af-41c1-9773-55355b6b0536.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <georss:point>0 0</georss:point>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,6c12be50-a2af-41c1-9773-55355b6b0536.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=6c12be50-a2af-41c1-9773-55355b6b0536</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
With Hyper-V now available on Win8 it's more important than ever.
</p>
        <p>
VOTE here: <a href="https://connect.microsoft.com/WindowsServerFeedback/feedback/details/390443/hyper-v-needs-usb-support">https://connect.microsoft.com/WindowsServerFeedback/feedback/details/390443/hyper-v-needs-usb-support</a></p>
        <p>
The more votes...the more importance this issue has.
</p>
        <p>
Let's get it in there.
</p>
        <p>
p.s. I'm aware of the 'workarounds' after having to plug 183 usb devices into a virtual
environment. Hours I'll never get back
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=6c12be50-a2af-41c1-9773-55355b6b0536" />
      </body>
      <title>Hyper-V: Hyper-V needs native USB support</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,6c12be50-a2af-41c1-9773-55355b6b0536.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/08/13/HyperVHyperVNeedsNativeUSBSupport.aspx</link>
      <pubDate>Mon, 13 Aug 2012 09:59:38 GMT</pubDate>
      <description>&lt;p&gt;
With Hyper-V now available on Win8 it's more important than ever.
&lt;/p&gt;
&lt;p&gt;
VOTE here: &lt;a href="https://connect.microsoft.com/WindowsServerFeedback/feedback/details/390443/hyper-v-needs-usb-support"&gt;https://connect.microsoft.com/WindowsServerFeedback/feedback/details/390443/hyper-v-needs-usb-support&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The more votes...the more importance this issue has.
&lt;/p&gt;
&lt;p&gt;
Let's get it in there.
&lt;/p&gt;
&lt;p&gt;
p.s. I'm aware of the 'workarounds' after having to plug 183 usb devices into a virtual
environment. Hours I'll never get back
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=6c12be50-a2af-41c1-9773-55355b6b0536" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,6c12be50-a2af-41c1-9773-55355b6b0536.aspx</comments>
      <category>Dev</category>
      <category>General</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=0cc6026c-bb31-4705-ae55-ef040a694201</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,0cc6026c-bb31-4705-ae55-ef040a694201.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <georss:point>0 0</georss:point>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,0cc6026c-bb31-4705-ae55-ef040a694201.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=0cc6026c-bb31-4705-ae55-ef040a694201</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Huge assortment of scripts for all the
family on many many many different jobs....<br /><br /><a href="http://gallery.technet.microsoft.com/ScriptCenter/">http://gallery.technet.microsoft.com/ScriptCenter/</a><br /><br />
Note to self: Why didn't I come across this sooner??<br /><br />
Enjoy,<br /><br />
Mick.<br /><p></p><img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=0cc6026c-bb31-4705-ae55-ef040a694201" /></body>
      <title>MS Script Center</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,0cc6026c-bb31-4705-ae55-ef040a694201.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/05/28/MSScriptCenter.aspx</link>
      <pubDate>Mon, 28 May 2012 07:03:50 GMT</pubDate>
      <description>Huge assortment of scripts for all the family on many many many different jobs....&lt;br&gt;
&lt;br&gt;
&lt;a href="http://gallery.technet.microsoft.com/ScriptCenter/"&gt;http://gallery.technet.microsoft.com/ScriptCenter/&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Note to self: Why didn't I come across this sooner??&lt;br&gt;
&lt;br&gt;
Enjoy,&lt;br&gt;
&lt;br&gt;
Mick.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=0cc6026c-bb31-4705-ae55-ef040a694201" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,0cc6026c-bb31-4705-ae55-ef040a694201.aspx</comments>
      <category>Dev</category>
      <category>General</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=ba708e69-c4d6-4981-8534-dec90142ce92</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,ba708e69-c4d6-4981-8534-dec90142ce92.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,ba708e69-c4d6-4981-8534-dec90142ce92.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=ba708e69-c4d6-4981-8534-dec90142ce92</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Easy but effective
</p>
        <p>
&lt;script type='text/javascript'&gt; 
<br />
var msg = "your big title goes here…";<br />
msg = " ..... " + msg;pos = 0;<br />
function scrollTitle() {<br />
document.title = msg.substring(pos, msg.length) + msg.substring(0, pos); pos++;<br />
if (pos &gt; msg.length) pos = 0<br />
window.setTimeout("scrollTitle()",300);<br />
}<br />
scrollTitle();<br />
&lt;/script&gt;
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ba708e69-c4d6-4981-8534-dec90142ce92" />
      </body>
      <title>HTML: How to Scroll the HTML Title of a Page</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,ba708e69-c4d6-4981-8534-dec90142ce92.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/03/10/HTMLHowToScrollTheHTMLTitleOfAPage.aspx</link>
      <pubDate>Sat, 10 Mar 2012 04:12:07 GMT</pubDate>
      <description>&lt;p&gt;
Easy but effective
&lt;/p&gt;
&lt;p&gt;
&amp;lt;script type='text/javascript'&amp;gt; 
&lt;br&gt;
var msg = "your big title goes here…";&lt;br&gt;
msg = " ..... " + msg;pos = 0;&lt;br&gt;
function scrollTitle() {&lt;br&gt;
document.title = msg.substring(pos, msg.length) + msg.substring(0, pos); pos++;&lt;br&gt;
if (pos &amp;gt; msg.length) pos = 0&lt;br&gt;
window.setTimeout("scrollTitle()",300);&lt;br&gt;
}&lt;br&gt;
scrollTitle();&lt;br&gt;
&amp;lt;/script&amp;gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=ba708e69-c4d6-4981-8534-dec90142ce92" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,ba708e69-c4d6-4981-8534-dec90142ce92.aspx</comments>
      <category>.NET Developer</category>
      <category>Dev</category>
      <category>Tips</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=2ac84c34-76c2-4d0b-b20a-3d66a01ac265</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,2ac84c34-76c2-4d0b-b20a-3d66a01ac265.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,2ac84c34-76c2-4d0b-b20a-3d66a01ac265.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=2ac84c34-76c2-4d0b-b20a-3d66a01ac265</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently there’s been an update to the ‘on-premise’ AppFabric for Windows Server.
</p>
        <p>
Grab the update here - <a title="http://www.microsoft.com/download/en/details.aspx?id=27115" href="http://www.microsoft.com/download/en/details.aspx?id=27115">http://www.microsoft.com/download/en/details.aspx?id=27115</a> (runs
on win7, 2008, 2008R2)
</p>
        <p>
          <strong>What’s new</strong>
        </p>
        <p>
I’m in the process of updating my components, but the majority of updates seems to
be around caching and performance.
</p>
        <p>
          <a title="http://msdn.microsoft.com/en-us/library/hh351389.aspx" href="http://msdn.microsoft.com/en-us/library/hh351389.aspx">http://msdn.microsoft.com/en-us/library/hh351389.aspx</a>
        </p>
        <p>
 
</p>
        <h3 class="subHeading" style="word-wrap: break-word">
        </h3>
        <table style="word-wrap: break-word; border-top: #bbb 1px solid; border-right: #bbb 1px solid; border-collapse: collapse; border-bottom: #bbb 1px solid; border-left: #bbb 1px solid" width="100%">
          <tbody>
            <tr style="vertical-align: top">
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <strong>
                    <font face="Segoe UI">
                      <font style="font-size: 9.7pt">Read-Through/Write-Behind</font>
                    </font>
                  </strong>
                </p>
              </td>
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">This allows a backend provider
to be used on the cache servers to assist with retrieving and storing data to a backend,
such as a database. Read-through enables the cache to "read-through" to a backend
in the context of a Get request. Write-behind enables updates to cached data to be
saved asynchronously to the backend. For more information, see </font>
                  </font>
                  <font style="font-size: 9.7pt">
                    <a href="http://msdn.microsoft.com/en-us/library/hh361704.aspx">
                      <font color="#1364c4" face="Segoe UI">Creating
a Read-Through / Write-Behind Provider (AppFabric 1.1 Caching)</font>
                    </a>
                  </font>
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">.</font>
                  </font>
                </p>
              </td>
            </tr>
            <tr style="vertical-align: top">
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <strong>
                    <font face="Segoe UI">
                      <font style="font-size: 9.7pt">Graceful Shutdown</font>
                    </font>
                  </strong>
                </p>
              </td>
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">This is useful for moving data
from a single cache hosts to rest of the servers in the cache cluster before shutting
down the cache host for maintenance. This helps to prevent unexpected loss of cached
data in a running cache cluster. This can be accomplished with the <strong>Graceful</strong> parameter
of the <strong>Stop-CacheHost</strong> Windows PowerShell command.</font>
                  </font>
                </p>
              </td>
            </tr>
            <tr style="vertical-align: top">
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <strong>
                    <font face="Segoe UI">
                      <font style="font-size: 9.7pt">Domain Accounts</font>
                    </font>
                  </strong>
                </p>
              </td>
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">In addition to running the AppFabric
Caching Service with the NETWORK SERVICE account, you can now run the service as a
domain account. For more information, see </font>
                  </font>
                  <font style="font-size: 9.7pt">
                    <a href="http://msdn.microsoft.com/en-us/library/hh386447.aspx">
                      <font color="#1364c4" face="Segoe UI">Change
the Caching Service Account (AppFabric 1.1 Caching)</font>
                    </a>
                  </font>
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">.</font>
                  </font>
                </p>
              </td>
            </tr>
            <tr style="vertical-align: top">
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <strong>
                    <font face="Segoe UI">
                      <font style="font-size: 9.7pt">New ASP.NET Session State
and Output Caching Provider</font>
                    </font>
                  </strong>
                </p>
              </td>
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">New ASP.NET session state and
output caching providers are available. The new session state provider has support
for the lazy-loading of individual session state items using AppFabric Caching as
a backing store. This makes sites that have a mix of small and large session state
data more efficient, because pages that don't need large session state items won't
incur the cost of sending this data over the network. For more information, see </font>
                  </font>
                  <font style="font-size: 9.7pt">
                    <a href="http://msdn.microsoft.com/en-us/library/hh361705.aspx">
                      <font color="#1364c4" face="Segoe UI">Using
the ASP.NET 4 Caching Providers for AppFabric 1.1</font>
                    </a>
                  </font>
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">.</font>
                  </font>
                </p>
              </td>
            </tr>
            <tr style="vertical-align: top">
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <strong>
                    <font face="Segoe UI">
                      <font style="font-size: 9.7pt">Compression</font>
                    </font>
                  </strong>
                </p>
              </td>
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">You can now enable compression
for cache clients. For more information, see </font>
                  </font>
                  <font style="font-size: 9.7pt">
                    <a href="http://msdn.microsoft.com/en-us/library/hh351483.aspx">
                      <font color="#1364c4" face="Segoe UI">Application
Configuration Settings (AppFabric 1.1 Caching)</font>
                    </a>
                  </font>
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">.</font>
                  </font>
                </p>
              </td>
            </tr>
            <tr style="vertical-align: top">
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <strong>
                    <font face="Segoe UI">
                      <font style="font-size: 9.7pt">Multiple Cache Client
Application Configuration Sections</font>
                    </font>
                  </strong>
                </p>
              </td>
              <td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff">
                <p style="margin-bottom: 0px; position: relative">
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">A new </font>
                  </font>
                  <font style="font-size: 9.7pt">
                    <code>dataCacheClients</code>
                    <font face="Segoe UI"> section
is available that allows you to specify multiple named </font>
                    <code>dataCacheClient</code>
                    <font face="Segoe UI"> sections
in an application configuration file. You can then programmatically specify which
group of cache client settings to use at runtime. For more information, see </font>
                    <a href="http://msdn.microsoft.com/en-us/library/hh351483.aspx">
                      <font color="#1364c4" face="Segoe UI">Application
Configuration Settings (AppFabric 1.1 Caching)</font>
                    </a>
                  </font>
                  <font face="Segoe UI">
                    <font style="font-size: 9.7pt">. </font>
                  </font>
                </p>
              </td>
            </tr>
          </tbody>
        </table>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=2ac84c34-76c2-4d0b-b20a-3d66a01ac265" />
      </body>
      <title>Microsoft AppFabric 1.1 for Windows Server–released!</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,2ac84c34-76c2-4d0b-b20a-3d66a01ac265.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/01/25/MicrosoftAppFabric11ForWindowsServerreleased.aspx</link>
      <pubDate>Wed, 25 Jan 2012 23:14:06 GMT</pubDate>
      <description>&lt;p&gt;
Recently there’s been an update to the ‘on-premise’ AppFabric for Windows Server.
&lt;/p&gt;
&lt;p&gt;
Grab the update here - &lt;a title="http://www.microsoft.com/download/en/details.aspx?id=27115" href="http://www.microsoft.com/download/en/details.aspx?id=27115"&gt;http://www.microsoft.com/download/en/details.aspx?id=27115&lt;/a&gt; (runs
on win7, 2008, 2008R2)
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What’s new&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I’m in the process of updating my components, but the majority of updates seems to
be around caching and performance.
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://msdn.microsoft.com/en-us/library/hh351389.aspx" href="http://msdn.microsoft.com/en-us/library/hh351389.aspx"&gt;http://msdn.microsoft.com/en-us/library/hh351389.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;h3 class="subHeading" style="word-wrap: break-word"&gt;
&lt;/h3&gt;
&lt;table style="word-wrap: break-word; border-top: #bbb 1px solid; border-right: #bbb 1px solid; border-collapse: collapse; border-bottom: #bbb 1px solid; border-left: #bbb 1px solid" width="100%"&gt;
&lt;tbody&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Read-Through/Write-Behind&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;This allows a backend provider
to be used on the cache servers to assist with retrieving and storing data to a backend,
such as a database. Read-through enables the cache to "read-through" to a backend
in the context of a Get request. Write-behind enables updates to cached data to be
saved asynchronously to the backend. For more information, see &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh361704.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Creating
a Read-Through / Write-Behind Provider (AppFabric 1.1 Caching)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Graceful Shutdown&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;This is useful for moving data
from a single cache hosts to rest of the servers in the cache cluster before shutting
down the cache host for maintenance. This helps to prevent unexpected loss of cached
data in a running cache cluster. This can be accomplished with the &lt;strong&gt;Graceful&lt;/strong&gt; parameter
of the &lt;strong&gt;Stop-CacheHost&lt;/strong&gt; Windows PowerShell command.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Domain Accounts&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;In addition to running the AppFabric
Caching Service with the NETWORK SERVICE account, you can now run the service as a
domain account. For more information, see &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh386447.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Change
the Caching Service Account (AppFabric 1.1 Caching)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;New ASP.NET Session State
and Output Caching Provider&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;New ASP.NET session state and
output caching providers are available. The new session state provider has support
for the lazy-loading of individual session state items using AppFabric Caching as
a backing store. This makes sites that have a mix of small and large session state
data more efficient, because pages that don't need large session state items won't
incur the cost of sending this data over the network. For more information, see &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh361705.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Using
the ASP.NET 4 Caching Providers for AppFabric 1.1&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Compression&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;You can now enable compression
for cache clients. For more information, see &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh351483.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Application
Configuration Settings (AppFabric 1.1 Caching)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Multiple Cache Client
Application Configuration Sections&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-top: 1px solid; border-right: 1px solid; border-bottom: 1px solid; padding-bottom: 9px; padding-top: 9px; padding-left: 4px; border-left: 1px solid; line-height: 14pt; padding-right: 4px; background-color: #fff"&gt;
&lt;p style="margin-bottom: 0px; position: relative"&gt;
&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;A new &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;code&gt;dataCacheClients&lt;/code&gt;&lt;font face="Segoe UI"&gt; section
is available that allows you to specify multiple named &lt;/font&gt;&lt;code&gt;dataCacheClient&lt;/code&gt;&lt;font face="Segoe UI"&gt; sections
in an application configuration file. You can then programmatically specify which
group of cache client settings to use at runtime. For more information, see &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh351483.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Application
Configuration Settings (AppFabric 1.1 Caching)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;. &lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=2ac84c34-76c2-4d0b-b20a-3d66a01ac265" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,2ac84c34-76c2-4d0b-b20a-3d66a01ac265.aspx</comments>
      <category>.NET Developer</category>
      <category>AppFabricServer</category>
      <category>Azure</category>
      <category>Azure/Integration</category>
      <category>BizTalk/2010</category>
      <category>BizTalk/2010 R2</category>
      <category>Dev</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=57f9b076-24b0-404a-a5b0-d10580298bda</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,57f9b076-24b0-404a-a5b0-d10580298bda.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,57f9b076-24b0-404a-a5b0-d10580298bda.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=57f9b076-24b0-404a-a5b0-d10580298bda</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hi folks, welcome to Monday…so I thought.
</p>
        <p>
Here I was registering a message inspector which should take 5 mins tops.
</p>
        <p>
Find the right config, make sure the .NET full assembly name is cool and away we go.
</p>
        <p>
I wanted to use this guy from my custom WCF Adapter within BizTalk – so I needed my
new message inspector to be seen by BizTalk.
</p>
        <p>
So I used:
</p>
        <p>
&lt;add name="wcfMsgPropPromoter" type="Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour,Breeze.WCF.Extensions,Version=1.0.0.0,Culture=neutral,PublicKeyToken=c2c8c7e827e9dd6a"/&gt;
</p>
        <p>
and added this guy to the &lt;<strong>behaviorExtensions&gt; </strong>element in the <strong>Machine.Config
for .NET 4.0 x64/.NET 4.0 </strong>(&amp; .NET 2.0 for good measure)
</p>
        <p>
As if a scene from SpongeBob,… <strong>3 hours later….</strong></p>
        <p>
I had triple check GACs, caches, full assembly names etc…<a href="http://blogs.breeze.net/scotts" target="_blank">Scotty
popped</a> his head around and said “Oh yeah I had this one ages ago you need to use
this…”
</p>
        <p>
&lt;add name="wcfMsgPropPromoter" type="Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour,
Breeze.WCF.Extensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2c8c7e827e9dd6a"/&gt;
</p>
        <p>
          <strong>Can you spot the difference?</strong>
        </p>
        <p>
SPACES!!!!
</p>
        <p>
Interestingly enough – this work is part of a .NET plugin I wrote for IIS 7.5 and
to register the plugin you use <strong>“Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour,Breeze.WCF.Extensions,Version=1.0.0.0,Culture=neutral,PublicKeyToken=c2c8c7e827e9dd6a"</strong></p>
        <p>
          <strong>NO SPACES!</strong>
        </p>
        <p>
My head hurts for a Monday…
</p>
        <p>
Hopefully you reclaim the hours I’ve lost here.
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=57f9b076-24b0-404a-a5b0-d10580298bda" />
      </body>
      <title>BizTalk: Registering a WCF Message Inspector–hours I’ll never get back!!!</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,57f9b076-24b0-404a-a5b0-d10580298bda.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/01/23/BizTalkRegisteringAWCFMessageInspectorhoursIllNeverGetBack.aspx</link>
      <pubDate>Mon, 23 Jan 2012 05:52:20 GMT</pubDate>
      <description>&lt;p&gt;
Hi folks, welcome to Monday…so I thought.
&lt;/p&gt;
&lt;p&gt;
Here I was registering a message inspector which should take 5 mins tops.
&lt;/p&gt;
&lt;p&gt;
Find the right config, make sure the .NET full assembly name is cool and away we go.
&lt;/p&gt;
&lt;p&gt;
I wanted to use this guy from my custom WCF Adapter within BizTalk – so I needed my
new message inspector to be seen by BizTalk.
&lt;/p&gt;
&lt;p&gt;
So I used:
&lt;/p&gt;
&lt;p&gt;
&amp;lt;add name="wcfMsgPropPromoter" type="Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour,Breeze.WCF.Extensions,Version=1.0.0.0,Culture=neutral,PublicKeyToken=c2c8c7e827e9dd6a"/&amp;gt;
&lt;/p&gt;
&lt;p&gt;
and added this guy to the &amp;lt;&lt;strong&gt;behaviorExtensions&amp;gt; &lt;/strong&gt;element in the &lt;strong&gt;Machine.Config
for .NET 4.0 x64/.NET 4.0 &lt;/strong&gt;(&amp;amp; .NET 2.0 for good measure)
&lt;/p&gt;
&lt;p&gt;
As if a scene from SpongeBob,… &lt;strong&gt;3 hours later….&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I had triple check GACs, caches, full assembly names etc…&lt;a href="http://blogs.breeze.net/scotts" target="_blank"&gt;Scotty
popped&lt;/a&gt; his head around and said “Oh yeah I had this one ages ago you need to use
this…”
&lt;/p&gt;
&lt;p&gt;
&amp;lt;add name="wcfMsgPropPromoter" type="Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour,
Breeze.WCF.Extensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c2c8c7e827e9dd6a"/&amp;gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Can you spot the difference?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
SPACES!!!!
&lt;/p&gt;
&lt;p&gt;
Interestingly enough – this work is part of a .NET plugin I wrote for IIS 7.5 and
to register the plugin you use &lt;strong&gt;“Breeze.WCF.Extensions.BreezeMessagePromoteBehaviour,Breeze.WCF.Extensions,Version=1.0.0.0,Culture=neutral,PublicKeyToken=c2c8c7e827e9dd6a"&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;NO SPACES!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
My head hurts for a Monday…
&lt;/p&gt;
&lt;p&gt;
Hopefully you reclaim the hours I’ve lost here.
&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=57f9b076-24b0-404a-a5b0-d10580298bda" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,57f9b076-24b0-404a-a5b0-d10580298bda.aspx</comments>
      <category>.NET Developer</category>
      <category>BizTalk/2010</category>
      <category>BizTalk/2010 R2</category>
      <category>Dev</category>
      <category>Dev/.NET Framework 4.5</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=8542c9c1-5f48-4040-9375-7a98d98a28f4</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,8542c9c1-5f48-4040-9375-7a98d98a28f4.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,8542c9c1-5f48-4040-9375-7a98d98a28f4.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=8542c9c1-5f48-4040-9375-7a98d98a28f4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hi folks, we’ve set a cracking pace into 2012 and are in need of an additional team
member.
</p>
        <p>
If you love technology, we love technology and I’d love to hear from you to be part
of my team.
</p>
        <p>
You will be stimulated, constantly thinking and challenged – azure, integration, biztlak,
sql, windows phone 7 and many other technology areas you’ll be exposed to. Integration
is all about the glue we use to achieve the result.
</p>
        <p>
If you’re keen for a chat check out the blurb - <a href="http://www.breeze.net/about/jobs.aspx">http://www.breeze.net/about/jobs.aspx</a></p>
        <p>
Cheers,
</p>
        <p>
Mick.
</p>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=8542c9c1-5f48-4040-9375-7a98d98a28f4" />
      </body>
      <title>Position: Technical BizTalk Developer</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,8542c9c1-5f48-4040-9375-7a98d98a28f4.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2012/01/11/PositionTechnicalBizTalkDeveloper.aspx</link>
      <pubDate>Wed, 11 Jan 2012 12:32:16 GMT</pubDate>
      <description>&lt;p&gt;
Hi folks, we’ve set a cracking pace into 2012 and are in need of an additional team
member.
&lt;/p&gt;
&lt;p&gt;
If you love technology, we love technology and I’d love to hear from you to be part
of my team.
&lt;/p&gt;
&lt;p&gt;
You will be stimulated, constantly thinking and challenged – azure, integration, biztlak,
sql, windows phone 7 and many other technology areas you’ll be exposed to. Integration
is all about the glue we use to achieve the result.
&lt;/p&gt;
&lt;p&gt;
If you’re keen for a chat check out the blurb - &lt;a href="http://www.breeze.net/about/jobs.aspx"&gt;http://www.breeze.net/about/jobs.aspx&lt;/a&gt;
&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=8542c9c1-5f48-4040-9375-7a98d98a28f4" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,8542c9c1-5f48-4040-9375-7a98d98a28f4.aspx</comments>
      <category>AppFabricServer</category>
      <category>Azure</category>
      <category>BizTalk</category>
      <category>BizTalk/2010</category>
      <category>Breeze</category>
      <category>Breeze/BET</category>
      <category>Dev</category>
      <category>General</category>
      <category>Jobs</category>
    </item>
    <item>
      <trackback:ping>http://blogs.breeze.net/mickb/Trackback.aspx?guid=41d4fa95-911d-4f07-9ba0-644285833106</trackback:ping>
      <pingback:server>http://blogs.breeze.net/mickb/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.breeze.net/mickb/PermaLink,guid,41d4fa95-911d-4f07-9ba0-644285833106.aspx</pingback:target>
      <dc:creator>Mick Badran</dc:creator>
      <wfw:comment>http://blogs.breeze.net/mickb/CommentView,guid,41d4fa95-911d-4f07-9ba0-644285833106.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.breeze.net/mickb/SyndicationService.asmx/GetEntryCommentsRss?guid=41d4fa95-911d-4f07-9ba0-644285833106</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hi folks, as you may/may not have been aware these are the core corner stone technologies
of the MS Integration Stack.
</p>
        <p>
The teams have been busily plugging away and coming up with the new versions – 4.5
corresponding to .NET 4.5 framework.
</p>
        <p>
Here’s some links that describe what’s new from MS Santa &amp; his elves:
</p>
        <ol>
          <li>
            <a href="http://msdn.microsoft.com/en-us/library/dd456789(v=vs.110).aspx" target="_blank">What's
New in Windows Communication Foundation 4.5</a>
          </li>
        </ol>
        <ol>
          <li>
New Items I found of note are:</li>
        </ol>
        <ul>
          <li>
New Service Transport Default values – keep an eye on these.</li>
          <li>
Improvements from VS.NET 2011 – validation , better intellisence support.</li>
          <li>
Streaming improved – true async (yay!)</li>
          <li>
WebSocket support – through NetHttp(s)Binding</li>
          <li>
Single WSDL file generation with <strong>‘?singleWSDL’</strong> (which is pretty handy)</li>
          <li>
Self hosted + II hosted allow you to get to <strong>ServiceHost</strong> from code
for dynamic configuration.</li>
          <li>
Binary Encoder supports compression!! – this is generally <strong>gzip</strong> compression.</li>
          <li>
My personal favourite – <strong>UDP support<br /></strong></li>
        </ul>
        <li>
          <a href="http://msdn.microsoft.com/en-us/library/hh305677(v=vs.110).aspx" target="_blank">What's
New in Windows Workflow Foundation in .NET 4.5</a>
        </li>
        <ol>
          <li>
New Items of note are:</li>
        </ol>
        <ul>
          <li>
New Activites – NoPersistScope (possible previously but we needed to write code)</li>
          <li>
WF Designer improvements – several here, but the ‘Outline view’ looks to be easier
to work with.</li>
          <li>
            <strong>C# Expressions</strong> – where’s the F# ones <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-sadsmile" alt="Sad smile" src="http://blogs.breezetraining.com.au/mickb/content/binary/Windows-Live-Writer/WCF-4.5-WF-4.5-VSNET-2011-Some-details_9F80/wlEmoticon-sadsmile_2.png" /> ??</li>
          <li>
Designer Annotations – add your own comments to keep control of the jungle that is
built.</li>
          <li>
WF Versioning – use WorkflowIdentity &amp; DefinitionIdentity to define the version. <strong>WorkflowServiceHost</strong> supports
multiple versions of the same WF. All pretty cool.</li>
          <li>
WF Designers can still be <strong>rehosted</strong> – I’ve used that many a place.</li>
          <li>
Contract First Development – ticks the boxes.<br /></li>
        </ul>
        <li>
          <strong>WF Rules – still didn’t make the cut. </strong>There is a sample for WF4 using
a custom Activity calling back to WF 3.5 <strong>Policy4</strong> it’s called. It
uses ‘interop’ back to WF3.5 and is found here - <a title="http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx">http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx</a></li>
        <ol>
          <li>
Will have to check out perf in this new land on these rules.<br /></li>
        </ol>
        <li>
          <strong>Async CTP – </strong>while this didn’t make the ‘whats new’ list, it certainly
does deserve a mention here.<br />
Over the last year I’ve built some pretty serious F# projects, and F# has the async
support through and through the language. After over coming the challenge of learning
it, the Async functionality is absolutely brilliant!!! F# does a great job in being
able to turn a non-async chunk of code/method/class into an async one with by using
the keyword <strong>async </strong>and a <strong>!</strong>. It’s straight forward
from that aspect.<br /><br />
It’s great to see the C# &amp; VB.NETs being able to use the same fundamentals (albeit
not as slick IMO <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blogs.breezetraining.com.au/mickb/content/binary/Windows-Live-Writer/WCF-4.5-WF-4.5-VSNET-2011-Some-details_9F80/wlEmoticon-winkingsmile_2.png" />).
– see a previous POST - <a title="http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx" href="http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx">http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx</a><br /><br />
As developers we sit here and say – <strong>what do I need this for?</strong> My code
runs fine as it….and yes for the most part of what we do on our machine it does. This
technology really comes into it’s own when you want consistent throughput from a solution
with 1 person or 10000 concurrent people using it. That’s the difference.<br /><br /><strong>To use it:</strong></li>
        <ol>
          <li>
            <strong>Get VSNET 2011 </strong>(as it requires a new compiler)</li>
          <li>
Use <strong>ASYNC CTP (refresh3) </strong>with <strong>VSNET2010 SP1<br /></strong></li>
        </ol>
        <li>
Check it out from here - <a title="http://msdn.microsoft.com/en-us/vstudio/gg316360" href="http://msdn.microsoft.com/en-us/vstudio/gg316360">http://msdn.microsoft.com/en-us/vstudio/gg316360</a></li>
        <img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=41d4fa95-911d-4f07-9ba0-644285833106" />
      </body>
      <title>WCF 4.5 WF 4.5 VSNET 2011: Some details</title>
      <guid isPermaLink="false">http://blogs.breeze.net/mickb/PermaLink,guid,41d4fa95-911d-4f07-9ba0-644285833106.aspx</guid>
      <link>http://blogs.breeze.net/mickb/2011/12/12/WCF45WF45VSNET2011SomeDetails.aspx</link>
      <pubDate>Mon, 12 Dec 2011 01:00:52 GMT</pubDate>
      <description>&lt;p&gt;
Hi folks, as you may/may not have been aware these are the core corner stone technologies
of the MS Integration Stack.
&lt;/p&gt;
&lt;p&gt;
The teams have been busily plugging away and coming up with the new versions – 4.5
corresponding to .NET 4.5 framework.
&lt;/p&gt;
&lt;p&gt;
Here’s some links that describe what’s new from MS Santa &amp;amp; his elves:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/dd456789(v=vs.110).aspx" target="_blank"&gt;What's
New in Windows Communication Foundation 4.5&lt;/a&gt;
&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
New Items I found of note are:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
New Service Transport Default values – keep an eye on these.&lt;/li&gt;
&lt;li&gt;
Improvements from VS.NET 2011 – validation , better intellisence support.&lt;/li&gt;
&lt;li&gt;
Streaming improved – true async (yay!)&lt;/li&gt;
&lt;li&gt;
WebSocket support – through NetHttp(s)Binding&lt;/li&gt;
&lt;li&gt;
Single WSDL file generation with &lt;strong&gt;‘?singleWSDL’&lt;/strong&gt; (which is pretty handy)&lt;/li&gt;
&lt;li&gt;
Self hosted + II hosted allow you to get to &lt;strong&gt;ServiceHost&lt;/strong&gt; from code
for dynamic configuration.&lt;/li&gt;
&lt;li&gt;
Binary Encoder supports compression!! – this is generally &lt;strong&gt;gzip&lt;/strong&gt; compression.&lt;/li&gt;
&lt;li&gt;
My personal favourite – &lt;strong&gt;UDP support&lt;br&gt;
&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&gt;
&lt;li&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/hh305677(v=vs.110).aspx" target="_blank"&gt;What's
New in Windows Workflow Foundation in .NET 4.5&lt;/a&gt;
&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
New Items of note are:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
New Activites – NoPersistScope (possible previously but we needed to write code)&lt;/li&gt;
&lt;li&gt;
WF Designer improvements – several here, but the ‘Outline view’ looks to be easier
to work with.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;C# Expressions&lt;/strong&gt; – where’s the F# ones &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-sadsmile" alt="Sad smile" src="http://blogs.breezetraining.com.au/mickb/content/binary/Windows-Live-Writer/WCF-4.5-WF-4.5-VSNET-2011-Some-details_9F80/wlEmoticon-sadsmile_2.png"&gt; ??&lt;/li&gt;
&lt;li&gt;
Designer Annotations – add your own comments to keep control of the jungle that is
built.&lt;/li&gt;
&lt;li&gt;
WF Versioning – use WorkflowIdentity &amp;amp; DefinitionIdentity to define the version. &lt;strong&gt;WorkflowServiceHost&lt;/strong&gt; supports
multiple versions of the same WF. All pretty cool.&lt;/li&gt;
&lt;li&gt;
WF Designers can still be &lt;strong&gt;rehosted&lt;/strong&gt; – I’ve used that many a place.&lt;/li&gt;
&lt;li&gt;
Contract First Development – ticks the boxes.&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;strong&gt;WF Rules – still didn’t make the cut. &lt;/strong&gt;There is a sample for WF4 using
a custom Activity calling back to WF 3.5 &lt;strong&gt;Policy4&lt;/strong&gt; it’s called. It
uses ‘interop’ back to WF3.5 and is found here - &lt;a title="http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx" href="http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx"&gt;http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx&lt;/a&gt;
&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
Will have to check out perf in this new land on these rules.&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
&gt;
&lt;li&gt;
&lt;strong&gt;Async CTP – &lt;/strong&gt;while this didn’t make the ‘whats new’ list, it certainly
does deserve a mention here.&lt;br&gt;
Over the last year I’ve built some pretty serious F# projects, and F# has the async
support through and through the language. After over coming the challenge of learning
it, the Async functionality is absolutely brilliant!!! F# does a great job in being
able to turn a non-async chunk of code/method/class into an async one with by using
the keyword &lt;strong&gt;async &lt;/strong&gt;and a &lt;strong&gt;!&lt;/strong&gt;. It’s straight forward
from that aspect.&lt;br&gt;
&lt;br&gt;
It’s great to see the C# &amp;amp; VB.NETs being able to use the same fundamentals (albeit
not as slick IMO &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blogs.breezetraining.com.au/mickb/content/binary/Windows-Live-Writer/WCF-4.5-WF-4.5-VSNET-2011-Some-details_9F80/wlEmoticon-winkingsmile_2.png"&gt;).
– see a previous POST - &lt;a title="http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx" href="http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx"&gt;http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
As developers we sit here and say – &lt;strong&gt;what do I need this for?&lt;/strong&gt; My code
runs fine as it….and yes for the most part of what we do on our machine it does. This
technology really comes into it’s own when you want consistent throughput from a solution
with 1 person or 10000 concurrent people using it. That’s the difference.&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;To use it:&lt;/strong&gt;
&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Get VSNET 2011 &lt;/strong&gt;(as it requires a new compiler)&lt;/li&gt;
&lt;li&gt;
Use &lt;strong&gt;ASYNC CTP (refresh3) &lt;/strong&gt;with &lt;strong&gt;VSNET2010 SP1&lt;br&gt;
&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;
Check it out from here - &lt;a title="http://msdn.microsoft.com/en-us/vstudio/gg316360" href="http://msdn.microsoft.com/en-us/vstudio/gg316360"&gt;http://msdn.microsoft.com/en-us/vstudio/gg316360&lt;/a&gt;
&lt;/li&gt;&gt;
&lt;img width="0" height="0" src="http://blogs.breeze.net/mickb/aggbug.ashx?id=41d4fa95-911d-4f07-9ba0-644285833106" /&gt;</description>
      <comments>http://blogs.breeze.net/mickb/CommentView,guid,41d4fa95-911d-4f07-9ba0-644285833106.aspx</comments>
      <category>.NET Developer</category>
      <category>Async</category>
      <category>BizTalk</category>
      <category>Dev</category>
      <category>Dev/.NET Framework 4.5</category>
    </item>
  </channel>
</rss>