Wordpress

No..not another Wordpress version!!

I logged in to my blog account 2 days back, after a verrry long time (I blame my project move in the professional world). I was surprised to find out so many things have happened in the Wordpress world. A new version has been released, many more vulnerabilities have been found and fixed…WAIT…a NEW version?? NOOOO! It feels like I just updated to a new version…is there a new one already!???

Wordpress is churning out new versions faster than my C2Duo / Vista machine can boot :P Don’t believe me? Look at these dates:

Wordpress version Release date
1.5 (Strayhorn) mid-Feb 2005
2.0 (duke) Dec 2005
2.1 (Ella) 22 Jan 2007
2.2 (Getz) 16 May 2007
2.3 (Dexter) 24 Sep 2007
2.5 (Brecker) 29 Mar 2008
2.6 (Tyner) 15 Jul 2008

 

More >

HowTo: Fix "The response to the metaWeblog.newMediaObject method received from the weblog server was invalid"

Today I got this error message from WLW: “The response to the metaWeblog.newMediaObject method received from the weblog server was invalid“. Why did WLW think the response was “invalid“?? What exactly did it receive from Wordpress??

Luckily, WLW logs a lot more in the background. You can access that log file via Help -> About WLW. Click on the “Show Log Results” link in the dialog box. This will open the log folder.

Mine had this trace dump:

WindowsLiveWriter,21504,Fail,00020,18-Mar-2008 14:00:01.479,"WindowsLive.Writer.Extensibility.BlogClient.BlogClientInvalidServerResponseException: Invalid Server Response - The response to the metaWeblog.newMediaObject method received from the weblog server was invalid:
Invalid response document returned from XmlRpc server
at WindowsLive.Writer.BlogClient.Clients.XmlRpcBlogClient.CallMethod(String methodName, XmlRpcValue[] parameters)
at WindowsLive.Writer.BlogClient.Clients.MetaweblogClient.DoBeforePublishUploadWork(IFileUploadContext uploadContext)
at WindowsLive.Writer.PostEditor.WeblogBlogFileUploader.DoUploadWorkBeforePublish(IFileUploadContext uploadContext)
at WindowsLive.Writer.PostEditor.BlogPostReferenceFixer.FileUploadWorker.DoUploadWork(BlogFileUploader fileUploader)
at WindowsLive.Writer.PostEditor.BlogPostReferenceFixer.LocalFileTransformer.Transform(String reference)
at WindowsLive.Writer.CoreServices.HTML.HtmlReferenceFixer.LocalFileReferenceFixupFilter.FixReferences(String reference)
at WindowsLive.Writer.CoreServices.HTML.HtmlReferenceFixer.OnBeginTag(BeginTag tag)
at WindowsLive.Writer.CoreServices.LightWeightHTMLDocumentIterator.Parse()
at WindowsLive.Writer.CoreServices.HTML.HtmlReferenceFixer.FixLocalFileReferences(String html, ReferenceFixer fixer)
at WindowsLive.Writer.PostEditor.UpdateWeblogAsyncOperation.LocalSupportingFileUploader.UploadFilesBeforePublish()
at WindowsLive.Writer.PostEditor.UpdateWeblogAsyncOperation.DoWork()
at WindowsLive.Writer.CoreServices.AsyncOperation.InternalStart()"," at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at WindowsLive.Writer.CoreServices.Diagnostics.LogFileTraceListener.Fail(String message)
at System.Diagnostics.TraceInternal.Fail(String message)
at System.Diagnostics.Trace.Fail(String message)
at WindowsLive.Writer.PostEditor.BlogPostEditingManager.UpdateWeblog(Boolean publish)
at WindowsLive.Writer.PostEditor.BlogPostEditingManager.PostToWeblog(Boolean publish)
at WindowsLive.Writer.PostEditor.PostEditorMainControl.commandPostAndPublish_Execute(Object sender, EventArgs e)
at WindowsLive.Writer.ApplicationFramework.Command.RaiseEvent(Object eventKey, EventArgs e)
at WindowsLive.Writer.ApplicationFramework.Command.OnExecute(EventArgs e)
at WindowsLive.Writer.ApplicationFramework.CommandBarButtonLightweightControl.OnMouseUp(MouseEventArgs e)
at WindowsLive.Writer.Controls.LightweightControl.RaiseMouseUp(MouseEventArgs e)
at WindowsLive.Writer.Controls.LightweightControlContainerControl.OnMouseUp(MouseEventArgs e)

