One of the benefits of having a content management engine that supports XML-RPC-based content creation is that you can write your content in more usable tools and publish when finished. Drupal is one such system and is an amazingly powerful tool in its own right, but you still want to be able to write offline..
One of the most powerful aspects of Drupal is being able to build a very powerful taxonomy structure by building different vocabularies of terms, e.g. a master category, a general-purpose free tagging / folk taxonomies aka "tags", maybe one for the related country, etc.. it can be amazingly powerful and is well worth learning how to effectively using.
To match that, the XML-RPC blogging standards have ways of querying the list of categories, usually the MetaWebog API call metaWeblog.getCategories or the Moveable Type API call mt.getCategoryList. Additionally, the Wordpress folks have added their own XML-RPC API and have given the world wp.getTags which is for listing tags. Ecto gives two different lists, one for categories and one for tags, which can work well in the right circumstances.
A bit of a limitation with Drupal's BlogAPI module, however, is that you are not given much control over how it handles vocabularies. By right you should be able to select which one is the master vocabulary to be used as the standard category and which is used as tags, or even add a way to list all vocabularies with their terms in a nested structure. Unfortunately, it currently only supports the categories functions and lists all of the site's terms in one long list. With today's sophisticated desktop blogging tools, and Drupal's amazing taxonomy system, this is an unfortunate limitation.
For the forthcoming Drupal 7 I think the BlogAPI really needs expanding. There are two ways of looking at it:
- Just add some basic support for existing APIs:
- Add controls to the BlogAPI module to let you decide which vocabulary or vocabularies are made available through the existing blogapi_metaweblog_get_category_list() function.
- Add support for the wp.getTags function and add a similar configuration block to decide which vocabularies are made available through it.
- Push beyond the existing APIs, lead the field:
- Define an extension of one of the existing APIs which returns a nested array of all vocabularies.
- Work with other blogging software and desktop tools to get this feature supported, for example Wordpress is working towards being able to support user-created taxonomies (like Drupal).
Obviously, being an open-source system this functionality won't fall off the trees, it has to be built by someone. So who's going to build it? You? Me? Maybe.
Update: It should also be mentioned that the combination of Ecto and Drupal is still a bit buggy - when I initially published this article it missed all of the taxonomy selections. Bummer.