Restarting the BlogAPI Alternative project


In Drupal 5 and 6 there was a module shipped with core called "BlogAPI" which provided the necessary plumbing to let you post content using desktop clients that supported a variety of APIs. Unfortunately the module languished and, while APIs improved, the module's support for them did not keep up. During 2009 my employer at the time, Bonnier Corporation, wanted a way for their editorial staff to post content while working remotely, so I created the BlogAPI Improved project to add improvements to the module. As often happens, Bonnier decided to postpone their mobile efforts and focused on their core (desktop) web experience instead; when this happened I let the module languish as I just didn't have time to commit to it.

In Drupal 7 the BlogAPI module was removed entirely from core and moved into a separate project which someone volunteered to maintain. After several years, after a ChipIn fundraiser met its goals and with dev versions available for two different branches, there's still nothing available for Drupal 7 that works.

While the whole BlogAPI platform was languishing, along came dedicated projects like Drupad, which used a combination of a contrib module and a customized application to post content, the hope being that by controlling both ends of the equation it should be more reliable & powerful than 10-year-old APIs. At the same time many of the iOS and OSX blogging tools disappeared, e.g. both Ecto and iBlogger were bought out and are currently unavailable, so the market for client software is questionable.

When I decided to upgrade my personal site to Drupal 7 one of my goals was to be able to post content using one of the various iOS clients available. Unfortunately my attempts at posting with Drupad failed, so I'm back to needing BlogAPI again.

Which brings me to the point of this post.

I've started development of the BlogAPI Improved module again, which I've renamed to the more appropriate BlogAPI Alternative as it more clearly speaks to my goals for it, and the first beta for Drupal 7 has been released. My sole aim for this project is to provide a temporary solution while the official project is finished; once there's a working version of the main BlogAPI project, with a working upgrade path, I'll be more than happy to retire BogAPI Alternative.

"Why didn't you just join the official BlogAPI project?" you may ask. Simply put, I don't have a lot of time to put into maintaining it, so slapping putty & duck-tape onto an existing module will take less of my time than learning the Services API and trawling my way through a new codebase; further, it means it'll take less time for me and other people to be able to start writing blog posts offline. Also, it provides some temporary relief from the official module's maintainer(s) so their issue queue isn't filled with people bitching that nothing has been released yet. Finally, it keeps a distinction between a project that has already been sponsored by several companies, versus my project which has not.

I'll see you in the issue queue!


If you'd like, you could

If you'd like, you could commit all of your improvements to the 7.x-1.x branch in the blogapi repository. That's the code that was ripped out of core and not a lot has been done to it (i.e. not based on services or anything). You do still have commit access to the repo.

The 2.x version is really what was covered by the ChipIn and it's still in progress. Sadly, I haven't had much time to work on it. Hoping to make some headway on it here in the next couple weeks, though.

Cameron, thanks for the offer

Cameron, thanks for the offer, I'm going to keep it separate for now because I'm planning to make change to the D6 version too.

Great post! I came over to

Great post! I came over to Drupal from the WordPress world where there is a client for EVERY device, I could easily post from my BlackBerry 4.x device to my WordPress blog. It's also very simple for site owners to post to WordPress sites with the free Microsoft Live Writer software (or even MS-Word which they already know how to use), this is not something so easy with Drupal. And I'm just surprised that this is not a bigger concern or more important issue for Drupal developers to address.

While I've been Drupaling for 2 years, and appreciate the power and flexibility, I ended up very disappointed when I tried finding any XML-RPC or API to work with Drupal in this way, so for simple sites I still use WordPress because WP does have multiple clients that make it easy for the site owners to post to their sites without having to learn something new. Of course posts from MS-Word to the web aren't semantically ideal, but at least it's an interface they know and they actually use their sites and post when this option is available.

How to reply

Care to add your own 2 cents? Let me know via Twitter or my contact page.