|
| Tue, May 13th | home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop | 18:47 PDT |
|
login « register « recover password « |
| [Article] | add comment | [Article] |
| Theme topics | Apps | Resources | Window Managers | Afterstep | Blackbox | Enlightenment | Fluxbox | GTK | IceWM | KDE | MetaCity | Sawfish | Window Maker |
freshmeat.net is primarily a Web-accessible database. However, apart from requesting interface improvements for the Web part, a lot of people requested scriptable access to our database. As of this writing, we have the first version of our XML-RPC API available for you to use (that's not abuse there!). Click below for details and API specs. To use the API, you're required to be a registered user of freshmeat.net. This makes sense because, for now, the primary use of it is release submission automation through scripted release managers and the like. Currently, the feature set includes the retrieval of branches for a given project and the data of pending release submissions, submission of new releases, and withdrawal of pending releases. This obviously only works for projects for which you're an admin. (We have instructions available on how to request ownership in case you're developing an application but do not own its freshmeat project record.) All functions return appropriate error codes for error conditions (a list of which can be found in the API docs linked to below) and exit gracefully upon encountering an error. The first sample implementation is freshmeat-submit and comes from Eric S. Raymond of fetchmail fame. He and I worked closely together to make this interface as usable and error-free as possible. Thanks for your co-operation, Eric! The most recent copy of the API docs is (and always will be) available in the FAQ. All that being said, the API is evolving. We'll have more features available as you request them (and they make sense). And keep in mind, don't ruin the fun for everybody by abusing or excessively using the API. Thanks,
Patrick Lenz (scoop) [Comments are disabled]
[»]
Login incorrect Whenever i try to fetch e.g. the list of available projects of and account - or even just try to logout - i get an Login incorrect-Error. Of course i performed a login before and got a SID - without getting this error. Any ideas why there are these problems?
[»]
Re: Login incorrect I've used the API the wrong way and invoked the login-command instead using the logout-command. shame on me. ;)
[»]
API Wow this is great Patrick! I would be very much interested in the API. --
[»]
where to find values of the discriminators Hi I'm new to freshmeat. How can I find out the corresponding category that
each of the numbers in Trove categories represents? for example,
<trove_id>201</trove_id>, what does 201 stand for?
[»]
Re: where to find values of the discriminators I asked scoop about this, and he doesn't think it's worthwhile for us to keep a list of the categories and their numbers. He suggests that you download and keep a copy of http://download.freshmeat.net/backend/fm-trove.rdf instead.
Sincerely, --
[»]
garbage in response This is a great idea, thanks to the ppl who put it together!
[»]
Re: garbage in response I repeatedly challenged the XML-RPC backend with queries and never got the garbage you mentioned. Are you going through some sort of proxy server that could be intervening here? --
[»]
Re: garbage in response
[»]
Re: garbage in response Indeed, using HTTP/1.1 I get the extra characters as well. I'll look into it, please stick to HTTP/1.0 for the meantime. --
[»]
Re: garbage in response
[»]
Re: garbage in response It has to do with the HTTP version you are using. The "Transfer-encoding:chunked\r\n" signalizes that such garbage is inside the response. It in fact is no garbage, but a simple fragmentation mechanism for the response - unless output buffering is used all PHP scripts lead to such responses. Simply stick with HTTP/1.0 if you don't want to deal with it. Btw, there are more dependencies than this (for example content-coding) to declare something a HTTP/1.1 client; so please don't send such a header unless you have a real library. Google after RFC2616 for a weekend reading.
[»]
Re: garbage in response Okay, thanks. I'll take your advice and RTFM.
[»]
Excessive authentication complication? Why the excessive complication of the session ID,
[»]
only submission functions? I can't seem to find any functions beside project submission related ones. All I need is to get very basic information about specific projects in a scriptable manner. Am I blind or will this be implemented soon? I'd really hate to parse the HTML to get what I need.
[»]
Re: only submission functions?
That's what the XML backends are for. We have a per- project XML file available via /projects-xml/<projectshortname> / (for example the Linux entry) and global dumps of the database contents available in our backend directory a>. --
[»]
Apache Ant Task As I didn't found any ant task for submitting releases to freshmeat, I
decided to write one.
[»]
Re: Apache Ant Task Sounds fun; thanks. :) --
[»]
Re: Apache Ant Task
[»]
Re: Apache Ant Task
--
[»]
Re: Apache Ant Task
[...]
[»]
Re: Apache Ant Task Well, here it is: http://www.frewert.de/archive/java/ant/antmeat-0.1.zip The included README.html isn't finished, but the example should be enough to discover the first bugs ;-) Have fun, Carsten
[»]
Re: Broken link
Link does not work (404), can you update? Mel
[»]
Re: Broken link
[»]
PHP class to use the Freshmeat.net xml-rpc interface i liked the xml-rpc interface, and I just written a php class that could
help those who prefer playing with php code :) it will be soon on
phpclasses.org (http://www.phpclasses.org/browse/package/1506.html) and
until that time you can email me to request this class "for
free" of course : info at dynamix-tn dot com
[»]
Re: PHP class to use the Freshmeat.net xml-rpc interface Well you can download
the class from here.
[»]
Re: PHP class to use the Freshmeat.net xml-rpc interface
--
[»]
Re: PHP class to use the Freshmeat.net xml-rpc interface yes! I agree, My XML / RSS avail. here RSS iRude --
[»]
Test mode needed? Merry Christmas all! Thanks a lot Patrick, this is a fantastic addition! Two suggestions: (1) A very important addition is a "test" mode... you don't want us to learn how to publish a release by trial and error!!
How to implement? Only for things that change the database, so only
for: (2) I assume that all arguments are strings for the protocol (apart form the structs, of course)? Specifically, the "release focus ID" might be an int... if so, this could be part of the documentation in the FAQ. BTW: I grabbed apache's xmlrpc http://ws.apache.org/xmlrpc/ for Java to do this... seems to work well. They have a nice short example of code, and mappings of XMLRPC types to Java types (eg a struct is a Hashtable). Finally, in the XMLRPC vs SOAP debate, I really much prefer simpler... but I never get to see the XML in practice, at all (except for the error message, when viewing it with a web-browser). Simple XML would be *great* if you could play with the server manually via telnet, but because HTTP demands that you count the characters to give a length, it's impossible... unless you write a tool to do that, but then you might as well just use a proper tool for XMLRPC... so, XMLRPC or SOAP, it just doesn't matter so far as the protocol is concerned. Cheers, Brendan
[»]
License values? What are the values for the license tag? (More generally, what are the
values for all the tags that expect a delimited set of values)
[»]
Re: License values?
Any of the nodes in the license root category is valid. You can also check our license listing the FAQ. > I tried to use ESR's freshmeat-submit to > send a branch update and I got the > "100" error back. So I tried > to explicitly set the license to > "MIT/X Consortium License" > because that seemd like the most > reasonable thing. I got "100" > back again. That should be fixed now. You don't have to supply a license value and the interface erroneously expected one. --
[»]
Security? Once automated, no one will be checking his --
[»]
Re: Security?
*meep* Wrong. Even if it is automated for project managers it is and will be a manual verification task for freshmeat.net staff members. --
[»]
Re: Security?
[»]
Why not SOAP? Why did you use XML RPC and not instead SOAP, which is a W3C Standard? Did
you have any reasons to use XML RPC? --
[»]
Re: Why not SOAP?
I guess it's just the tip of the iceberg. I had a couple of requests for an XML-RPC interface and none specifically for a SOAP interface. But since it's all a matter of abstraction it wouldn't be hard to implement one based on SOAP as well (given popular demand). --
[»]
Re: Why not SOAP? And why not XML-RPC? It is much much simpler. You can actually look at the
text on the wire and understand what's going on. SOAP is much more
convoluted. --
[»]
Re: Why not SOAP? I'm inclined to agree. SOAP can be extremely simple when WSDL is used. Take this perl example: use SOAP::Lite; That's it.
[»]
URL? What URL should client apps use to run these methods? I tried http://www.freshmeat.net/RPC, but that just does a search for "rpc".
[»]
Re: URL?
The URL is freshmeat.net/ xmlrpc which I just added to the FAQ as well. --
|