Windows Live Writer and BlogEngine.NET: Can't view Properties

December 14, 2008 10:52

If you're using Windows Live Writer (WLW) and BlogEngine.NET and you find yourself unable to view properties or set tags on your blog posts (like I couldn't do up until just a little while ago), your site is probably missing the "wlwmanifest.xml" file. This file comes standard with the BlogEngine.NET 1.4 release.

For some reason, when I recently upgraded my site from 1.3 to 1.4.5 I missed copying this file into my web site's root folder. The result was that I was missing out on some of WLW's functionality.

Copying the file over is easy enough. It goes in the root of your site.

Much better. Now I can add tags (keywords) from within WLW:

image

Also, I get some extra features where I can view my current tag cloud and access some of management features directly from WLW:

image

I thought I'd look a little further and see what exactly the wlwmanifest.xml file is all about.

The wlwmanifest.xml file is a set of meta-data used as inputs into WLW's metaweblog API. The API is a standard set of functions that allows weblog content tools like WLW to know about what functionality a particular blogging platform supports.

From this MSDN article, WLW will look for the wlwmanifest.xml file in the web site's root when you add a new web site (weblog) or when updating one in WLW. If it can't find it there, it cracks open the default home page and examines the <head> section for a <link…> that might point it in the right direction.

Let's take a look at the contents of the wlwmanifest.xml file:

   1: <?xml version="1.0" encoding="utf-8" ?> 
   2: <manifest xmlns="http://schemas.microsoft.com/wlw/manifest/weblog">
   3:   <options>
   4:     <clientType>Metaweblog</clientType>
   5:     <supportsEmbeds>Yes</supportsEmbeds>
   6:       <supportsKeywords>Yes</supportsKeywords>
   7:       <supportsNewCategories>Yes</supportsNewCategories>
   8:       <supportsNewCategoriesInline>Yes</supportsNewCategoriesInline>
   9:       <supportsCommentPolicy>Yes</supportsCommentPolicy>
  10:       <supportsSlug>Yes</supportsSlug>
  11:       <supportsExcerpt>Yes</supportsExcerpt>
  12:       <supportsPages>Yes</supportsPages>
  13:       <supportsPageParent>Yes</supportsPageParent>
  14:     <supportsAuthor>Yes</supportsAuthor>
  15:     <requiresHtmlTitles>No</requiresHtmlTitles>
  16: </options>
  17:   <weblog>
  18:     <ServiceName>BlogEngine.NET</ServiceName>
  19:     <imageUrl>pics/wrenchicon16.png</imageUrl>
  20:     <watermarkImageUrl>pics/wrench84watermark.png</watermarkImageUrl>
  21:     <homepageLinkText>View your blog</homepageLinkText>
  22:     <adminLinkText>Manage your blog</adminLinkText>  
  23:     <adminUrl><![CDATA[{blog-homepage-url}login.aspx]]></adminUrl>
  24:   </weblog>
  25:   <buttons>
  26:     <button>
  27:       <id>2</id>
  28:       <text>Tags</text>
  29:       <imageUrl>pics/benTag24.png</imageUrl>
  30:       <contentUrl><![CDATA[ 
  31:          {blog-homepage-url}api/tagminiview.aspx
  32:       ]]></contentUrl>
  33:       <contentDisplaySize>250,250</contentDisplaySize>
  34:     </button>     
  35:   </buttons>
  36: </manifest>

You can see a number of tags that begin with "<supports…". These are simply telling WLW that BlogEngine.NET supports these functions and that it should make them available through its interface.

There's also some tags directly associated with identifying BlogEngine.NET as the blogging service as well as the mini-tag application written by Al Nyveldt.

In the end, all I really wanted was to be able to set tags while within WLW. Functionality restored.


All comments are moderated and require approval before display. Thanks for your understanding.

Add comment


 


[b][/b] - [i][/i] - [u][/u] - [q][/q]



Preview