Category : Tools

Why blogging from Word 2007 to Dasblog does not work.

I was really excited by the Blogging feature Word 2007 – It looked really good, easy to use and some of the formats you can do to a picture are pretty cool.

As soon as I found it I tried to set it up with this dasBlog account – Word 2007 is supposed to support the metaWebLog API (which dasBlog supports from v1.9), so in theory it should have worked – however it didn’t work fully.
I could upload new blog posts but it didn’t like the posting of images – in returned a message saying it was not supported and I should use FTP upload instead.
I wasn’t happy with this as the metaWebLog API has a newMediaObject method which allows for uploading of images etc and I know it is implemented in dasBlog (I think Omar Shahine added it).


Anyway, I emailed Joe Friend (the MS guy who originally posted about this feature of Word) – he has since moved on so couldn’t help (in fact I think my email to him was the catalyst for his Email is now off post – oops)…

The annoying thing is that Windows Live Writer supports the metaWebLog API implemented by dasBlog and can upload images fine….

Mmmmm, something not right here – taking things into my own hands, I cracked open Fiddler and compared the HTTP request / responses between a Writer posting and a Word posting. The Word postings always fail on the newMediaObject calls – here is a screenshot of the request / response from Word.


Looks like Word is trying to pass the blogid parameter as an int and not as a string as the spec dictates…

As far as I know, Word works correctly with MySpaces, Blogger and a few other blogging engines – maybe they are not as strict as dasBlog when checking the parameter types passed ??

I suppose I could write an HTTPHandler or something to convert that type description from an ‘int’ to a ‘string’.

Sandcastle Documentation Generation

At work I have been the champion of an Integration Framework for our Archive One product. This is a set of API’s, events and open file formats embedded into the Archive One products that allow customization ‘around the edge’.

The kind of thing that can be done with the Integration Framework is running searches, interworking with the AD schema, running archive policies, integration into Network Management Systems or Document Management Systems and the like – it really opens the product to other business systems as either the slave (other systems controlling Archive One) or the master (other systems being controlled by Archive One).

We have been writing up the API documentation recently and had initially started this as a (Word) document we would publish to customers and developers. I looked into NDoc which now seems dead (at least for VS2005 and .NET2.0) and then came across Sandcastle. Sandcastle is Microsoft’s answer to NDoc, it allows the collation and generation of documentation from the XML comments embedded in your code

Right now it is at CTP stage and is command line driven – a few projects have sprung up which provide a UI for it (backing on to the CLI). One is a VS2005 add in (which I installed but it wasn’t immediately obvious how to use it, so I didn’t really pursue) and other is SandcastleGUI – this provides a single form where you choose the options, point it to the folders containing the Sandcastle app, the code DLLs and where you want the docs to end up and then simply kick it off.

When you hit ‘Start Documenting’ it closes the form and fires off a command prompt window (batch files) which in turn fires off other command prompt windows until it’s collated everything and built the documentation.

It allows you to generate html documents – a whole website, multiple pages, images etc or a compiled help file (.chm) or even both if you wish.

Another of the options is ‘Online MSDN Links’ this provides a MSDN link for every object type it can find in the base class library. Be warned enabling this option means it has to reflect through about 14500 classes / objects in the framework so that they can be indexed and used if found in your app / library. Enabling this option increases the time to generate from about 1 minute (on my Dual Core laptop) to about 15 minutes – I’d recommend disabling this option whilst developing the app / library and only enable it when you are doing the final or release build.

The resulting documentation is really good quality – pretty much the same format as MSDN documentation.

For the effort of a few extra XML comment lines in your code this provides great value and a very comprehensive resulting document.

The easiest way I have found to integrate this into VS2005 is to set it up as an External Tool.

I create a folder under the solution folder named ‘Documentation’, I run SandcastleGUI manually the first time around, do all the required configuration and then save the settings to a file in the solution directory (don’t save it in the ‘Documentation’ folder as that is cleared out with each Sandcastle run.

I have an ‘External Tool’ configured which points to SandcastleGUI with parameters of :

/document $(ProjectDir)settings.SandcastleGUI

(I called the settings file ‘settings.SandcastleGUI’) and called the tool :

Sandcastle This Project

This allows me to simply click this tool and it will go away and create all the documentation (with my chosen parameters) for the project.

As I mentioned this is CTP at the moment – I look forward to the release version, hopefully fully integrated into Visual Studio and stylesheets that exactly mimic MSDN.

The Ken Test – Should have ticklist for support organizations.

So this is blatant plagiarism of The Joel Test

This is specifically targeted at Technical Support organizations, or anyone providing support for a technical product or service.

  1. Do you have a fault / issue tracking application (extra point for providing customers access to it).
  2. Do you have a knowledgebase (extra point for providing customers access to it).
  3. Do your technical folks have a working, test/demo version of the product.
  4. Do you send out support alerts (do you announce bug fixes / patches).
  5. Do you have remote access to customer machines.
  6. Do you have a published, well known case escalation process.
  7. Do you have a published, well known priority / severity level list with an example of each level.
  8. Do you get candidates to troubleshoot during the interview.
  9. Do you have handsfree headsets, conference phones.
  10. Do you have a published SLA (or similar set of customer expectations)
  11. Do you have a published, well known and measured SLA with the team(s) you escalate to.
  12. Can a support engineer easily determine if a customer has a maintenance agreement or not (if appropriate)

I had also considered adding ‘Do you require that every case closed is linked to a KB article’ but some people find this a bit extreme. I find it is a great driver for keeping your KB up to date and living, otherwise it ages and becomes obsolete very quickly – there’s no point having it if it contains outdate / useless information and your customers are not using it.

Windows Live Writer 1.0 (Beta)

Released today, a new version – get it here. They have added the following (list extracted from the Windows Liver Writer blog post)

The following is a summary of the changes in the Writer 1.0 (Beta) Update:

  • Tagging support
  • Support for Blogger Beta
  • Categories are sorted by name and support scrolling, plus improved support for reading categories from your blog
  • Improved startup performance
  • Paste is enabled for Title region and TAB/SHIFT+TAB navigation between title and body supported
  • Insert hyperlink added to context menu when text is selected
  • Title attribute in Insert Link dialog
  • Custom date support for Community Server
  • Improved keyboard shortcuts for switching views
  • Change spell-check shortcut key to F7
  • Add ‘png’ to insert image dialog file type filter
  • More robust image posting to Live Spaces
  • Improved style detection for blogs 
  • Fixed issues with pasting URLs and links
  • Remember last window size and position when opening a new post
  • Open post dialog retrieves more than 25 old posts

From what I have noticed :-

  • It still takes an age to open.
  • There is still no support for adding a file to a post (and having it uploaded / FTP’d), so my ‘Insert File (via FTP) plugin’ is still valid.
  • There is still no support to add new categories (you can choose from existing categories)
  • The insert ‘task box’ does not provide a scrollbar (so some items get hidden as you create more drafts)

Other things I noticed about the SDK when writing my plugin :

  • No way to get a ref to the current blog provider
  • No way to get properties for the current blog (this would be great as my plugin would be able to automatically pick up the FTP settings)
  • The icon size for displaying on the Insert tab is a crazy 20×18. Why didn’t they simply go with a standard size (16×16 for example).

See ‘Insert File (via FTP) icon on the embedded image for how it looks when trying to scale a standard image to this custom size – AWFUL.

However, I can’t complain, overall I’m pretty happy – it’s FREE, it makes my post creating MUCH FASTER and the way it shows me how the post will look on the website (automagically using my website CSS / formatting) is just AMAZING