Why doesn't WLW use XML for storage? RRS feed

  • General discussion

  • Windows Live Writer 2009 still continues to write it's .wpost file as binary files. This is very unfortunate and it makes it very hard to read and manipulate the WLW drafts outside of the WLW application. The format within the binary .wpost file is in XML format, so I don't understand why you can't save straight to a normal XML serialized format?

    Please change this before the WLW RTM, I would appreciate being able to view and edit WLW drafts in other applications, particularly on my Windows Mobile.

    Does anyone know which CLR type is used for the binary serialization of .wpost files and which WLW .dll file that type exists in?

    SondreB - Microsoft Regional Director - http://sondreb.com/blog/
    Thursday, December 18, 2008 11:01 AM

All replies

  • We don't use binary serialization, it's an OLE Compound File. You can easily use Structured Storage APIs to manipulate .wpost files, not that I recommend it... what exactly is it you're trying to do?

    XML would be hideously inefficient for what we do with these files. We store lots of binary image data which I'm sure you know must be encoded for XML, usually base64, which costs 33% more in disk space. And also you need to read/write in one "big inhale" while compound files let us do incremental read/write.
    Friday, December 19, 2008 6:14 AM
  • I'm using Windows Live Mesh to sync My Weblog Posts folder between my computer and mobile phone. Want to write a simple blog editor using .NET Compact Framework so I can edit my posts whenever and wherever. For this reason, it would be better to have a plain XML format.

    Structured Storage API is a COM-based solution and that ain't exactly an open and standard format. I wish you could reconsider doing storage in a more accessible manner.

    What about doing something similar to Open XML format, where you put all the artifacts of the post into a zip compressed archive? That would be the ideal solution going forward and I realize that won't be possible in this release, but I hope you consider it for the future.

    Do anyone know of a good Structured Storage API wrapper in C#? I found this commercial component, but their OLE2 Compound Document Viewer crashes on the .wpost files.

    That component was linked on the Wikipedia page for Structured Storage (http://en.wikipedia.org/wiki/Structured_storage), but it looks more like it's a component for Compound File Binary Format (http://en.wikipedia.org/wiki/Compound_File_Binary_Format).

    Anyway, my goal is to edit blog posts on the fly anywhere I am, on my mobile phone. Is Structured Storage API supported on Windows CE 5.0 (Windows Mobile 6)?
    SondreB - Microsoft Regional Director - http://sondreb.com/blog/
    Friday, December 19, 2008 9:35 AM
  • You can use this to peek inside the files: http://www.mitec.cz/ssv.html

    I realize this is inconvenient for you, but interop was not one of the design goals for our storage format. That's certainly a decision we can revisit in the future. In the meantime, how about just putting your drafts on your server using the "Post Draft to Server" command, and writing your phone client as an XML-RPC blogging client? That seems a lot more generally useful anyway, than something that just edits Writer .wpost files.
    Friday, December 19, 2008 4:35 PM