Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
zoom
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  3 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Andrei Neculau  
View profile  
 More options Oct 10 2012, 3:59 am
From: Andrei Neculau <andrei.necu...@gmail.com>
Date: Wed, 10 Oct 2012 00:59:55 -0700 (PDT)
Local: Wed, Oct 10 2012 3:59 am
Subject: zoom

In https://vimeo.com/49609648, Matt talks about the zoom functionality.
It looks like the representation types are not versioned, correct?

For those that cannot afford not-versioned representations though, how
would that look: zoom=price-v2 ?
That doesn't really work since what you want is to zoom into price, and get
the v2 representation of price.
It gets more obvious with a level 2: zoom=price.currency (imagine that for
some reasons currency would be a versioned representation)

Do you then switch to media-type parameters?
GET ...?zoom=price

> Accept: application/vnd.a.item-v1;price=price-v2

And beyond that, am I the only one that understands Matt's talk on
query-string, in conjunction with zoom as:
1. POST /items?zoom=price // this request will create an item
2. create the item at /items/123
3. return 201 with Location /items/123?zoom=price

Cheers,
Andrei


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matthew Bishop  
View profile  
 More options Oct 10 2012, 12:50 pm
From: Matthew Bishop <m...@thebishops.org>
Date: Wed, 10 Oct 2012 09:50:43 -0700 (PDT)
Local: Wed, Oct 10 2012 12:50 pm
Subject: Re: zoom

Versioning and zoom, interesting topic. My thoughts are very much in line
with Steve Klabnick's post
here: https://secure.designinghypermediaapis.com/nodes/fdivisitjqwp

...but you already read that one Andrei ;)

The kind of versioning you are describing is in the rel names, so 'price'
links take you to an old price, while 'price-v2' take you to a new price
resource. Inside both there might be a 'currency' link to describe the
currency of the price.  Two different clients would zoom into two different
paths (with results):

GET ...?zoom=price:currency
{
  ':price': {
    'currency': { ... currency object }

}

and then for the new version
?zoom=price-v2:currency
{
  ':price-v2': {
    'currency': { ... currency object }

}

The trick is that the items representation would have to surface both
links. This is either easy or hard, depending on how links are attached to
a representation. The easy way would use something like WRML's 'link
formulas' where the links are added by individual strategies via a
whiteboard or similar; the hard way woud be to modify /items to have to
know about both link relations.

About the second part, I think you are missing a bit:
1. POST /items?zoom=price*&followlocation* // this request will create an
item
2. create the item at /items/123
3. return 201 with Location /items/123 (no *?zoom=price)*
*as well as the items representation in the body; the representation will
have a 'self' field with the zoom in it like this:*
{
  'self': {
    'uri': '/items/123?zoom=price'
    ...
  }

  ':price': { //price object }

}

The zoom is part of the URI identifying the representation because it
contains injected data from a related resource.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andrei Neculau  
View profile  
 More options Oct 11 2012, 7:18 am
From: Andrei Neculau <andrei.necu...@gmail.com>
Date: Thu, 11 Oct 2012 04:18:30 -0700 (PDT)
Local: Thurs, Oct 11 2012 7:18 am
Subject: Re: zoom

Hmm, I will let this one sink in, Matt.
The surfacing of both links/rels is the easy part. The hard part is
digesting versioned relations :) One versioned relation per versioned
representation, in the context of minimizing as much as possible the
versioning boom..

Thanks for replying so precisely.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »