Blogging Roller
Dave Johnson on social software, open source and Java
Dave Johnson on social software, open source and Java
BlogClient
is an experimental blog client library designed
to make it easy to write Java programs that blog. It supports both Atom and XML-RPC based protocols. I wrote BlogClient
for the new Manning book Blogs, Wikis, and Feeds In
Action, which is due for
release this Spring. I'm not quite done but I am ready to get some
feedback, so please download BlogClient,
try it out in your own programs (or try the test GUI), and let me know how I can make it
better.
How does it work?
The
idea is to define a couple of simple interfaces for the objects we need
to blog, such as a BlogClient, BlogSite, and BlogEntry. Then, provide
implementations of those interfaces for the different protocols. The
diagram below shows the interfaces and classes that make up the Blog
Client API. Right now, I have two implementations of the
interfaces. I have an AtomBlogClient, that is based on the Atom
protocol and a
MetaWeblogApiClient that is based on a combination of the MetaWeblog and Blogger APIs.

BlogClient client = new MetaWeblogApiClient(As you can see, some improvements could be made in API usability. Let me know how you'd like to see the API work. Oh, and those jars I mentioned:
"http://jroller.com/xmlrpc", "scott", "tiger");
String[] sites = client.getUserBlogs();
BlogSite site = client.getBlogSite(sites[0]);
BlogEntry entry = site.createEntry();
BlogEntry.Content content = new BlogEntry.Content("Hello blog world!")
entry.setContent(content);
entry.save(true);
| New Entry |
Edit Entry |
Delete Entry |
Get Entries |
New Resource |
Get Categories |
Set Category |
|
| Roller 1.1 XML-RPC | X |
X |
X |
X |
X |
X |
X |
| Roller 1.1 Atom | X |
X |
X |
X |
X |
** |
** |
| Blojsom XML-RPC | X |
X |
X |
X? |
X |
X |
fail |
| Blojsom Atom | X |
X |
X |
X |
fail |
** |
** |
| Pebble XML-RPC | X* |
X* |
fail |
X |
fail |
X |
X |
| Movable Type XML-RPC | X |
X |
X |
X* |
fail |
*** |
*** |
| Das
Blog XML-RPC |
Tags: Blogging
Posted by 84.9.96.179 on January 17, 2005 at 01:59 PM EST #
Posted by Simon Brown on January 17, 2005 at 04:15 PM EST #
Posted by Michael Koziarski on January 17, 2005 at 06:38 PM EST #
Posted by Brad Neuberg on February 09, 2005 at 01:57 PM EST #
Posted by 24.6.64.237 on May 22, 2005 at 10:57 PM EDT #
Posted by Andreas Hauff on June 12, 2005 at 07:58 AM EDT #
Posted by Ray Chen on July 09, 2005 at 03:08 AM EDT #
Posted by 59.144.47.70 on July 25, 2005 at 12:17 PM EDT #
Posted by Maya on July 30, 2005 at 08:29 AM EDT #