Pretty neat stack trace,eh? ;) It clearly shows that DoUploadWork() (Invoked by UpdateWebLog()) method fails for some reason. Armed with this knowledge, I took a look at my post. I had many pictures in that and my WLW was setup to upload pictures through XML RPC. So, obviously that was causing some kind of trouble. I traced down the big picture (size: ~0.7MB) in my post, resized it to 40K and published again. Voila, things worked perfectly!

I googled for the error message, since I wanted to know how other people solved this. Looks like increasing the memory size for PHP in the server side will also help. So, one of the following things should help you to solve this problem:

  1. If you have images embedded that need to be uploaded to the server, make sure they are not big. I don’t have any idea on the *optimal* size. I guess anything less than 100K should be ok.
  2. If still you are getting the same error, try increasing the memory_limit value in php.ini to 12M or 16M. Check this page for info on memory_limit. If you don’t have access to your server, you may have to talk with your host provider.

I believe the first solution will fix this error, in most of the cases. Do let me know in the comments, if you come across any other solutions.

Testing Windows Live Writer 2008

Just now installed Windows Live Writer 2008 (Final); The installer they have there is just around 2.3MB, but it downloads the actual Live Writer binaries later. When you execute this "small" file, it scans through your computer for other Live programs (WHY??!!) and offers you a screen full of other Live programs that you *should* try…WTH??

Why is this installer trying to be smart? If I need other Live products, I will download them, just like how I downloaded this. Why MS should push down my throat all their other products?? Irritating!

Also, during the "Detecting other Live programs" phase, I was staring at the progress bar, for a solid 15mins??? Man…what the hell was the program doing at that time?? I should probably setup a VMWare machine and try installing this with Process Explorer/FileMon/RegMon/PortMon running in the background. Oh..btw, before someone starts pointing out that it could be because of my machine, wait…mine is a Core 2 duo + 965GF + 2GB RAM + 1TB RAID0. It is fast enough. Adobe Photoshop CS3 tryout starts in 3 seconds flat!

CodeMuseumAnyway, now that Live Writer is finally installed and running (I am typing there, right? :) ), I want to try out the image scaling/uploading features:

I have setup Live Writer to upload my pictures to my FTP. If this works fine, I guess, one of my major reqs is met.

One cool thing about the way Live Writer handles pictures is, the ease with which you can create a thumbnail and all the possible effects (drop shadow / photo border/…) you can add to the images…Beats Wordpress’s post editor anytime!

Looks like things work as expected…Kudos to the WLW team for a decent product. If only their packaging / installer team could do something about the Live Installer, I guess WLW will make a pretty neat tool.

Oh..btw, did I tell you WLW supports Wordpress 2.3 seamlessly??! ok..not so seamlessly; Support for the new Wordpress tags feature is missing out of the box, but you can easily add it as explained  here.

[Update: 2037 IST]

One nice to have feature: When you post something using WLW, it shows the following progress window:

Publishing post

Looks nice, but not informative. If it shows the current action being performed (like, "Uploading the image to ftp:/…." or "Authentication done. Posting now…"), it will be helpful for debugging (if a problem arises). These details can be hidden from the normal user with a collapsed expandable-section in the progress window.

Moving from Windows to Linux hosting plan – Good or Evil?

Under Construction

I expected this to last only 2 hrs max, how wrong I was!! Its been 2 days now and still I have 2 more blogs to migrate :(

I moved to a Linux hosted plan, from my Windows one (host being the same). This move, I am sure, is going to be good for me in the long run. Anyway, I was not making use of any ASP.NET or reporting services or blah blah…all I needed and ran was pure PHP and MySQL! Now that, I have got my blog up, I can really appreciate how easy it is to setup things in Linux…SSH rocks! Till the entire migration completes, expect to see broken links and dead pages.

I also am trying out Wordpress MU…needs some changes to be done by my host. If that pans out well, I might think of implementing one of my ideas based on that…lets see (fingers crossed!). BTW, I finally got rid of my old bloated theme…how do you like this new theme?

P.S: For the “in house thinktanks”, PCAD is up at the usual URL. Login and brainstorm!!

Automatically create Podcasts from your posts – How To?

Talkr
Odiogo

Sign up to Talkr or Odiogo. They offer an unique service: They allow you to automatically convert your text posts in to Audio podcasts and publish the feed. The generated MP3s are stored and served by these sites, so you don’t have to worry about bandwidth and server maintenance.

How does this magic work?

How does it work?

Click here to see the different components at work.

If you have ever tried the Text-to-Speech conversion programs in Windows/Mac, you know what I am talking about and need no explanation, if not read this please :)

