Categories
General blog entries

Radio silence

Visitors dwindling to my site, I decided it was time to write something again after 3 months. Its not that I stopped working with computers but rather that my attention moved from working with computers to studying Computer Science. Something that is hard to combine if you are making a dash to the finish line.

In other words: I am finishing my last courses in the coming days and will begin on my thesis. I haven’t decided yet if I will post things from my thesis yet (as extra content). Not so much because of the extra time but also because not everything is interesting and some information is classified – making other things inexplicable or incomplete if I were to post it online.

On to more important things: KDE 4.4 is about to hit the virtual shelves! Besides more polishing and some other features, it finally comes with a full blogging client (as part of the base system).

“What”, you say, “they fixed KBlogger?” Heck no, KBlogger is still dead as a door nail and as buggy as it has been forever. It seems that someone got the bright idea to actually replace KBlogger altogether with Bilbo – the tool I talked about before. One of the major issues Bilbo had, was that fact that nobody knew it. Personally, I think this comes from the name: Bilbo – as it is also the name from one of Tolkiens books. If you now think “Lord of the Rings”, you should be ashamed: Bilbo is part of the story *before* LOTR, he just happens to be alive in the epic story afterwards…

But I digress.

The fact remains that finding the program (even if you know that it exists) becomes hard because all search engines will refer you to hits about the wrong topic. Also, as you might imagine, some folks (*cough*copyright holders*cough*) might have issues with the naming. So it was renamed from Bilbo to Blogilo a while back and as such can now be part of the whole KDE experience. Hurray!

Next time I will probably explain about a project (formal model checker, based on the Promela language) I have been working on and the surprisingly bad hash functions I found on the internet…

Categories
Linux / Gentoo Linux

Fixing XML-RPC’s in KDE4

After posting that Bilbo worked out of the box, I was bound to run into a world of trouble – and so I did

You see, when I was trying out KBlogger, I ran into the “Invalid request payload xmlrpc element STRING cannot be child of DATA” error you find in some KBlogger related posts. After playing around a little I realised that the error prevented me from posting anything and I ditched KBlogger as being buggy as hell (which it actually still is).

But when I installed Bilbo, I ran into the same problem! Only this time I knew that it should work as I posted before using Bilbo. After investigating a bit I found the culprit: KBlog. This backend library handles the communication with the server over the XML-RPC protocol. The error is produced on the server side and to be exact it is PHP XML-RPC that generates the error.

Because the XML-RPC library on the server is very strict (and probably error free), I turned to see what Bilbo actually sent to the server. The problem appears to be in the category structure that is generated. In my first posting, I did not select a category to post to. But when you select one or more categories, a QStringList object is populated with the category names. This is converted into XML somewhere in KDE (I haven’t figured out where yet).

After talking to the Bilbo devs for a bit they pointed me to the WordPress API in KBlog. For some reason, that one generates a string holding the XML for the server. And in that class, the metaWeblog.newPost function is called using a properly constructed category array.

Alas, switching to the WordPress API did not help: “STRUCT cannot be child of PARAM” and whether I used categories or not, the error remained. A quick inspection showed where that error comes from: the ‘struct’ element should not be directly put inside a ‘param’ element. The XML-RPC specifications state that the ‘struct’ should be placed in a ‘value’ element first. After fixing this and recompiling Bilbo, everything is working now!

Well, not everything as the metaWeblog API is still broken. I have filed a bug report with KDE upstream so they can add my fixes to the WordPress API and hopefully someone with more KDE programming experience can fix the metaWeblog API. Or rather, fix the conversion from a QStringList to proper XML-RPC compatible XML.

On a side note: while debugging the XML-RPC protocol I discovered that the Joomler XML-RPC plugin for Joomla! did not apply the categories that are sent along. I’ve modified my (already heavely patched) version of Joomler and once I’ve tested it a bit more, I’ll send the patches to the Joomler devs. Hooray for open source I guess ^^.

Categories
General blog entries

Bilbo, the new blogging program for KDE4

The experimental ebuild for Gentoo worked like a charm: I am typing this on Bilbo. The editor seems to Just Work ™, the previews are functioning (both rich text and the website preview) and the account creation worked out of the box.

The only thing that took some time to figure out is the fact that the auto-config option did not configure my site. In fact it started looking for a xmlrpc.php file to talk to, which results in a 404 as Joomla! does not have a file but rather a folder with that name. So after setting it to the correct location and switching to the metaWeblog API in the Advanced settings I hit ‘Fetch blog ID’ and voila, we are up and running.

Well, kind of: the plugin I use to provide the blog API on the site is incomplete. I have been tweaking it for months now, adding missing functions as I went. So when I wanted to select a category, I got an error stating that the XMLRPC function was not found.

After enabling the debug info on my server, I saw that Bilbo tried to access metaWeblog.getCategories – which is unimplemented in the original version of the plugin. So after adding the missing function, everything came to live and here we are…

Now if you excuse me, I have a virtual machine to dispose of as I can retire Windows Live Writer now ^^

Categories
Linux / Gentoo Linux

Bilbo: Finally a decent blogging program for KDE?

Bilbo interface While the development on KBlogger has somewhat picked up and some features have been pushed back to allow for a semi-working release, I just found a little gem hidden on the big wide web.

In a mailing list post on the development on KDE, someone is suggesting to take a look at Bilbo instead of KBlogger for the ‘extra-gear’ package. Of course, I was expecting a simple blog editor similar to all the other projects out there that never quite made it. Boy, was I in for a surprise!

Bilbo has the features I need in a blogging program (similar to the Windows Live Writer interface) and even better, it should be in working order!

I will report back once I get it to install on KDE 4.3 using Gentoo.