Devhammer's Den


May 19, 2011

Troubleshooting a Failed Orchard Module Install

During the process of creating a new Orchard CMS-based blog, I wanted to future-proof my RSS feed. Most blogs have RSS feeds that are effectively hard-coded to the domain/url of the blog, meaning that if you ever need to move your blog to a different domain/url (which I’m now doing), you end up breaking your feed for current subscribers.

The only real solution for this today is to use Feedburner, which effectively abstracts the URL for your feed from the actual URL your blog uses to access the feed. Subscribers use the feedburner version of the URL (in my case, a custom domain version, http://feeds.devhammer.net/devhammer) instead of the direct URL, and feedburner provides the mapping to the actual location of the feed. This also enables feedburner to provide stats on subscribers, click-through, etc. (assuming you’re comfortable with providing that information to a third party, Google, that now owns feedburner…whether that trade-off is worth it is up to you).

All of this is preface to the fact that, by default, an Orchard blog exposes an RSS feed using a syntax similar to this:

<link rel="alternate" type="application/rss+xml" title="MyBlog" href="/rss?containerid=13" />

Obviously, the URL used by default would break for existing subscribers if I needed to move my blog for some reason. Thankfully, Bertrand Le Roy, one of the Orchard project coordinators, created a Feedburner module, which makes it simple to add a feedburner URL to any configured blog in Orchard.

So far, so good. Except that when I went to install the module, part of the install failed due to my login credentials expiring. The module itself installed, but nothing was showing up that would allow me to configure the feedburner URL.

My first step in troubleshooting was to try to reinstall the module, but unfortunately that didn’t help. I recalled that one of the steps that failed during the initial install referred to a “recipe” step. A recipe in Orchard parlance is an XML file containing information on setting up particular features, modules, content types, etc. If you’ve installed version 1.1 or later of Orchard, you’ve used recipes, since they’re used during initial setup to configure your Orchard site. Armed with that knowledge, I went hunting in the Vandelay.Feedburner module source, and found a Recipes folder, containing the following recipe:

   1: <?xml version="1.0"?>
   2: <Orchard>
   3:   <Recipe>
   4:     <Name>Add Feedburner to blogs</Name>
   5:     <Description>Adds the Feedburner part to the blog content type.</Description>
   6:     <Author>Bertrand Le Roy</Author>
   7:     <WebSite>http://weblogs.asp.net/bleroy</WebSite>
   8:     <Tags>blog, feedburner, rss</Tags>
   9:     <Version>1.0</Version>
  10:   </Recipe>
  11:   
  12:   <Feature enable="Vandelay.Feedburner" />
  13:   
  14:   <Metadata>
  15:     <Types>
  16:       <Blog>
  17:         <FeedburnerPart />
  18:       </Blog>
  19:     </Types>
  20:   </Metadata>
  21: </Orchard>
 
As you can see, the recipe provides information about what the recipe does, who wrote it, etc. The two things that this particular recipe does are enable the Vandelay.Feedburner feature, and add a ContentPart called “FeedburnerPart” to the Blog ContentType.
 
I initially looked around for a convenient way to re-run the recipe, but didn’t manage to find the answer quickly, so I figured that perhaps I could just manually add the missing ContentPart and be good to go. So I headed to the dashboard for my site, clicked on the Content link, then clicked on the Content Types tab, and clicked the Edit link for the Blog Content Type:
 
Content Types
 
Next, I clicked the Add Parts button (see below), and lo and behold, the Feedburner part was available to be added.
 
Add Parts
 
Once the feedburner part was added, I jumped over to Manage Blog, and clicked on the Blog Properties link at the top of that page. Then all I had to do was paste my feedburner URL into the feedburner field, as shown below:
 
Feedburner Part
 
Now, when I browse my blog page, Orchard serves up the Feedburner URL for my RSS feed, so any future domain/url changes will not break existing subscribers. Sweet!
 
In a future post, I’ll take a look at a simple way to make your RSS feed show up in the browser for all pages on your Orchard site (by default, the RSS feed is only displayed on the blog page itself).
 

Additional Resources:

Post by Bertrand explaining RSS Feeds in Orchard

Tags: Orchard, RSS, Modules, Troubleshooting

Comments powered by Disqus

Visitors

Disclaimer

The views expressed on this weblog are mine and do not necessarily reflect the views of my employer.
All postings are provided "AS IS" with no warranties, and confer no rights.

Unless otherwise noted, all code provided in this blog is copyright © G. Andrew Duthie, and licensed under the Microsoft Limited Public License (Ms-LPL). All rights reserved.



worldmaps