<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Andrew Connell</title><link>http://www.andrewconnell.com:80/blog</link><description>Andrew Connell</description><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AndrewConnell" /><feedburner:info uri="andrewconnell" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>30.092346</geo:lat><geo:long>-81.60274</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><image><link>http://www.andrewconnell.com/</link><url>http://aciassets.blob.core.windows.net/media/Default/Me/ACLogo-144x100.gif</url><title>Andrew Connell's Blog</title></image><feedburner:emailServiceId>AndrewConnell</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item><title>I'm Presenting at VS Live 360 for SharePoint in Redmond this August</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/NTDYzRSEoKE/i-m-presenting-at-vs-live-360-for-sharepoint-in-redmond-this-august</link><description>&lt;p&gt;&lt;a href="http://vslive.com/Events/Redmond-2013/Home.aspx?utm_source=AttendeeMktg&amp;amp;utm_medium=Miscellaneous&amp;amp;utm_campaign=RDSPK9"&gt;&lt;img class="imageRight" src="http://assets.andrewconnell.com/media/Default/Event/2013VSLiveRedmond.png"&gt;&lt;/a&gt;In just a few months from now the VS Live will be in Redmond, will be held again in at the Microsoft campus in Redmond, WA. At this show I'm going to present two sessions which are:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Building SharePoint Hosted Apps as Single Page Apps&lt;/strong&gt;&lt;br&gt;Unlike cloud apps, SharePoint Hosted Apps cannot have a server footprint on the SharePoint host. Instead all custom business logic is manifested and runs within the user’s browser. This can prove to be a challenge with some developers who are used to working with the server-side object model in SharePoint. In this session you’ll learn some tricks on how to make JavaScript / client-side development easier and at the same time how you can make your SharePoint Hosted App into a single-page app that’s very responsive and user friendly very quickly!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Real World Workflows with Visual Studio 2012, Custom Forms, Tasks, Events and Workflow CSOM&lt;br&gt;&lt;/strong&gt;Explore what's new with workflow in SharePoint 2013 from an architecture, capability &amp;amp; development perspective. In this session we'll explore what's new with workflow in SharePoint 2013 from an architecture, capability &amp;amp; development perspective. You'll learn how the SharePoint 2013 now relies on Workflow Manager, both on-premises and in the cloud, to provide a much more reliable and scalable workflow platform. We'll explore new capabilities such as loops, and how to make web service calls. This demo heavy session will be for technical power users and developers alike!&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Now for the interesting part... &lt;a href="http://vslive.com/Events/Redmond-2013/Home.aspx?utm_source=AttendeeMktg&amp;amp;utm_medium=Miscellaneous&amp;amp;utm_campaign=RDSPK9" target="_blank"&gt;if you register with the code RDSPK9 you get a 5-day all-access pass for just $1,695... a $500 savings&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=NTDYzRSEoKE:meqfUsLQJLg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=NTDYzRSEoKE:meqfUsLQJLg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=NTDYzRSEoKE:meqfUsLQJLg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=NTDYzRSEoKE:meqfUsLQJLg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/NTDYzRSEoKE" height="1" width="1"/&gt;</description><pubDate>Fri, 10 May 2013 17:27:19 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/i-m-presenting-at-vs-live-360-for-sharepoint-in-redmond-this-august</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/i-m-presenting-at-vs-live-360-for-sharepoint-in-redmond-this-august</feedburner:origLink></item><item><title>My Blog: Creating a Custom Brand and Orchard Theme</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/ElVUxTsuJfY/my-blog-creating-a-custom-brand-and-orchard-theme</link><description>&lt;p&gt;About a month and half ago I relaunched my blog onto a new web CMS platform moving away from the &lt;a href="http://www.subtextproject.com/"&gt;SubText&lt;/a&gt; engine to &lt;a href="http://www.orchardproject.net/"&gt;Orchard&lt;/a&gt; (&lt;a href="http://www.andrewconnell.com/blog/my-blog-is-now-on-orchard-hosted-in-azure-and-redesigned"&gt;you can see more on the background here&lt;/a&gt;). When I relaunched, I got a lot of questions on how I did it and about some of the decisions I made along the way. At the time I committed to writing a bunch of posts but I got a bit behind on writing these posts because some billable work got in the way as well as some other business stuff. In this post I want to touch on some of the branding and creation of the custom Orchard theme.&lt;/p&gt; &lt;h2&gt;Creating the Brand&lt;/h2&gt; &lt;p&gt;My old site was built on a brand that was developed by a friend. Worked great for years. In fact when I went back and looked at it, ends up it worked great for about 9 years! It was time for a refresh. I wanted something responsive so one design would work for all devices and something that was very simple that closely followed the Microsoft design principles. Design isn't in my bag of tricks so I had to look elsewhere. Based on some recommendations, I used the site &lt;a href="http://www.99Designs.com"&gt;www.99Designs.com&lt;/a&gt;. This is basically a reverse auction branding site where designers compete for your business. You spec out your project, commit funds to the winner &amp;amp; designers then submit designs and revise them based on your specs and feedback. I gave them my current site design saying I wanted the same colors and I wanted to retain some elements as well as a list of links of sites I liked and disliked (including why for each). &lt;/p&gt; &lt;p&gt;My job had three requirements: three designs: (1) homepage look, (2) rollup look and (3) a detail page look. In retrospect I should have also asked for the winning design to also provide variations of each for different device layouts as that cost me down the road. What I got from the winning bid were three Photoshop PSD's.&lt;/p&gt; &lt;h2&gt;Creating the Web Layout&lt;/h2&gt; &lt;p&gt;With the PSDs in hand, I needed them chopped up into HTML, CSS and JavaScript. Again, responsive was important as was clean markup, minimal images, maximizing CSS for layout and visual elements. For this I went off another recommendation and used the site &lt;a href="http://www.PSD2HTML.com"&gt;www.PSD2HTML.com&lt;/a&gt; that took the PSDs and built three HTML layouts using these requirements. When I selected a responsive chopping job, they said they needed PSDs for each device. I had to go back to the designer and get them to build a few more PSD's based on his winning design which cost me a few more bucks. In the end, I got what I needed.&lt;/p&gt; &lt;p&gt;What was so nice about this is that I got everything I needed to build the theme in Orchard in just 2 weeks or so. The only negative was that it wasn't free! If you want to check on prices, you can check them out on the respective sites above.&lt;/p&gt; &lt;h2&gt;Building the Orchard Theme&lt;/h2&gt; &lt;p&gt;I'm not going to repeat what information is already out there in the "how to" topics of creating a custom theme for Orchard. Instead I want to comment on a few things to provide my perspective. If you need "how to" topics, check the &lt;a href="http://docs.orchardproject.net/Documentation/Writing-a-new-theme"&gt;Orchard website documentation&lt;/a&gt; and the &lt;a href="http://www.pluralsight.com/training/Courses/TableOfContents/orchard-fundamentals"&gt;Pluralsight Orchard course&lt;/a&gt; which has a whole module on this. Overall I found creating the theme using the chopped HTML/JS/CSS files that were provided by PSD2HTML a piece of cake. The entire theme was done in about two days and the second day was mostly minor tweaks here and there. What makes it so easy is the template engine.&lt;/p&gt; &lt;h3&gt;Overriding Views&lt;/h3&gt; &lt;p&gt;Basically what you do is create a new theme based on an existing theme. Then, any view in your theme automatically overrides one of the base rendering components (views) in the engine. For instance, there's a view that's define for the date and time of a page (called common metadata). This is part of the core module and defined in the view Parts.Common.Metadata.cshtml. Orchard has a module called Shape Tracing that is like an Orchard-specific developer tool, similar to the tools we have in the different browsers. When enabled, it lets you hover over an item in a page and it shows you all the details of that shape as shown in this figure below.&lt;/p&gt; &lt;p&gt;&lt;img class="imagePopup" style="text-align: center" src="http://assets.andrewconnell.com/media/Default/Misc/OrchardShapeTracing.png" width="600"&gt;&lt;/p&gt; &lt;p&gt;Notice I have the metadata selected with the timestamp of the blog post. If you look in the Shape Tracing tool at the bottom, it shows the original template as well as my override template (labeled Active Template). See all the Alternate views in the list? Those are the possible names for views that could override it. The ones lower in the list override the ones above it. For instance, notice I've implemented &lt;code&gt;Parts.Common.Metadata-BlogPost.cshtml&lt;/code&gt;. This applies my view to this part for all content types &lt;strong&gt;BlogPost&lt;/strong&gt;. Each view filename has different rules applied. So if I implemented &lt;code&gt;Parts.Common.Metadata.BlogPost-url-blog.cshtml&lt;/code&gt;, my custom view would have applied to any &lt;strong&gt;BlogPost&lt;/strong&gt; within the &lt;strong&gt;/blog&lt;/strong&gt; URL in my site. The last one would be specifically applied to this post only (by URL). &lt;/p&gt; &lt;p&gt;My site only has 27 custom views applied. Some were new ones, such as a copyright which I add to the bottom of the page or the &lt;code&gt;SocialSharingControls.cshtml&lt;/code&gt;. This contains the markup provided by &lt;a href="http://www.po.st"&gt;http://www.po.st&lt;/a&gt; that puts the social sharing buttons at the end of each article and blog post. To add it to the end of each article &amp;amp; page, I created two view overrides (&lt;code&gt;Content-Page.Detail.cshtml&lt;/code&gt; and &lt;code&gt;Content-BlogPost.Detail.cshtml&lt;/code&gt;) and in the views, created a new instance of the social sharing control and added them to the 5th (last) position in the content block of the page as shown here:&lt;/p&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;@using Orchard.Utility.Extensions;
@{
  if (Model.Title != null) {
    Layout.Title = Model.Title;
  }

  var contentTypeClassName = ((string)Model.ContentItem.ContentType).HtmlClassify();

  // don't show social stuff for homepage
  if (WorkContext.HttpContext.Request.Path.HtmlClassify() != "") {
    Model.Content.Add(New.SocialSharingControls(), "5");
  }
}
&amp;lt;article class="content-item @contentTypeClassName"&amp;gt;
  &amp;lt;header&amp;gt;
    @Display(Model.Header)
    @if (Model.Meta != null) {
      &amp;lt;div class="metadata"&amp;gt;
        @Display(Model.Meta)
      &amp;lt;/div&amp;gt;
    }
  &amp;lt;/header&amp;gt;
  &amp;lt;div class="articleContent"&amp;gt;
    @Display(Model.Content)
  &amp;lt;/div&amp;gt;
  @if (Model.Footer != null) {
    &amp;lt;footer&amp;gt;
      @Display(Model.Footer)
    &amp;lt;/footer&amp;gt;
  }
