<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Andrew Coates ::: MSFT</title><link>http://blogs.msdn.com/b/acoat/</link><description>It&amp;#39;s all about community!</description><dc:language>en-AU</dc:language><generator>Telligent Community 5.6.583.21163 (Build: 5.6.583.21163)</generator><item><title>Microsoft Agile Tools Team doing Agile</title><link>http://blogs.msdn.com/b/acoat/archive/2012/02/22/microsoft-agile-tools-team-doing-agile.aspx</link><pubDate>Wed, 22 Feb 2012 01:35:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10270811</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10270811</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2012/02/22/microsoft-agile-tools-team-doing-agile.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.adamcogan.com/"&gt;Adam Cogan&lt;/a&gt; from &lt;a href="http://www.ssw.com.au/"&gt;SSW&lt;/a&gt; was in Redmond later last year, and he caught up with the TFS Agile Team while they were doing a Stand Up. He's produced a couple of great videos explaining what he saw.&lt;/p&gt;  &lt;div&gt;&lt;iframe height="315" src="http://www.youtube.com/embed/YR84qH6d7QE" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&lt;iframe height="315" src="http://www.youtube.com/embed/-UUrLxNBK_g" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/div&gt;  &lt;p&gt;By the way, these are a part of a pretty cool set of videos SSW are producing under the banner of &lt;a href="http://tv.ssw.com/"&gt;SSW TV&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10270811" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TFS/">TFS</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Video/">Video</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Agile/">Agile</category></item><item><title>Scott Guthrie, David Campbell and Mark Russinovich at the Cricket</title><link>http://blogs.msdn.com/b/acoat/archive/2012/01/16/scott-guthrie-david-campbell-and-mark-russinovich-at-the-cricket.aspx</link><pubDate>Mon, 16 Jan 2012 02:55:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10256966</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10256966</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2012/01/16/scott-guthrie-david-campbell-and-mark-russinovich-at-the-cricket.aspx#comments</comments><description>&lt;p&gt;&lt;font size="small"&gt;[I originally posted this as an &lt;a href="http://aka.ms/hhu1d0"&gt;editorial for the MSDN Flash&lt;/a&gt;]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Happy New Year!&lt;/p&gt;  &lt;p&gt;As some of you &lt;a href="http://aka.ms/ne51cw"&gt;may have spotted&lt;/a&gt;, I'm a certified cricket tragic. In fact, I'm writing this from the top deck of the M A Noble stand, waiting for play to start on day 2 of the Sydney test. I've had plenty of time to kill since I started queuing at 4am both today and yesterday and apart from the good-natured and very knowledgeable banter with my fellow tragics, I've been whiling away the hours watching recordings from the &lt;a href="http://aka.ms/v5zxzp"&gt;Learn Windows Azure&lt;/a&gt; event that was held in Redmond and online on December 13 last year.&lt;/p&gt;  &lt;p&gt;The event features some of the top technical brains at Microsoft including &lt;a href="http://aka.ms/uoxkmk"&gt;Scott Guthrie, David Campbell and Mark Russinovich&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;We made some &lt;a href="http://aka.ms/doi3in"&gt;interesting announcements&lt;/a&gt; at the event including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Support for Node.js, as well as a number of other &lt;a href="http://aka.ms/i1x1e2"&gt;Openness initiatives for Azure&lt;/a&gt;; &lt;/li&gt;    &lt;li&gt;A new 90-day trial subscription model that guarantees you won't get charged for the trial &lt;/li&gt;    &lt;li&gt;A tripling of the maximum database size in SQL Azure to 150GB, along with built-in support for federation of SQL Azure databases &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There are some great presentations that were recorded at the event itself, as well as a bunch of supporting interviews and webcasts that area available from the &lt;a href="http://aka.ms/v5zxzp"&gt;event landing page&lt;/a&gt;. My favourites so far are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Scott Guthrie's &lt;a href="http://aka.ms/y12xsk"&gt;Getting Started with Windows Azure&lt;/a&gt; (including an awesome demo of Node.js on Windows Azure); &lt;/li&gt;    &lt;li&gt;Dave Campbell's &lt;a href="http://aka.ms/lc3a1y"&gt;Cloud Data and Storage&lt;/a&gt; (check out the Hadoop on Azure piece!); and &lt;/li&gt;    &lt;li&gt;Jay Schmelzer's &lt;a href="http://aka.ms/zrau2c"&gt;Developing Windows Azure Applications with Visual Studio&lt;/a&gt; (although he had more than his fair share of issues associated with doing live demos to a world-wide online audience) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I've not yet watched, but am very much looking forward to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Steve Marx and Wade Wegner's &lt;a href="http://aka.ms/f4bw2q"&gt;Channel 9 Cloud Cover Show Live&lt;/a&gt;; and &lt;/li&gt;    &lt;li&gt;the &lt;a href="http://aka.ms/qk3f55"&gt;Expert Panel Q&amp;amp;A featuring Scott Guthrie, Dave Campbell, and Mark Russinovich&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Of course, these sessions are all available to watch streamed, but I suggest you do yourself a favour and download them so you can &lt;a href="http://aka.ms/aa2ob2"&gt;watch them in half the time&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10256966" width="1" height="1"&gt;</description></item><item><title>Estimating and prioritising a product backlog in Sydney on 9 Feb</title><link>http://blogs.msdn.com/b/acoat/archive/2012/01/11/estimating-and-prioritising-a-product-backlog-in-sydney-on-9-feb.aspx</link><pubDate>Wed, 11 Jan 2012 00:06:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10255332</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10255332</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2012/01/11/estimating-and-prioritising-a-product-backlog-in-sydney-on-9-feb.aspx#comments</comments><description>&lt;p&gt;Richard Banks is presenting a Readify Dev Day in Sydney early next month on a topic that I suspect most of us could do with a bit of brushing up on. From their event site:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;At the conclusion of this Dev Day, attendees should not only understand the theory of estimating and prioritising a product backlog but would have also experienced the practices themselves so that they can feel ready to directly apply these techniques to their own projects the very next day.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://aka.ms/j21bpr"&gt;More information and registration details&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10255332" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Training/">Training</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Education/">Education</category></item><item><title>Australian and New Zealand SharePoint Conferences 2012 - Call for Speakers Closes 1 December</title><link>http://blogs.msdn.com/b/acoat/archive/2011/11/24/australian-and-new-zealand-sharepoint-conferences-2012-call-for-speakers-closes-1-december.aspx</link><pubDate>Thu, 24 Nov 2011 04:27:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10241170</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10241170</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/11/24/australian-and-new-zealand-sharepoint-conferences-2012-call-for-speakers-closes-1-december.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.sharepointconference.com.au"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="AUSSPCsquare" border="0" alt="AUSSPCsquare" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/7382.AUSSPCsquare_5F00_51D90034.png" width="240" height="119" /&gt;&lt;/a&gt;&lt;a href="http://www.sharepointconference.co.nz"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NZSPCSquare" border="0" alt="NZSPCSquare" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/3666.NZSPCSquare_5F00_669AD2E7.png" width="240" height="119" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Australian and New Zealand SharePoint Conferences are JUST around the corner. These events are organised by a dedicated group of NZ and AUS Community Leaders and MVP’s - Debbie Ireland, Mark Rhodes, Nick Hadlee, Mark Orange, James Milne and Kathy Hughes.&amp;#160; Once again, the team are organising SharePoint conferences in Australia (Melbourne 20-21 March 2012) and New Zealand (Auckland 28-29 March 2012). &lt;/p&gt;  &lt;h2&gt;&lt;b&gt;SPEAKERS&lt;/b&gt;&lt;/h2&gt;  &lt;p&gt;Deadline for submissions into the technical tracks is 1 December : Please go to &lt;a href="http://www.spevents.co.nz"&gt;www.spevents.co.nz&lt;/a&gt; to register.&lt;/p&gt;  &lt;h2&gt;Voice of Customer / Case Studies&lt;/h2&gt;  &lt;p&gt;This track is being revised. The idea is to promote &amp;quot;what SharePoint does&amp;quot;, &amp;quot;what cool things we have done with SharePoint&amp;quot; and &amp;quot;what business processes we have improved/ productivity gains etc.&amp;quot; - Customers will&amp;#160; do shorter (20-30 min) demo based sessions – on things they have done, following a prescribed structure - Business issue, solution, gains, in time, productivity, $, ROI, or something to that effect. &lt;/p&gt;  &lt;p&gt;This is an ideal opportunity for partners to work alongside customers to demo stuff, and show what they have helped to do. Note that these DO NOT have to be technical, complex solutions. They can be simple - the objective to help people see what is possible. If you have any ideas please email to &lt;a href="mailto:debbieireland@envisionit.co.nz"&gt;debbieireland@envisionit.co.nz&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10241170" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Training/">Training</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Static+News/">Static News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development/">Web Development</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development+Editorial/">Web Development Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SharePoint/">SharePoint</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Learning/">Learning</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SharePoint+2010/">SharePoint 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Office+2010/">Office 2010</category></item><item><title>Windows Azure BizSpark Startup Camp in Brisbane 2-4 December</title><link>http://blogs.msdn.com/b/acoat/archive/2011/11/17/windows-azure-bizspark-startup-camp-in-brisbane-2-4-december.aspx</link><pubDate>Wed, 16 Nov 2011 22:07:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10237891</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10237891</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/11/17/windows-azure-bizspark-startup-camp-in-brisbane-2-4-december.aspx#comments</comments><description>&lt;p&gt;Via &lt;a href="http://blogs.msdn.com/ceibner"&gt;Catherine Eibner&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;On December 2nd- 4th we are holding an Azure Bizspark Start-up Camp in our Brisbane office in the lead up to the launch of our Innovation Centre. This unique opportunity will showcase the potential when Government, Incubators, Universities and Microsoft come together to help Startups.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/ceibner/archive/2011/11/10/windows-azure-bizspark-startup-camp-brisbane.aspx"&gt;More details on Catherine's blog&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10237891" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SQL+Azure/">SQL Azure</category></item><item><title>Free Art for your WP7 App</title><link>http://blogs.msdn.com/b/acoat/archive/2011/11/14/free-art-for-your-wp7-app.aspx</link><pubDate>Mon, 14 Nov 2011 05:12:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10236700</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10236700</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/11/14/free-art-for-your-wp7-app.aspx#comments</comments><description>&lt;p&gt;If you're graphically challenged like me, but you still want to create gorgeous Windows Phone 7 applications, you need to find wither a tame graphic designer/artist or a great source of beautiful art that's designed for the form factor.&lt;/p&gt;  &lt;p&gt;The folks at Microsoft Japan have released the &lt;a href="http://msdn.microsoft.com/ja-jp/windowsphone/hh544699?WT.mc_id=otc-n-apac-mba--"&gt;Windows Phone Apps Art Gallery&lt;/a&gt;, which is &amp;quot;created for developers to freely use the provided materials for their Windows Phone applications&amp;quot;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10236700" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Phone+7/">Windows Phone 7</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Mobile/">Mobile</category></item><item><title>SQL Server Denali Sydney Breakfast Briefing 1 December</title><link>http://blogs.msdn.com/b/acoat/archive/2011/11/08/sql-server-denali-sydney-breakfast-briefing-1-december.aspx</link><pubDate>Mon, 07 Nov 2011 23:32:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10234797</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10234797</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/11/08/sql-server-denali-sydney-breakfast-briefing-1-december.aspx#comments</comments><description>&lt;p&gt;The good folk at Readify are running a free breakfast briefing on 1 December in the Sydney CBD to give you a lap around the next version of SQL Server, code-named &amp;quot;Denali&amp;quot;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://denalibreakfastnsw.eventbrite.com/"&gt;Register on their Eventbrite site&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10234797" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database/">Database</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database+Editorial/">Database Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SQL+Server/">SQL Server</category></item><item><title>LightSwitch Star Contest - Win an ASUS Laptop</title><link>http://blogs.msdn.com/b/acoat/archive/2011/11/01/lightswitch-star-contest-win-an-asus-laptop.aspx</link><pubDate>Mon, 31 Oct 2011 22:23:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10231845</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10231845</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/11/01/lightswitch-star-contest-win-an-asus-laptop.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.codeproject.com/Competitions/524/LightSwitch-Star-Contest.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="MS VS LightSwitch Star Contest - banners - 728x90" border="0" alt="MS VS LightSwitch Star Contest - banners - 728x90" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/0511.MS_2D00_VS_2D00_LightSwitch_2D00_Star_2D00_Contest_2D002D002D00_banners_2D002D002D00_728x90_5F00_0E31252E.jpg" width="728" height="90" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The folks over at The Code Project have launched a &lt;a href="http://www.codeproject.com/Competitions/524/LightSwitch-Star-Contest.aspx"&gt;cool contest&lt;/a&gt; so you can show off your LightSwitch skills and win prizes in the process.&lt;/p&gt;  &lt;p&gt;From their release:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Do you have what it takes to be a LightSwitch Star? Show us your coolest, most productive, LightSwitch business application and &lt;/em&gt;&lt;strong&gt;&lt;i&gt;you could win a Laptop &lt;/i&gt;&lt;/strong&gt;&lt;em&gt;and other great prizes!&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;Prizes will be issued monthly for two categories: &lt;b&gt;Most Efficient Business Application&lt;/b&gt; and &lt;b&gt;Most Ground-breaking Application&lt;/b&gt;. Your submission is eligible to win every month! There’s also a grand prize at the end of the contest for each category – an &lt;b&gt;&lt;a href="http://www.amazon.com/U31SD-DH31-13-3-Inch-Light-Laptop-Black/dp/B005PAIQG0/ref=dp_ob_title_ce"&gt;ASUS U31SD-DH31 Laptop&lt;/a&gt;&lt;/b&gt;! &lt;/p&gt;    &lt;p&gt;Just answer the questions on the &lt;a href="http://www.codeproject.com/script/Membership/Uploads/3873871/LightSwitch_Star_Contest_Submission_Template.zip"&gt;submission template&lt;/a&gt; and either create a YouTube video or write an article for CodeProject explaining your application or extension. They’re looking for apps that show off the most productivity in a business as well as apps that use extensions in a unique, innovative way. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And so it goes on.&lt;/p&gt;  &lt;p&gt;For the full scoop, &lt;a href="http://www.codeproject.com/Competitions/524/LightSwitch-Star-Contest.aspx"&gt;check out their page&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10231845" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Gadgets_2F00_Cool+Technology/">Gadgets/Cool Technology</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database/">Database</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development/">Web Development</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database+Editorial/">Database Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development+Editorial/">Web Development Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Small+Business/">Small Business</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Competition/">Competition</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Basic+-NET/">Visual Basic .NET</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+4-0/">.NET Framework 4.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Cloud/">Cloud</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SQL+Azure/">SQL Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/C_2300_/">C#</category></item><item><title>Talking LightSwitch Shop with Richard</title><link>http://blogs.msdn.com/b/acoat/archive/2011/10/25/talking-lightswitch-shop-with-richard.aspx</link><pubDate>Tue, 25 Oct 2011 07:39:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10229691</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10229691</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/10/25/talking-lightswitch-shop-with-richard.aspx#comments</comments><description>&lt;p&gt;While I was at TechEd last month, I sat down (twice) with &lt;a href="http://twitter.com/#!/rbanks54" target="_blank"&gt;Richard Banks&lt;/a&gt; and recorded an episode of &lt;a href="http://www.talkingshopdownunder.com/" target="_blank"&gt;Talking Shop Down Under&lt;/a&gt; about &lt;a href="http://msdn.com/lightswitch" target="_blank"&gt;LightSwitch&lt;/a&gt;. Richard's been hoarding his TechEd recordings and releasing them slowly. This one came out today.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.talkingshopdownunder.com/2011/10/episode-73-andrew-coates-lights-it-up.html" target="_blank"&gt;Check it out&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10229691" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEd/">TechEd</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database/">Database</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development/">Web Development</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database+Editorial/">Database Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development+Editorial/">Web Development Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Architecture/">Architecture</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+4-0/">.NET Framework 4.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2010/">VS2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Podcast/">Podcast</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEdAU2011/">TechEdAU2011</category></item><item><title>SwitchedOn LightSwitch and Azure briefings for Wellington and Auckland</title><link>http://blogs.msdn.com/b/acoat/archive/2011/10/19/switchedon-lightswitch-and-azure-briefings-for-wellington-and-auckland.aspx</link><pubDate>Wed, 19 Oct 2011 07:11:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10227376</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10227376</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/10/19/switchedon-lightswitch-and-azure-briefings-for-wellington-and-auckland.aspx#comments</comments><description>&lt;p&gt;I thought I was 33% of the way into the &lt;a href="http://blogs.msdn.com/b/acoat/archive/2011/10/07/lightswitch-and-azure-around-australia-in-october-and-november.aspx" target="_blank"&gt;SwitchedOn briefings for LightSwitch and Azure&lt;/a&gt;, but today I found out that I'm only 25% through. New cities, Wellington and Auckland have been added to the event, and I'm looking forward to seeing my Kiwi mates and having them commiserate with me about our Rugby team. I expect they'll be gentle.&lt;/p&gt;  &lt;p&gt;Wellington: 16 November 2011 &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032497492&amp;amp;Culture=en-NZ"&gt;Register&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Auckland: 17 November 2011 &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032497496&amp;amp;Culture=en-NZ"&gt;Register&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10227376" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database/">Database</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development/">Web Development</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database+Editorial/">Database Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development+Editorial/">Web Development Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Architecture/">Architecture</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Silverlight/">Silverlight</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Basic+-NET/">Visual Basic .NET</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+4-0/">.NET Framework 4.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2010/">VS2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SharePoint+2010/">SharePoint 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Cloud/">Cloud</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/C_2300_/">C#</category></item><item><title>SwitchedOn Briefing Slide Decks - LightSwitch and Azure</title><link>http://blogs.msdn.com/b/acoat/archive/2011/10/18/switchedon-briefing-slide-decks-lightswitch-and-azure.aspx</link><pubDate>Tue, 18 Oct 2011 05:24:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10226761</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10226761</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/10/18/switchedon-briefing-slide-decks-lightswitch-and-azure.aspx#comments</comments><description>&lt;p&gt;I've just finished the first of the &lt;a href="http://blogs.msdn.com/b/acoat/archive/2011/10/07/lightswitch-and-azure-around-australia-in-october-and-november.aspx" target="_blank"&gt;SwitchedOn briefings&lt;/a&gt; (Adelaide) - we built a &lt;a href="https://coatsyadl.cloudapp.net/" target="_blank"&gt;LightSwitch application&lt;/a&gt; (u:Adelaide, p:Pass@word1) and deployed it on Azure.&lt;/p&gt;  &lt;p&gt;I've uploaded the slide decks:&lt;/p&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:0187ce8e-93c7-46b8-b59e-411b880235fd" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Session 1 - LightSwitch Morning &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/6758.The_2D00_Power_2D00_of_2D00_LightSwitch_2D00_on_2D00_Windows_2D00_Azure_2D002D002D00_NoVid_5F00_71BB3A4C.pptx" target="_blank"&gt;(2.2Mb)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;      &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:39ede1e6-31d2-48aa-8411-274e7d4b3b57" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Session 2 - both Azure decks &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/4188.Discover_2D00_Windows_2D00_Azure_2D00_Platform_2D00_Part_2D00_1_2D00_and_2D00_2_5F00_3098811C.zip" target="_blank"&gt;(13.5Mb)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:38dc6264-d1bb-4e68-965c-7d5cccaa1fc5" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Session 3 - LightSwitch Afternoon &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/0003.Build_2D00_your_2D00_First_2D00_LightSwitch_2D00_Application_5F00_3776FC31.pptx" target="_blank"&gt;(4.9Mb)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10226761" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database/">Database</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development/">Web Development</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database+Editorial/">Database Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development+Editorial/">Web Development Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/HPC/">HPC</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Silverlight/">Silverlight</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Basic+-NET/">Visual Basic .NET</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+4-0/">.NET Framework 4.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Cloud/">Cloud</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SQL+Azure/">SQL Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/C_2300_/">C#</category></item><item><title>LightSwitch and Azure Around Australia in October and November</title><link>http://blogs.msdn.com/b/acoat/archive/2011/10/07/lightswitch-and-azure-around-australia-in-october-and-november.aspx</link><pubDate>Fri, 07 Oct 2011 04:19:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10221426</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10221426</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/10/07/lightswitch-and-azure-around-australia-in-october-and-november.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/0334.clip_5F00_image001_5F00_3006C6D7.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/4213.clip_5F00_image001_5F00_thumb_5F00_4D98A1D6.jpg" width="614" height="115" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;The Power of LightSwitch on Windows Azure&lt;/h1&gt;  &lt;p&gt;&lt;font color="#ff0000" size="2"&gt;Update 10/10 - Now with Adelaide Details&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Introducing Microsoft Visual Studio LightSwitch&lt;/b&gt;, a simple self-service tool that allows developers &lt;i&gt;and&lt;/i&gt; business professionals to build business applications quickly and easily for the desktop and the cloud- without the need to code!&lt;/p&gt;  &lt;p&gt;Come along to our Switched ON briefings in your city to find out what your business can do with LightSwitch to power Windows Azure.&lt;/p&gt;  &lt;p&gt;We’ve designed the briefings to include a variety of topics that you can select to suit your individual needs. Please be sure to choose the session(s) you are most interested in when you register for the event.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;AGENDA&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;7:30&lt;/b&gt; – Registration opens (will run throughout the day)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;8:00 – 9:00&lt;/b&gt; – Business Applications and the “Un”-Professional Developer: LightSwitch on Windows Azure &lt;/p&gt;  &lt;p&gt;&lt;b&gt;9:00 – 9:30&lt;/b&gt; – Breakfast&lt;/p&gt;  &lt;p&gt;&lt;b&gt;9:30 – 10:30&lt;/b&gt; – Discover Windows Azure Platform Part 1: Business Overview&lt;/p&gt;  &lt;p&gt;&lt;b&gt;10:30 – 11:00&lt;/b&gt; – Morning Tea&lt;/p&gt;  &lt;p&gt;&lt;b&gt;11:00 – 12:00&lt;/b&gt; – Discover Windows Azure Platform Part 2: Technical Overview&lt;/p&gt;  &lt;p&gt;&lt;b&gt;12:00 – 13:00&lt;/b&gt; – Break (lunch will not be provided)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;13:00 – 15:00&lt;/b&gt; - Build your first Azure application using Visual Studio LightSwitch – with (almost) no code!&lt;/p&gt;  &lt;h4&gt;Session 1: The Power of LightSwitch on Windows Azure    &lt;br /&gt;8:00 - 9:00am&lt;/h4&gt;  &lt;p&gt;In this comprehensive 1-hour breakfast briefing you will learn about the End User Developer and how Visual Studio LightSwitch allows these domain experts to quickly create scalable, forms-over-data business applications on the desktop and the cloud with little technical expertise and development skills.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;This session is targeted primarily at Business and Technical Decision Makers, and is also valuable for Developers and Development Managers.&lt;/b&gt;&lt;/p&gt;  &lt;h4&gt;Session 2: Discover the Windows Azure Platform    &lt;br /&gt;9:30 – 12:00pm&lt;/h4&gt;  &lt;p&gt;These sessions will help you understand the opportunities for the cloud and Microsoft’s Cloud Computing offerings with the Windows Azure Platform. Sessions will cover both the technical &amp;amp; business benefits as well as help you understand how you can get started using the Windows Azure Platform today.&lt;/p&gt;  &lt;p&gt;The target audience for these sessions includes BDMs, TDMs, Architects, and Development leads.&lt;/p&gt;  &lt;h4&gt;Session 3: Build your first Azure application using Visual Studio LightSwitch – with (almost) no code!    &lt;br /&gt;1:00 – 3:00pm&lt;/h4&gt;  &lt;p&gt;In this demo-heavy session, you will see end-to-end how to build and deploy a data-centric business application using LightSwitch. We’ll also go beyond the basics of creating simple screens over data, by demonstrating how to:&lt;/p&gt;  &lt;li&gt;Create screens with advanced capabilities &lt;/li&gt;  &lt;li&gt;Extend LightSwitch applications with your own Silverlight custom controls and RIA services &lt;i&gt;&lt;/i&gt;&lt;/li&gt;  &lt;li&gt;Create a fully-functional application running in the cloud on Windows Azure and SQL Azure &lt;/li&gt;  &lt;p&gt;&lt;b&gt;This session is targeted both at individuals with basic programming and technical experience, as well as professional developers.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;ADELAIDE – 18 Oct&lt;/b&gt;    &lt;br /&gt;Microsoft Office Auditorium     &lt;br /&gt;L2, Westpac House,     &lt;br /&gt;91 King William St,     &lt;br /&gt;Adelaide SA 5000    &lt;br /&gt;&lt;a href="https://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=FB-C2-E1-E0-E6-29-37-D1-3B-E9-72-E8-01-FB-6F-8A&amp;amp;Culture=en-AU"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/3632.clip_5F00_image002_5F00_355FDB3A.jpg" width="63" height="18" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;BRISBANE – 19 Oct      &lt;br /&gt;&lt;/b&gt;Microsoft Office     &lt;br /&gt;North Stradbroke, L28     &lt;br /&gt;400 George St     &lt;br /&gt;Brisbane QLD 4000     &lt;br /&gt;&lt;a href="https://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=FB-C2-E1-E0-E6-29-37-D1-34-07-25-5D-82-21-58-72&amp;amp;Culture=en-AU"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/7268.clip_5F00_image002_5F00_60D95875.jpg" width="63" height="18" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;CANBERRA – 25 Oct      &lt;br /&gt;&lt;/b&gt;Microsoft Office     &lt;br /&gt;Theatre 1, L2     &lt;br /&gt;Walter Turnbull Building, 44 Sydney Ave     &lt;br /&gt;Barton ACT 2600     &lt;br /&gt;&lt;a href="https://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=81-C9-FB-0A-00-C7-61-65-08-C7-A1-1C-30-6F-7A-63&amp;amp;Culture=en-AU"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002[1]" border="0" alt="clip_image002[1]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/4213.clip_5F00_image0021_5F00_3FE5E5CE.jpg" width="63" height="18" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;MELBOURNE – 26 Oct      &lt;br /&gt;&lt;/b&gt;Microsoft Office     &lt;br /&gt;Exhibition Room, L5     &lt;br /&gt;4 Freshwater Place     &lt;br /&gt;Southbank VIC 3006     &lt;br /&gt;&lt;a href="https://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=81-C9-FB-0A-00-C7-61-65-08-C7-A1-1C-30-6F-7A-63&amp;amp;Culture=en-AU"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002[2]" border="0" alt="clip_image002[2]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/4628.clip_5F00_image0022_5F00_3F79B2D9.jpg" width="63" height="18" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;PERTH – 2 Nov      &lt;br /&gt;&lt;/b&gt;Microsoft Office     &lt;br /&gt;Enex 100 Seminar Room     &lt;br /&gt;100 St Georges Terrace     &lt;br /&gt;Perth WA 6000     &lt;br /&gt;&lt;a href="https://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=FB-C2-E1-E0-E6-29-37-D1-DB-01-A3-81-60-23-16-EA&amp;amp;Culture=en-AU"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002[3]" border="0" alt="clip_image002[3]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/5102.clip_5F00_image0023_5F00_3F0D7FE4.jpg" width="63" height="18" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;SYDNEY – 10 Nov      &lt;br /&gt;&lt;/b&gt;Microsoft Office     &lt;br /&gt;Bushranger Room, LG     &lt;br /&gt;1 Epping Rd     &lt;br /&gt;North Ryde NSW 2113     &lt;br /&gt;&lt;a href="https://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=81-C9-FB-0A-00-C7-61-65-08-C7-A1-1C-30-6F-7A-63&amp;amp;Culture=en-AU"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/7356.clip_5F00_image0024_5F00_10B3FA37.jpg" width="63" height="18" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/1586.image_5F00_1047C742.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/6170.image_5F00_thumb_5F00_61EE4194.png" width="614" height="25" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10221426" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Training/">Training</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database/">Database</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development/">Web Development</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database+Editorial/">Database Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Web+Development+Editorial/">Web Development Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Education/">Education</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Small+Business/">Small Business</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Silverlight/">Silverlight</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Learning/">Learning</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Cloud/">Cloud</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category></item><item><title>Azure Announcements at Build</title><link>http://blogs.msdn.com/b/acoat/archive/2011/09/15/azure-announcements-at-build.aspx</link><pubDate>Wed, 14 Sep 2011 22:31:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10211272</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10211272</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/09/15/azure-announcements-at-build.aspx#comments</comments><description>&lt;p&gt;Early this morning at the &lt;a href="http://buildwindows.com"&gt;Build Conference&lt;/a&gt; we announced some exciting new Windows Azure tooling and service enhancements.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2011/09/14/announcing-the-windows-azure-toolkit-for-windows-8.aspx"&gt;Windows Azure Toolkit for Windows 8&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/sdk/"&gt;Windows Azure SDK 1.5&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Geo-Replication for Windows Azure Storage&lt;/li&gt;    &lt;li&gt;Windows Azure Marketplace&lt;/li&gt;    &lt;li&gt;Service Bus September Release&lt;/li&gt;    &lt;li&gt;Windows Azure Service Management API&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2011/09/14/just-announced-build-new-windows-azure-toolkit-for-windows-8-windows-azure-sdk-1-5-geo-replication-for-azure-storage-and-more.aspx"&gt;Check out the announcement&lt;/a&gt; on the &lt;a href="http://blogs.msdn.com/b/windowsazure/"&gt;Windows Azure team blog&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10211272" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+8/">Windows 8</category></item><item><title>Cool LightSwitch Extensions from Aussie Developer</title><link>http://blogs.msdn.com/b/acoat/archive/2011/09/13/cool-lightswitch-extensions-from-aussie-developer.aspx</link><pubDate>Mon, 12 Sep 2011 22:25:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10209622</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10209622</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/09/13/cool-lightswitch-extensions-from-aussie-developer.aspx#comments</comments><description>&lt;p&gt;Aussie developer &lt;a href="http://www.yannduran.com/"&gt;Yann Duran&lt;/a&gt; has just published his second Visual Studio LightSwitch 2011 extension. The &lt;a href="http://visualstudiogallery.msdn.microsoft.com/58e0f1f4-d2d8-41f9-a4f9-dae70d5826e9?ocid=otc-n-apac-mba--"&gt;Luminous Controls&lt;/a&gt; extension is currently a TextBlock and a GroupLayout control.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i1.visualstudiogallery.msdn.s-msft.com/58e0f1f4-d2d8-41f9-a4f9-dae70d5826e9/image/file/57458/1/screenshot.jpg" width="640" height="344" /&gt;&lt;/p&gt;  &lt;p&gt;This is the second LightSwitch extension Yann's published, the first being Luminous Themes. He's in the process of writing &lt;a href="http://www.amazon.com/gp/product/1430240083/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=yandur-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1430240083"&gt;Pro Visual Studio LightSwitch 2011 Development&lt;/a&gt; for Apress with Tim Leung.&lt;/p&gt;  &lt;p&gt;Way to go Yann!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10209622" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Static+News/">Static News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database/">Database</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database+Editorial/">Database Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Silverlight/">Silverlight</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Learning/">Learning</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2010/">VS2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category></item><item><title>Visual Studio 2010 Tips and Tricks Session</title><link>http://blogs.msdn.com/b/acoat/archive/2011/09/12/visual-studio-2010-tips-and-tricks-session.aspx</link><pubDate>Mon, 12 Sep 2011 05:04:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10209257</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10209257</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/09/12/visual-studio-2010-tips-and-tricks-session.aspx#comments</comments><description>&lt;p&gt;As part of our developer readiness outreach, our Visual Studio Product Manager, Ibrahim Hamza, has organised what sounds like an excellent session on maximising your productivity with Visual Studio 2010.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Learn how to become a Visual Studio coding guru! In this fast-paced session, learn to write code faster than a speeding bullet, leap around large projects in a single bound, and become more powerful than a locomotive with the debugger. We take a wild ride through C# and Visual Basic IDE features in Microsoft Visual Studio 2010 and indispensible out-of-the-box solutions that will help you get your job done better and faster.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is an online session that, unusually for this kind of thing, is running in daytime hours in Australia! Might even be worth gathering your development team and making a training afternoon of it.&lt;/p&gt;  &lt;p&gt;Tuesday 27 September 2011, 14:00-16:00 AEST&lt;/p&gt;  &lt;p&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032489313&amp;amp;Culture=en-AU&amp;amp;WT.mc_id=otc-n-apac-mba--" target="_blank"&gt;Sign up here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10209257" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Training/">Training</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Education/">Education</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Basic+-NET/">Visual Basic .NET</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2010/">VS2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/C_2300_/">C#</category></item><item><title>TechEd 2011 Video Encoding Process and Status Update</title><link>http://blogs.msdn.com/b/acoat/archive/2011/09/07/teched-2011-video-encoding-process-and-status-update.aspx</link><pubDate>Wed, 07 Sep 2011 13:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10207182</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10207182</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/09/07/teched-2011-video-encoding-process-and-status-update.aspx#comments</comments><description>&lt;h2&gt;Update (12 Sep)&lt;/h2&gt;
&lt;p&gt;All of the session videos are now up and the high-quality video files are linked to the thession pages - Step 11 is &lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The encoding process is proceeding apace and last I looked, there are 10 sessions to complete encoding - Step 12 is &lt;span style="background-color: #7ff509;"&gt;93%&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I now need to a final pass through the system and find any videos that had errors in encoding. I'll do this over the next few days. If you find a session with missing formats or with incorrect links, feel free to leave a note here or directly on the session page.&lt;/p&gt;
&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;A couple of days ago, I &lt;a href="http://blogs.msdn.com/b/acoat/archive/2011/09/03/teched-australia-session-recordings-and-decks.aspx?ocid=otc-n-apac-mba--"&gt;blogged about uploading and encoding the session recordings&lt;/a&gt; from TechEd Australia 2011.&lt;/p&gt;
&lt;p&gt;Some people have had a less than optimal experience streaming the videos. That's because the original WMV file for each session is about 200MB and the Smooth Streaming version isn't available yet.&lt;/p&gt;
&lt;p&gt;This post is a little more detail on the process itself, as well as a look at where we're at in the process and how long it's likely to be before all of the sessions are up in all their formats.&lt;/p&gt;
&lt;h2&gt;The Process&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Send the Channel 9 team details of the event so they can create an event landing page &lt;br /&gt; &lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;Create a banner and a bunch of other artefacts to conform to their standard format and to match the theme of the event &lt;br /&gt;&lt;img src="http://files.channel9.msdn.com/thumbnail/282efe46-d4ad-433a-80c2-cee77b5a5b3e.gif" /&gt;&lt;/li&gt;
&lt;li&gt;Get admin access to the site, and then make sure that admin access includes the sub-parts of the site&lt;/li&gt;
&lt;li&gt;Done pre-conference&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Record the sessions (all 160 of them) &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;whatever goes to the screen and whatever comes through the speakers to a 640x480 WMV&lt;/li&gt;
&lt;li&gt;Retrieve each raw file from each room after each session and give it to the editor&lt;/li&gt;
&lt;li&gt;Sessions were captured onto a dedicated PC by putting a USB pass-through video capture card directly into the AV stream and using Expression Encoder 4.&lt;/li&gt;
&lt;li&gt;Done&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Top and Tail the recorded sessions (all 160 of them) &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;cut out the 10 minutes between when record was hit and when the speaker started and the 10 minutes from when the speaker stopped to when the stop button was hit&lt;/li&gt;
&lt;li&gt;Re-encode&lt;/li&gt;
&lt;li&gt;This was done on-site at TechEd and over the following weekend by one person dedicated to the task (thanks Nick - you're a legend)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Transfer the Edited Files (all 160 of them, about 50GB in total) &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;From the editor to the processing team&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Sanity Check 1 &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;check that the naming conventions are right and that the files are a sensible size&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Retrieve the final decks from the speaker manager &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Upload the Slide Decks to Azure Blob Store (all 160+ of them, about 890MB in total) &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;!--EndFragment--&gt;Use a custom uploading app written by the Channel 9 team&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Upload the Edited Files to Azure Blob Store (all 160 of them, about 50GB in total) &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;&amp;nbsp;
&lt;ul&gt;
&lt;li&gt;Use a custom uploading app written by the Channel 9 team&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Create a Spreadsheet with &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;Session Details (Code, title, abstract, date and time of session, Speakers)&lt;/li&gt;
&lt;li&gt;Name of the WMV file and the PPTX file (generate a URI based on some assumptions)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Sanity Check 2 &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;COMPLETE&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;Check that the URI for each of the files generated in the spreadsheet doesn&amp;rsquo;t 404 using a link checker I wrote for the purpose &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/1447.image_5F00_1DCE6CB7.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/4571.image_5F00_thumb_5F00_4AB3A9C5.png" width="629" height="401" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix any mis-named files, either in the blob store or in the spreadsheet&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Send the Spreadsheet to the team at Channel 9 so they can create the individual pages for each session &lt;br /&gt;&lt;span style="background-color: #ffc000;"&gt;70% Complete&lt;/span&gt;&amp;nbsp;
&lt;ul&gt;
&lt;li&gt;This step can be repeated any time info changes, new files are added, etc&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Encode the WMV file &lt;br /&gt;&lt;span style="background-color: #f79646;"&gt;40% Complete&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;multiple other formats
&lt;ul&gt;
&lt;li&gt;Smooth Streaming&lt;/li&gt;
&lt;li&gt;Low resolution WMV&lt;/li&gt;
&lt;li&gt;MP4&lt;/li&gt;
&lt;li&gt;Low resolution MP4&lt;/li&gt;
&lt;li&gt;WMA&lt;/li&gt;
&lt;li&gt;MP3&lt;/li&gt;
&lt;li&gt;JPG thumbnail (multiple sizes) from the first frame of the video&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Upload the encoded formats back to Azure blob storage and get it out to the CDN&lt;/li&gt;
&lt;li&gt;Link to the various formats from the session page when they&amp;rsquo;re done&lt;/li&gt;
&lt;li&gt;This is all done automatically and asynchronously using background processes. We can monitor the status of the encoding jobs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Deal with exceptions manually &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;Ongoing&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;Speakers needing session recordings removed/edited&lt;/li&gt;
&lt;li&gt;File name changes/errors&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Explain the process to as many people as possible &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;Ongoing&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Monitor Twitter and the comments on the sessions themselves so anyone who hasn&amp;rsquo;t read this can be pointed at it &lt;br /&gt;&lt;span style="background-color: #00ff00;"&gt;Ongoing&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Where We're At&lt;/h2&gt;
&lt;p&gt;Steps 8 through 15 are repeated as more and more files become available.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Steps 8-10 (file upload)&lt;/strong&gt;: At the moment, we've uploaded 152 of the video files up to the blob store and 157 of the slide decks, so there are only a few exceptions to track down. We'll call this part pretty much done.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 11-12 (update by Channel 9 folk and encoding)&lt;/strong&gt;: The session details for all sessions, the slide decks for all sessions and the video files from Wednesday and Friday at TechEd have been submitted via spreadsheet to Channel 9 and have therefore kicked off the encode process. The encode process is (as you might imagine) fairly processor intensive. There are 4 machines dedicated to encoding Channel 9 videos and each session takes about 2 hours.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 13 (Exceptions)&lt;/strong&gt;: There have been a few of these, but dealing with them manually has been pretty straight forward.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 14-15 (communication)&lt;/strong&gt;: This post is part of that, but I'm also monitoring the #auteched tag on twitter, the individual comments on the sessions and direct emails to me and the rest of the TechEd team. If you see someone who doesn't understand the process or is wondering about when things will be "finished", please point them here. If you've got questions about any of this, please feel free to leave a comment here and I'll do my best to clarify.&lt;/p&gt;
&lt;h2&gt;Bottom Line&lt;/h2&gt;
&lt;p&gt;By my calculation, if the process continues to go as smoothly as it has to date, we should have the rest of the links to the high-quality (but slow to download) videos up by Thursday evening AEST (8 Sep), and the encoding to multiple formats done by Sunday evening AEST (11 Sep). If that changes, I'll update this post.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10207182" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Training/">Training</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEd/">TechEd</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Static+News/">Static News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEdAU/">TechEdAU</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEdAU2011/">TechEdAU2011</category></item><item><title>Visual Studio LightSwitch GDR for SQL Azure</title><link>http://blogs.msdn.com/b/acoat/archive/2011/09/06/visual-studio-lightswitch-gdr-for-sql-azure.aspx</link><pubDate>Tue, 06 Sep 2011 02:00:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10206522</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10206522</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/09/06/visual-studio-lightswitch-gdr-for-sql-azure.aspx#comments</comments><description>&lt;p&gt;While we were at TechEd (&lt;a href="http://channel9.msdn.com/Events/TechEd/Australia/Tech-Ed-Australia-2011/DEV201?ocid=soc-n-apac-mba--"&gt;talking&lt;/a&gt;, by the way, about &lt;a href="http://msdn.microsoft.com/en-au/lightswitch?ocid=soc-n-apac-mba--"&gt;Visual Studio LightSwitch&lt;/a&gt;, &lt;a href="http://channel9.msdn.com/Events/TechEd/Australia/Tech-Ed-Australia-2011/DEV213?ocid=soc-n-apac-mba--"&gt;twice&lt;/a&gt;), the &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2011/09/01/update-for-lightswitch-released.aspx?ocid=soc-n-apac-mba--"&gt;LightSwitch team released a GDR&lt;/a&gt; (General Distribution Release, aka update) to &amp;quot;resolve an issue encountered when publishing to SQL Azure&amp;quot;&lt;/p&gt;  &lt;p&gt;&amp;quot;This is due to a recent SQL Azure server upgrade which caused the version incompatibility&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10206522" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEd/">TechEd</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Database+Editorial/">Database Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Cloud/">Cloud</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEdAU/">TechEdAU</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SQL+Azure/">SQL Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEdAU2011/">TechEdAU2011</category></item><item><title>August 2011 Windows Azure Releases</title><link>http://blogs.msdn.com/b/acoat/archive/2011/09/06/august-2011-windows-azure-releases.aspx</link><pubDate>Tue, 06 Sep 2011 01:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10206520</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10206520</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/09/06/august-2011-windows-azure-releases.aspx#comments</comments><description>&lt;p&gt;While I was overseas, the Windows Azure team announced the availability of the &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2011/08/03/announcing-the-august-2011-release-of-the-windows-azure-tools-for-microsoft-visual-studio-2010.aspx?ocid=soc-n-apac-mba--"&gt;August 2011Release of the Windows Azure Tools for Microsoft Visual Studio 2010&lt;/a&gt; and&lt;/li&gt;    &lt;li&gt;updated &lt;a href="http://go.microsoft.com/fwlink/?LinkID=130354&amp;amp;WT.mc_id=soc-n-apac-mba--"&gt;Windows Azure Platform Training Kit&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Grab 'em while they're, if not hot then at least luke warm.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10206520" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Training/">Training</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2010/">VS2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Training+Kit/">Training Kit</category></item><item><title>TechEd Australia Session Recordings and Decks</title><link>http://blogs.msdn.com/b/acoat/archive/2011/09/03/teched-australia-session-recordings-and-decks.aspx</link><pubDate>Sat, 03 Sep 2011 08:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10205650</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10205650</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/09/03/teched-australia-session-recordings-and-decks.aspx#comments</comments><description>&lt;p&gt;&lt;img src="http://files.channel9.msdn.com/banner/023f914c-676e-4346-938c-4aea057bdc34.gif" width="640" height="167" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;Update 4 Sep 2011&lt;/font&gt; - The videos and slides are beginning to appear on the &lt;a href="http://channel9.msdn.com/Events/TechEd/Australia/Tech-Ed-Australia-2011"&gt;Channel 9 TechEd Australia 2011 Site&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Once again we've captured all of the main track sessions from TechEd Australia this year. We grabbed whatever video went to the screen and whatever audio went to the speakers. This means we've got almost 170 75-minute sessions to do the following to:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Edit the files to remove the extra time at the beginning and the end then re-encode &lt;/li&gt;    &lt;li&gt;Upload the 200+ MB file to an Azure blob &lt;/li&gt;    &lt;li&gt;Process the high quality file to produce about 5 other formats including audio only, a couple of MP4 versions, at least one more WMV and some jpg thumbnails, as well as a smooth-streaming version &lt;/li&gt;    &lt;li&gt;Upload the slides to the an Azure blob &lt;/li&gt;    &lt;li&gt;Create the landing page for each session which will allow you to view the session and/or download any or all of the formats in 3 and 4 above (linked from &lt;a title="http://channel9.msdn.com/Events/TechEd/Australia/Tech-Ed-Australia-2011" href="http://channel9.msdn.com/Events/TechEd/Australia/Tech-Ed-Australia-2011"&gt;http://channel9.msdn.com/Events/TechEd/Australia/Tech-Ed-Australia-2011&lt;/a&gt;) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;As of right now, numbers 1 and 4 are complete. Number 2 is about 10% done, number 3 is yet to start and while the pages are up (5), there's not yet a link to even the slides. Of course, if you were at TechEd Australia, you can &lt;a href="http://australia.msteched.com/signin?returnurl=schedulebuilder"&gt;log into the Schedule Builder&lt;/a&gt; and download slides from there.&lt;/p&gt;  &lt;p&gt;I'll keep this blog updated every once in a while with the progress of things.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10205650" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEd/">TechEd</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEdAU/">TechEdAU</category></item><item><title>TechEd Australia LightSwitch Decks and Resources</title><link>http://blogs.msdn.com/b/acoat/archive/2011/09/02/teched-australia-lightswitch-decks-and-resources.aspx</link><pubDate>Fri, 02 Sep 2011 04:00:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10204857</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10204857</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/09/02/teched-australia-lightswitch-decks-and-resources.aspx#comments</comments><description>&lt;p&gt;My TechEd Australia sessions proved to be pretty popular and I had a great time catching up with people afterwards.&lt;/p&gt;  &lt;p&gt;The number 1 resource you need for LightSwitch is &lt;a href="http://msdn.com/lightswitch"&gt;http://msdn.com/lightswitch&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here are the decks:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:72cab170-d225-4a6c-a25a-23927433e7cc" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Introduction to Visual Studio LightSwitch &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/1325.DEV201_5F00_Coates_5F00_59B65870.pptx" target="_blank"&gt;DEV201&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:001fc1e6-c8f6-4c43-a933-8190b86e8376" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Advanced Solutions with Visual Studio® LightSwitch™ &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/6864.DEV213_5F00_Coates_5F00_3B27B7EE.pptx" target="_blank"&gt;DEV213&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10204857" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEd/">TechEd</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Silverlight/">Silverlight</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+4-0/">.NET Framework 4.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEdAU/">TechEdAU</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category></item><item><title>LightSwitch Decks from TechEd NZ</title><link>http://blogs.msdn.com/b/acoat/archive/2011/08/30/lightswitch-decks-from-teched-nz.aspx</link><pubDate>Tue, 30 Aug 2011 01:23:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10202171</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10202171</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/08/30/lightswitch-decks-from-teched-nz.aspx#comments</comments><description>&lt;p&gt;I presented two sessions at TechEd NZ last week and I've attached the decks here for anyone who's interested.&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:27c27490-8ddc-4a79-9684-6e734c6983c0" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Introducing Visual Studio LightSwitch &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/8738.DEV203_5F00_Coates_5F00_3F5C9391.pptx" target="_blank"&gt;DEV203&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:1619c857-06b1-4aac-af50-80b3fe9d273d" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Visual Studio LightSwitch Beyond the Basics &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-01-metablogapi/4011.DEV308_5F00_Coates_5F00_4C7EBD0B.pptx" target="_blank"&gt;DEV308&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10202171" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEd/">TechEd</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/LightSwitch/">LightSwitch</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/TechEdNZ2011/">TechEdNZ2011</category></item><item><title>Windows Azure Toolkit for Social Games &amp; Tankster Version 1.0 | Nathan Totten</title><link>http://blogs.msdn.com/b/acoat/archive/2011/08/29/windows-azure-toolkit-for-social-games-amp-tankster-version-1-0-nathan-totten.aspx</link><pubDate>Mon, 29 Aug 2011 01:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10201390</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10201390</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/08/29/windows-azure-toolkit-for-social-games-amp-tankster-version-1-0-nathan-totten.aspx#comments</comments><description>&lt;p&gt;This looks like it could be a lot of fun. I think I've figured out what my son and I are going to do in our spare time for the next little while.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://ntotten.com/2011/08/windows-azure-toolkit-for-social-games-tankster-version-1-0/"&gt;Windows Azure Toolkit for Social Games &amp;amp; Tankster Version 1.0 | Nathan Totten&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10201390" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Games/">Games</category></item><item><title>Document Creation and Conversion with the OpenXML SDK and SharePoint 2010 Word Automation Services – Part 2</title><link>http://blogs.msdn.com/b/acoat/archive/2011/04/06/document-creation-and-conversion-with-the-openxml-sdk-and-sharepoint-2010-word-automation-services-part-2.aspx</link><pubDate>Wed, 06 Apr 2011 08:35:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10150354</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10150354</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/04/06/document-creation-and-conversion-with-the-openxml-sdk-and-sharepoint-2010-word-automation-services-part-2.aspx#comments</comments><description>&lt;p&gt;A long time ago, I wrote &lt;a href="http://blogs.msdn.com/b/acoat/archive/2010/06/19/document-creation-and-conversion-with-the-openxml-sdk-and-sharepoint-2010-word-automation-services.aspx"&gt;Part 1 of this post&lt;/a&gt;, based on the presentation I did at the 2010 SharePoint Conference in Sydney. If you're following along with the code, you may want to review that post so you can set up your development environment to match mine.&lt;/p&gt;  &lt;p&gt;To quickly recap, the last post showed how to create Word (OpenXML, docx) documents programmatically and write them to disk using the OpenXML SDK (and therefore without the requirement for Word/Office on the machine creating the documents).&lt;/p&gt;  &lt;p&gt;In this part, I'll extend the solution to write the documents to a document library in SharePoint and then use Word Automation Services to automatically convert the docx files to PDF format.&lt;/p&gt;  &lt;h2&gt;Setup&lt;/h2&gt;  &lt;p&gt;To follow along with this walkthrough without changes, setup your SharePoint instance (at http://localhost) as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a document library called &amp;quot;Created Docs&amp;quot; in the root site &lt;/li&gt;    &lt;li&gt;Create a document library called &amp;quot;Converted Docs&amp;quot; in the root site &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you use a remote server, and/or a different site or library names, you'll need to adjust some of the URI and path strings in the code below to make it work.&lt;/p&gt;  &lt;h2&gt;Writing to a SharePoint Library&lt;/h2&gt;  &lt;p&gt;Carrying on from last time, wire up the click event of the &lt;font face="Consolas"&gt;CreateOneSharePointDocumentButton&lt;/font&gt;:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:f033cdb8-c887-46fd-b256-61126b695124" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Click event handler&lt;/div&gt; &lt;div style="background: #ddd; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; CreateOneDocumentOnSharePointButton_Click(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;    gen.CreateOneDocumentOnSharePoint();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Generate a stub for the &lt;font face="Consolas"&gt;CreateOneDocumentOnSharePoint()&lt;/font&gt; method in the &lt;font face="Consolas"&gt;DocGenerator&lt;/font&gt; class using the &lt;font face="Consolas"&gt;Ctrl+.&lt;/font&gt; technique made possible by the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef/"&gt;Visual Studio 2010 Productivity Power Tools&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Switch to and add a using statement to the &lt;font face="Consolas"&gt;DocGenerator&lt;/font&gt; class to give you access to the SharePoint Client Libraries - giving it an alias will help disambiguate the &lt;font face="Consolas"&gt;File&lt;/font&gt; class later:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:f274e30c-3655-41d3-a80a-0f2e14aa427b" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #ddd; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; SPC = Microsoft.SharePoint.Client;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Using the SharePoint Client Libraries, it's very easy to write documents to a document library, and there's no need to write a document to a local drive. This means we'll use a different overload of the OpenXML SDK's &lt;font face="Consolas"&gt;WordprocessingDocument.Create()&lt;/font&gt; method that writes, not to a file, but to a &lt;font face="Consolas"&gt;MemoryStream&lt;/font&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:58f83775-a7f9-4212-8fd1-510f917587ef" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;CreateOneDocumentOnSharePoint&lt;/div&gt; &lt;div style="background: #ddd; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; CreateOneDocumentOnSharePoint()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;  SPC.&lt;span style="color:#2b91af"&gt;ClientContext&lt;/span&gt; clientContext = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; SPC.&lt;span style="color:#2b91af"&gt;ClientContext&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;http://localhost&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; fileUrl = &lt;span style="color:#a31515"&gt;&amp;quot;/Created Docs/MyVeryVeryCoolDoc.docx&amp;quot;&lt;/span&gt;;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  sw.Reset();&lt;/li&gt; &lt;li&gt;  sw.Start();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;  &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;MemoryStream&lt;/span&gt; ms = gen.CreatePackage())&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  {&lt;/li&gt; &lt;li&gt;    ms.Seek(0, &lt;span style="color:#2b91af"&gt;SeekOrigin&lt;/span&gt;.Begin);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    SPC.&lt;span style="color:#2b91af"&gt;File&lt;/span&gt;.SaveBinaryDirect(clientContext, fileUrl, ms, &lt;span style="color:#0000ff"&gt;true&lt;/span&gt;);&lt;/li&gt; &lt;li&gt;  }&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;In this code, you create a new &lt;font face="Consolas"&gt;SharePoint.Client.ClientContext&lt;/font&gt; that gives access to the site (in this case at &lt;font face="Consolas"&gt;http://localhost&lt;/font&gt;, but if you've got things set up differently, change it here).&lt;/p&gt;  &lt;p&gt;Create an overload of the &lt;font face="Consolas"&gt;CreatePackage()&lt;/font&gt; method in the &lt;font face="Consolas"&gt;DocumentCreator&lt;/font&gt; class that creates and populates a &lt;font face="Consolas"&gt;MemoryStream&lt;/font&gt;:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:0d347603-3302-4194-b875-a978853a081b" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;CreatPackage Overload&lt;/div&gt; &lt;div style="background: #ddd; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#2b91af"&gt;MemoryStream&lt;/span&gt; CreatePackage()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  &lt;span style="color:#2b91af"&gt;MemoryStream&lt;/span&gt; ms = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;MemoryStream&lt;/span&gt;();&lt;/li&gt; &lt;li&gt;  &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;WordprocessingDocument&lt;/span&gt; package = &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#2b91af"&gt;WordprocessingDocument&lt;/span&gt;.Create&lt;/li&gt; &lt;li&gt;    (ms, &lt;span style="color:#2b91af"&gt;WordprocessingDocumentType&lt;/span&gt;.Document))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  {&lt;/li&gt; &lt;li&gt;    CreateParts(package);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  }&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  &lt;span style="color:#0000ff"&gt;return&lt;/span&gt; ms;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Move the pointer to the start of the &lt;font face="Consolas"&gt;MemoryStream&lt;/font&gt; and call the &lt;font face="Consolas"&gt;File.SaveBinaryDirect()&lt;/font&gt; method passing in the &lt;font face="Consolas"&gt;ClientContext&lt;/font&gt;, a string indicating where the file should be written, the stream and a boolean that tells SharePoint whether or not to overwrite an existing file with the same name.&lt;/p&gt;  &lt;p&gt;Running the app and clicking the One document in SharePoint button shows that it's very fast - in my case 102ms&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Writing 1 document to SharePoint took 0.1 seconds" border="0" alt="Writing 1 document to SharePoint took 0.1 seconds" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/5140.image_5F00_4738DF59.png" width="385" height="175" /&gt;&lt;/p&gt;  &lt;p&gt;Writing lots of documents is fast too - add an event handler to the &lt;font face="Consolas"&gt;CreateOneSharePointDocumentButton&lt;/font&gt;:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:c0b12577-b69c-4f32-ac20-d5d4eb33302a" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Click Event Handler&lt;/div&gt; &lt;div style="background: #ddd; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; CreateManyDocumentsOnSharePointButton_Click(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;  gen.CreateManyDocumentsOnSharePointInParallel((&lt;span style="color:#0000ff"&gt;int&lt;/span&gt;)NumberOfDocumentsToCreate.Value);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;And add a &lt;font face="Consolas"&gt;CreateManyDocumentsOnSharePointInParallel()&lt;/font&gt; method that uses a &lt;font face="Consolas"&gt;Parallel.For()&lt;/font&gt; loop to call &lt;font face="Consolas"&gt;CreatePackage()&lt;/font&gt; and &lt;font face="Consolas"&gt;File.SaveBinaryDirect()&lt;/font&gt; for as many files as you create:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:b5808218-fa97-433f-a84b-5ab5090f77ed" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Create lots of SharePoint Docs&lt;/div&gt; &lt;div style="background: #ddd; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;internal&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; CreateManyDocumentsOnSharePointInParallel(&lt;span style="color:#0000ff"&gt;int&lt;/span&gt; NumberOfDocs)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;  SPC.&lt;span style="color:#2b91af"&gt;ClientContext&lt;/span&gt; clientContext = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; SPC.&lt;span style="color:#2b91af"&gt;ClientContext&lt;/span&gt;(&lt;span style="color:#a31515"&gt;&amp;quot;http://localhost&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; fileUrl = &lt;span style="color:#a31515"&gt;&amp;quot;/Created Docs/MyEvenCoolerDoc{0:D5}.docx&amp;quot;&lt;/span&gt;;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  sw.Reset();&lt;/li&gt; &lt;li&gt;  sw.Start();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;  &lt;span style="color:#2b91af"&gt;Parallel&lt;/span&gt;.For(0, NumberOfDocs, i =&amp;gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  {&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;MemoryStream&lt;/span&gt; ms = gen.CreatePackage())&lt;/li&gt; &lt;li&gt;    {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;      ms.Seek(0, &lt;span style="color:#2b91af"&gt;SeekOrigin&lt;/span&gt;.Begin);&lt;/li&gt; &lt;li&gt;      SPC.&lt;span style="color:#2b91af"&gt;File&lt;/span&gt;.SaveBinaryDirect(clientContext, &lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Format(fileUrl, i), ms, &lt;span style="color:#0000ff"&gt;true&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    }&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  });&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  sw.Stop();&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  System.Windows.Forms.&lt;span style="color:#2b91af"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Format(&lt;/li&gt; &lt;li&gt;      &lt;span style="color:#a31515"&gt;&amp;quot;Wrote {3} documents to SharePoint ({1}{2}) in {0} ms (using parallel processing)&amp;quot;&lt;/span&gt;,&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;      sw.ElapsedMilliseconds,&lt;/li&gt; &lt;li&gt;      clientContext.Url,&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;      fileUrl,&lt;/li&gt; &lt;li&gt;      NumberOfDocs));&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;This is also pretty fast - in my case 40ms per document.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Writing 100 documents to SharePoint (in parallel) took 4 seconds" border="0" alt="Writing 100 documents to SharePoint (in parallel) took 4 seconds" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/1830.image_5F00_57C0B47A.png" width="457" height="169" /&gt;&lt;/p&gt;  &lt;p&gt;Navigating to the document library shows all those documents sitting just where you'd expect to see them:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Cool documents created en-masse" border="0" alt="Cool documents created en-masse" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/1665.image_5F00_15016942.png" width="644" height="398" /&gt;&lt;/p&gt;  &lt;h2&gt;Converting Word Documents to a Fixed Format (PDF or XPS)&lt;/h2&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="PDF" border="0" alt="PDF" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/8524.PDF_5F00_79000E7C.png" width="116" height="160" /&gt;Up until now, we've not had to use Word (or any other Office client) as all we've been doing is generating documents, not rendering them. Just like you can create an HTML document without requiring a browser, it's perfectly valid to create a Word document (or any other OpenXML format document) without using Word. &lt;/p&gt;  &lt;p&gt;However, to view the document, or to create a fixed version of it like PDF or XPS, it's necessary to render it. Up until the release of SharePoint 2010, the highest fidelity way to do this was to open the document in Word. Of course, doing that on the server was fraught with difficulty. Word is not designed to be a server-side tool - it throws (sometimes modal) dialogs, it spends a lot of resources on updating the screen and it's not optimised for multi-processor, large memory scenarios. When there is a user interacting with Word though, the bottleneck is rarely the computer.&lt;/p&gt;  &lt;p&gt;The SharePoint team addressed this problem with the Word Automation Services feature in SharePoint 2010 (standard edition and higher). Word Automation Services is the client code from Word with the UI bits stripped out and optimised to run as a server process. All of the rendering engine is available for SharePoint to use without any of the issues (both technical and from a licensing point of view) of using Word on a server. There's lots of great info on Word Automation Services on MSDN and elsewhere. Here's the list of resources I provided in the first post in this series:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/ericwhite/archive/2010/03/17/developing-with-sharepoint-2010-word-automation-services.aspx"&gt;Developing with SharePoint 2010 Word Automation Services&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/microsoft_office_word/archive/2009/10/26/introducing-word-automation-services.aspx"&gt;Introducing Word Automation Services&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/microsoft_office_word/archive/2009/12/16/word-automation-services_3a00_-what-it-does.aspx"&gt;Word Automation Services: What It Does&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee557736(office.14).aspx"&gt;Programming Word Automation Services&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff433638(office.14).aspx"&gt;Building Document Generation Systems from Templates using Word 2007 and Word 2010&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Word Automation Services (WAS) document conversion jobs run as as an asynchronous server-side job that can either be scheduled automatically (for example, when a document is placed in a folder) or programmatically. Either way, the job won't start immediately, just the next time the WAS scheduler runs. The frequency of the scheduler running is set in Central Administration - see the links above for details on how to set it up. I set it to the minimum interval - one minute.&lt;/p&gt;  &lt;p&gt;Interacting programmatically with the service is pretty straightforward, but there are two gotchas:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;the .NET libraries are 3.5 only, so the project you create must be a .NET 3.5 project, and &lt;/li&gt;    &lt;li&gt;the calls will fail (with cryptic exceptions) if it's not a 64-bit call, so you must target either x64 or Any processor type, not x86. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Create a new console application and make sure that the target framework is 3.5.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Create a new console application targetting Framework 3.5" border="0" alt="Create a new console application targetting Framework 3.5" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/0675.image_5F00_1691E97C.png" width="807" height="480" /&gt;&lt;/p&gt;  &lt;p&gt;Open the Visual Studio Configuration Manager dialog by dropping down the Solution Configurations drop-down on the Visual Studio Standard toolbar (or choosing Configuration Manager from the Build menu):&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Choose Configuration Manager" border="0" alt="Choose Configuration Manager" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/8117.image_5F00_0268A726.png" width="185" height="128" /&gt;&lt;/p&gt;  &lt;p&gt;Next, add a Solution Platform:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/6471.image_5F00_4734CB5A.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/1185.image_5F00_thumb_5F00_513946B8.png" width="720" height="453" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;to target Any CPU (or x64)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/7450.image_5F00_7F631CA5.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/5481.image_5F00_thumb_5F00_71442DA8.png" width="353" height="231" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you're ready to start building.&lt;/p&gt;  &lt;h3&gt;Converting a single document to PDF&lt;/h3&gt;  &lt;p&gt;Add references to the &lt;font face="Consolas"&gt;Microsoft.SharePoint&lt;/font&gt; and &lt;font face="Consolas"&gt;Microsoft.Office.Word.Server&lt;/font&gt; assemblies.&lt;/p&gt;  &lt;p&gt;Add using statements for those assemblies:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:389d961a-ef42-4da1-ab34-11928c01d37f" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #fff; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; Microsoft.Office.Word.Server.Conversions;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Add a couple of static string properties to the class that you can adjust to suit the way you've got your SharePoint setup configured:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:2e8cefab-6a25-466e-877f-a02a30df2dd8" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #fff; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#008000"&gt;// If you manually installed Word Automation Services, then replace the name&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#008000"&gt;// in the following line with the name that you assigned to the service when&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#008000"&gt;// you installed it.&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; cWordServicesName = &lt;span style="color:#a31515"&gt;&amp;quot;Word Automation Services&amp;quot;&lt;/span&gt;;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; siteUrl = &lt;span style="color:#a31515"&gt;&amp;quot;http://localhost&amp;quot;&lt;/span&gt;;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Now you can initiate the conversion of a single document:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:38a8c805-ab79-4b35-be30-8b04f9f14cae" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Convert a single document&lt;/div&gt; &lt;div style="background: #ddd; max-height: 500px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; SingleConv()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;  &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;SPSite&lt;/span&gt; spSite = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPSite&lt;/span&gt;(siteUrl))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  {&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#2b91af"&gt;ConversionJob&lt;/span&gt; job = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;ConversionJob&lt;/span&gt;(cWordServicesName);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    job.UserToken = spSite.UserToken;&lt;/li&gt; &lt;li&gt;    job.Settings.UpdateFields = &lt;span style="color:#0000ff"&gt;true&lt;/span&gt;;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    job.Settings.OutputFormat = &lt;span style="color:#2b91af"&gt;SaveFormat&lt;/span&gt;.PDF;&lt;/li&gt; &lt;li&gt;    job.AddFile(siteUrl + &lt;span style="color:#a31515"&gt;&amp;quot;/Created%20Docs/MyAwesomeDoc.docx&amp;quot;&lt;/span&gt;,&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        siteUrl + &lt;span style="color:#a31515"&gt;&amp;quot;/Converted%20Docs/MyAwesomeDoc.pdf&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li&gt;    job.Start();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Job ID: {0} started&amp;quot;&lt;/span&gt;, job.JobId);&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Press the any key ...&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.ReadKey();&lt;/li&gt; &lt;li&gt;  }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;There are a few things to note here. &lt;/p&gt;  &lt;p&gt;Firstly, you get a reference to the Site using the SharePoint libraries, not the SharePoint Client libraries that we used to write the Word docs to the list in the first place. &lt;/p&gt;  &lt;p&gt;Next, you need to pass a user token to the new &lt;font face="Consolas"&gt;ConversionJob&lt;/font&gt;, and you get that from the SPSite user token. &lt;/p&gt;  &lt;p&gt;Third, you specify the output format using the &lt;font face="Consolas"&gt;SaveFormat&lt;/font&gt; enumeration.&lt;/p&gt;  &lt;p&gt;Finally, remember the service is performed asynchronously and so although you get a Job ID back, you don't get any more information about the job status (more on that when we do bulk conversions)&lt;/p&gt;  &lt;h3&gt;Converting documents to PDF &lt;em&gt;en-masse&lt;/em&gt;&lt;/h3&gt;  &lt;p&gt;Converting whole libraries at once is also very easy. The &lt;font face="Consolas"&gt;ConversionJob&lt;/font&gt; class has an &lt;font face="Consolas"&gt;AddLibrary()&lt;/font&gt; method that takes as parameters a source and destination &lt;font face="Consolas"&gt;SPList&lt;/font&gt; object.&lt;/p&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:fa3a9d35-3ed0-48d9-90b4-4327b49b9438" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Converting whole libraries&lt;/div&gt; &lt;div style="background: #ddd; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; BulkConv()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;  &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;SPSite&lt;/span&gt; spSite = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;SPSite&lt;/span&gt;(siteUrl))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  {&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Starting conversion job&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#2b91af"&gt;ConversionJob&lt;/span&gt; job = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;ConversionJob&lt;/span&gt;(cWordServicesName);&lt;/li&gt; &lt;li&gt;    job.UserToken = spSite.UserToken;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    job.Settings.UpdateFields = &lt;span style="color:#0000ff"&gt;true&lt;/span&gt;;&lt;/li&gt; &lt;li&gt;    job.Settings.OutputFormat = &lt;span style="color:#2b91af"&gt;SaveFormat&lt;/span&gt;.PDF;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    job.Settings.OutputSaveBehavior = &lt;span style="color:#2b91af"&gt;SaveBehavior&lt;/span&gt;.AlwaysOverwrite;&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#2b91af"&gt;SPList&lt;/span&gt; listToConvert = spSite.RootWeb.Lists[&lt;span style="color:#a31515"&gt;&amp;quot;Created Docs&amp;quot;&lt;/span&gt;];&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#2b91af"&gt;SPList&lt;/span&gt; listToPopulate = spSite.RootWeb.Lists[&lt;span style="color:#a31515"&gt;&amp;quot;Converted Docs&amp;quot;&lt;/span&gt;];&lt;/li&gt; &lt;li&gt;    job.AddLibrary(listToConvert, listToPopulate);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    job.Start();&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Bulk conversion job {0} started&amp;quot;&lt;/span&gt;, job.JobId);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#2b91af"&gt;ConversionJobStatus&lt;/span&gt; status = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;ConversionJobStatus&lt;/span&gt;(cWordServicesName,&lt;/li&gt; &lt;li&gt;        job.JobId, &lt;span style="color:#0000ff"&gt;null&lt;/span&gt;);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Number of documents in conversion job: {0}&amp;quot;&lt;/span&gt;, status.Count);&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#0000ff"&gt;while&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;true&lt;/span&gt;)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    {&lt;/li&gt; &lt;li&gt;      System.Threading.&lt;span style="color:#2b91af"&gt;Thread&lt;/span&gt;.Sleep(5000);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;      status.Refresh();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;      &lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (status.Count == status.Succeeded + status.Failed)&lt;/li&gt; &lt;li&gt;      {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;{2} Completed, Successful: {0}, Failed: {1}&amp;quot;&lt;/span&gt;,&lt;/li&gt; &lt;li&gt;            status.Succeeded, status.Failed, DateTime.Now);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;break&lt;/span&gt;;&lt;/li&gt; &lt;li&gt;      }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;      &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;{2} In progress, Successful: {0}, Failed: {1}&amp;quot;&lt;/span&gt;,&lt;/li&gt; &lt;li&gt;          status.Succeeded, status.Failed, DateTime.Now);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    }&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.ReadKey();&lt;/li&gt; &lt;li&gt;  }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;    &lt;p&gt;Checking the status of the job is straightforward (as long as you have the JobId - a GUID uniquely identifying this conversion job). The &lt;font face="Consolas"&gt;ConversionJobStatus&lt;/font&gt; object holds information about the conversion job including how many documents are to be converted, how many have been converted successfully and how many have failed. Calling the &lt;font face="Consolas"&gt;Refresh()&lt;/font&gt; method gets the most up-to-date status and you can use that to poll for completion. Remember that jobs only start every &amp;lt;n&amp;gt; minutes, where n is a setting in SharePoint Central Administration&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Converting documents is an asynchronous process" border="0" alt="Converting documents is an asynchronous process" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/0020.image_5F00_394239C5.png" width="681" height="346" /&gt;&lt;/p&gt;  &lt;p&gt;The result is a SharePoint list full of PDF files, created without ever needing to open Word.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="A library full of converted PDFs" border="0" alt="A library full of converted PDFs" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/5383.image_5F00_349C093E.png" width="768" height="324" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="A converted PDF in Adobe Reader" border="0" alt="A converted PDF in Adobe Reader" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/5415.image_5F00_051D74A5.png" width="542" height="429" /&gt;&lt;/p&gt;  &lt;h2&gt;Conclusion&lt;/h2&gt;  &lt;p&gt;The combination of the OpenXML SDK and Word Automation Services makes server-side document creation simple, scalable and efficient. This is definitely a tool worth adding to your arsenal.&lt;/p&gt;  &lt;h2&gt;Source Code&lt;/h2&gt;  &lt;p&gt;I've zipped up the two solutions - the document creation (.NET 4.0) WinForms project and the document conversion (.NET3.5) project for you to download and play with. Notice that they are NOT production ready - they're illustrative only. Use them at your peril, your mileage may vary, contents may be hot no guarantees etc … you know the drill.&lt;/p&gt;      &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:726c82ec-4b93-42de-ac10-b4fedd0f5da9" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Document Creation Solution &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/6644.ConvertDocuments_5F00_562A2EAF.zip" target="_blank"&gt;Download (241kB)&lt;/a&gt;&lt;br /&gt;Document Conversion Solution &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/5584.OpenXMLDocumentGeneration_5F00_33461AA7.zip" target="_blank"&gt;Download (115kB)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10150354" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VSTO/">VSTO</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Conferences_2F00_Events/">Conferences/Events</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+3-0/">.NET Framework 3.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Office+2007/">Office 2007</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/OpenXML/">OpenXML</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2008/">VS2008</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SharePoint/">SharePoint</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+3-5/">.NET Framework 3.5</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+4-0/">.NET Framework 4.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2010/">VS2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/SharePoint+2010/">SharePoint 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Office+2010/">Office 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Word+Automation+Services/">Word Automation Services</category></item><item><title>Counting the number of sections in an OpenXML Document</title><link>http://blogs.msdn.com/b/acoat/archive/2011/04/01/counting-the-number-of-sections-in-an-openxml-document.aspx</link><pubDate>Fri, 01 Apr 2011 03:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10148549</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10148549</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/04/01/counting-the-number-of-sections-in-an-openxml-document.aspx#comments</comments><description>&lt;p&gt;&lt;small&gt;&lt;font color="#ff0000"&gt;1/4/11 - Updated a couple of images and some of the code explanation&lt;/font&gt;&lt;/small&gt;&lt;/p&gt;  &lt;p&gt;Adam Cogan asked me a question the other day that asked (among other things) &amp;quot;How do you know if a doc has multiple sections?&amp;quot;&lt;/p&gt;  &lt;p&gt;In Word, of course, you can break a document up into sections by inserting a section&amp;#160; break from the Breaks button in the Page Setup group on the Page Layout tab:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Inserting section breaks manually in Word is easy" border="0" alt="Inserting section breaks manually in Word is easy" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/2275.image_5F00_77B7C259.png" width="521" height="526" /&gt;&lt;/p&gt;  &lt;p&gt;It turns out that counting these programmatically is really easy using the &lt;a href="http://msdn.microsoft.com/en-us/library/bb448854(office.14).aspx"&gt;OpenXML SDK 2.0&lt;/a&gt; (&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0&amp;amp;DisplayLang=en"&gt;download&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;I created a new console application, added a reference to &lt;font face="Consolas"&gt;DocumentFormat.OpenXML&lt;/font&gt; and &lt;font face="Consolas"&gt;WindowsBase&lt;/font&gt; and used this code:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:633ce97f-f58d-4af3-b654-a84fe5e02cb5" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Count Sections in Word Docx&lt;/div&gt; &lt;div style="background: #ddd; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0 0 0 2.5em; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.Text;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; System.IO.Packaging;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; DocumentFormat.OpenXml.Wordprocessing;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; DocumentFormat.OpenXml.Packaging;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;using&lt;/span&gt; DocumentFormat.OpenXml.Office2010.Word;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;namespace&lt;/span&gt; CountSections&lt;/li&gt; &lt;li&gt;{&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  &lt;span style="color:#0000ff"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Program&lt;/span&gt;&lt;/li&gt; &lt;li&gt;  {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;[] args)&lt;/li&gt; &lt;li&gt;    {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;      &lt;span style="color:#0000ff"&gt;if&lt;/span&gt; (args.Length != 1)&lt;/li&gt; &lt;li&gt;      {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Usage: CountSections &amp;lt;filename&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li&gt;      }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;      &lt;span style="color:#0000ff"&gt;else&lt;/span&gt;&lt;/li&gt; &lt;li&gt;      {&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#0000ff"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;WordprocessingDocument&lt;/span&gt; d =&lt;/li&gt; &lt;li&gt;            &lt;span style="color:#2b91af"&gt;WordprocessingDocument&lt;/span&gt;.Open(args[0], &lt;span style="color:#0000ff"&gt;false&lt;/span&gt;))&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        {&lt;/li&gt; &lt;li&gt;          &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Found {0} section(s)&amp;quot;&lt;/span&gt;,&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;              d.MainDocumentPart.Document.Body.Descendants().&lt;/li&gt; &lt;li&gt;              OfType&amp;lt;&lt;span style="color:#2b91af"&gt;SectionProperties&lt;/span&gt;&amp;gt;().Count()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;              );&lt;/li&gt; &lt;li&gt;        }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;        &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515"&gt;&amp;quot;Press any key ...&amp;quot;&lt;/span&gt;);&lt;/li&gt; &lt;li&gt;        &lt;span style="color:#2b91af"&gt;Console&lt;/span&gt;.ReadKey();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;      }&lt;/li&gt; &lt;li&gt;    }&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;  }&lt;/li&gt; &lt;li&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;In it I take the filename passed as an argument and open it ReadOnly (line 22-23). I then find the number of sections using the typed enumerator (lines 26-27)&lt;/p&gt;  &lt;p&gt;I also added the path to a file in the Command Line Arguments edit box in the Debug tab of the project Properties so there's a file being passed in when I press F5:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Pass a file name in as a command line argument" border="0" alt="Pass a file name in as a command line argument" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/3252.image_5F00_4B699C28.png" width="648" height="555" /&gt;&lt;/p&gt;  &lt;p&gt;Running the program gives the answer very quickly:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Resulting output - we found 2 sections" border="0" alt="Resulting output - we found 2 sections" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/8154.image_5F00_73E9F7BC.png" width="681" height="346" /&gt;&lt;/p&gt;  &lt;p&gt;Cool huh?&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:03d96f02-351f-418a-910d-e80417df3353" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Sample file with 2 sections &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-39-01-metablogapi/3252.Doc_2D00_with_2D00_2_2D00_sections_5F00_16A341F4.docx" target="_blank"&gt;Download&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10148549" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VSTO/">VSTO</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client/">Smart Client</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Smart+Client+Editorial/">Smart Client Editorial</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+3-0/">.NET Framework 3.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Office+2007/">Office 2007</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/OpenXML/">OpenXML</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2008/">VS2008</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/OBA/">OBA</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+3-5/">.NET Framework 3.5</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/-NET+Framework+4-0/">.NET Framework 4.0</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/VS2010/">VS2010</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Office+2010/">Office 2010</category></item><item><title>Storytelling - A Moth-eaten theme</title><link>http://blogs.msdn.com/b/acoat/archive/2011/04/01/storytelling-a-moth-eaten-theme.aspx</link><pubDate>Fri, 01 Apr 2011 02:54:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10148533</guid><dc:creator>Andrew Coates [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/acoat/rsscomments.aspx?WeblogPostID=10148533</wfw:commentRss><comments>http://blogs.msdn.com/b/acoat/archive/2011/04/01/storytelling-a-moth-eaten-theme.aspx#comments</comments><description>&lt;p&gt;One of the most effective ways to get a message, any message, across is to use stories. For some reason the human brain appears to be wired to be good at remembering and regurgitating stories. I like to begin presentations with a story that’s somehow relevant and am always on the lookout for a good story to add to my repertoire.&lt;/p&gt;  &lt;p&gt;The best stories seem to be those told from a personal perspective - either something that happened to you or something you witnessed. Good stories also stir emotions, both in the storyteller and the listener.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.themoth.org/"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" border="0" alt="The Moth" align="left" src="http://www.themoth.org/images/logo.gif" /&gt;&lt;/a&gt;This week I heard two stories that did just that. I’ve been a listener to the Moth Podcast for some time now, and have always enjoyed the mix of professional storytelling with deeply personal and evocative content. Two of the stories I heard this week though moved me as much or more than any other I’ve heard.&lt;/p&gt;  &lt;p&gt;The first, told by a comedian, wasn’t funny. The second, told by someone who plays the blues, was uplifting. Both made either made me laugh or cry - literally out loud.&lt;/p&gt;  &lt;p&gt;Listen to&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://feeds.themoth.org/~r/themothpodcast/~5/sDJgj06u1iA/moth-podcast-164-anthony-griffith.mp3"&gt;Anthony Griffith: Best of Times, Worst of Times&lt;/a&gt; and &lt;/li&gt;    &lt;li&gt;&lt;a href="http://feeds.themoth.org/~r/themothpodcast/~5/Z8LiC1qlpn8/moth-podcast-165-christian-mcbride.mp3"&gt;Christian McBride: The Gig&lt;/a&gt;&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;and then tell me whether you experienced the same thing.&lt;/p&gt;  &lt;p&gt;While you’re there, subscribe to the Moth podcast either &lt;a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=275699983"&gt;in iTunes&lt;/a&gt; or via their &lt;a href="http://feeds.themoth.org/themothpodcast"&gt;RSS feed&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10148533" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Personal/">Personal</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/News/">News</category><category domain="http://blogs.msdn.com/b/acoat/archive/tags/Podcast/">Podcast</category></item></channel></rss>
