
On Sun, Jun 28, 2009 at 3:48 AM, Sam Johnston<samj@samj.net> wrote:
The categories were derived from Atom so in dropping it for individual resources we're going to have to reinvent it (think HTTP headers).
I know the following is a bad idea, but: It is still possible to support the use cases in the wiki even if we do not provide categories for single-resource responses in the HTTP headers. The Management Dashboard use case will still be able to get the categories from the API call that returns the collection of all resources - because this collection will be in atom format, it will have the categories. Subsequently, if the dashboard queries the API for more details about each resource one-by-one, the categories will not be present in those responses, but the categories can be taken from the first "get all my resources" call. It's possible, but, as you say, fugly. I would prefer to have the categories implemented in the HTTP headers for single-resource responses.
Categories are mostly useless for interoperability without a dedicated vocabulary/schema - I will want to ask every provider for a list of my "compute template" (or whatever the official label is) resources, and I can't do that if the label is not standardized by the spec.
The "templates" category is optional (in that you can reverse engineer it from the verbs available) but it's definitely a nice to have, and there are other categories that would be worth standardising too.
I thought we demonstrated in another thread that the verbs cannot be relied on to infer the category of the resource because there are some cases where the verbs will be limited by the permissions available to the authenticated user, which could cause mis-categorization if we rely on verbs alone. I think we will need to use categories.
It's a non-trivial area though (think official templates vs shared templates vs private templates) so we'll have to consider whether it's worth doing - my main concern right now is getting something functional out the door ASAP (the draft is already well overdue).
Why don't the same questions of official vs. shared vs. private apply to any category label? In other words, you seem to be saying that templates are different from "just plain" categories - and if so, why? I don't follow why it's non-trivial. The label can be applied either by the provider or by the user. The API will report the category label if it has been applied by anyone. .. Shlomo