I've recently updated to CS2008 and now I'm having an issue with Windows LiveWriter when posting blog entries containing images. Basically, the problem is that every time I post a new image, it overwrites images in previous posts.
In CS2007, LW used to upload images to a folder /blogs/<blog-name>/WindowsLiveWriter/<Title>/Image_N.ext (where N is an auto-incrementing sequence number).
In CS2008, it looks like LW is being forced to save all it's images in /filestorage/<blog-name>/Image_N.ext
The problem is that LW starts numbering images from 1 for each new blog post. Therefore, it overwrites the previous images.
This is a serious problem that results in data loss. Anyone have a workaround? Why can LW no longer create its folders?
--Tim Long
Tim Long TiGra Networks
Hi Tim, I experienced the same problem and filed a bugreport for this case.
The Teligent support team is currently investigating this case. I'll hope they provide a solution soon.
//Bart
Bart, how did you file a bug report? Can I do the same or add weight to your report somehow?
I've also raised this issue with the Windows Live Writer team, but I don't really think it's their problem. I've also tried the June tech preview of the next version of Live Writer and it still has the same issue.
I also tried the same things as you did :-) no avail.
i filled in the form @ http://communityserver.com/support/ as a commercial editions come with a certain number of tickets.
My casenumber is Case 133278, maybe you can point them to this post and refer to this casenumber when filing your report.
The telligent support guys are really friendly and helpful!
Hope this helps
Images are uploaded to the post's 'file storage. Any problems because of this are usually due to cache issues. I used to get problems on my blog, since sp1 I don't get any issues any more
Nick - nb development
Ok, as to my previous post, ignore it, I belive telligent have fogotten to put attachments from live writer into their own folder.
I've PM'd Ryan Howard (Support Guy) and Jose Lema (Platform Manager for CS or something like that)
Nick: I've PM'd Ryan Howard (Support Guy) and Jose Lema (Platform Manager for CS or something like that)
I appreciate your help in this matter (and the community) very much Nick !
I tought I was the only one encountering this problem and it holds me back upgrading other communitysites i'm running.
By the way, there is a workaround. Over on the Live Writer forums, someone pointed out to me that this problem only occurs when pasting images from the clipboard, because then the pasted image has no file name so Live Writer has to make up the file name. If you first save your image to disk and give it a unique name (e.g. name it for the date and time) then Live Writer will use that as the file name when it uploads the image and the images will not be overwritten.
It's a bit of a nuisance, but at least it is a workaround.
Bump
Ok everyone here is the fix. The CommunityServer.Blogs.rar file contains CommunityServer.Blogs.dll. Simply overwrite the original one.
Here's what I've changed:
\source\Blogs\Services\MetaWeblog.cs, the newMediaObject function
public MetaWeblog.MediaObjectInfo newMediaObject(string blogid, string username, string password, MetaWeblog.MediaObject mediaObject) { if (ValidateUser(username, password)) { Weblog weblog = Weblogs.GetWeblog(blogid, true, false); Permissions.AccessCheck(weblog, Permission.Post, CSContext.Current.User); if (!WeblogConfiguration.Instance().EnableBlogFileStorage) throw new XmlRpcFaultException(0, "Blog file storage not allowed"); try { if (mediaObject.bits != null && !Globals.IsNullorEmpty(mediaObject.name)) { string folder = string.Empty; if (mediaObject.name.Contains("/")) { string[] pathsAreas = mediaObject.name.Split('/'); folder = pathsAreas.Length < 2 ? string.Empty : pathsAreas[pathsAreas.Length - 2]; if (folder.Contains("/")) folder.Remove(folder.IndexOf('/')); mediaObject.name = pathsAreas != null && pathsAreas.Length > 0 ? pathsAreas[pathsAreas.Length - 1] : mediaObject.name; } if (!string.IsNullOrEmpty(folder)) WeblogFiles.CreateFolder(weblog.ApplicationKey, string.Empty, folder); string filename = WeblogFiles.AddFile(weblog.ApplicationKey, mediaObject.bits, folder , mediaObject.name); WeblogFile file = WeblogFiles.GetFile(weblog.ApplicationKey, folder, filename); MediaObjectInfo info = new MediaObjectInfo(); info.url = Globals.FullPath(file.URL); return info; } } catch (System.Exception ex) { EventLogs.Warn("An error occurred while uploading a file via MetaWeblogAPI NewMediaObject.", "Blog File Storage", 320, ex, CSContext.Current.SettingsID); } throw new XmlRpcFaultException(0, "Invalid file"); } throw new XmlRpcFaultException(0, "User does not exist"); }
Stuff in bold is my additions/changes.
Thank You Nick !
This works perfectly ! Thank you for your time and help !
This issue has been logged as #1403. Updates to this issue will be posted to this thread.
Copyright© 2008 Telligent Systems Inc. All rights reserved CommunityServer.com • Telligent.com