&amp;lt;/article&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That's it… pretty easy!&lt;/p&gt;
&lt;h3&gt;Placement.info is Awesome!&lt;/h3&gt;
&lt;p&gt;This file rocks! So you put this in the root of your theme and it lets you add and remove parts of a page based on specific criteria. For instance Orchard lets you have multiple blogs on the site. My site only has one blog, and the homepage is at &lt;a href="http://www.andrewconnell.com/blog"&gt;/blog&lt;/a&gt; (it really isn't all that important because I've implemented my site so that it is primarily a blog and as such, recent posts are rolled up on the homepage making it look like the homepage. By default, Orchard puts the following properties on the homepage of a blog: title, common metadata (the date/time I created the blog, and the RSS feed / Feedburner link. I didn't want these on my blog homepage so to remove them, I just added this to the placement file which said "for the URL &lt;code&gt;/blog&lt;/code&gt;, set the parts &lt;code&gt;Parts_Title&lt;/code&gt;, &lt;code&gt;Parts_Common_Metadata&lt;/code&gt; and &lt;code&gt;Parts_Feedburner&lt;/code&gt; to the position 'remove'" which is indicated as a &lt;code&gt;-&lt;/code&gt;:&lt;/p&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;&amp;lt;!-- remove parts form blog homepage --&amp;gt;
&amp;lt;Match Path="/blog"&amp;gt;
  &amp;lt;Place Parts_Title="-" /&amp;gt;
  &amp;lt;Place Parts_Common_Metadata="-" /&amp;gt;
  &amp;lt;Place Parts_Feedburner="-" /&amp;gt;
&amp;lt;/Match&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There was a lot more stuff I did to implement my blog theme, but these are the important pieces I wanted to highlight. If you have any questions about creating a custom theme, I'd suggest you check out the &lt;a href="http://orchard.codeplex.com/discussions"&gt;Orchard project forums&lt;/a&gt;, specifically the one on &lt;a href="http://orchard.codeplex.com/discussions/topics/5039/writing-themes"&gt;Writing Themes&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=ElVUxTsuJfY:dXtFQYxk1ls:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=ElVUxTsuJfY:dXtFQYxk1ls:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=ElVUxTsuJfY:dXtFQYxk1ls:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=ElVUxTsuJfY:dXtFQYxk1ls:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/ElVUxTsuJfY" height="1" width="1"/&gt;</description><pubDate>Mon, 06 May 2013 10:17:29 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/my-blog-creating-a-custom-brand-and-orchard-theme</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/my-blog-creating-a-custom-brand-and-orchard-theme</feedburner:origLink></item><item><title>I'm Presenting at SPTechCon in Boston this August</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/3bGukabACEE/i-m-presenting-at-sptechcon-in-boston-this-august</link><description>&lt;p&gt;&lt;a href="http://www.sptechcon.com/boston2013/index.html"&gt;&lt;img class="imageRight" src="http://assets.andrewconnell.com/media/Default/Event/2013SpTechConFall.jpg"&gt;&lt;/a&gt;In just a few months from now the annual SharePoint Technology Conference, aka &lt;a href="http://www.sptechcon.com/boston2013/index.html" target="_blank"&gt;SPTechCon&lt;/a&gt;, will be held again in downtown Boston, one of the best cities in the world. At this show I'm going to present three sessions which are:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Building SharePoint Hosted Apps as Single Page Apps&lt;/strong&gt;&lt;br&gt;Unlike cloud apps, SharePoint Hosted Apps cannot have a server footprint on the SharePoint host. Instead all custom business logic is manifested and runs within the user’s browser. This can prove to be a challenge with some developers who are used to working with the server-side object model in SharePoint. In this session you’ll learn some tricks on how to make JavaScript / client-side development easier and at the same time how you can make your SharePoint Hosted App into a single-page app that’s very responsive and user friendly very quickly!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Real World Workflows with Visual Studio 2012, Workflow Manager and Web Services&lt;br&gt;&lt;/strong&gt;In this session we'll explore what's new with workflow in SharePoint 2013 from an architecture, capability &amp;amp; development perspective. You’ll learn how the SharePoint 2013 now relies on Workflow Manager, both on-premises and in the cloud, top provide a much more reliable and scalable workflow platform. We’ll explore new capabilities such as loops, web service calls and the new DynamicValue data type. In addition you'll also learn how to create, deploy and leverage custom workflow actions.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Building a Content site using SharePoint Server 2013 Web Content Management: Start to Finish&lt;br&gt;&lt;/strong&gt;Microsoft made significant investments in SharePoint 2013 in the area of Web Content Management (WCM). In this latest release WCM has been re-architected to leverage taxonomies for navigation and search and serving content directly out of the search index. In this demo-heavy session you will see how to create a WCM site, implement a managed navigation using taxonomies and surface content from across multiple data sources, how to implement a custom brand and leverage search to its fullest potential in creating rich and dynamic content-based sites!&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Now for the interesting part... &lt;a href="http://www.sptechcon.com/boston2013/conferencepricing.html" target="_blank"&gt;if you register before May 31 you can save $500 on the registration&lt;/a&gt;. But wait, there's more. &lt;strong&gt;If you register and enter my last name (CONNELL) you can save an additional $200 on your registration!&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Don't delay!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=3bGukabACEE:pmtApexQPVY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=3bGukabACEE:pmtApexQPVY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=3bGukabACEE:pmtApexQPVY:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=3bGukabACEE:pmtApexQPVY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/3bGukabACEE" height="1" width="1"/&gt;</description><pubDate>Sat, 04 May 2013 01:11:26 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/i-m-presenting-at-sptechcon-in-boston-this-august</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/i-m-presenting-at-sptechcon-in-boston-this-august</feedburner:origLink></item><item><title>Free Webinar - Reimagine SharePoint Development: A better way to customize SharePoint #reimaginespdev</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/EE7BrhlC7Vo/free-webinar---reimagine-sharepoint-development-a-better-way-to-customize-sharepoint-reimaginespdev</link><description>&lt;p&gt;Microsoft is holding a free webinar later this month on reimagining SharePoint development. Specifically they want you to think differently about building customizations with apps vs. the way we have been thinking with solutions. The premise is good and frankly is a core point I'm going to make in a few weeks &lt;a href="http://www.andrewconnell.com/blog/Keynote-Speaker-SharePoint-Summit-2013-TorontoMay-13-15-2013" target="_blank"&gt;when I keynote the SharePoint Summit 2013 in Toronto&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Here's the details on the Microsoft webinar and registration information:&lt;/p&gt; &lt;p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Reimagine SharePoint Development: A better way to customize SharePoint&lt;br&gt;&lt;/strong&gt;&lt;em&gt;May 20, 2013 @ 9AM (GMT-0800)&lt;/em&gt;&lt;/p&gt;Join Senior Product Marketing Manager, Keenan Newton, and special guest Partner Director of Apps Program Management, Robert Lefferts, as we kick off our new site centered around migrating SharePoint solutions to apps. We will discuss the history of SharePoint customizations and where the SharePoint development platform is going. We will also highlight the benefits of the cloud app model and answer any questions that you may have. The webcast will be broadcasted on Channel 9.  &lt;p&gt;This will be the first live webcast in a series of webcasts focused on migrating SharePoint solutions to apps. These webcasts along with soon coming content on &lt;a href="http://www.reimaginespdev.com/"&gt;http://www.reimaginespdev.com&lt;/a&gt; will help SharePoint developers take meaningful steps in planning for the app model. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;» &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032553224&amp;amp;Culture=en-US&amp;amp;community=0&amp;amp;n=3" target="_blank"&gt;Event &amp;amp; Registration Details&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=EE7BrhlC7Vo:GYYLyfzIMgE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=EE7BrhlC7Vo:GYYLyfzIMgE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=EE7BrhlC7Vo:GYYLyfzIMgE:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=EE7BrhlC7Vo:GYYLyfzIMgE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/EE7BrhlC7Vo" height="1" width="1"/&gt;</description><pubDate>Wed, 01 May 2013 13:22:42 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/free-webinar---reimagine-sharepoint-development-a-better-way-to-customize-sharepoint-reimaginespdev</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/free-webinar---reimagine-sharepoint-development-a-better-way-to-customize-sharepoint-reimaginespdev</feedburner:origLink></item><item><title>Orchard Harvest 2013 - Amsterdam June 13-14, 2013</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/Chg55ptloXA/orchard-harvest-2013---amsterdam-june-13-14-2013</link><description>&lt;p&gt;A few months ago &lt;a href="http://www.andrewconnell.com/Tags/Orchard" target="_blank"&gt;I migrated my blog from SubText over to the Orchard open source CMS platform&lt;/a&gt;. So far I'm not looking back and love this new platform. I said it at the time, and still have plans, to blog about my migration experience on multiple topics. The challenge was that when I went live I had to jump on a few billable projects ASAP so there has been a bit of a delay, but I expect to have a few posts out in the coming weeks.&lt;/p&gt; &lt;p&gt;But that's not what I wanted to post about. The Orchard community has a conference coming up in just over a month in Amsterdam. The &lt;a href="http://euro2013.orchardharvest.org/" target="_blank"&gt;&lt;strong&gt;Orchard Harvest - European Conference 2013&lt;/strong&gt;&lt;/a&gt; will be held on June 13 &amp;amp; 14, 2013. You can get a ton of information from the conference on Orchard. I sure wish I could join, but a conflict will keep me away. Make sure you check it out if you're involved in the Orchard community!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=Chg55ptloXA:T5Z_5Z1Iowc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=Chg55ptloXA:T5Z_5Z1Iowc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=Chg55ptloXA:T5Z_5Z1Iowc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=Chg55ptloXA:T5Z_5Z1Iowc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/Chg55ptloXA" height="1" width="1"/&gt;</description><pubDate>Fri, 26 Apr 2013 16:54:04 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/orchard-harvest-2013---amsterdam-june-13-14-2013</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/orchard-harvest-2013---amsterdam-june-13-14-2013</feedburner:origLink></item><item><title>More of my MSDN SharePoint 2013 Workflow Samples</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/EAcIrsJCnzA/more-of-my-msdn-sharepoint-2013-workflow-samples</link><description>&lt;p&gt;A few weeks ago &lt;a href="http://www.andrewconnell.com/blog/my-msdn-sharepoint-2013-workflow-samples-updated" target="_blank"&gt;I blogged how two samples I provided MSDN in August 2012 were recently republished&lt;/a&gt; using the latest SharePoint 2013, Workflow Manager and Visual Studio 2012 developer tools. Well today I'm happy to say that it appears a few more of my samples have been refreshed and republished. The samples are updated to use the latest and greatest stuff and are based on the following:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;SharePoint 2013 RTM + the March 2013 Public Update applied  &lt;li&gt;Service Bus 1.0 RTM + the February 2013 Cumulative Update applied  &lt;li&gt;Workflow Manager 1.0 RTM + the February 2013 Cumulative Update applied  &lt;li&gt;Visual Studio 2012 RTM + Update 2 applied  &lt;li&gt;Office Developer Tools (RTM) for Visual Studio 2012&lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt;If you're looking for links to these downloads, &lt;a href="http://www.andrewconnell.com/blog/Updates-For-SP2013-Workflow"&gt;check out this post where I go through all the recent updates&lt;/a&gt;.&lt;/blockquote&gt; &lt;p&gt;Here are the three samples:  &lt;ul&gt; &lt;li&gt;&lt;strong&gt;SharePoint 2013 Workflow: Route Workflows to States Depending on Actions &amp;amp; Events&lt;/strong&gt;&lt;br&gt;This sample allows a company, such as a cable company, to better manage is fleet of vehicles. A fleet manager workflow instant starts when a new vehicle is added to the fleet (as an item in a SharePoint list). Three months (simulated in the sample as three minutes, but easily changed) following the last maintenance cycle, the workflow instance takes the vehicle out of service and assigns a task to the maintenance department to do an oil change. When the task is completed, the vehicle is put back in service. If out-of-cycle maintenance is required on a vehicle, the app allows users to enter a maintenance request. This maintenance request page sends a custom event to the workflow to put the vehicle into maintenance. &lt;a href="http://code.msdn.microsoft.com/officeapps/SharePoint-2013-Route-25a25d87"&gt;http://code.msdn.microsoft.com/officeapps/SharePoint-2013-Route-25a25d87&lt;/a&gt;  &lt;li&gt;&lt;strong&gt;SharePoint 2013 Workflow: Call a Workflow in an App using a Remote Event Receiver&lt;/strong&gt;&lt;br&gt;This sample demonstrates two core concepts. First, it demonstrates how to create a remote event receiver that calls out to a remote service when a list item is created. It then demonstrates how the remote event receiver service can use the client object model (CSOM) to find a workflow association and start a new instance of the workflow on a specific list item while also passing values into the workflow.&lt;br&gt;&lt;a href="http://code.msdn.microsoft.com/officeapps/SharePoint-2013-Call-a-f5d247db"&gt;http://code.msdn.microsoft.com/officeapps/SharePoint-2013-Call-a-f5d247db&lt;/a&gt;  &lt;li&gt;&lt;strong&gt;SharePoint 2013 Workflow: Approval Workflow that Uses a Custom Initiation Form&lt;/strong&gt;&lt;br&gt;This basic workflow scenario supports a document review and approval/reject process. The workflow starts when a document is added to a specified "Drafts" SharePoint library. The workflow assigns a task to a reviewer, who evaluates the draft, makes comments as necessary, and then concludes the task by either routing the document back to the writer for revisions, or forwarding it to the editor for editing and release. Additional tasks are assigned, depending on the branch. If the document was returned to the writer for revisions, the writer completes the revision task, and the workflow loops back to the reviewer. When the document is forwarded to the editor, the task completion adds the finished doc to another document library named" manuscripts."&lt;br&gt;&lt;a href="http://code.msdn.microsoft.com/officeapps/SharePoint-2013-Approval-f5ac5eb2"&gt;http://code.msdn.microsoft.com/officeapps/SharePoint-2013-Approval-f5ac5eb2&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=EAcIrsJCnzA:04NbMnCmPFM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=EAcIrsJCnzA:04NbMnCmPFM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=EAcIrsJCnzA:04NbMnCmPFM:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=EAcIrsJCnzA:04NbMnCmPFM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/EAcIrsJCnzA" height="1" width="1"/&gt;</description><pubDate>Tue, 23 Apr 2013 19:58:59 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/more-of-my-msdn-sharepoint-2013-workflow-samples</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/more-of-my-msdn-sharepoint-2013-workflow-samples</feedburner:origLink></item><item><title>SharePoint Evolutions 2013 Conference Wrap-Up</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/LeYnmlR63Lc/sharepoint-evolutions-2013-conference-wrap-up</link><description>&lt;p&gt;Last week I was in London for the annual SharePoint Evolutions conference. It's a show that I eagerly look forward to every year. In my mind the show has the best attendees, content, venue, speakers and surrounding events (how about that party this year!). At this conference I presented two sessions, one on workflow and one on building SharePoint Hosted Apps using the single page app technique.&lt;/p&gt;
&lt;p&gt;My workflow session (&lt;strong&gt;DEV204: World Workflows with Visual Studio 2012, Azure Workflow and Web Services&lt;/strong&gt;) didn't go exactly as planned as the networking issues in the conference center actually confused my farm as Visual Studio 2012 + SharePoint + Workflow + Service Bus farms couldn't see each other. Apologies for those issues&amp;hellip; it was quite frustrating because just two hours earlier, all the workflows were working just fine. I should have left them deployed as they would have run just fine&amp;hellip; arg! Of course I rebooted my entire farm after the session and everything deployed as expected. At any rate, I've made my workflows that I demonstrated &lt;a href="http://assets.andrewconnell.com/media/Default/Downloads/2013.04-spevo-dev204.zip" target="_blank"&gt;available here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My second session was mostly about building a SharePoint Hosted App using the Single Page App (SPA) technique (&lt;strong&gt;P&amp;amp;M309: Building a Learning Management System in SharePoint 2013, Office 2013 &amp;amp; Windows 8: Part 1&lt;/strong&gt;). This was my first time building one of these SPA's and I was surprised how much I was able to achieve in such a short time. The demo I built (&lt;a href="http://assets.andrewconnell.com/media/Default/Downloads/2013.04-spevo-pm309.zip" target="_blank"&gt;that you can download here&lt;/a&gt;) included some issues around the way I used promises when working with the SharePoint REST services but that was intentional to show the timing issues you run into. The part where I worked with the workflow JavaScript object model was designed to use them in the correct way. I plan to tweak my app to be more of a reference implementation using promises the correct way as well as correct a few other issues. This version might even become the subject of a handful of additional blog posts based on the feedback I got during the session as well as from those on Twitter during &amp;amp; after the talk. If you want to see a video of the SharePoint Hosted App - Single Page App that I built for the session that's downloadable above, check this video out (note there is no audio, just a video I used for the session in case my environment went belly up):&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;iframe height="360" src="http://www.youtube.com/embed/dtbqVK7Ws3M" frameborder="0" width="480" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;If you're interested in learning more about this technique, check out &lt;a href="http://www.johnpapa.net/" target="_blank"&gt;John Papa's&lt;/a&gt; &lt;a href="http://www.pluralsight.com/training/Courses/TableOfContents/single-page-apps-jumpstart" target="_blank"&gt;jumpstart class on building SPA's at Pluralsight&lt;/a&gt;. There are a bunch of things you can't do in a pure SharePoint Hosted App that John shows. I'll address those in future posts.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=LeYnmlR63Lc:bBJMzOSrB3k:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=LeYnmlR63Lc:bBJMzOSrB3k:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=LeYnmlR63Lc:bBJMzOSrB3k:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=LeYnmlR63Lc:bBJMzOSrB3k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/LeYnmlR63Lc" height="1" width="1"/&gt;</description><pubDate>Sun, 21 Apr 2013 09:53:00 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/sharepoint-evolutions-2013-conference-wrap-up</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/sharepoint-evolutions-2013-conference-wrap-up</feedburner:origLink></item><item><title>SharePoint 2013 Workflow: Custom Task Outcomes</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/k62nqh8Ta30/SP2013-Workflow-Custom-Task-Outcomes</link><description>&lt;p&gt;In the&lt;a href="http://www.andrewconnell.com/blog/sharepoint-2013-workflow-custom-tasks"&gt; last post I showed you how to create a simple task using the out-of-the-box (OOTB) task content type&lt;/a&gt; that ships with SharePoint 2013: Workflow Task (SharePoint 2013). Then we build off this and creating a custom task that had a new form field. In this post I want to show you how we can use this approach to create custom outcomes buttons in our task forms. Unfortunately in this process you'll see a bug in the SharePoint/Workflow engine for our custom outcomes&amp;hellip; but no worries. I'll show you how to get around that.&lt;/p&gt;
&lt;p&gt;The way you create custom buttons at the bottom of your task form is by creating custom outcome columns. The process is quite simple:&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Create a new site column that is based on the field type &lt;code&gt;OutcomeChoice&lt;/code&gt; and add your choices&lt;/li&gt;
&lt;li&gt;Add this column to your custom task content type&lt;/li&gt;
&lt;li&gt;Use it!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the same project that I finished the last blog post with I'll add a new site column:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;  
  &amp;lt;Field
       ID="{2e30db97-45c9-4c50-8cc4-06ba62dc7f73}"
       Name="CustomOutcome"
       DisplayName="Custom Outcome"
       Type="OutcomeChoice"
       Required="FALSE"
       Group="AC"&amp;gt;
    &amp;lt;CHOICES&amp;gt;
      &amp;lt;CHOICE&amp;gt;Red Pill&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;Blue Pill&amp;lt;/CHOICE&amp;gt;
    &amp;lt;/CHOICES&amp;gt;
  &amp;lt;/Field&amp;gt;
&amp;lt;/Elements&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now I'll add it to my content type:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;
  &amp;lt;!-- Parent ContentType: Workflow Task (SharePoint 2013) (0x0108003365C4474CAE8C42BCE396314E88E51F) --&amp;gt;
  &amp;lt;ContentType ID="0x010800003365C4474CAE8C42BCE396314E88E51F404DE3BCDECF4310BEBC2593136E13F4" 
            Name="Custom Task" 
            Group="AC" 
            Inherits="TRUE" 
            Version="0"&amp;gt;
    &amp;lt;FieldRefs&amp;gt;
      &amp;lt;FieldRef ID="{baeea9f4-3589-420c-80ee-27e58c4286c2}" Name="MonthsColumn" /&amp;gt;
      &amp;lt;FieldRef ID="{2e30db97-45c9-4c50-8cc4-06ba62dc7f73}" Name="CustomOutcome" /&amp;gt;
    &amp;lt;/FieldRefs&amp;gt;
  &amp;lt;/ContentType&amp;gt;
&amp;lt;/Elements&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now go back into the task edit dialog within the Visual Studio designer and update the task to use your new column. But wait&amp;hellip; look at what you get in the edit mode of the task that gets created:&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask07.png" /&gt;&lt;br /&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask08.png" /&gt;&lt;/p&gt;
&lt;p&gt;That's not what we want! I want to only show my items.&lt;/p&gt;
&lt;h2&gt;The Custom Outcome Column Bug&lt;/h2&gt;
&lt;p&gt;What you are seeing is a little bug in the SharePoint/Workflow engine where it keeps rendering the default outcome column. You may be thinking this shouldn't be hard to address, but let me save you the time:&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Can't I just make sure I remove the default column that is in the Workflow Task (SharePoint 2013) content type I'm inheriting from?&lt;/em&gt;&lt;/strong&gt;Unfortunately not, the defaults still get rendered&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Can't I just set my custom content type to not inherit all the fields from the Workflow Task (SharePoint 2013) content type using the &lt;/em&gt;&lt;/strong&gt;&lt;code&gt;&amp;lt;RemoveFieldRef&amp;gt;&lt;/code&gt; &lt;strong&gt;&lt;em&gt;node?&lt;/em&gt;&lt;/strong&gt; Nope, the defaults still get rendered.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;What if I create my own custom content type that doesn't inherit from the Workflow Task (SharePoint 2013) content type&lt;/em&gt;?&lt;/strong&gt; The problem with this is you can't select your custom content type in the workflow task designer as an option because it filters out all content types that don't inherit from the &lt;strong&gt;Workflow Task (SharePoint 2013)&lt;/strong&gt; content type.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;This bug exists today, as of writing, that is based on the following. At some point in the future it will likely get addressed:&lt;/blockquote&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Service Bus 1.0 + February 2013 Cumulative Update&lt;/li&gt;
&lt;li&gt;Workflow Bus 1.0 + February 2013 Cumulative Update&lt;/li&gt;
&lt;li&gt;SharePoint 2013 RTM + March 2013 Public Update&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;For details on getting your envionrment updated to this level, refer this post: &lt;a href="http://www.andrewconnell.com/blog/Updates-For-SP2013-Workflow"&gt;Updates for SharePoint 2013 Workflow&lt;/a&gt;.&lt;/blockquote&gt;
&lt;h2&gt;My Custom Outcome Column Workaround&lt;/h2&gt;
&lt;p&gt;I've figured out a way around this. It works great for me, but I have to admit I'm not sure if any issues creep up anywhere else. I don't think so because my tweak is isolated to just the task list and so far in my testing it looks fine. However you know how big this product is&amp;hellip; one day I might have my second mea culpa post&amp;hellip; so consider disclaimer issued!&lt;/p&gt;
&lt;p&gt;What I've found is that if you create a new content type that inherits from the base Task content type, add your custom outcome column and then add the other special site column called the &lt;code&gt;WorkflowInstanceId&lt;/code&gt;. This works, but the problem is that Visual Studio 2012's workflow designer doesn&amp;rsquo;t respect your decision because it won't show any content types that don't derive from &lt;strong&gt;Workflow Task (SharePoint 2013)&lt;/strong&gt;. However there's a way around this. So here are the steps I do, in this order, to make it work. It will work other ways, but this is what works best form me.&lt;/p&gt;
&lt;h3&gt;Step 1: Setup the Custom Task Content Type with a Custom Outcome&lt;/h3&gt;
&lt;p&gt;This step is easy&amp;hellip; do the exact same thing you did above where you had two sets of outcome column choices on the screen when you were in the edit mode for a task. Stop debugging and move onto the real workaround.&lt;/p&gt;
&lt;h3&gt;Step 2: Update the Custom Task Content Type Inheritance&lt;/h3&gt;
&lt;p&gt;What you are going to do is break the inheritance of your custom task content type and inherit from the base Task content type. This way you'll break off the default outcome column from being rendered. To do this, go into the element manifest for your content type and remove the part of the content type ID that inherits from the &lt;strong&gt;Workflow Task (SharePoint 2013)&lt;/strong&gt; content type; specifically you want to remove this string: &lt;code&gt;003365C4474CAE8C42BCE396314E88E51F&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Next you want to add the &lt;code&gt;WorkflowInstanceId&lt;/code&gt; column to your content type. You can find this in the content type definition of the &lt;strong&gt;Workflow Task (SharePoint 2013)&lt;/strong&gt; so your content type should now look like this:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;
  &amp;lt;ContentType ID="0x010800404DE3BCDECF4310BEBC2593136E13F4" 
            Name="Custom Task" 
            Group="AC" 
            Inherits="TRUE" 
            Version="0"&amp;gt;
    &amp;lt;FieldRefs&amp;gt;
      &amp;lt;FieldRef ID="{baeea9f4-3589-420c-80ee-27e58c4286c2}" Name="MonthsColumn" /&amp;gt;
      &amp;lt;FieldRef ID="{2e30db97-45c9-4c50-8cc4-06ba62dc7f73}" Name="CustomOutcome" /&amp;gt;
      &amp;lt;FieldRef ID="{1F30D200-0D4E-4C8A-A7EB-2E49815BF2BE}" Name="WorkflowInstanceId" /&amp;gt;
    &amp;lt;/FieldRefs&amp;gt;
  &amp;lt;/ContentType&amp;gt;
&amp;lt;/Elements&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The next thing you need to do is update the places you've referenced the content type. Go into the &lt;code&gt;&amp;lt;ContentTypeBindings&amp;gt;&lt;/code&gt; element manifest you created and modify the content type ID. Next up is the workflow's &lt;strong&gt;SingleTask&lt;/strong&gt; activity. The challenge here is that the designer won't allow you to fix it. So what you need to do is update the raw XAML. To do this, right click the &lt;code&gt;workflow.xaml&lt;/code&gt; file and select &lt;strong&gt;Open With&lt;/strong&gt; and then select &lt;strong&gt;XML (Text) Editor&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Find the &lt;code&gt;&amp;lt;SingleTask&amp;gt;&lt;/code&gt; element and look for the attribute &lt;code&gt;ContentTypeId&lt;/code&gt;. You want to make this one be the same as your custom task content type ID.&lt;/p&gt;
&lt;p&gt;Save your changes and hit F5 to see everything work!&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask09.png" /&gt;&lt;/p&gt;
&lt;p&gt;Want the code for this sample? Come and get it: &lt;a href="http://assets.andrewconnell.com/media/Default/Downloads/SP2013Wf-CustomTaskOutcome.zip"&gt;SP2013Wf-CustomTaskOutcome.zip&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Disclaimer&lt;/h2&gt;
&lt;p&gt;Like I said above, I'm pretty sure this is going to work just fine until we get a fix. However, keep in mind that once this bug is fixed you have to decide if you want to leave this workflow as is, or if you want to change it to inherit from the correct task. The other angle is that there may be something in SharePoint, or some other product an ISV has build, that is expecting tasks to be based on the &lt;strong&gt;Workflow Task (SharePoint 2013)&lt;/strong&gt; content type&amp;hellip; and if so, I just showed you how to break it.&lt;/p&gt;
&lt;p&gt;For me, I think this work around is sufficient. I think the disclaimer I pitch above is a bit dramatic and over cautious, but I wanted to be as transparent about this as possible.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=k62nqh8Ta30:J7AAiKCeehg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=k62nqh8Ta30:J7AAiKCeehg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=k62nqh8Ta30:J7AAiKCeehg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=k62nqh8Ta30:J7AAiKCeehg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/k62nqh8Ta30" height="1" width="1"/&gt;</description><pubDate>Fri, 12 Apr 2013 16:15:00 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/SP2013-Workflow-Custom-Task-Outcomes</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/SP2013-Workflow-Custom-Task-Outcomes</feedburner:origLink></item><item><title>SharePoint 2013 Workflow: Custom Tasks</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/loocf1kpE54/sharepoint-2013-workflow-custom-tasks</link><description>&lt;p&gt;In this post I want to show you how you can you can use tasks within your SharePoint 2013 workflows developed with Visual Studio 2012. Frankly that's pretty simple, and demonstrated well in this blog post on the Office Apps Team blog, so I'm going to focus on custom tasks. &lt;a href="http://www.andrewconnell.com/blog/SP2013-Workflow-Custom-Task-Outcomes"&gt;In the next post&lt;/a&gt; I'll show you how you can take it to the next level and add your own custom outcome fields for a more personalized experience for your users.&lt;/p&gt;
&lt;p&gt;&lt;img class="imageRight" src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask01.png" /&gt;&lt;/p&gt;
&lt;p&gt;I'll first start out by creating a workflow in a new SharePoint Hosted App and attach it to an announcements list, configured to start automatically when items are added to the list. With that done you will then need to get a login name in the form of a claim ID to assign the user a task. For that I'll use the following activities and configure them store the login name of the user who kicked off the workflow in a local variable:&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;&lt;strong&gt;LookupSPListItem&lt;/strong&gt;: Used to get all the properties of the item that started the workflow.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GetDynamicValueProperties&lt;/strong&gt;: Used to parse out the &lt;code&gt;AuthorId&lt;/code&gt; from the previous activity's results.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LookupSPUser&lt;/strong&gt;: Used to get the properties of the user that corresponds to the &lt;code&gt;AuthorId&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GetDynamicValueProperties&lt;/strong&gt;: Used to parse out the author's &lt;code&gt;LoginName&lt;/code&gt; property from the previous activity's results.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So far we're in good shape and simple stuff.&lt;/p&gt;
&lt;div style="clear: both;"&gt;&lt;/div&gt;
&lt;p&gt;Next, add a &lt;code&gt;SingleTask&lt;/code&gt; activity to the workflow. Open its properties and make the following selections shown in the designer below to assign the task to the person who kicked off the workflow and to use the out of the box &lt;strong&gt;Workflow Task (SharePoint 2013)&lt;/strong&gt; content type as the task type. When you run the workflow and view the task created in edit mode, notice the buttons you have at the bottom aside from the standard &lt;strong&gt;Save&lt;/strong&gt; &amp;amp; &lt;strong&gt;Cancel&lt;/strong&gt;: you have &lt;strong&gt;Approve&lt;/strong&gt; and &lt;strong&gt;Reject&lt;/strong&gt;. Those came from the default outcome field on the &lt;strong&gt;Workflow Task (SharePoint 2013)&lt;/strong&gt; content type.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask02.png" /&gt;&lt;br /&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask03.png" /&gt;&lt;/p&gt;
&lt;h2&gt;Create a Custom Task Content Type for a Workflow&lt;/h2&gt;
&lt;p&gt;Now let's see how we can put additional fields in the task form. This is done by creating a new content type and adding additional columns to it. Create a choice column using the Site Column project item template:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;  
  &amp;lt;Field ID="{baeea9f4-3589-420c-80ee-27e58c4286c2}"
         Name="MonthsColumn"
         DisplayName="Months"
         Type="Choice"
         Group="AC"&amp;gt;
    &amp;lt;CHOICES&amp;gt;
      &amp;lt;CHOICE&amp;gt;January&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;February&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;March&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;April&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;May&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;June&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;July&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;August&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;September&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;October&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;November&amp;lt;/CHOICE&amp;gt;
      &amp;lt;CHOICE&amp;gt;December&amp;lt;/CHOICE&amp;gt;
    &amp;lt;/CHOICES&amp;gt;
    &amp;lt;Default&amp;gt;February&amp;lt;/Default&amp;gt;
  &amp;lt;/Field&amp;gt;
&amp;lt;/Elements&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Next create the content type. When presented with the option of which content type to inherit from, select Workflow Task (SharePoint 2013) and add the column to the content type along with the:&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask04.png" /&gt;&lt;/p&gt;
&lt;p&gt;There's one more important step you need to do before you use this task content type you've created. All workflow tasks are going to be created within a specific task list within the app. If that list doesn't allow for your new content type to be used, you'll get a runtime issue that throws an &lt;code&gt;ArgumentException&lt;/code&gt; on your content type ID. I like to address this by adding an &lt;strong&gt;Empty Element&lt;/strong&gt; to my project and use the &lt;code&gt;ContentTypeBinding&lt;/code&gt; option within the element manifest to bind our custom content type ID to our workflow task like so:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;
  
  &amp;lt;!-- bind custom task to workflow task list --&amp;gt;
  &amp;lt;ContentTypeBinding ListUrl="Lists/WorkflowTaskList"
      ContentTypeId="0x0108003365C4474CAE8C42BCE396314E88E51F00404DE3BCDECF4310BEBC2593136E13F4"/&amp;gt;
      
&amp;lt;/Elements&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Update the &lt;strong&gt;SimpleTask&lt;/strong&gt; activity so that it uses the new content type you just created. Notice that there are only two options in this dialog. Only tasks of type &lt;strong&gt;Workflow Task (SharePoint 2013) &lt;/strong&gt;are available. When you run the workflow and look at the task created in edit mode, you'll see your new column!&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask05.png" /&gt;&lt;br /&gt;&lt;img class="imagePopup" src="http://assets.andrewconnell.com/media/Default/Misc/WorkflowCustomTask06.png" width="550" /&gt;&lt;/p&gt;
&lt;p&gt;This was simple enough. In my &lt;a href="http://www.andrewconnell.com/blog/SP2013-Workflow-Custom-Task-Outcomes"&gt;next post I'll build off this and I'll show you a little bug in the workflow engine&lt;/a&gt; and how to work around it.&lt;/p&gt;
&lt;p&gt;Want the code for this sample? Come and get it: &lt;a href="http://assets.andrewconnell.com/media/Default/Downloads/SP2013Wf-CustomTasks.zip"&gt;SP2013Wf-CustomTasks.zip&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=loocf1kpE54:Qaa-kip9a84:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=loocf1kpE54:Qaa-kip9a84:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=loocf1kpE54:Qaa-kip9a84:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=loocf1kpE54:Qaa-kip9a84:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/loocf1kpE54" height="1" width="1"/&gt;</description><pubDate>Fri, 12 Apr 2013 16:15:00 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/sharepoint-2013-workflow-custom-tasks</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/sharepoint-2013-workflow-custom-tasks</feedburner:origLink></item><item><title>My Thoughts: InfoPath 2013 &amp; the Future of InfoPath</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/mAWUiPy8j_8/my-thoughts-infopath-2013-the-future-of-infopath</link><description>&lt;p&gt;&lt;em&gt;"What's your take on InfoPath 2013... do you recommend it?"&lt;/em&gt; Man I get this question a *ton*. &lt;a href="https://twitter.com/timmayo/status/321949748519112704" target="_blank"&gt;Yesterday I got it again on Twitter&lt;/a&gt; and finally decided I needed a place to point people. If you want the jist of it, scroll to the bottom and see my summary.&lt;/p&gt; &lt;h2&gt;Looking Back at InfoPath History &amp;amp; Where We Are Today&lt;/h2&gt; &lt;p&gt;InfoPath is a forms solution for Microsoft Office &amp;amp; the SharePoint platform and has been so for many releases. It is based on XML forms technology. Unfortunately the web market has moved beyond using XML for forms and onto other things, yet InfoPath has been stuck. With the Office 2007 release we saw a few big improvements related to InfoPath, specifically the ability to render them on the server as web pages available only to the top tier SharePoint Server Enterprise license. Then in the Office &amp;amp; SharePoint 2010 release we saw modest changes, specifically in the are of having two clients: one for designing &amp;amp; one for filling out forms. Finally in the latest Office &amp;amp; SharePoint 2013 release we saw very few improvements or changes. This has led many to ask the question I posed above.&lt;/p&gt; &lt;h2&gt;What has InfoPath been Used For?&lt;/h2&gt; &lt;p&gt;People use InfoPath for all kinds of forms solution. The one I like the most because it's pretty simple to implement is using it to create customized edit forms on lists. End users and site owners can quickly convert a list form to an InfoPath form for customizations. Another common use is within workflows, but this has always been very hard to implement. Developers know the pains in trying to simply deploy an InfoPath form with a workflow, much less getting it linked with the workflow.&lt;/p&gt; &lt;h2&gt;Where is InfoPath Going?&lt;/h2&gt; &lt;p&gt;This is the primary reason I don't recommend InfoPath to people. From my point of view, &lt;strong&gt;the future is unclear at best, realistically pessimistic and a dead-end at worst&lt;/strong&gt;. When you ask Microsoft about the future of InfoPath, they always seem to divert the question, point you to Access Services in SharePoint 2013 or say you can still do everything you did in Office &amp;amp; SharePoint 2013. When you couple this with the fact that there really are no improvements or changes in InfoPath in the latest release, either on the desktop or in the browser... you hardly have a confidence in the future.&lt;/p&gt; &lt;h2&gt;What this Says to Me?&lt;/h2&gt; &lt;p&gt;I'm not announcing or predicting the death of InfoPath in anyway nor do I have anything against the product. I sort of look at it in a similar way as I look as Silverlight or Windows Home Server... two products which I loved. &lt;strong&gt;Regardless of how good the product is today, if the future for it looks dim, cloudy, questionable or pessimistic, I'm going to look to other solutions. &lt;/strong&gt;I don't want to build/recommend something that has a very high chance of bring moot and having to be rebuilt in the short foreseeable future. No coincidence &lt;strong&gt;this is exactly how I look at the social story in SharePoint: there's no way I'll do any work or invest much time in the social features that ship with SharePoint 2013&lt;/strong&gt;... rather I'll either hold off or stick with Yammer as the newsfeed has been clearly given a feeding tube that will eventually run empty.&lt;/p&gt; &lt;h2&gt;Summary&lt;/h2&gt; &lt;p&gt;What the short and sweet version? Read the below. If you want more on some of my thinking, read the rest of the post above.&lt;/p&gt; &lt;dl&gt; &lt;dt&gt;&lt;strong&gt;What's your opinion on InfoPath 2013?&lt;/strong&gt;&amp;nbsp; &lt;dd&gt;I do not use InfoPath any more &amp;amp; I do not recommend people use InfoPath going forward.  &lt;dt&gt;&lt;strong&gt;Why not?&lt;/strong&gt;  &lt;dd&gt;Historically it was great for simple forms, but complex ones got messy fast. Worst of all, Microsoft has shown no commitment to the future of InfoPath.  &lt;dt&gt;&lt;strong&gt;Then what do you recommend?&lt;/strong&gt;  &lt;dd&gt;There are plenty of options on the market. First, I'd look to use ASPX pages to do your forms. There are tons of free libraries out there to make it easy to style them (&lt;a href="http://twitter.github.io/bootstrap/base-css.html#forms" target="_blank"&gt;such as Bootstrap&lt;/a&gt;) along with lots of JavaScript libraries to make them interactive in the browser. If you need any custom logic, write custom code.  &lt;dt&gt;&lt;strong&gt;But that means I need a developer! I want my users to build forms.&lt;/strong&gt;  &lt;dd&gt;Common counter point and I fully agree... very valid. You need to buy something in my opinion and the best option on the market in my eyes is &lt;a href="http://www.nintex.com/en-US/Products/Pages/NintexForms.aspx" target="_blank"&gt;Nintex Forms&lt;/a&gt;, hands down. The vast majority of forms need to have some workflow behind them and it works great with the popular &lt;a href="http://www.nintex.com/en-US/Products/Pages/NintexWorkflow.aspx" target="_blank"&gt;Nintex Workflow&lt;/a&gt;. &lt;em&gt;Note: I get no kickback for saying this... I just prefer their solution but I'm open to looking at other options.&lt;/em&gt; &lt;dt&gt;&lt;strong&gt;We are heavy users of InfoPath and have current projects using it. Should we stop?&lt;/strong&gt; &lt;dd&gt;Classic SharePoint answer: it depends. I certainly would not recommend any major future investments with InfoPath but I also wouldn't start ripping everything up and starting over building ASPX pages. As Microsoft has said: it works today. I don't think they have thrown the towel in on electronic forms so assuming they are working on something or will work on something, I'll put a safe bet on the fact there will be some sort of migration plan.&lt;/dd&gt;&lt;/dl&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=mAWUiPy8j_8:BHogfChpEeA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=mAWUiPy8j_8:BHogfChpEeA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=mAWUiPy8j_8:BHogfChpEeA:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=mAWUiPy8j_8:BHogfChpEeA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/mAWUiPy8j_8" height="1" width="1"/&gt;</description><pubDate>Thu, 11 Apr 2013 13:12:40 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/my-thoughts-infopath-2013-the-future-of-infopath</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/my-thoughts-infopath-2013-the-future-of-infopath</feedburner:origLink></item><item><title>I'm Presenting at the SharePoint Evolutions Conference 2013 Next Week @spevo13</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/uiQ3k_yRl8w/i-m-presenting-at-the-sharepoint-evolutions-conference-2013-next-week-spevo13</link><description>&lt;p&gt;&lt;a href="http://www.sharepointevolutionconference.com/" target="_blank"&gt;&lt;img class="imageRight" src="http://assets.andrewconnell.com/media/Default/Event/2013SharePointEvolutions.png"&gt;&lt;/a&gt;I love this conference! Next week the &lt;a href="http://www.sharepointevolutionconference.com/" target="_blank"&gt;SharePoint Evolutions Conference 2013&lt;/a&gt; will be held in London over the course of three days. This conference always holds the best attendees, content, speakers and discussions... it raises the bar for everyone else. At this show I'm involve in three sessions, but technically I'm really only doing two sessions&lt;/p&gt; &lt;h2&gt;Session #1: SharePoint 2013 &amp;amp; Workflow&lt;/h2&gt; &lt;p&gt;On &lt;strong&gt;Monday from 2:45p - 3:45p&lt;/strong&gt; I'm presenting &lt;a href="http://www.sharepointevolutionconference.com/abstracts.html#dev204" target="_blank"&gt;&lt;strong&gt;DEV204 - Workflow: Real World Workflows with Visual Studio 2012, Workflow Manager and Web Services&lt;/strong&gt;&lt;/a&gt; which is described as follows:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;In this session we'll explore what's new with workflow in SharePoint 2013 from an architecture, capability &amp;amp; development perspective. You’ll learn how the SharePoint 2013 now relies on Workflow Manager, both on-premises and in the cloud, top provide a much more reliable and scalable workflow platform. We’ll explore new capabilities such as loops, web service calls and the new DynamicValue data type. In addition you'll also learn how to create, deploy and leverage custom workflow forms, tasks and events.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I have a bunch of demos that will show you tons of things. We'll also look at what's new with the latest updates to Service Bus 1.0, Workflow Manager 1.0, SharePoint 2013 and the developer tools that have come out over the last few months in February and March Cumulative Updates &amp;amp; Public Updates. You'll see how to create custom forms (association &amp;amp; initiation), how to use the workflow CSOM, how to publish custom events to your workflows in flight, how to create custom tasks with custom outcomes, how to create state machine, sequential and flow chart workflows and how to call &amp;amp; parse web service requests.&lt;/p&gt; &lt;h2&gt;Session #2: SharePoint 2013, SharePoint Hosted Apps &amp;amp; Single Page Apps&lt;/h2&gt; &lt;p&gt;The on Tuesday, &lt;a href="http://www.sharepointevolutionconference.com/speakers.html#benrobb" target="_blank"&gt;Ben Robb&lt;/a&gt; &amp;amp; I will "co-present" two sessions back to back from &lt;strong&gt;1:45p - 2:45p&lt;/strong&gt; &amp;amp; &lt;strong&gt;3:00p - 4:00p&lt;/strong&gt; on the following: &lt;a href="http://www.sharepointevolutionconference.com/abstracts.html#pnm309" target="_blank"&gt;&lt;strong&gt;P&amp;amp;M309&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &amp;amp; &lt;/strong&gt;&lt;a href="http://www.sharepointevolutionconference.com/abstracts.html#pnm310" target="_blank"&gt;&lt;strong&gt;P&amp;amp;M310 - Building a Learning Management System in SharePoint 2013, Office 2013 &amp;amp; Windows 8&lt;/strong&gt;&lt;/a&gt; which is described as follows:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;SharePoint 2013, office 2013 and Windows 8 have been finalized and in the public's hands for a few months now. In this series of presentations you'll see how to incorporate all these products to create a unified user experience by building a learning management system. In part 1 Andrew will show you how to create the management portion using SharePoint, Windows Azure to create new learning paths with actions for participants to perform &amp;amp; check off to earn a certificate. In Part 2 Ben will also show you how to create the end user experience. Users will be able to enroll in a learning path and progress through the various learning items using SharePoint or Windows 8.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I put the "co-present" in quotes because it is really a two-part session that goes together... I'm presenting the first part (creating &amp;amp; managing Learning Paths with Learning Items in a SharePoint App and Azure hosted service) and Ben shows how to consume &amp;amp; interact with it in the second part of the session. We did this session as a single session (referred to as "Beyond the Boundary") &lt;a href="http://www.andrewconnell.com/blog/SharePoint-Conference-2012-Session-Wrapup" target="_blank"&gt;at the SharePoint Conference 2012 last fall&lt;/a&gt; but we were crunched into a single timeslot. For this one I've completely rebuilt my management app. &lt;strong&gt;My management app is built as a SharePoint Hosted App in SharePoint 2013&lt;/strong&gt; and &lt;strong&gt;leverages workflows&lt;/strong&gt; for some custom back-end logic. In this session you'll learn something else quite cool: &lt;strong&gt;how to build a single page app&lt;/strong&gt; (referred to these days as a SPA) &lt;strong&gt;in SharePoint&lt;/strong&gt;. You might have heard of these techniques or seen the likes of &lt;a href="http://www.johnpapa.net" target="_blank"&gt;John Papa&lt;/a&gt; evangelize the technique. I'm using all kinds of external libraries for lifecycle management, UX, animations and such to show you how to build a real responsive and flexible application in a single app very quickly!&lt;/p&gt; &lt;p&gt;Both presentations are developer sessions and I promise to be &lt;strong&gt;minimal on slides&lt;/strong&gt; and &lt;strong&gt;very heavy on working demos&lt;/strong&gt;. At the start of both sessions attendees will get a link to download all the demos so you can follow along without worrying about scribbling notes or just to take away for later reference!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=uiQ3k_yRl8w:3o_1aU_11EA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=uiQ3k_yRl8w:3o_1aU_11EA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=uiQ3k_yRl8w:3o_1aU_11EA:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=uiQ3k_yRl8w:3o_1aU_11EA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/uiQ3k_yRl8w" height="1" width="1"/&gt;</description><pubDate>Thu, 11 Apr 2013 10:31:47 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/i-m-presenting-at-the-sharepoint-evolutions-conference-2013-next-week-spevo13</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/i-m-presenting-at-the-sharepoint-evolutions-conference-2013-next-week-spevo13</feedburner:origLink></item><item><title>My MSDN SharePoint 2013 Workflow Samples Updated</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/UlcsHlMgoeY/my-msdn-sharepoint-2013-workflow-samples-updated</link><description>&lt;p&gt;Back in &lt;a href="http://www.andrewconnell.com/blog/SP2013-Workflow-Sandles" target="_blank"&gt;August 2012 I published&lt;/a&gt;, via the &lt;a href="http://social.msdn.microsoft.com/profile/microsoft%20office%20developer%20documentation%20team/?ws=usercard-inline" target="_blank"&gt;MSDN Office Developer Documentation Team&lt;/a&gt;, two workflow samples that showed how to build a workflow using Visual Studio 2012 that called an external web service and updated a list item as well as how to encapsulate this within a custom activity. I recently updated these two samples and they were republished this week.&lt;/p&gt;
&lt;p&gt;Previously people had issues with the samples because they were written with pre-beta SharePoint 2013 / Workflow Manager / Visual Studio 2012 / Office &amp;amp; SharePoint 2013 Developer Tools. The samples are updated to use the latest and greatest stuff and are based on the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SharePoint 2013 RTM + the March 2013 Public Update applied&lt;/li&gt;
&lt;li&gt;Service Bus 1.0 RTM + the February 2013 Cumulative Update applied&lt;/li&gt;
&lt;li&gt;Workflow Manager 1.0 RTM + the February 2013 Cumulative Update applied&lt;/li&gt;
&lt;li&gt;Visual Studio 2012 RTM + Update 2 applied&lt;/li&gt;
&lt;li&gt;Office Developer Tools (RTM) for Visual Studio 2012&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;If you're looking for links to these downloads, &lt;a href="http://www.andrewconnell.com/blog/Updates-For-SP2013-Workflow" target="_blank"&gt;check out this post where I go through all the recent updates&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here are the two samples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/officeapps/SharePoint-2013-workflow-48ea87d4"&gt;&lt;strong&gt;SharePoint 2013 workflow: Call an External Web Service&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Learn how to use Visual Studio 2012 to create a SharePoint 2013 workflow that calls an external web service. When calling the web service, the sample workflow also makes use of the new DynamicValue data type.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/officeapps/SharePoint-2013-workflow-41e5c0f9"&gt;&lt;strong&gt;SharePoint 2013 workflow: Create a Custom Action&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;- Learn how to use Visual Studio 2012 to create a SharePoint 2013 workflow that uses a custom actions and calls an external web service. When calling the web service, the sample workflow makes use of the new DynamicValue data type.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also have a bunch of additional samples that are currently being updated as well and will demonstrate a lot more stuff... stay tuned for another update, hopefully in a week, for details on those.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=UlcsHlMgoeY:uEdfi3ks7Ms:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=UlcsHlMgoeY:uEdfi3ks7Ms:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=UlcsHlMgoeY:uEdfi3ks7Ms:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=UlcsHlMgoeY:uEdfi3ks7Ms:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/UlcsHlMgoeY" height="1" width="1"/&gt;</description><pubDate>Wed, 10 Apr 2013 14:05:00 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/my-msdn-sharepoint-2013-workflow-samples-updated</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/my-msdn-sharepoint-2013-workflow-samples-updated</feedburner:origLink></item><item><title>Updates for SharePoint 2013 Workflow</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/P2lkgdxNots/Updates-For-SP2013-Workflow</link><description>&lt;p&gt;Over the last two months we've seen a LOT of updates and improvements to workflow development for SharePoint 2013. Recently &lt;a href="http://blogs.msdn.com/482877/ProfileUrlRedirect.ashx"&gt;Grace Kochavi&lt;/a&gt; from the SharePoint workflow team published a post on the &lt;a href="http://blogs.msdn.com/b/officeapps"&gt;Apps for Office &amp;amp; SharePoint Blog&lt;/a&gt; that talks about a bunch of the updates and then walks you through creating a workflow (&lt;a href="http://blogs.msdn.com/b/officeapps/archive/2013/03/27/sharepoint-workflow-development-with-office-developer-tools-for-visual-studio-2012.aspx"&gt;SharePoint Workflow Development with Office Developer Tools for Visual Studio 2012&lt;/a&gt;). I don't want to rehash what Grace said, but I do want to add a few things I ran into (including one big show stopper that isn't in the current documentation that you MUST do in order to publish workflows within apps).&lt;/p&gt;
&lt;p&gt;There are two things you need to do. You first need to update your platform which includes Service Bus, Workflow Manager and SharePoint 2013, then you need run an extra PowerShell statement script and finally you need to update your developer tools.&lt;/p&gt;
&lt;h2&gt;Update Your Platform&lt;/h2&gt;
&lt;p&gt;There are quite a few things you need to do here. You're ultimately trying to update workflow within SharePoint 2013 which means updating the Workflow Manager 1.0 product and it's dependencies.&lt;/p&gt;
&lt;h3&gt;Update the SharePoint Dependencies&lt;/h3&gt;
&lt;p&gt;Because workflow is handled by &lt;strong&gt;Workflow Manager 1.0&lt;/strong&gt; which is dependent on &lt;strong&gt;Service Bus 1.0&lt;/strong&gt;, you need to install the two February CU's for both Service Bus 1.0 &amp;amp; Workflow Manager 1.0:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;February 2013 Cumulative Update for Service Bus 1.0&lt;/strong&gt;: &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=36794"&gt;KB2799752&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;February 2013 Cumulative Update for Workflow Manager 1.0&lt;/strong&gt;: &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=36800"&gt;KB2799754&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Two words of warning when you install Workflow Manager 1.0.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ensure you are logged in as the same admin account you used to install Workflow Manager 1.0 the first time (I set the service account for WM as a local admin on the box so I was logged in as that).&lt;/li&gt;
&lt;li&gt;When you run the CU installer, for me and many others, you'll see the installer seem to go away and appear complete. This isn't the case... it is still working in the background, but it isn't showing anything on the screen. Be patient and wait... after a few minutes (roughly 2-5 minutes for me) it will come back and say it succeeded.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To verify the installs completed correctly, you can check the file versions for both products.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For Service Bus, look in &lt;code&gt;C:\Program Files\Service Bus\1.0&lt;/code&gt; for the &lt;code&gt;Microsoft.Cloud.ServiceBus.dll&lt;/code&gt;. This should be version &lt;strong&gt;2.0.30207.2&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;For Workflow Manager, look in &lt;code&gt;C:\Program Files\Workflow Manager\1.0\Workflow\Artifacts&lt;/code&gt; for the &lt;code&gt;Microsoft.Workflow.Service.dll&lt;/code&gt; (*not* the EXE). This is the DLL that runs the workflow backend service. It should be version &lt;strong&gt;1.0.30207.2&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/SP2013WMFeb2013CU01.png" alt="" class="imagePopup" width="550" height="379" /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Or you can look in the &lt;strong&gt;Add Remove Programs&lt;/strong&gt; app, select &lt;strong&gt;View Installed Updates&lt;/strong&gt; and find both Service Bus 1.0 &amp;amp; Workflow Manager 1.0:&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/SP2013WMFeb2013CU02.png" alt="" class="imagePopup" width="550" height="156" /&gt;&lt;/div&gt;
&lt;h3&gt;Update SharePoint 2013 with the March 2013 Public Update&lt;/h3&gt;
&lt;p&gt;With the dependencies updated, the next thing you need to do is update SharePoint 2013. The update you need is the SharePoint 2013 March 2013 PU (&lt;a href="http://blogs.technet.com/b/stefan_gossner/archive/2013/03/21/common-question-what-is-the-difference-between-a-pu-a-cu-and-a-cod.aspx"&gt;PU vs. CU?&lt;/a&gt;). Both &lt;a href="http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=398"&gt;Todd Klindt&lt;/a&gt; and &lt;a href="http://www.wictorwilen.se/office-web-apps-2013-patching-your-wac-farm-with-no-downtime"&gt;Wictor Wilen&lt;/a&gt; do a good job with guidance here (take note of the &lt;a href="http://blogs.technet.com/b/tothesharepoint/archive/2013/03/13/how-to-install-update-packages-on-a-sharepoint-farm-where-search-component-and-high-availability-search-topologies-are-enabled.aspx"&gt;search&lt;/a&gt; and &lt;a href="http://www.wictorwilen.se/office-web-apps-2013-patching-your-wac-farm-with-no-downtime"&gt;WAC&lt;/a&gt; stuff they talk about).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;March 2013 Public Update for SharePoint 2013&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SharePoint Foundation 2013&lt;/strong&gt;: &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=36987"&gt;KB2768000&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SharePoint Server 2013&lt;/strong&gt;: &lt;a href="http://www.microsoft.com/en-US/download/details.aspx?id=36989"&gt;KB2767999&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Note you only need the server PU if you have server... it includes everything the SPF one has.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Special Note about Workflow Changes in the SharePoint 2013 March 2013 Public Update&lt;/h3&gt;
&lt;p&gt;The way workflows are deployed within apps has changed from SharePoint 2013 RTM to how they are deployed after this Public Update. In SharePoint 2013 RTM When a workflow was deployed in a SharePoint app, they were deployed using WSP's. In the SharePoint 2013 March 2013&amp;nbsp;Public&amp;nbsp;pdate they are now deployed using this thing called a deployment group (I'm sparing you the details, but it's an internal thing to the app deployment that's new in SharePoint 2013). The challenge is that this deployment group doesn't exist after installing all the PU... it's something you need to create.&lt;/p&gt;
&lt;blockquote&gt;The omission of this step is likely an oversight on the SharePoint 2013 March PU installation script or instructions. I've spoken to the product team who confirmed this needs to be done and will update the instructions accordingly.&lt;/blockquote&gt;
&lt;p&gt;If you don't have this deployment group, you will get an error when you try to deploy an app that includes a workflow... specifically "&lt;strong&gt;There is no Workflow App Part registered&lt;/strong&gt;". This happens both in production as well as in development. You don't get this error if you include the workflow in a farm or sandbox solution.&lt;/p&gt;
&lt;p&gt;In order to create the deployment group you need to call &lt;code&gt;RegisterWorkflowLifecycleManagementEnvironment()&lt;/code&gt; on the Workflow Manager Service service app proxy in order to register a new Workflow Deployment Group provider that knows how to unpack &amp;amp; deploy workflows included in an app. So from a SharePoint Management Shell, run this script:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;&lt;code&gt;$WmsSap = Get-SPWorkflowServiceApplicationProxy
$WmsSap.RegisterWorkflowLifecycleManagementEnvironment()&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Update Your Developer Tools&lt;/h2&gt;
&lt;p&gt;Last but not least, make sure you update your SharePoint 2013 developer tools to the RTM tools! There are a ton of changes in the workflow development pieces in these tools, &lt;a href="http://www.andrewconnell.com/blog/Workflow-Improvements-Changes-SP2013-March-PU-and-RTM-Developer-Tools"&gt;something I discuss more in this post&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;S.Somasgar: &lt;a href="http://blogs.msdn.com/b/somasegar/archive/2013/03/04/now-available-office-developer-tools-for-visual-studio-2012.aspx"&gt;Now Available: Office Developer Tools [RTM] for Visual Studio 2012&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can install these RTM tools directly over the Preview 2 from the Web Platform Installer, or using this shortcut link: &lt;a href="http://aka.ms/OfficeDevToolsForVS2012"&gt;http://aka.ms/OfficeDevToolsForVS2012&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note that any workflows you created using the Preview 2 tools will need to be updated as there were quite a few changes &amp;amp; improvements to activities as well as the deployment and packaging process within apps. &lt;a href="http://www.andrewconnell.com/blog/Workflow-Improvements-Changes-SP2013-March-PU-and-RTM-Developer-Tools"&gt;I discuss some of those things in this post&lt;/a&gt;. To make things easier, the workflow team provides a tool available through CodePlex that will help in updating your projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CodePlex: &lt;a href="http://wfconverter.codeplex.com/"&gt;SharePoint 2013 Workflow Converter for Visual Studio 2012&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="edit"&gt;&amp;nbsp;&amp;nbsp;
&lt;p class="timestamp"&gt;April 4,&amp;nbsp;2013&lt;br /&gt;10:30&amp;nbsp;AM&lt;/p&gt;
&amp;nbsp;&amp;nbsp;
&lt;p&gt;Fixed two typos from the original post: (1) PowerShell script referred to "Get-SPWorkflowApplicationProxy" when it should be "Get-SPWOrkflow&lt;strong&gt;Service&lt;/strong&gt;ApplicationProxy" and (2) changed "Product Update" to "Public Update"&lt;/p&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=P2lkgdxNots:NRz1atj_f5s:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=P2lkgdxNots:NRz1atj_f5s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=P2lkgdxNots:NRz1atj_f5s:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=P2lkgdxNots:NRz1atj_f5s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/P2lkgdxNots" height="1" width="1"/&gt;</description><pubDate>Thu, 04 Apr 2013 13:42:00 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/Updates-For-SP2013-Workflow</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/Updates-For-SP2013-Workflow</feedburner:origLink></item><item><title>Workflow Improvements and Changes in SharePoint 2013 March PU + RTM Developer Tools</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/KaGxgvHsg4c/Workflow-Improvements-Changes-SP2013-March-PU-and-RTM-Developer-Tools</link><description>&lt;p&gt;Usually when you see product go from a beta (or in the case for the workflow tooling, Preview 2) to RTM or from RTM to one of the first updates (as in the case for Workflow and SharePoint's cumulative updates) you usually don't see much in the way of new features or big changes. To me it usually means you get performance tweaks, bug fixes and a lot of fit &amp;amp; finish. However as someone who spent a lot of time with workflow in the pre RTM days, I'm very happy with the changes and improvements to the tooling and platform with these three big updates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Workflow Manager February 2013 Cumulative Update&lt;/li&gt;
&lt;li&gt;SharePoint 2013 March 2013&amp;nbsp;Public&amp;nbsp;Update&lt;/li&gt;
&lt;li&gt;Visual Studio 2012 SharePoint &amp;amp; Office 2013 Developer Tools RTM&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let me go through a few of the updates that are important and made an impact on me.&lt;/p&gt;
&lt;h2&gt;Deployment Process&lt;/h2&gt;
&lt;p&gt;Prior to the SharePoint 2013 March PU, workflows were deployed to SharePoint using the WSP model. Workflows could be included both in solution packages (WSP's) and in apps. Within apps they were still deployed in WSPs which are included within apps.&lt;/p&gt;
&lt;p&gt;However in the SharePoint 2013 March PU, workflows are now given their own deployment model (called deployment groups within the extensibility model). You'll notice this pretty quick when you go to create your first one using the RTM tools as &lt;strong&gt;you won't see an&lt;/strong&gt; &lt;code&gt;elements.xml&lt;/code&gt; &lt;strong&gt;file within the workflow SharePoint Project Item (SPI)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;There's a little trick to this though. You might find yourself getting this nasty and incredibly annoying error when you try to test your workflow from Visual Studio 2012 if you're including it within an app. The deployment error happens when Visual Studio tries to install the app. It fails with the message "&lt;strong&gt;There is no Workflow App Part registered&lt;/strong&gt;". The problem is that SharePoint doesn't have the deployment group for the workflow registered.&lt;/p&gt;
&lt;blockquote&gt;The omission of this step is likely an oversight on the SharePoint 2013 March PU installation script or instructions. I've spoken to the product team who confirmed this needs to be done and will update the instructions accordingly.&lt;/blockquote&gt;
&lt;p&gt;What you need to do is run a method on the Workflow Service Manager service application proxy and then you can deploy your workflows using an app. Use the following PowerShell to register the deployment group:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;&lt;code&gt;$WmsSap = Get-SPWorkflowServiceApplicationProxy
$WmsSap.RegisterWorkflowLifecycleManagementEnvironment()&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;Note: You need to do this in production&amp;hellip; this isn't just a development machine thing.&lt;/blockquote&gt;
&lt;h2&gt;No More Warnings in Activities&lt;/h2&gt;
&lt;p&gt;I got so many questions before the RTM of the developer tools about all the warnings you'd see in the designer but you could seemingly ignore them. No more&amp;hellip; what the team did was change the workflow activity assembly references in the workflow source (XAML) to point to a new design-time proxy assembly instead of the actual SharePoint activities.&lt;/p&gt;
&lt;h3&gt;List &amp;amp; List Item Related Activity Improvements&lt;/h3&gt;
&lt;p&gt;If you didn't do anything with workflow in the early developer tools&amp;hellip; anything before the RTM tools&amp;hellip; skip this section and move to the next section. Why? In the pre-RTM tools you frequently had to grab the IDs of the list and item that kicked off the workflow. Check out these new options in some popular activities&amp;hellip; woot!!!&lt;/p&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/SP2013WMDevToolUpdate01.png" alt="" width="359" height="270" /&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/SP2013WMDevToolUpdate02.png" alt="" width="331" height="233" /&gt;&lt;/div&gt;
&lt;h2&gt;Workflow Forms&lt;/h2&gt;
&lt;p&gt;Another tremendous improvement is in the area of forms (although I have found two little documentation bugs in the templates). Let me first explain how this worked in pre-RTM tools.&lt;/p&gt;
&lt;h2&gt;Pre-RTM Workflow Developer Tools&lt;/h2&gt;
&lt;p&gt;In pre-RTM tools you only had a single template for an initiation form. It worked just fine. This template would only show up when you right-clicked the SPI that contained the workflow and selected &lt;strong&gt;Add &amp;raquo; New Item&lt;/strong&gt; because the &lt;strong&gt;Add New Item&lt;/strong&gt; wizard knew the context was workflow so it showed workflow specific templates among others (the same is true in the RTM tools when adding an association form). This new form would be placed within the workflow SPI in your Visual Studio project. This meant the form would be placed in some super-secret document library that stored the workflow as well.&lt;/p&gt;
&lt;p&gt;After adding the form you would find a comment that would tell you that you needed to modify the workflow's element manifest file (&lt;code&gt;element.xml&lt;/code&gt;) in order to let the workflow know there was an initiation form and the URL where it is located.&lt;/p&gt;
&lt;h2&gt;RTM Workflow Developer Tools&lt;/h2&gt;
&lt;p&gt;So how have things changed? First, the easy one&amp;hellip; while we could create association forms in pre-RTM tools, it was a manual process and we had to write a lot of JavaScript because there was no template. However &lt;strong&gt;in the RTM tools we now have an association form project item template&lt;/strong&gt;! This includes all the JavaScript that's needed to create the task &amp;amp; history list if specified for the new association. You just need to add in the extra arguments as form fields, tweak the UI accordingly, and update the JavaScript to include the form values. I've got another post I'm working on for creating forms, including association forms.&lt;/p&gt;
&lt;p&gt;Second, one of the challenges was collecting the form variables that were sent via a HTTP POST from the first step in creating a workflow association (the name, the template selected, if a task &amp;amp; history list was to be created or reused, how it starts, etc.). Because we're limited to client-side script, we couldn't get these values from an HTTP POST. In the latest tools the association form template includes a SharePoint server control &lt;code&gt;&amp;lt;WorkflowServices:WorkflowAssociationFormContextControl runat="server" /&amp;gt;&lt;/code&gt; that collects these values for you and writes them to the page as hidden form fields.&lt;/p&gt;
&lt;p&gt;Third, with the change to the way how workflows are deployed to SharePoint when included in Apps (&lt;em&gt;see deployment groups in the "Deployment Process" section above&lt;/em&gt;), we no longer have an element manifest file in a workflow SPI. Therefore, when you add a form to the workflow (initiation or association), the ASPX pages are placed in the &lt;strong&gt;Pages&lt;/strong&gt; Module SPI within your app project. The way you associate these pages to the workflow is by selecting the workflow SPI and modifying the properties using the properties window, as shown below.&lt;/p&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="http://assets.andrewconnell.com/media/Default/Misc/SP2013WMDevToolUpdate03.png" alt="" width="417" height="497" /&gt;&lt;/div&gt;
&lt;p&gt;What's a little strange is both the association and initiation form templates still include the ASP.NET comment telling you to uncomment the properties in the workflow element manifest file to point to the correct form URL. This isn't necessary because (1) the Add New Item wizard updates the properties on the workflow SPI with the values and (2) there is no such thing as an element manifest file with the workflow SPI (&lt;em&gt;see deployment groups in the "Deployment Process" section above&lt;/em&gt;).&lt;/p&gt;
&lt;div class="edit"&gt;&amp;nbsp;&amp;nbsp;
&lt;p class="timestamp"&gt;April 4,&amp;nbsp;2013&lt;br /&gt;10:30&amp;nbsp;AM&lt;/p&gt;
&amp;nbsp;&amp;nbsp;
&lt;p&gt;Fixed two typos from the original post: (1) PowerShell script referred to "Get-SPWorkflowApplicationProxy" when it should be "Get-SPWOrkflow&lt;strong&gt;Service&lt;/strong&gt;ApplicationProxy" and (2) changed "Product Update" to "Public Update"&lt;/p&gt;
&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=KaGxgvHsg4c:tV-jp5_qqjk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=KaGxgvHsg4c:tV-jp5_qqjk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=KaGxgvHsg4c:tV-jp5_qqjk:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=KaGxgvHsg4c:tV-jp5_qqjk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/KaGxgvHsg4c" height="1" width="1"/&gt;</description><pubDate>Thu, 04 Apr 2013 13:42:00 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/Workflow-Improvements-Changes-SP2013-March-PU-and-RTM-Developer-Tools</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/Workflow-Improvements-Changes-SP2013-March-PU-and-RTM-Developer-Tools</feedburner:origLink></item><item><title>My Blog: Comments are Re-Enabled on Article Pages</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/sPIILpL4UP8/my-blog-comments-are-re-enabled-on-article-pages</link><description>&lt;p&gt;When I launched my blog, &lt;a href="http://www.andrewconnell.com/blog/my-blog-is-now-on-orchard-hosted-in-azure-and-redesigned" target="_blank"&gt;I had comments disabled for the time being&lt;/a&gt;. The reason for this was that I was migrating all the comments from being stored in my engine to being stored and managed by a 3rd party service. After launch I got all the comments imported into the service I'm using (&lt;a href="http://www.disqus.com/" target="_blank"&gt;Disqus&lt;/a&gt;), but I was still having issues with comments showing up on my &lt;a href="http://www.andrewconnell.com/Articles" target="_blank"&gt;articles&lt;/a&gt;. Happy to say I finally got that sorted out.&lt;/p&gt; &lt;p&gt;What I had to do was add the &lt;strong&gt;Comments&lt;/strong&gt; part in Orchard to the &lt;strong&gt;Page&lt;/strong&gt; content type, but then update the &lt;code&gt;placement.info&lt;/code&gt; file so that some pages (like the &lt;a href="http://www.andrewconnell.com/" target="_blank"&gt;homepage&lt;/a&gt;, &lt;a href="http://www.andrewconnell.com/About" target="_blank"&gt;about page&lt;/a&gt;, &lt;a href="http://www.andrewconnell.com/Articles" target="_blank"&gt;articles listing page&lt;/a&gt; and the &lt;a href="http://www.andrewconnell.com/Contact" target="_blank"&gt;contact form page&lt;/a&gt; among others) didn't have comments while real content pages (like my popular &lt;a href="http://www.andrewconnell.com/HOWTO-Configuring-Office-SharePoint-Server-2007-Publishing-Site-Dual-Authentication-Providers-Anonymous-Access" target="_blank"&gt;dual authentication&lt;/a&gt; &amp;amp; &lt;a href="http://www.andrewconnell.com/Creating-Custom-SharePoint-Timer-Jobs" target="_blank"&gt;timer job&lt;/a&gt; articles) did have comments. &lt;/p&gt; &lt;p&gt;Orchard makes removing parts of a page easy with the &lt;code&gt;placement.info&lt;/code&gt; file. The way you remove specific parts from specific pages in the &lt;code&gt;placement.info&lt;/code&gt; file is by using the URL match capability and simply telling the engine to take a specific part and remove it with the minus symbol, like so:&lt;/p&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;&amp;lt;Match Path="/About"&amp;gt;
  &amp;lt;Place Parts_Comments="-" /&amp;gt;
&amp;lt;/Match&amp;gt;
&amp;lt;Match Path="/Articles"&amp;gt;
  &amp;lt;Place Parts_Comments="-" /&amp;gt;
&amp;lt;/Match&amp;gt;
&amp;lt;Match Path="/Connect"&amp;gt;
  &amp;lt;Place Parts_Comments="-" /&amp;gt;
&amp;lt;/Match&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I really like Orchard's way to adding and removing parts to a page using this placement file. This update also included a lot of CSS fixes and other minor tweaks on the site. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;And yes, for those who've emailed me, I still plan on writing a series of posts on migrating to Orchard and hosting on Azure. I had hoped to have more published by now, but the paying jobs just get in the way (plus a little Spring Break vacation with the family in Turks and Caicos helped too!). At any rate, they are coming in the next few weeks... thanks for your patience!&lt;/em&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=sPIILpL4UP8:qe3mlgd_g7U:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=sPIILpL4UP8:qe3mlgd_g7U:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=sPIILpL4UP8:qe3mlgd_g7U:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=sPIILpL4UP8:qe3mlgd_g7U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/sPIILpL4UP8" height="1" width="1"/&gt;</description><pubDate>Wed, 03 Apr 2013 10:57:51 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/my-blog-comments-are-re-enabled-on-article-pages</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/my-blog-comments-are-re-enabled-on-article-pages</feedburner:origLink></item><item><title>Microsoft MVP Renewed for SharePoint Server - 9 Years Running!</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/sGrXKBWJ3Qw/microsoft-mvp-renewed-for-sharepoint-server---9-years-running</link><description>&lt;p&gt;Gotta love April 1st... this is my anniversary date for my MVP award. You never know if you're going to have an April Fool's joke pulled on you or not. Regardless, I got the email this weekend that I was renewed for my 9th year in the MVP program. My first two years were for Content Management Server (CMS) and when CMS was retired in favor of moving the feature set over to the SharePoint platform, I was transitioned over. Here we go for another year!&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=sGrXKBWJ3Qw:_6-C3E2AsJA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=sGrXKBWJ3Qw:_6-C3E2AsJA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=sGrXKBWJ3Qw:_6-C3E2AsJA:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=sGrXKBWJ3Qw:_6-C3E2AsJA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/sGrXKBWJ3Qw" height="1" width="1"/&gt;</description><pubDate>Mon, 01 Apr 2013 16:11:36 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/microsoft-mvp-renewed-for-sharepoint-server---9-years-running</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/microsoft-mvp-renewed-for-sharepoint-server---9-years-running</feedburner:origLink></item><item><title>My Blog: Comments are Re-Enabled</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/irYv0aZhRVg/my-blog-comments-are-re-enabled</link><description>&lt;p&gt;&lt;em&gt;I'm not sure if "re-enabled" is the correct way to say it considering they were never enabled on the new site, but they were most certainly enabled on the old site! &lt;/em&gt;&lt;/p&gt; &lt;p&gt;I had more than 5,400 comments on my blog over the last 9 years. My old blog engine did an ok job with it in that comments were logged in the database until I manually approved them. This worked at the beginning of my blogging venture, but two things happened: (1) more people started subscribing my blog and it started showing up in search results and (2) spam bots come to life. First &lt;a href="http://en.wikipedia.org/wiki/CAPTCHA" target="_blank"&gt;CAPTCHA&lt;/a&gt; came to life which tried to distinguish real people from bots by making you read a funky image and type in the correct characters. Users hated this, but it saved my blog. Still, stuff got through. Then &lt;a href="http://akismet.com/" target="_blank"&gt;Akismet&lt;/a&gt; came along which is a similar process as anti-virus scanning in the sense that it looks at a comment body and sees if it matches known heuristics that classify it as a spam comment. It does this by submitting to a well known service that flags it as ok, possible spam or rejects it for definite spam.&lt;/p&gt; &lt;p&gt;For a while &lt;a href="http://www.subtextproject.com/" target="_blank"&gt;SubText&lt;/a&gt; (&lt;a href="http://www.andrewconnell.com/blog/my-blog-is-now-on-orchard-hosted-in-azure-and-redesigned" target="_blank"&gt;my old blog engine&lt;/a&gt;) + Akismet worked well, but then all the sudden email broke in SubText and now I wasn't getting any notifications when comments came in. Plus, a LOT of stuff was getting logged. Over the last year I had a hard time staying on top of the comments, approving the good ones and responding to them because so much spam was coming in.&lt;/p&gt; &lt;p&gt;When I was looking to migrate my blog, I wanted to leverage some of the more popular external commenting engines so I naturally looked at a few like &lt;a href="http://www.disqus.com" target="_blank"&gt;Disqus&lt;/a&gt;. After some careful consideration, I decided to go with Disqus. I really like a lot of their features, plus they have an import process where I could migrate all the content to their engine. Some of the features that really stood out to me were:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Threaded Comments: &lt;/strong&gt;Before (on my old blog) comments were just a stream... but with Disqus I can have someone respond to a specific comment. &lt;em&gt;Note: you won't see this today on my blog because I didn't have relationships in my old comments so when I imported, everything came across as a flat thread. I considered, very briefly, to try to nest things, but then again, there were 5,4000+ comments.&lt;/em&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;White listed People: &lt;/strong&gt;If people are logged into Disqus, I can white list some known emails so I don't have to moderate each and every comment. Comments form those people just go straight through and get published.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Email Notifications &amp;amp; Management: &lt;/strong&gt;Disqus will notify me via email that a new comment was posted. Better yet, I can moderate the comment via email &amp;amp; even respond and they'll add it to the thread. VERY slick!&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Integration with Orchard: &lt;/strong&gt;There are two Orchard modules that integrate Disqus into Orchard. I'm using one of them and still trying to figure out some nuances, but it's minor. For instance there is a way to have Orchard import the comments from Disqus for showing some visualizations and also to have the comments be part of the search index.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Better User Features:&lt;/strong&gt; If you login to Disqus, you can subscribe to a thread and get email notifications... but it's completely up to you.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;There are a few issues I'm battling, but I thought I was in good enough shape to go live with the comments this morning. If you go to any blog post, &lt;a href="http://www.andrewconnell.com/blog/Introducing-the-SharePoint-Site-Collection-Keep-Alive-Job" target="_blank"&gt;like my keep alive utility post&lt;/a&gt;, you'll see a series of comments at the bottom of the post. I have a few "to-do" actions I need to resolve with the commenting, but I think I'm in a good enough state to go live. These issues include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Importing comments from Disqus back to Orchard to get into the search index.&lt;/li&gt; &lt;li&gt;Fix the visualizations &amp;amp; counts (if you look at the homepage it shows 0 comments &amp;amp; reactions for all posts which isn't correct).&lt;/li&gt; &lt;li&gt;Comments are only appearing for blog posts, not for my articles (&lt;a href="http://www.andrewconnell.com/Articles" target="_blank"&gt;an index is found here&lt;/a&gt;)... for instance, &lt;a href="http://www.andrewconnell.com/HOWTO-Configuring-Office-SharePoint-Server-2007-Publishing-Site-Dual-Authentication-Providers-Anonymous-Access" target="_blank"&gt;I know there are over 100 comments on this thread&lt;/a&gt;!&lt;/li&gt; &lt;li&gt;Fix some import issues... during the import it looks like 100 or so comments didn't get imported. I have a detailed log and I'll go back and see what's up with these and get them imported.&lt;/li&gt;&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=irYv0aZhRVg:qWmsPu_x52A:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=irYv0aZhRVg:qWmsPu_x52A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=irYv0aZhRVg:qWmsPu_x52A:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=irYv0aZhRVg:qWmsPu_x52A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/irYv0aZhRVg" height="1" width="1"/&gt;</description><pubDate>Fri, 22 Mar 2013 10:55:01 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/my-blog-comments-are-re-enabled</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/my-blog-comments-are-re-enabled</feedburner:origLink></item><item><title>My New Blog: Why Orchard as the Engine &amp; Azure as the Host?</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/WEifuhoQ5Fc/my-new-blog-why-orchard-as-engine-azure-as-host</link><description>&lt;p&gt;Ever since the &lt;a href="http://www.andrewconnell.com/blog/My-Blog-Engine-and-Design-has-Served-Me-Well-But-its-Time-for-a-Big-Change"&gt;original post when I said I was going to make the changes to my site&lt;/a&gt;, the number one question I kept hearing was "why Orchard" as the engine for the new site. Of course the next question I got is "why not SharePoint" and of course "why not Wordpress." I found it interesting was that no one asked "why Azure?" I guess that was the no brainer&amp;hellip;&lt;/p&gt;
&lt;h2&gt;Why Orchard?&lt;/h2&gt;
&lt;p&gt;I was very impressed with this engine. A good friend, &lt;a href="http://www.wictorwilen.se/"&gt;Wictor Wilen&lt;/a&gt;, relaunched his site using the same &lt;a href="http://www.orchardproject.net"&gt;Orchard&lt;/a&gt; engine a while back. That move by Wictor made me aware of Orchard as I hadn't heard about it before. I went into my research thinking this was a blog engine but I quickly realized it was a full blown CMS. Over the Christmas holiday the flu savaged our house one by one (I was in the emergency room on Christmas Day getting a chest x-ray for pneumonia). While I was stuck in bed I watched a bunch of videos from the &lt;a href="http://www.wictorwilen.se/"&gt;Orchard Fundamentals&lt;/a&gt; course in the &lt;a href="http://www.pluralsight.com"&gt;Pluralsight&lt;/a&gt; catalog. It was then where I was very impressed.&lt;/p&gt;
&lt;p&gt;I could go on and on about why I like it, but a few things stood out. First, I didn't write a single line of .NET code in the implementation of the site. Orchard, an ASP.NET MVC application, is built on the concept of modules that create many things. One of the things is a content type which consists of fields and parts. A part could be something as simple as a field or something complex. You then create content based off a content type, similar to how SharePoint works. When pages are rendered, the Orchard engine assembles the page requested and builds a shape tree. The layout of the page is divided into zones and a special placement file dictates what shapes should appear on the page and where they should go. Then each shape is rendered from an ASP.NET MVC view defined in a &lt;code&gt;*.cshtml&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;To build a custom theme, which I did, you essentially create your own &lt;code&gt;*.cshtml&lt;/code&gt; views which replace the ones that ship with the Orchard codebase or the 3rd party modules you acquire from the &lt;a href="http://gallery.orchardproject.net"&gt;Orchard Gallery&lt;/a&gt;. I didn't have a write a single like of .NET code. The only think I did was tweak a few MVC views (when you create one for a shape, it creates a copy from the base one so you have a starting point), and write a little bit of jQuery and CSS to handle some special styles. That's right&amp;hellip; I didn't build a single DLL!&lt;/p&gt;
&lt;p&gt;The more I dug into Orchard the more I not only liked it, but I was impressed with it. These guys have done a fantastic job and I'm looking forward to giving back by working on some of the documentation and a few customizations.&lt;/p&gt;
&lt;h3&gt;So Why not SharePoint / WordPress?&lt;/h3&gt;
&lt;p&gt;It was really more of a question of why vs. a why not. First, the reason I didn't use WordPress is because I wanted to stick with something that I knew I could customize and understand. WordPress is on PHP and I have zero interest in learning that. Yes, there are tons of modules, but I'd like something I know I can poke around in.&lt;/p&gt;
&lt;p&gt;Why not SharePoint? If I was going to use SharePoint, I'd want to do a full-blown Web Content Management (WCM) site with SharePoint 2013. The best parts of WCM aren't available in Office 365 which means I'd have to host it myself. That's a very expensive proposition for someone like me to stomach. Plus, I wanted to have my site be different than from what I traditionally do day in and day out.&lt;/p&gt;
&lt;p&gt;As you see&amp;hellip; these aren't negative things&amp;hellip; I just had different goals. A good friend of mine, &lt;a href="http://sharepointpromag.com/blog/dan-holmes-viewpoint-sharepoint-blog"&gt;Dan Holme&lt;/a&gt;, has a great saying "SharePoint doesn't matter. Business matters". Couldn't agree more!&lt;/p&gt;
&lt;h2&gt;Why Azure?&lt;/h2&gt;
&lt;p&gt;For the last 9 years I've been hosting my blog at various providers. All have been pretty good, but they are your classic shared website hosting providers. With these you get FTP access to your site and a minimalistic web control panel to do basic operations like permissions, manage virtual directories and manage the default files. If you want to restart your app pool, you need a service request. If you want a backup of your database, you have to issue a service request.&lt;/p&gt;
&lt;p&gt;I wanted to have my site 100% in the cloud and have enough control over it to be comfortable. Naturally I looked to Azure. With Azure I get everything I need plus more stuff and some great insight into how the server is doing. Plus, if necessary I can scale the site up &amp;amp; out very quickly and easily.&lt;/p&gt;
&lt;p&gt;While I have an Azure subscription with my MSDN subscription, I setup a commercial subscription because I didn't want to hit any quota limits that are put on the MSDN subscriptions. At first I was trying to use the a Web Role which worked fine, but right before I went live I switched over to the &lt;strong&gt;Azure Web Sites&lt;/strong&gt;. My site is running in &lt;strong&gt;Reserved&lt;/strong&gt; mode on a &lt;strong&gt;single Medium sized instance&lt;/strong&gt; (2 CPU cores, 3.5GB memory). I am going to play around with this in a week or two and try to see if I can get away with a single or pair of small instances, but for now I'm seeing a spike in traffic from people checking out the new site and from Google &amp;amp; Bing hammering away. With Azure Web Sites I have FTP access to the site and can even restart the site if I want to ensure the cache is completely flushed out. From my experience, the site is back up and responsive within 30-60 seconds.&lt;/p&gt;
&lt;p&gt;The database is hosted as a &lt;strong&gt;SQL Azure&lt;/strong&gt; database. I can easily connect to it from my laptop using the SQL Server Management Studio if I wanted. One thing I absolutely love is I can export / import the database as a data tier application (*.dacpak). The backup file is put in one of your Windows Azure Storage accounts where you can download &amp;amp; restore it locally&amp;hellip; very slick and great for local testing of some new stuff.&lt;/p&gt;
&lt;p&gt;In the past I've stored images &amp;amp; assets referenced in my blog in various places from Flickr to a folder off the root of my site to different folders in public Skydrive folders. I'm sick of that so now I'm putting these within an &lt;strong&gt;Azure Storage&lt;/strong&gt; account as blobs. Only a few posts and articles are using this so far as I need to go back and move everything over. This is going to take time but no images should be broken since everything is currently pulled from other cloud services.&lt;/p&gt;
&lt;p&gt;Last but not least is the email solution. I needed an email service for the &lt;a href="http://www.andrewconnell.com/contact"&gt;contact form&lt;/a&gt; on my site. For this I'm using the free version of &lt;strong&gt;&lt;a href="http://www.windowsazure.com/en-us/store/service/?id=f131eadb-7aa3-401a-a2fb-1c7e71f45c3c"&gt;SendGrid&lt;/a&gt;&lt;/strong&gt;, a Windows Azure offering that allows up to 25,000 emails for free per month. In Orchard I setup a rule that when the contact form is submitted, a copy is sent to me and the sender. That means I can do up to 12,500 emails per month for free. Let me be honest&amp;hellip; if that much mail is coming through my site, I'm shutting that form off :)&lt;/p&gt;
&lt;p&gt;So there you go&amp;hellip; now you know why I selected OrchardCMS as the engine as well as the why and what I'm using in Windows Azure for hosting. In future posts I'll write more about Orchard.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=WEifuhoQ5Fc:kVtN1LLMNRs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=WEifuhoQ5Fc:kVtN1LLMNRs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=WEifuhoQ5Fc:kVtN1LLMNRs:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=WEifuhoQ5Fc:kVtN1LLMNRs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/WEifuhoQ5Fc" height="1" width="1"/&gt;</description><pubDate>Wed, 20 Mar 2013 11:05:00 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/my-new-blog-why-orchard-as-engine-azure-as-host</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/my-new-blog-why-orchard-as-engine-azure-as-host</feedburner:origLink></item><item><title>My Blog is Now on Orchard, Hosted in Azure and Redesigned!</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/06a8Qddjl1o/my-blog-is-now-on-orchard-hosted-in-azure-and-redesigned</link><description>&lt;p&gt;A little over a month ago &lt;a href="http://www.andrewconnell.com/blog/My-Blog-Engine-and-Design-has-Served-Me-Well-But-its-Time-for-a-Big-Change"&gt;I blogged about how I was planning to re-launch my blog&lt;/a&gt;. This post is from the newly launched site! Before I say too much here I want to mention that I will be writing quite a few posts on the reasoning behind some decisions I made with the new site as well as how I did it. Since posting that I was making the move, I've received quite a few comments from folks on Twitter asking why and how so these posts will serve those answers.  &lt;p&gt;When I started blogging in September 2003 I was using an open source engine named .TEXT that was run by one guy. This engine developed quite a following and another small team took it over, forked the codebase and called it &lt;a href="http://www.subtextproject.com"&gt;SubText&lt;/a&gt;. I've been on SubText for over 9 years. While a good engine, the community has mostly dried up around SubText, the main guys behind it have lost interest / moved on and the engine has shown its age. As someone who lives in the content management system (CMS) space, I wanted a more robust and flexible engine. There are plenty of commercial off the shelf (COTS) products like &lt;a href="http://sharepoint.microsoft.com"&gt;SharePoint Web Content Management&lt;/a&gt;, &lt;a href="http://www.sitecore.net"&gt;Sitecore&lt;/a&gt; and &lt;a href="http://www.episerver.com/"&gt;Episerver&lt;/a&gt;, but for my blog I wanted to stick with something affordable to a single man shop, open source and something I could extend and tinker with.  &lt;p&gt;My new site, including the blog, is now run entirely off OrchardCMS (&lt;a href="http://www.OrchardProject.net"&gt;www.OrchardProject.net&lt;/a&gt;). Orchard has a strong community following and Microsoft even pays some people as their full time job to maintain. I wanted a few videos and poked around in late 2012 and was immediately impressed. I also moved this site from the shared hosting provider I was using after having a few issues with them (nothing specific to them, specific to the shared hosting space like the inability to recycle app pools or backup databases yourself). The site is now 100% hosted in the cloud using Windows Azure Web Sites, SQL Azure Databases and Windows Azure Storage… even the mail system is hosted in Azure (SendGrid).  &lt;p&gt;Another big change you'll notice when you browse to the site is that I gave the site a big facelift. I had a professional designer help with the layout and generating a HTML5 friendly &amp;amp; responsive design (so one theme it works from full screen on the biggest monitors down to the smallest smartphones) and I built the Orchard theme.  &lt;p&gt;The last really big change to the site is the URL structure…every single URL changed (yes… EVERY SINGLE ONE). Orchard has a module that helps with permanent redirects and I've done a lot of research so I don't hurt my Google/Bing search rankings. The new URLs are much more search friendly.  &lt;p&gt;Now for a short disclaimer and a "yes, I know that doesn't work": I still have countless things I'd like to do on the site. &lt;strong&gt;A few things are not operational just yet, the two biggest ones are that (1) the contact form for sending me email isn't working &amp;amp; (2) all comments are currently disabled. &lt;/strong&gt;I'm moving my comments to an external engine and the importing of the old comments is taking a bit longer than I had hoped. If you left a comment on my old blog after mid-February 2013 it won't come across (sorry!). Hopefully these two things will be resolved in short order.  &lt;p&gt;&lt;strong&gt;Broken links &amp;amp; images: &lt;/strong&gt;You might also notice some broken images here and there. Over the last 9 years I've been so inconsistent where I've put images referenced in articles &amp;amp; posts from Flickr to different Skydrive folders to a folder off the root of the site. Over the next few weeks/months I'll consolidate everything into a single bucket (Azure Storage). That process has already started for many posts.  &lt;p&gt;&lt;strong&gt;Code Samples: &lt;/strong&gt;In addition, I'm no longer using pictures for code samples (&lt;a href="http://www.andrewconnell.com/blog/SP2010-Managed-Metadata-Creating-Managed-Metadata-Columns"&gt;like the first picture in this post&lt;/a&gt;). I'm now using what Google Code &amp;amp; StackOverflow use, a Google Code project that does syntax highlighting elegantly (&lt;a href="http://code.google.com/p/google-code-prettify/"&gt;Prettify&lt;/a&gt;). You can see it in action in these posts &lt;a href="http://www.andrewconnell.com/Creating-Custom-SharePoint-Timer-Jobs"&gt;here&lt;/a&gt; and &lt;a href="http://www.andrewconnell.com/upgrading-a-site-collection-from-sharepoint-server-2007-wcm-to-sharepoint-2010"&gt;here&lt;/a&gt;). Fellow bloggers know how hard it is to deal with code in a blog post. Some utilities added a ton of markup to your code which made it nearly impossible to touch up. With Prettify you just drop your code in and put it either in the semantic CODE tag and apply a single CSS class. A JavaScript library then applies the styles on the fly. You can see what the source looks like if you jump to this page on timer jobs, view source &amp;amp; jump to lines 182-215. Not all posts are using this… I've only converted a few articles. Just like the migration of consolidating images &amp;amp; downloads this will take time but I will get things move over. What I need is an intern to help with this!  &lt;p&gt;I'll write a lot more about what I've said above and much more in future posts. All these posts will be tagged using the &lt;a href="http://www.AndrewConnell.com/Tags/Blogging"&gt;Blogging&lt;/a&gt; &amp;amp; &lt;a href="http://www.AndrewConnell.com/Tags/Orchard"&gt;Orchard&lt;/a&gt; tags on my site (I'll also create an index on the site as well). Stay tuned and until then, if you have a question, best to connect with me on Twitter (&lt;a href="http://www.twitter.com/andrewconnell"&gt;@andrewconnell&lt;/a&gt;) until I get the comments turned on.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=06a8Qddjl1o:abewvwgEwLk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=06a8Qddjl1o:abewvwgEwLk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=06a8Qddjl1o:abewvwgEwLk:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=06a8Qddjl1o:abewvwgEwLk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/06a8Qddjl1o" height="1" width="1"/&gt;</description><pubDate>Tue, 19 Mar 2013 13:13:56 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/my-blog-is-now-on-orchard-hosted-in-azure-and-redesigned</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/my-blog-is-now-on-orchard-hosted-in-azure-and-redesigned</feedburner:origLink></item><item><title>I'll be Presenting at the SharePoint Shindig in Redmond, WA, May 7-9, 2013 #spshindig</title><link>http://feedproxy.google.com/~r/AndrewConnell/~3/x1ApE00PXXM/Ill-be-Presenting-at-the-SharePoint-Shindig-in-Redmond-WA-May-7-9-2013-spshindig</link><description>&lt;p&gt;In early May I'll present a session at the &lt;a href="https://store.ragan.com/ProductDetails.asp?product=Y3CT0RW&amp;amp;listshow=Conferences&amp;amp;catid=2ED70BB224CD4C98A1F9FA27EA225E6B&amp;amp;grfr=Yes" target="_blank"&gt;SharePoint Shindig&lt;/a&gt; (&lt;a href="https://twitter.com/search?q=%23SPShindig" target="_blank"&gt;#SPShindig&lt;/a&gt;) May 7-9, 2013 in Redmond, WA. The event will be held on the Microsoft campus in building 37... looks like a great speaker line up! My session specifically will be for everyone, not just developers... so don't let the title scare you off:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Real world workflows with Visual Studio 2012, Azure Workflow and Web Services&lt;/strong&gt;In this session we'll explore what's new with workflow in SharePoint 2013 from an architecture, capability &amp;amp; development perspective. You'll learn how SharePoint 2013 now relies on Workflow Manager, both on-premises and in the cloud, to provide a much more reliable and scalable workflow platform. We'll explore new capabilities such as loops, and how to make web service calls. This demo heavy session will be for technical power users and developers alike.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=x1ApE00PXXM:13D9yOBe6hs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=x1ApE00PXXM:13D9yOBe6hs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=x1ApE00PXXM:13D9yOBe6hs:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewConnell?a=x1ApE00PXXM:13D9yOBe6hs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewConnell?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewConnell/~4/x1ApE00PXXM" height="1" width="1"/&gt;</description><pubDate>Fri, 01 Mar 2013 05:20:00 GMT</pubDate><guid isPermaLink="false">http://www.andrewconnell.com:80/blog/Ill-be-Presenting-at-the-SharePoint-Shindig-in-Redmond-WA-May-7-9-2013-spshindig</guid><feedburner:origLink>http://www.andrewconnell.com:80/blog/Ill-be-Presenting-at-the-SharePoint-Shindig-in-Redmond-WA-May-7-9-2013-spshindig</feedburner:origLink></item></channel></rss>
