Share via


Windows Live Writer (Beta) stuffs...

As I've upgraded my personal blog site to CommunityServer 2007, I decided to change my blog writting experience to totally use Windows Live Writer (Beta), the offline blog writing tools for various popular blog systems, including CommunityServer.

I wrote sevel blogs and found that using Windows Live Writer is pretty convenient to manage my writings among blog sites. also the offline writing experience is much better then writing using online web authoring form. expecially since CommunityServer 2.1 , most of the user interface was changed to using AJAX stuffs, which is good but when in a slow networking environment, it causes more time to deal with those fancy UI interactions, even the simple ones like adding a url link in posts or upload an image to CS photo gallery, the roundtrip is annoying.

It took me some time to get used to the new writing environment. and I did utilize some Live Writer plugins to smooth my writing operations. here is some plugins I like to document here for further references.

For the most of Windows Live Writer plug-in galleries, visit official Windows Live Gallery, or Windows Live Writer Plugins site, or search Codeplex site for them with source code.

Since I am not getting into posting source code for now, the most urgent one is to smoothly upload and post images while I am writing posts. and here are some image posting plugins I am using now:

#Flickr4Writer: Search and insert images from Flickr site, no photo uploading functions.

#Picture Post Plugin: Post pic from local drive and it upload the pic to Flickr and add image to post for you.

#CommunityServer Gallery Plugin: Post pic from CommunityServer photo galleries, also can upload pics back to server.

CommunityServer Gallery plugin is exactly the one I need since I store my post images in CS Galleries. But not sure if it's compatible with the latest CS 2007, 2 of my galleries were working well but I got problems while getting images from one of my CS Gallery and exception occured:

Unexpected Error Occurred
An unexpected error has occurred within the application.

System.InvalidOperationException: There is an error in XML document (1, 3663958). ---> System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 3663958.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Int32 pos, Char invChar)
at System.Xml.XmlTextReaderImpl.ParseNumericCharRefInline(Int32 startPos, Boolean expand, BufferBuilder internalSubsetBuilder, Int32& charCount, EntityType& entityType)
at System.Xml.XmlTextReaderImpl.ParseCharRefInline(Int32 startPos, Int32& charCount, EntityType& entityType)
at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
at System.Xml.XmlTextReaderImpl.ParseText()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlTextReader.Read()
at System.Xml.XmlReader.ReadElementString()
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderGalleryService.Read4_GalleryPost(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderGalleryService.Read24_GetAlbumPicturesResponse()
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer37.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at CSGalleryPlugin.CommunityServer.GalleryService.GetAlbumPictures(Int32 albumID)
at CSGalleryPlugin.CSGalleryCache.LoadAlbumPictures(Int32 albumId)
at CSGalleryPlugin.GalleryPanel.albumsTreeView_AfterSelect(Object sender, TreeViewEventArgs e)
at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
at System.Windows.Forms.TreeView.WmNotify(Message& m)
at System.Windows.Forms.TreeView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

also, the plugin is pretty designed but since CS Gallery got some default sizes to use via url (pic-id/original.aspx , pic-id/500x375.aspx, etc), this plugin was not provided those options for choosing and since I usually using 500 width images, it became not that useful for me while now.

While at CS1.1 age, Dan Bartels' plugin of FreeTextBox.CSImageGallery was my favorite one for doing image operations in CommunityServer. simple and elegant pop-up browser of one UI for select and upload images from local, no fancy AJAX stuffs, easy and efficient to get image ready in post and continue the whole writing. See if Dan will do a WLW plugin with the same usage and I'll be very happy to test it.

Since CS Gallery Plugin is not well working in my site and I didn't have time to dig into the source code to fix my problem right now, what I am doing is to upload images to CS Gallery via CS Photo Admin panel, get the url and then past back to Live Writer.

There is also another trick while post images when writing post using Live Writer. Live Writer's editing UI is different from web-based FreeTextBox UI, when adding url link to text it's easy to be done like usual, but when one wants to add url link to the image, it's not as intuitive as doing it in FreeTextBox.

First of all, there is no icon in the right Insert toolbar to simplely insert html image tag, only that Insert Picture icon appeared (this is to insert local image file). one have to go to Insert menu at the menu bar to find that "Insert Picture from Web" function to use. After insert the picture from an url, to add a link on the image, click the image and see the image property window on the right side, select the Image tab and add the url link there. for details refer to this post.

That's pretty much of what I found for now about image operations while posting blog using Windows Live Writer. will update more when I find any thing new.

Overall, I think Live Writer is good to use, and of course, this post is written using Windows Live Writer (Beta)!!

Technorati tags: live writer, WLW, communityserver, blog, plugin