I’ve gotten some emails from people who seem like they might know what they’re doing on the insides of WordPress, so I’ll play along and start the bootstrap from the OPML Editor side of things (hoping some OPML Editor users or developers pitch in when they see questions they can answer).
The very most basic call you need to support is something like this (or exactly this if you want to keep the client side changes minimized).
opmlCommunityServer.saveFile (blogid, username, password, path, bytes)
It creates or overwrites a file in a server-side OPML store associated with each weblog.
The first three parameters are the usual params for the MetaWeblog API.
path is a forward-slash-delimited path relative to the root of the weblog’s folder where the bytes will be stored.
If I wanted to store my blogroll, it would go to blog/decorations/blogroll.opml. That’s the convention for where the blogroll is located.
In WordPress, blogroll.opml is read, compiled into the internal WordPress structure (a relation?) and all pages that include it are caused to recalc if necessary (not sure if all pages are fully dynamic).
That’s the single XML-RPC call you need to make this stuff work minimally. Later, for extra credit, there’s deleteFile. The folder synchronizer notes when local files are deleted and deletes them on the server using this call.
Any OPML Editor user can tell you where the other files live, by just looking in their www folder. And any implementor that tries to do the WP stuff without at least installing the OPML Editor app and posting a hello world message to the blog is working way too hard and probably wasting a lot of other people’s time. Imho.