Re: Uber Hypermedia format

mike amundsen <[email protected]> Mon, 10 Mar 2014 16:16:16 -0400
Newsgroups gmane.comp.web.services.rest
Message-ID <CAPW_8m6AKsD0KZQrtfU7-puF4sj6RhKEd5ook_H2sp8f4tmRdg@mail.gmail.com>
*** forwarding this thread to the UBER Hypermedia List ***


mamund
+1.859.757.1449
skype: mca.amundsen
http://amundsen.com/blog/
http://twitter.com/mamund
https://github.com/mamund
http://linkedin.com/in/mamund


On Sat, Mar 1, 2014 at 7:15 PM, mike amundsen <[email protected]> wrote:

> right. transclude="true" is a hint. just like embed="true" is a hint in Cj.
>
> as Matt points out, the client intent may not be the same as the server's
> suggestion and that's fine. the server doesn't (or shouldn't) worry about
> that detail.
>
> FWIW, i talked about this idea a while back with the notion of
> "Aspects"[1] where some affordance details are server-focused (idempotence
> [HTTP.POST v. HTTP.PUT] & safety [HTTP.GET v. HTTP.DELETE])and some are
> client-focused (mutability [HTML.A] and transclusion [HTML.IMG]). The
> server stuff is a strong network promise, the  client stuff is a local
> promise.
>
> anyway, in Uber the "send-format" and "receive-format" are also loose
> promises. just like HTML.A@type is a loose promise (hint).
>
> i want to offer folks the oppty to include this when they wish and let
> clients and servers sort out whether they treat them as strong or weak
> promises.
>
> make sense?
>
> [1]
> http://www.w3.org/2011/10/integration-workshop/p/hypermedia-oriented-design.pdf<https://docs.google.com/viewer?url=http://www.w3.org/2011/10/integration-workshop/p/hypermedia-oriented-design.pdf>
>
>
> mamund
> +1.859.757.1449
> skype: mca.amundsen
> http://amundsen.com/blog/
> http://twitter.com/mamund
> https://github.com/mamund
> http://linkedin.com/in/mamund
>
>
> On Sat, Mar 1, 2014 at 3:18 PM, Matt McClure <[email protected]>wrote:
>
>>
>>
>> That feels right. The media type and the client requirements are somewhat
>> independent, no? This affects servers also, possibly with different
>> expectations.
>>
>> A related concept that might be valuable to express is whether a
>> reference is "logically included" in the referring resource or if it's some
>> other kind of relationship. Does transclusion express exactly that or
>> merely an overlapping concept?
>>
>> Matt
>>
>> --
>> http://matthewlmcclure.com
>>
>> On Mar 1, 2014, at 3:12 PM, Darrel Miller <[email protected]>
>> wrote:
>>
>> A wise man once told me (and for life of me I can't remember who) that it
>> is the client's decision as to whether to LE or LO.  Is transclude just a
>> hint?
>>
>> Darrel
>>
>>
>> On Thu, Feb 27, 2014 at 9:28 AM, mike amundsen <[email protected]> wrote:
>>
>>>
>>>
>>> Yep - Matt's got it.
>>>
>>> these are equivalent:
>>>
>>> <data url="..." rel="logo" transclude="true" />
>>> and
>>> <img src="..." rel="logo" />
>>>
>>>
>>>
>>> mamund
>>> +1.859.757.1449
>>> skype: mca.amundsen
>>> http://amundsen.com/blog/
>>> http://twitter.com/mamund
>>> https://github.com/mamund
>>> http://linkedin.com/in/mamund
>>>
>>>
>>> On Thu, Feb 27, 2014 at 7:12 AM, Matt McClure <[email protected]
>>> > wrote:
>>>
>>>> Glenn,
>>>>
>>>> I'll let Mike correct me if I'm wrong but I believe transclusion is
>>>> analogous to the behavior of an <img> or <iframe> element in HTML. It's
>>>> telling the client to fetch the transcluded resource, just including it by
>>>> reference instead of by value.
>>>>
>>>> Matt
>>>>
>>>> --
>>>> http://matthewlmcclure.com
>>>>
>>>> On Feb 27, 2014, at 2:04 AM, Glenn Block <[email protected]> wrote:
>>>>
>>>>
>>>>
>>>> Hi Mike
>>>>
>>>> Cool to see this. I am looking over the format. I can see there's some
>>>> CJ footprints there ;-)
>>>>
>>>> Question on transclude. What do you mean when you say that if it is
>>>> true it should be embedded in the current document, do you mean it is
>>>> already present inline?
>>>>
>>>> I am asking in reference to this example:
>>>>
>>>>               {
>>>>                 "name" : "person",
>>>>                 "rel" : "item",
>>>>                 "url" : "http://example.org/people/1",
>>>>                 "data" :
>>>>                 [
>>>>                   {"name" : "givenName", "value" : "Mike"},
>>>>                   {"name" : "familyName", "value" : "Amundsen"},
>>>>                   {"name" : "email", "value" : "[email protected]"},
>>>>                   {"name" : "avatarUrl", "transclude" : "true", "value" : "http://example.org/avatars/1"}
>>>>                 ]
>>>>               },
>>>>
>>>>
>>>> Above, transclude is true. Where is the embedding / how does it play in?
>>>>
>>>> Thanks
>>>> Glenn
>>>>
>>>>
>>>> On Sun, Feb 23, 2014 at 10:25 PM, mike amundsen <[email protected]>wrote:
>>>>
>>>>>
>>>>>
>>>>> yep - you got it right.
>>>>>
>>>>> i might add some prose that sets expectations on which level of
>>>>> support for RFC6570 is needed in order to be uber-compliant. that might
>>>>> lower the bar for implementation.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> mamund
>>>>> +1.859.757.1449
>>>>> skype: mca.amundsen
>>>>> http://amundsen.com/blog/
>>>>> http://twitter.com/mamund
>>>>> https://github.com/mamund
>>>>> http://linkedin.com/in/mamund
>>>>>
>>>>>
>>>>> On Mon, Feb 24, 2014 at 12:48 AM, Alexander Johannesen <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hiya,
>>>>>>
>>>>>> > as for the use of @model. this is applied to the associated @url in
>>>>>> the same <data> element. That means you have full control over how much is
>>>>>> in the @model and how much is in the @url. That includes path segements,
>>>>>> etc. just as outlined in RFC6570.
>>>>>> >
>>>>>> > Does this clarify things?
>>>>>>
>>>>>>
>>>>>> Only where RFC6570 is clear. :) I guess I'm responding to the examples
>>>>>> from the website where for example we've got ;
>>>>>>
>>>>>> <data name="search" rel="search" url="http://example.org/search"
>>>>>> model="{&title}" />
>>>>>>
>>>>>> Which I assume is applied to that URL with a ?param structure, but
>>>>>> what with ;
>>>>>>
>>>>>> <data name="search" rel="search" url="http://example.org/search"
>>>>>> model="/{&type}/{&title}" />
>>>>>>
>>>>>> Will that resolve to http://example.org/search/{type}/{title}? If
>>>>>> yes,
>>>>>> then I understand how RFC6570 applies to the format. If no, I need
>>>>>> education.
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Alex
>>>>>>
>>>>>> --
>>>>>>  Project Wrangler, SOA, Info Alchemist, UX, RESTafarian, Topic Maps
>>>>>>  http://shelter.nu/blog  |  google.com/+AlexanderJohannesen
>>>>>>  http://xsiteable.org  |  http://www.linkedin.com/in/shelterit
>>>>>>
>>>>>>
>>>>>> ------------------------------------
>>>>>>
>>>>>> Yahoo Groups Links
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> 
>>
>
>