Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Bryan Taylor
On 10/26/2011 04:45 PM, Jorge Williams wrote: On Oct 26, 2011, at 1:19 PM, Bryan Taylor wrote: So no pdfs or excel spreadsheets without conneg. But PDFs and excel spreadsheets are precisely why you want variants! Reports and spreadsheets are presentation layer resources that should come

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Bryan Taylor
On 10/26/2011 11:19 PM, Mark Nottingham wrote: My problem with indicating the media type versioning in the root of the URI is that /v1/ style URIs typically indicate the versioning of the *whole* API, not just the media types being used. To be completely honest, I'd

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Jorge Williams
Response inline: On Oct 27, 2011, at 12:50 AM, Bryan Taylor wrote: On 10/26/2011 04:45 PM, Jorge Williams wrote: On Oct 26, 2011, at 1:19 PM, Bryan Taylor wrote: So no pdfs or excel spreadsheets without conneg. But PDFs and excel spreadsheets are precisely why you want variants!

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Mark Nottingham
On 27/10/2011, at 3:19 PM, Mark Nottingham wrote: I floated the idea a while back that we get rid of variants altogether and instead use an HTML representation to offer the user a choice of how to view the information that includes pre elements with JSON and XML formatted text. It could

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread George Reese
On Oct 27, 2011, at 8:11 AM, Jorge Williams wrote: Response inline: On Oct 27, 2011, at 12:50 AM, Bryan Taylor wrote: On 10/26/2011 04:45 PM, Jorge Williams wrote: On Oct 26, 2011, at 1:19 PM, Bryan Taylor wrote: So no pdfs or excel spreadsheets without conneg. But PDFs and excel

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Dolph Mathews
+11 On Thu, Oct 27, 2011 at 8:56 AM, George Reese george.re...@enstratus.comwrote: Version and content desired belong in the headers for request and response. The imaginary crap you are dealing with a) don't require them in a URL unless you are pulling it from the URL bar of a browser, which

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Ed Leafe
On Oct 27, 2011, at 8:56 AM, George Reese wrote: There's a nasty habit within the OpenStack community of trying to boil the ocean. And here we are navel gazing over feeds and crap when the API can't yet support the most basic of functionality. +1 -- Ed Leafe

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Bryan Taylor
On 10/26/2011 11:19 PM, Mark Nottingham wrote: To be truly RESTful at the level of the Fielding article (which I actually think is the best description of HATEOAS there is) you shouldn't have these variants at all. I worry about us trying to put lipstick on the pig -- all these variants are a

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread George Reese
The complete lack of evolution of the OSAPI combined with the irrational resistance to the EC2 API has struck a nerve with me. #1 Feature coverage in the OSAPI is atrocious. And I don't get the feeling there's anyone seriously doing anything about it. Of course, you can always say, George,

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Bryan Taylor
On 10/27/2011 08:56 AM, George Reese wrote: THE API SHOULD NOT BE SERVING ATOM CONTENT!!! What!? Atom is a fine way to represent a collection. Especially one that is append only. There's a nasty habit within the OpenStack community of trying to boil the ocean. And here we are navel gazing

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread George Reese
You know what it has to do with API versioning? It has to do with people proposing bad versioning ideas to support esoteric stuff WHEN THE BASIC STUFF AIN'T THERE YET. curl is the appropriate mechanism for manually interacting with an API for development purpose. A browser is a very limited

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Mark Nottingham
On 28/10/2011, at 2:39 AM, Bryan Taylor wrote: On 10/26/2011 11:19 PM, Mark Nottingham wrote: To be truly RESTful at the level of the Fielding article (which I actually think is the best description of HATEOAS there is) you shouldn't have these variants at all. I worry about us trying to

Re: [Openstack] API Versioning and Extensibility

2011-10-27 Thread Mark Nottingham
On 28/10/2011, at 2:36 AM, George Reese wrote: The complete lack of evolution of the OSAPI combined with the irrational resistance to the EC2 API has struck a nerve with me. #1 Feature coverage in the OSAPI is atrocious. And I don't get the feeling there's anyone seriously doing anything

Re: [Openstack] API Versioning and Extensibility

2011-10-26 Thread Bryan Taylor
On 10/24/2011 11:20 PM, Mark Nottingham wrote: tl;dr Much omitted, since it's long... I agree strongly with 98% of what you are saying. I'll focus on the variants here. I'd rather just get rid of them. GET /servers.v1.json vs http://api.example.com/v1/foo I agree with you that the latter

Re: [Openstack] API Versioning and Extensibility

2011-10-26 Thread Jorge Williams
On Oct 26, 2011, at 1:19 PM, Bryan Taylor wrote: So no pdfs or excel spreadsheets without conneg. But PDFs and excel spreadsheets are precisely why you want variants! Here's my usage stats for 2009... http://usage.api.acme.com/v1.0/jorgew/2009/usage.pdf; You mean to tell me that I can't send

Re: [Openstack] API Versioning and Extensibility

2011-10-26 Thread Mark Nottingham
On 27/10/2011, at 5:19 AM, Bryan Taylor wrote: On 10/24/2011 11:20 PM, Mark Nottingham wrote: tl;dr Much omitted, since it's long... I agree strongly with 98% of what you are saying. I'll focus on the variants here. I'd rather just get rid of them. I think there's a discussion to be

Re: [Openstack] API Versioning and Extensibility

2011-10-25 Thread Mark McLoughlin
Hi Mark, On Tue, 2011-10-25 at 15:20 +1100, Mark Nottingham wrote: [snip] What do people think of the linked approach to versioning and extensibility? I like it. With the exception of the media types, it's very similar to the approach we took with the RHEV API[1] and it works really well. We

[Openstack] API Versioning and Extensibility

2011-10-24 Thread Mark Nottingham
tl;dr * OpenStack should use the Server, User-Agent and perhaps Via headers for debugging implementation issues. We may want to consider requiring a User-Agent header from clients. * Versions in API discussions should mean backwards-incompatible changes in the API, as distinct from versions