Re: [apps-discuss] New Version Notification for draft-hamnaberg-publish-link-relation-00.txt

Jan Algermissen <jan.algermissen@nordsc.com> Wed, 15 January 2014 21:35 UTC

Return-Path: <jan.algermissen@nordsc.com>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6ADFB1AE248 for <apps-discuss@ietfa.amsl.com>; Wed, 15 Jan 2014 13:35:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.351
X-Spam-Level:
X-Spam-Status: No, score=-0.351 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, J_CHICKENPOX_37=0.6, J_CHICKENPOX_38=0.6, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id utRBMF4zpuiB for <apps-discuss@ietfa.amsl.com>; Wed, 15 Jan 2014 13:35:38 -0800 (PST)
Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.186]) by ietfa.amsl.com (Postfix) with ESMTP id EC0A41AE237 for <apps-discuss@ietf.org>; Wed, 15 Jan 2014 13:35:37 -0800 (PST)
Received: from [192.168.2.103] (p548FAFBD.dip0.t-ipconnect.de [84.143.175.189]) by mrelayeu.kundenserver.de (node=mreu1) with ESMTP (Nemesis) id 0MQs8Y-1VvBLe2Wvm-00Ttr3; Wed, 15 Jan 2014 22:35:24 +0100
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Jan Algermissen <jan.algermissen@nordsc.com>
In-Reply-To: <CAKioOqt4-7tOoN66zth2vatLUFBXRSRaG4973trpEQRMP9dyYQ@mail.gmail.com>
Date: Wed, 15 Jan 2014 22:35:24 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <4ACFE05D-D204-4363-9A8B-AAC7F0695D66@nordsc.com>
References: <20140115140544.27701.78043.idtracker@ietfa.amsl.com> <CAGuwm8V+cFGE4aYP4rsZtGQR3_NPBOxf_t_BRgfxQbbTvOJTVQ@mail.gmail.com> <F1F4C81D-5106-46B9-9A4C-B3C2F696A07F@nordsc.com> <CAGuwm8Vh_bAKW9Lo3qLy5Usb5atM52BQ3cm_4WGc0X1--3QvKA@mail.gmail.com> <05628088-5731-4BEB-BD79-7C83896279FF@nordsc.com> <CAPW_8m66V2YJeGMK3zN_qnKpph8ujnrA85585FFwLoBtfWvfXA@mail.gmail.com> <CAKioOqt4-7tOoN66zth2vatLUFBXRSRaG4973trpEQRMP9dyYQ@mail.gmail.com>
To: darrel@tavis.ca
X-Mailer: Apple Mail (2.1510)
X-Provags-ID: V02:K0:TG0g7QEvn792SHNXfJnEmOmmBKr0LCBGsofv7qDjfar IyazSKAKlADeo/tipPmCx5RELUaF8QzejfwOFDngKco3RAm+WZ ESMHRUydquVtsotScRt94qLDvdRtOAIlzrkJXP+Yrk+1GhSf/4 HjO9kTRVAZm0qrZZ26v4TLg7IpGQEXwNS+jlTfXoZEuqRpQ45n jC7xkT1m8kIzgWsCWxD/sdp3m0DPSqo2Px08F2EdKPABoOLEkf +vIkDh9jMjtVu4hrC81wSCssKGjbcAFOjA/JVomKQDfiMCCgzZ 0TQQAc99HhKgvU7lpRKl982l8GiXQKIypr13P0ExGJWcocbo/g 8iJvVCcW352+mFKubK5iQdkVgwgDFgawoi7OVzbYvzoJMa/FG/ Zhwp417/ZlqeQ==
Cc: IETF Apps Discuss <apps-discuss@ietf.org>
Subject: Re: [apps-discuss] New Version Notification for draft-hamnaberg-publish-link-relation-00.txt
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss/>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Jan 2014 21:35:40 -0000

On 15.01.2014, at 21:58, Darrel Miller <darrel.miller@gmail.com> wrote:

> Mike,
> 
> How do you feel about a link relation that says, if you do POST, it
> means this ...

Uuuh - POST means POST ("process this"). A link rel cannot re-specify that.

The rel conveys information about the nature of a target resource. This helps the client to form an expection about the resource and interact with it if it is programmed to do so. Maybe the resource does not even support a POST. 

