Live Writer and XML-RPC

This is preliminary documentation, to be implemented in the current iteration

There are numerous XML-RPC APIs that are in use today, mainly centered around the case of blogs. Orchard does not have to support them all, obviously, but it is important that it supports enough that the leading publishing tools can be used to create contents instead of the web admin interface.

Supported tools

On Windows, the best choice for a blogging tool is Windows Live Writer. On the Mac, MarsEdit and Ecto are fairly popular. Also of note is ScribeFire, which is a FireFox extension that provides blog writing features right from the browser.

All of these tools support the MetaWeblog API (see below), so supporting MetaWeblog would give us instant support from all those tools.

Publication protocols

There are many blogging APIs, but the most important are:
  • MetaWeblog - The MetaWeblog API is by far the most common API to get implemented by blogs and publishing software. Supporting it pretty much gives instant and universal support. It is a superset of the Blogger API.
  • WordPress - The WordPress API is an extended version of the Movable Type API. The WordPress API is interesting in that it also exposes the concept of page in addition to blog posts.
  • Movable Type - The Movable Type is a fairly minimal and limited API. WordPress uses an extended version of that API.
  • Blogger - The Blogger API is Google's blogging API. MetaWeblog is a superset of the Blogger API.
  • Atom Publishing Protocol - The Atom Publishing Protocol is what comes closest to an "official" standard. It does go well beyond simply blogging and is closer to the needs of a general purpose protocol to publish contents.

Recommendation

If we had to support only one format, MetaWeblog looks like the most universally supported one. On the other hand, it is rather poor in terms of features when compared with the WordPress API. For example, it doesn't have page support and is quite specialized to handle blog posts, which means that in order to use it as a more general publishing protocol, we might need to use some custom meta-data. The WordPress API might be a better choice because of the larger scope of the application. If we can afford to support a second one in addition to WordPress or MetaWeblog, Atom seems like a good investment for the future, and it does offer more CMS-friendly features than the others. It might be a way to achieve the universality that MetaWeblog or WordPress will make more difficult.

Discoverability

To enable tools to discover what API the application supports, we should implement Really Simple Discovery and the Live Writer Manifest.

Last edited Nov 10, 2009 at 1:24 PM by bradmi, version 3