You are here

Setting up Windows Live Writer 14 to Work Really Well with Drupal

In this post we’ll set up Windows Live Writer 14 (WLW) so that you can author your HTML content for Drupal in wonderful WYSIWYG style and publish it to any content type (be it a blog, page, or other node).

Update 6/27/2010: I recommend you upgrade to Windows Live Writer Wave 4 Beta (build 15) and follow my more recent post, Setting up Windows Live Writer Wave 4 Beta to Work Really Well with Drupal.

Assumptions

Configuring Windows Live Writer 14 for Drupal

  1. Make sure you’ve got Windows Live Writer 14 installed. Here’s the About dialog from my version for reference.
    Screenshot of Windows Live Writer 14's About dialog 
  2. Go to the “Add blog account…” command in the Blogs menu (or if you don’t have a blog configured, Writer will do this for you when you start the program).
    Screenshot of the Blogs menu
    Screenshot of the blog account type screen
  3. Enter the URL to your remote Drupal installation (as entered, mine is at http://localhost:82 – yours may be at http://www.example.com) and append “/node/add” resulting in http://localhost:82/node/add in my case. Enter a Drupal username and password for a user in the WLW user role you created in Section 1 of the Drupal setup blog post mentioned at the top of this post.
    Screenshot of the blog account info screen 
  4. The /node/add we appended in the last step “tricks” WLW into asking us what type of blog we are. This is necessary to get WLW to acknowledge that we have multiple content types available to it. Choose Movable Type API and enter the URL to your Drupal installation followed by /xmlrpc.php. This is the Drupal code that WLW interacts with so it needs to know where to find it! In my case this is http://localhost:82/xmlrpc.php.
    Screenshot of the blog type screen 
  5. If you have multiple content types set up, you’ll be prompted to choose one. WLW treats each content type as its own “blog”.
    Screenshot of the blog selection screen
  6. Now WLW will detect your blog theme. If you get a warning dialog telling you this isn’t possible, then you probably didn’t follow Section 1 of the Drupal setup blog post, specifically ensuring that the content type you selected is set to be automatically promoted to your “front page”. See Sections 4 and 5 of the Drupal setup blog post for more information.
    Screenshot of the theme detection progress bar 
    Screenshot of the theme detection progress bar
  7. Give your “blog” a name and you’re done!
    Screenshot of the confirmation screen

If you have multiple content types, repeat these steps, but choose a content type you haven’t yet added as a “blog”. Again, it doesn’t actually have to be a blog, just a content type designed for HTML content as described in Setting up Drupal 6 to Work Really Well with Windows Live Writer.

Conclusion

    I hope this has been helpful. Please let me know if it was and anything I can do to make this post better. Thanks!

Comments

Hi--This is the most detailed and easy to follow post I've seen on this topic. Unfortunately it doesn't fix the XML format problem I've started having recently when trying to post from WLW. It used to work (although not nearly as well as with all the options you show how to do which are very cool) but after some module upgrades I get what WLW thinks is a poorly formed XML response first thing, as follows:

<?xml version=""1.0""?>

urlhttp://www.cardinalphoto.com/blogapi/node
blogidblog_post
blogNameDavid Cardinal: blog_post

urlhttp://www.cardinalphoto.com/blogapi/node
blogidpage
blogNameDavid Cardinal: page

urlhttp://www.cardinalphoto.com/blogapi/node
blogidphotostory
blogNameDavid Cardinal: photostory

urlhttp://www.cardinalphoto.com/blogapi/node
blogidstory
blogNameDavid Cardinal: story

n/a",""
WindowsLiveWriter,2.6856,Fail,00045,04-May-2010 08:11:20.941,"WindowsLive.Writer.Extensibility.BlogClient.BlogClientInvalidServerResponseException: Invalid Server Response - The response to the blogger.getUsersBlogs method received from the blog server was invalid:

Invalid response document returned from XmlRpc server
at WindowsLive.Writer.BlogClient.BlogClientBase.CreateAuthenticatedCredential()

I'm really not sure where to look for what might have changed or what module/files could have caused it. Thanks for any help! I've tried rolling back any module updates that seemed relevant, but haven't found any way to get things working again. Thanks--David

I had the setup done for blog 646-205 content type. Using your screenshots braindumps and idea of using /node/add, I was able to setup page as 642-642 another blog within WLW. The advice on enabling/disabling 642-436 "promote to front page" while setting up page content type is really great.

PS The meta tags got stripped by the comment editor, but they all seem to be in order except that the response tag is ended before the puzzling "n/a", """ and there is no ending XML tag

Have you tried disabling all contrib modules except wlw_blogapi? That will idenfity whether the problem is with another module. You could then re-enable your modules one at a time until you find the one that causes it to break.

HOW TO POST WITH FULL HTML???
iT POST ONLY FILTER HTML
mean all tag are not working.

Did you read my previous post about configuring Drupal 6? The answer to your question is there.

Thanks again for showing the setup with latest WLW version.

I had the setup done for blog content type. Using your screenshots and idea of using /node/add, I was able to setup page as another blog within WLW. The advice on enabling/disabling "promote to front page" while setting up page content type is really great.

Glad you found it useful!

WOW!! i've been struggling with WLW for almost a week until I found your guides.... helpfull! You've saved me hours of FCK work... Kudos to you! Thanks a lot!

Antonio

Thanks for the note!

cool

I get the dreaded "Picture upload not supported by blog" dialog. Do you know of any remedies for this problem? This pretty much defeats my purpose of using WLW. Before that I do have to say that the latest WLW API available for Drupal is from Nov 12. So as you recommended, I could not find anything published later than Nov 17 2009. -thanks

The latest published development release is from Nov. 12, 2010, which is just shy of a year later than Nov 17, 2009 :)

Sadly, blogAPI for Drupal 7 isn't ready yet. I was excited, as the setup seemed to go OK, but hitting 'Publish' results in "Server Error 1 Occurred

The username does not exist.
You have to specify a valid date."

:-(

Add new comment