This post tries to tie together all the bits in the release of the Aggregator API, and provides a place for developers to comment, ask for help, report problems, etc.
For background, read this post on Scripting News today.
| http://www.scripting.com/2006/01/11.html#newsriverApi |
If you have the OPML Editor running, you should install the latest version of newsRiver.root, and fully update it according to the instructions on this page.
| http://support.opml.org/2006/01/11#a588 |
Once you’re up to date, you can run two sample scripts, by jumping to:
| xml.aggregator.rpctesting |
If you don’t have the editor running you can view the source for these scripts.
| http://static2.podcatch.com/blogs/gems/snedit/testitems.txt |
| http://static2.podcatch.com/blogs/gems/snedit/testsubs.txt |
The docs for the API are on the XML-RPC site.
| http://www.xmlrpc.com/aggregatorApi |
Just for fun, I put up a NewsRiver that you can use over the web.
| http://monster1.scripting.com:5337/newsriver/ |
I’m thinking about whether or not I should let people run the API against this installation. You can delete aggregator items this way. You can delete all the items. Not that I care, but it might make it hard for more than one developer to test against it at a time.
If more information becomes available I’ll link to it here.
Posted by Dave Seidel on January 11, 2006 at 9:36 am
Dave, I’ve got opml.root updated and the latest copy iof newsRiver.root. I enabled the API using the Prefs page. Then I jumped to xml.aggregator.rpctesting, opened testItems, and clicked Run. I got an error message: “The server, 127.0.0.1, returned error code 4: Accessed Denied”.
Posted by Dave Winer on January 11, 2006 at 9:39 am
Dave, bug reports don’t work the same way here as they do with end-user features. You need to go look at the code, and try walking through it with the debugger, and stare at things before reporting a problem. I can’t stare at your installation (I have no idea where you live) and even if I could, I can’t do it for all the users.
Posted by Randy Charles Morin on January 11, 2006 at 12:32 pm
Dave, this is great. Not to be negative, but can we avoid the whole XML-RPC debate and publish a SOAP or REST implementation along side?
Posted by Dean on January 11, 2006 at 1:21 pm
Dave, here’s what I saw happening, I had the same error message.
I downloaded and installed per the directions. I went to the aggregator page and put a check mark and put in a username and pw, and saved. It appears that everything is saved. I jumped to aggregatorData.prefs.security.username and the first value – flRpcInterfaceEnabled was set to false. I manually changed that to True and clicked Run, and it ran. I’m guessing that the check box that is on the preferences page is not acting properly.
I actually tracked it down.If I’m not mistaken, and I could be,
In the newsRiverData.english.prefsOutline, under Aggregator API, the part that says @aggregatorData.newsRiver.flNewsPageDeleteCheckboxesDefault should actually be
@aggregatorData.prefs.security.flRpcInterfaceEnabled
I changed mine, and watched the security.flRpcInterfaceEnabled, switch from true to false when clicking the submit button.
Posted by Dave Seidel on January 11, 2006 at 1:26 pm
I’ll try again to leave a comment — the last two vanished for some reason. Dave, I traced all the way throught the client call, it’s making the connection, sending an XML-RPC request containing my my name and password, and it gets back an XML-RPC fault, “error 4″. That’s all I can do on the client side. If you can tell me wehere to set a breakpoint on the server side, I can try to tell you what’s going on there.
Posted by Dave Seidel on January 11, 2006 at 1:31 pm
Aha! Based on Dean’s comment, I manually changed aggregatorData.prefs.security.flRpcInterfaceEnabled to true, and now testSubs works. testItems didn’t work until I ran testSubs, now they both work.
Posted by Dave Winer on January 11, 2006 at 1:58 pm
Dean, thanks for the excellent bug report, I fixed it and checked in the change. To get the fix, choose Get Latest Code from the NewsRiver sub-menu of the Tools menu.
Randy, the SOAP interface is already done, but REST is something I’ll leave for the first person to complain to do. Since you didn’t complain (but you came close) I’ll let you off the hook. ;->
Posted by Billy The Blogging Poet on January 11, 2006 at 4:55 pm
Poets are secretly taking over the Blogosphere and I’m in on the conspiracy.
Posted by Dave’s Wordpress Blog » The mystique of desktop web servers on January 12, 2006 at 4:54 am
[...] This really came home to me in a conversation with Mike Arrington yesterday. I was trying to explain the Aggregator API that was released yesterday. He didn’t understand that there was a web server in there, and that you could put an API on it even if it’s running on the desktop. Why not, a lot of APIs are running on the desktop (that’s largely what Windows is). [...]
Posted by everybuddy.org » NewsRiver: The end of the Web as we know it on January 12, 2006 at 6:45 am
[...] Hallelujah! Hallelujah! The day is almost here. I’ve been talking heavily about a change in which pure conversation (ala Cluetrain) takes over the web. Talk and share, as opposed to publish and read. While it sounds obvious, and aspects of this can be seen in file-sharing networks, Instant Messengers and even plain old email, there is a richer soil to till in the fertile grounds of RSS and OPML and SSE. That combined with a distributed, peer-like architecture will bring about the decline of the browser and homepage and the rise of the web coupling. A newsreader/writer like device which handles our communications, commerce, whatever. We are seeing a home-page and browser decline with the popularity of RSS readers and still there are cries from the likes of Steve Gillmor and others that we will not click-through to web-pages in posts which do not include its full content. The Web is disintermediating the Web. We are well on our way with the release of the NewsRiver aggregator API , by Dave Winer. The first of the next-generation web tools will be built upon the NewsRiver platform. Mark my words. As sure as the Pope is Italian. (Uhh…you know what I mean) The rules have once again changed. Dave Winer has done it again. [...]
Posted by Tim Watt on January 12, 2006 at 7:15 am
Hi Dave
You mentioned a few months back to hold off telling potential hosting communities ’til January… so do I sense the time is close?
It would be great if my hosted community could work from my desktop at home (or a server elsewhere) – with my other OPML Editor weblog on the laptop – and if these non-tecky users could e-mail, text, Skype, whatever, their ‘today’s outline’ while they are somewhere remote – Great for this little community’.
Dave – you’re going to love what I have in mind – not necessarily the subject but the potential for coming up against entenched interests, and, since you’re way ahead here, I’m sure I’m going to be wowed.
Tim
ps I also commented on this at: http://blogs.opml.org/kosso
Posted by Dave Seidel on January 12, 2006 at 7:55 am
Dave, would you mind pointing me/us at the docs for calling OPML Editor’s engine as a SOAP server? If I get the time, I’d like to take a shot at making a WSDL for this API. Realistically, no one is going to use anyone’s SOAP interface these days without a WSDL contract on which to base their client implementation. [Disclosure: I work for a company (www.mindreef.com) that makes tools for people working with SOAP.]
Posted by Dave Seidel on January 13, 2006 at 8:16 am
Dave, another question: how can I modify one of the test cases to use SOAP instead on XML-RPC? I tried changing the endpoint from xmlrpc://127.0.0.1:5337/RPC2 to soap://127.0.0.1:5337/RPC2, but this resulted in an error message (“Can’t decode the response because the Envelope element was not found.”, in soap.rpc.client).