On Thursday, June 11, 2009, at 07:33PM, "Joe Gregorio" <[email protected]> 
wrote:
>
>On Tue, Jun 9, 2009 at 6:24 PM, James M Snell<[email protected]> wrote:
>>
>> I've already started working up an I-D for a new profile media type
>> parameter. I should be able to get it published by tomorrow end-of-day
>>
>> Example:
>>
>>  application/atom+xml;profile="http://example.org/profile/foo";
>>
>> The profile parameter value is a URI that identifies a logical profile to
>> which the Atom document conforms. Only a single profile value is allowed for
>> now.
>
>Why not extend the Service Document with extra information about what the 
>server
>will accept? That was the point of the service document which was to
>contain that
>kind of information.

Wasn't this the intent of the features draft?

What I like about the profile parameter is that it provides the opportunity to 
do a sort client side negotiation with a server that can serve up Atom in 
different varieties, such as:


<feed>
   <!-- ... -->
   <entry>
    <title>My Entry</title>
    <link rel="alternate" type='application/atom+xml; 
profile="http://example.org/profile/foo";' 
href="http://example.org/entries/1_foo.xml"/>
    <link rel="alternate" type='application/atom+xml; 
profile="http://example.org/profile/bar";' 
href="http://example.org/entries/1_bar.xml"/>
    <!-- ... -->
  </entry>
</feed>
    
The client could pick the variant it wants based on the profile.

Jan




 
On Thursday, June 11, 2009, at 07:33PM, "Joe Gregorio" <[email protected]> 
wrote:
>
>On Tue, Jun 9, 2009 at 6:24 PM, James M Snell<[email protected]> wrote:
>>
>> I've already started working up an I-D for a new profile media type
>> parameter. I should be able to get it published by tomorrow end-of-day
>>
>> Example:
>>
>>  application/atom+xml;profile="http://example.org/profile/foo";
>>
>> The profile parameter value is a URI that identifies a logical profile to
>> which the Atom document conforms. Only a single profile value is allowed for
>> now.
>
>Why not extend the Service Document with extra information about what the 
>server
>will accept? That was the point of the service document which was to
>contain that
>kind of information.
>
>  Thanks,
>   -joe
>
>>
>> - James
>>
>> Nikunj R. Mehta wrote:
>>>
>>> Several recent discussions suggest the need for sub-typing Atom documents.
>>> There are two major requirements for sub-typing Atom documents:
>>>
>>> 1. In Atom Publishing Protocol, signaling the requirement for an Atom
>>> extension (whether blessed by IETF or not) to be present in accepted content
>>> [1]. To illustrate the requirement by example, one would see:
>>>
>>> <app:accept>application/atom+xml;type=entry;extension=token</app:accept>
>>>
>>> 2. Establishing an expectation on an Atom processor for the media type of
>>> a linked resource, e.g., whether the representation in-lines a complete
>>> hierarchy of Atom entries and feeds [2]. Once again to illustrate the
>>> requirement by example, one would see:
>>>
>>> <atom:link rel="down" type="application/atom+xml;type=feed;inline-depth=1"
>>> href="children"/>
>>>
>>> Of these cases, a really strong case can be made for the first requirement
>>> to use a media type parameter, since it has to happen in the absence of the
>>> actual Atom document. There is only one must-understand signaling mechanism
>>> in AtomPub and that is app:accept. If a media type parameter is used in
>>> app:accept that cannot be understood by its receiver, the receiver has no
>>> choice but to cease communications with the server. Since almost every
>>> AtomPub-style "API" introduces its own set of requirements for what
>>> constitutes an entry the server is willing to accept.
>>>
>>> For example, Google Finance API in its protocol reference states that an
>>> entry posted as a new portfolio must include a "gf:portfolioData" element
>>> inside an atom:entry [3]. CMIS servers may require the presence of a type
>>> identifier as extended entry metadata in order to accept an entry posted to
>>> a collection [4].
>>>
>>> It seems quite reasonable to establish a single media type parameter and
>>> allow every such API to define their own acceptable values for this purpose.
>>> This approach  provides fair warning and enables AtomPub niches to legally
>>> exist, and even interoperate.
>>>
>>> The second case can probably benefit from a media type parameter, but it
>>> is not clear what the semantics of that parameter would be. Specifically:
>>>
>>>   1. Do Atom processors fail if, when processing Content-Type header,
>>>      they encounter a media type parameter they don't know about or a
>>>      value in a known media type parameter that they don't understand.
>>>   2. Does introduction of media type parameters for
>>>      application/atom+xml require standards track RFC?
>>>
>>>
>>> Nikunj
>>> http://o-micron.blogspot.com
>>>
>>> [1] http://www.imc.org/atom-protocol/mail-archive/msg11398.html
>>> [2] http://www.imc.org/atom-syntax/mail-archive/msg21114.html
>>> [3]
>>> http://code.google.com/apis/finance/developers_guide_protocol.html#CreatingPortfolios
>>> [4] http://www.oasis-open.org/committees/download.php/32668
>>
>>
>
>
>
>-- 
>Joe Gregorio        http://bitworking.org
>
>
>

Reply via email to