Nov 13

Written by: Bruce Chapman
Thursday, November 13, 2008 4:10 PM 

The ease at which you can post to a blog with Windows Live Writer (WLW) would have seemed like science fiction a couple of years ago, yet here I am doing it right now.   Except that, in years gone by, you could easily edit Html in a WYSIWYG editor and quickly FTP Up the results.  The more things change, the more they stay the same.

I thought I'd post a quick entry in case people are running Blog 3.5, Url Master and would like to use WLW.  I found that in configuring the Post Url for WLW, I had a few problems to sort out.

If you haven't yet set up your WLW to post to your blog, it's really easy.  Here's the steps:

1) Start WLW, and progress through the first couple of steps, indicating you already have a blog, and that it's with 'Another Blog Service'.

2) Enter your blog Url and DNN username and password that you blog under

3) Select 'MetaWeblog API' as the type of weblog

4) Enter your Blog Posting Url : this is pretty easy to get.  Its http://www.yourdomain.com/DesktopModules/Blog/blogpost.ashx?tabid=nn where nn = the tabId your blog lives on.  You can get this from the 'Blog Settings' option of the Blog module if you don't know your tabid.

Once you've done all that, there's one more step you need to do if you've got Url Master installed:

5) Go to the 'Friendly Url Settings' screen, and scroll down to the 'Advanced Regex Settings' section.  Expand this, and in the 'doNotRedirectRegex' field, add this to the end:

|/DesktopModules/

If you don't already have anything in this field, you don't need the leading '|' character, you'd just enter /DesktopModules/.

This will prevent the blogpost.ashx handler from getting a 301 redirect - this happens because the Url contains the 'tabId' key, so the Url Master code believes it to be of the 'old' unfriendly Url format, and tries to come up with a friendlier version.

The same instructions will apply to those using the iFinity Friendly Url Provider : just put the aforementioned value into the 'doNotRedirectRegex' attribute in your web.config file.

After doing this, you should be good to blog!

Now that I've got this running, I'll have to prioritise the Feature Request to have the Tagger module also talk to WLW.   It's a feature request I receive often enough, so I'll look into it.

Tags:

2 comment(s) so far...

Re: Blog Posting with Windows Live Writer and DNN Blog 3.5

I went to test the WLW and for some reason it fails. I have DNN 4.9 and The latest Blog module.
Here is my weblog link: ww2.coelhome.com/DesktopModules/Blog/blogpost.ashx?tabid=108

When
WLW tries to connect I get: 500 internal server error.
In the DNN event viewer I get the following error (Sorry, It is long):

UserID: -1
UserName:
ActiveTabID: 108
ActiveTabName: City Blogs
RawURL: /DesktopModules/Blog/blogpost.ashx?tabid=108
AbsoluteURL: /DesktopModules/Blog/blogpost.ashx
AbsoluteURLReferrer:
UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Windows Live Writer 1.0)
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
ExceptionGUID: 9a6f401d-ecec-490a-ac7b-5b7414123d81
InnerException: Unhandled Error:
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: System.Reflection.Assembly._GetType
StackTrace:
Message: System.Exception: Unhandled Error: --->
System.IO.FileLoadException: Could not load file or assembly 'CookComputing.XmlRpc,
Version=2.1.0.3,
Culture=neutral,
PublicKeyToken=a7d6e17aa302004d' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)
File name: 'CookComputing.XmlRpc, Version=2.1.0.3, Culture=neutral, PublicKeyToken=a7d6e17aa302004d' at
System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) at
System.Reflection.Assembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase) at
System.Web.UI.Util.GetTypeFromAssemblies(ICollection assemblies, String typeName, Boolean ignoreCase) at
System.Web.UI.SimpleWebHandlerParser.GetType(String typeName) at
System.Web.UI.SimpleWebHandlerParser.GetTypeToCache(Assembly builtAssembly) at
System.Web.Compilation.SimpleHandlerBuildProvider.GetGeneratedType(CompilerResults results) at
System.Web.Compilation.BuildProvider.CreateBuildResult(CompilerResults results) at
System.Web.Compilation.BuildProvider.GetBuildResult(CompilerResults results) at
System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at
System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at
System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at
System.Web.UI.SimpleHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) at
System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) at
System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. --- End of inner exception stack trace ---

By Phil Speth on   Tuesday, November 25, 2008 12:41 AM

Re: Blog Posting with Windows Live Writer and DNN Blog 3.5

@Phil

I had this problem originally as well. In my case it was because I had previously installed the Ventrian News Articles module, which also has a version of this DLL (cook computing). You just need to get yourself a copy of the correct DLL : CookComputing.XmlRpc, Version=2.1.0.3. You should be able to extract this from the blog install.zip file and copy it to your \bin directory, just check the version of the file first to make sure it's the correct one.

By Bruce Chapman on   Tuesday, November 25, 2008 8:09 AM

Your name:
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Title:
Comment:
Add Comment   Cancel 
Need Help?
 

If you're having trouble with an iFinity Product, use the Support Forums to search for answers, and to post questions.

If you need help faster than that, or can't figure out the answer, try our Premium Support service.