> 
> If that concerns you then do you have suggestions on how the these
> link relations should work:
> 
> rel=payment        https://web-payments.org/specs/source/payment-links/

You are loosing me here ... "payment" already exists in <http://tools.ietf.org/html/rfc5988#section-6.3>. And why is that spec not defining URI template variables and references the URI Template draft? <http://tools.ietf.org/html/rfc6570>


> rel=hub
> https://pubsubhubbub.googlecode.com/git/pubsubhubbub-core-0.4.html

The target 'is a hub' - what else do I need to know?

> rel=oauth2-token http://tools.ietf.org/html/draft-wmills-oauth-lrdd-07#page-8

target is a resource where I can obtain an oauth2 token

> 
> As far as I understand it, all of these have an associated meaning to
> a POST request.

Which is simpl not possible - you cannot override HTTP and still be 'within the system'. If you associate meaning with POST, you are defining an application protocol on top of HTTP.

>  Curiously, that meaning is not described in the rel
> relation registration, but in the specification that describes the
> protocol that uses the link relation.

Which you can, if you mark it as a 'hint' or 'example' - just do not trick the client into making assumptions that REST deliberately wants the client *not* to make.

The most interesting thing about all this is, IMHO, that you frankly do not need to know, because the method to use is usually sraight forward given the context. I mean, what method would you use for obtaining an oauth2 token? 

>  This separation concerns me
> because we could end up with a situation where different protocols
> assign different interaction semantics to the same link relation.

HTTP is for the interaction semantics, link rels can only express the nature of a resource. They cannot constrain the server.

Jan


> 
> Darrel
> 
> 
> 
> On Wed, Jan 15, 2014 at 1:05 PM, mike amundsen <mamund@yahoo.com> wrote:
>> My advice is to *not* attempt to constrain how the client or server behaves
>> when using the link relation (e.g. "client SHOULD use POST to ....", etc.).
>> 
>> Instead just define the link relation's meaning and let clients and servers
>> use that shared meaning to do whatever they want with it.
>> 
>> 
>> 
>> 
>> 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 Wed, Jan 15, 2014 at 11:45 AM, Jan Algermissen
>> <jan.algermissen@nordsc.com> wrote:
>>> 
>>> 
>>> On 15.01.2014, at 16:59, Erlend Hamnaberg <erlend@hamnaberg.net> wrote:
>>> 
>>>> 
>>>> My use case has been a schedule for a conference.
>>>> 
>>>> The program is built over time, but once it is done, I want to publish
>>>> it.
>>> 
>>> If publishing is done by the same server, I'd change a property of the
>>> program to tell the server that it should publish.
>>> 
>>> When on a nother server, I'd try to POST the program's representation,
>>> implicitly creating a new publishing job. That job will have a URI which I
>>> would use to observer the state of the job.
>>> 
>>> Having "publish" point to the publishing system might make sense, in that
>>> sense "publish" would identoty a "resource providing publishing services".
>>> 
>>> I'd ovoid to POST the URI to the publishing service if possible, because
>>> it reduces simpicity IMHO, because the publishing system will need to go and
>>> GET the resuorec to be published which feels unnatural to me.
>>> 
>>> How does that resonate with you?
>>> 
>>> Jan
>>> 
>>>> 
>>>> I could, of course, go through each session and publish it directly.
>>>> Each publishing step is then a state change for each session.
>>>> However, for a user interface can become cumbersome.
>>>> 
>>>> However, If I decide to model this as two separate URIs,
>>>> I may need a different mechanism.
>>>> 
>>>> Not sure I am able to explain this appropriately.
>>>> 
>>>> Erlend
>>> 
>>> _______________________________________________
>>> apps-discuss mailing list
>>> apps-discuss@ietf.org
>>> https://www.ietf.org/mailman/listinfo/apps-discuss
>> 
>> 
>> 
>> _______________________________________________
>> apps-discuss mailing list
>> apps-discuss@ietf.org
>> https://www.ietf.org/mailman/listinfo/apps-discuss
>> 
> _______________________________________________
> apps-discuss mailing list
> apps-discuss@ietf.org
> https://www.ietf.org/mailman/listinfo/apps-discuss