I downloaded Ecto, which is a desktop blogging client for Mac OS X. This means I can write and format my blog posts offline, then upload them when I get online. It should be useful for when I go into the field. I can write posts while I’m in the middle of woop woop and then update my blog when I’m dragged back to civilisation.
Getting Ecto to work wasn’t easy. Ecto has to talk to my blogging package, which is WordPress. Ecto knows about WordPress, and it should have just simply connected to my blog, recognised it as a WordPress blog, then auto-configured itself. But it didn’t. After a bit of digging I found out that Ecto only talks to one particular PHP script, called ‘xmlrpc.php’. If this file is missing, Ecto won’t work. But my xmlrpc file was indeed in the correct spot. So I tried to manually have a look at that file in my web browser. When I tried to go to http://www.stewartmacdonald.com.au/blog/xmlrpc.php I got an error from Apache on my server:
So it wasn’t a an Ecto problem, as the PHP script wasn’t working on my server. But why? I looked at the PHP code. It looked fine. I simplified the PHP code so that it just return “Hello world!”, but I got the same 406 error. Then I changed the name of the script from xmlrpc.php to test.php. And it worked. To get Ecto to work I just needed to edit my account and tell it that the Access Point is the test.php file on my server.
So my web server is preventing access to any files named xmlrpc.php. I have no idea why, but I’m trying to find out.
UPDATE: I’ve just tried to upload this post to my site, and the exact same error is occurring. Hmmmm. That test.php file still works in my web browser… What’s going on?
UPDATE 2: I think the text ‘xmlrpc’ is causing issues. I think my web server has something in its mod_security rules that prevents it from dealing with any requests that contain that text in them. I’m trying to get around it my encoding the ‘x’.
UPDATE 3: So by encoding the ‘x’ in ‘xmlrpc’ I got Ecto to upload my article. But now I’ve found what seems to be a bug in Ecto. If I edit an already-uploaded post, it disappears. I have to log in to the WordPress admin interface, set that post’s status to Draft, save it, then set its status to Published, then that post appears. I’m trying to see what’s going on…