Other features:

Talkr has been around since 2005 (AFAIK), Odiogo is relatively a new service. There are even plugins to integrate these services seamlessly with your Wordpress blog: Odiogo plugin for Wordpress & Talkr Plugin for Wordpress. I am sure other blogging platforms can easily be supported with little or no modification.

Personally I won’t go down this path as I prefer to hear my voice in my Podcasts, but this surely is an excellent service for those who don’t want to do everything by their own.

[Update (June 10th, 2007: Fixed all the typos. Thanks Bob for pointing out.]

Thamizmanam plugin updated

I have uploaded the latest version of the plugin here. This version extends support to Blogdesam.com aggregator, apart from Thamizmanam.com. From the options page, now the user can choose the aggregators he/she wants to include.

Coolcode.cn (Wordpress plugin) site down!

Today morning I was surprised to see a couple of mails complaining that the videos I posted earlier here and here are not working! I checked them last night (ok…at 1am..technically it is today morning!) and they were fine. I use the excellent coolplayer 9.3 plugin in my Wordpress blog. I logged in to my account and checked the coolplayer options. They looked fine, anyway I didn’t change any of these things and they were working fine yesterday. So, what’s wrong?

Click to enlarge

Then, I noticed that the RPC server ping was not working. As you can see from the picture (click to enlarge, the RED ones are the errors), the coolcode.cn is returning a 503. My page just gets blocked for 19-20seconds, trying to get the rpc.php in coolcode to work! The site is obviously down and has taken all my videos down with it, I wonder how many more sites are also affected by this!

Man, how I wish I had installed the RPC server in my machine :-( I couldn’t find a mirror with that zip anywhere. Till I setup my own RPC server, please do bear with the slow loading speed. Thanks.

Update (Mar 16,07 02:07pm IST): Hooray….the site is up and I have downloaded the needed zips :)

Update (Mar 16,07 03:00pm IST): Ok, I have the RPC setup in my machine now. No more worries.

WP-Mollio comment_form hook fix – HowTo?

If you are using WP-Mollio theme in your Wordpress site, I’d suggest adding the comment_form hook in to your comments.php. Only if you have this statement, the plugins like “Subscribe-to-comments” will work.

How to add this hook?

  • Open comments.php
  • Find the lines of code shown below. You will find it near the end of the file.

<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" /></p>
</form>
<?php // if you delete this the sky will fall on your head
endif; ?>

  • Add <?php do_action('comment_form', $post->ID); ?> just above </form> ending tag. Save the file.

This will allow all the plugins that depend on comment_form hook to work properly.

Wordpress plugin for Thamizmanam toolbar

Update (22/03/2007): Latest version 0.9 has been uploaded. This adds support for Blogdesam aggregator.

This plugin is the outcome of spending three days with Wordpress and Thamizmanam toolbar code :-)

This plugin inserts automagically the Pathivu toolbar code (both part1 and part2, as listed out here) at proper places. This supports both Thamizmanam and Blogdesam. The plugin adds the code only to SINGLE post pages. Note that, no template file changes are needed. Just install this plugin and everything should be fine!

How to install the plugin?

  • Download the file (see the bottom of this post)
  • Upload this to your <wordpress_root>/wp-content/plugins folder. NOTE: Replace <wordpress_root> with your WP installation directory.
  • Unzip the file to create tbToolbar sub directory, under plugins folder. Overwrite the old files to upgrade. NOTE: Make sure tbToolbar folder is immediately under /wp-content/plugins folder.
  • Go to Plugins page in your WP control panel and activate the plugin.
  • Now, go to Options > Thamizmanam WP Plugin page. Here you can choose the image for showing in Thamizmanam. You can also leave this blank for the plugin to submit with the default picture.

Thats all!

Screenshots:

Click to enlarge

More >