Re: Atom Content Negotiation

Alistair Miles <alimanfoo@googlemail.com> Mon, 16 May 2011 09:30 UTC

Return-Path: <owner-atom-syntax@mail.imc.org>
X-Original-To: ietfarch-atompub-archive@ietfa.amsl.com
Delivered-To: ietfarch-atompub-archive@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8385CE06BD for <ietfarch-atompub-archive@ietfa.amsl.com>; Mon, 16 May 2011 02:30:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PpGW15pm3red for <ietfarch-atompub-archive@ietfa.amsl.com>; Mon, 16 May 2011 02:29:59 -0700 (PDT)
Received: from hoffman.proper.com (IPv6.Hoffman.Proper.COM [IPv6:2001:4870:a30c:41::81]) by ietfa.amsl.com (Postfix) with ESMTP id C856BE065D for <atompub-archive@ietf.org>; Mon, 16 May 2011 02:29:58 -0700 (PDT)
Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id p4G9N2H0077480 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 May 2011 02:23:02 -0700 (MST) (envelope-from owner-atom-syntax@mail.imc.org)
Received: (from majordom@localhost) by hoffman.proper.com (8.14.4/8.13.5/Submit) id p4G9N1r6077479; Mon, 16 May 2011 02:23:01 -0700 (MST) (envelope-from owner-atom-syntax@mail.imc.org)
X-Authentication-Warning: hoffman.proper.com: majordom set sender to owner-atom-syntax@mail.imc.org using -f
Received: from mail-fx0-f43.google.com (mail-fx0-f43.google.com [209.85.161.43]) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id p4G9MxNi077469 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL) for <atom-syntax@imc.org>; Mon, 16 May 2011 02:23:01 -0700 (MST) (envelope-from alimanfoo@googlemail.com)
Received: by fxm3 with SMTP id 3so4670687fxm.16 for <atom-syntax@imc.org>; Mon, 16 May 2011 02:22:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=XmX6OF2Cw6EmGQb9706UjBG+1UVvn8mcXr3Pl/Fdgzw=; b=kHwgCeNML7SVe0W2MMuxhktbpRXiZ1gMUHleZIMRYb9RYYLg+YkobHL5ITjVBJtwHs 24dn/WbMoEqgxU+9czrKtnw17HGHZuKzq+TDbocsDMgsnr8j7kRJ+KqLYBdp9PEt6KQl gjyzYJ2riVRRarRnfam4UZFAgK9xYX2gcRdEQ=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=BKeh2DefQjR4366Or2VXMYcjd0vRPobnEKPNyPnNCPmiVZOQdQlrOEYAu+DZOAFuT8 odGDJ0NhzM5NAV0hPgGh9gSKC8VVfrMKv1TYlBNU7kjNuMrVTnU2CaqdFM4JQ5t7yEft HIEaqyON/aj5AWPC3Ci8zXDOYkmU5ICptbjQ0=
Received: by 10.223.14.137 with SMTP id g9mr3590828faa.2.1305537750487; Mon, 16 May 2011 02:22:30 -0700 (PDT)
Received: from skiathos (dhcp462.well.ox.ac.uk [129.67.46.49]) by mx.google.com with ESMTPS id f14sm1750563fai.17.2011.05.16.02.22.28 (version=SSLv3 cipher=OTHER); Mon, 16 May 2011 02:22:29 -0700 (PDT)
Date: Mon, 16 May 2011 10:22:25 +0100
From: Alistair Miles <alimanfoo@googlemail.com>
To: Erik Wilde <dret@berkeley.edu>
Cc: Atom-Syntax <atom-syntax@imc.org>
Subject: Re: Atom Content Negotiation
Message-ID: <20110516092225.GD5335@skiathos>
References: <4DBA06CE.8070304@berkeley.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <4DBA06CE.8070304@berkeley.edu>
User-Agent: Mutt/1.5.21 (2010-09-15)
Sender: owner-atom-syntax@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/atom-syntax/mail-archive/>
List-Unsubscribe: <mailto:atom-syntax-request@imc.org?body=unsubscribe>
List-ID: <atom-syntax.imc.org>

Hi Erik,

On Thu, Apr 28, 2011 at 05:31:10PM -0700, Erik Wilde wrote:
> 
> hello.
> 
> on http://dret.typepad.com/dretblog/2011/04/atom-content-negotiation.html
> i have posted some thoughts on whether there should eb a way how to
> differentiate between "feed variants", so that publishers could link
> the HTML feed to the XML feed. any feedback would be very welcome,
> both encouraging and critical. commenting on the blog might be
> better visible, and i will take the freedom to link back from the
> blog to the mailing archive if there are interesting follow-up
> mails, unless you don't want me to do so.

Why not just use <atom:link rel='alternate' href='...'/> at both the feed and 
entry levels? 

In our data repository systems (based on AtomPub), both collections and 
collection members are content negotiable resources. I.e., you can retrieve an 
Atom, HTML or JSON representation, by specifying different preferences in the 
Accept request header. In addition to this content negotiation at the collection 
or member URI, each variant representation also has a URI, and links are 
provided in entry and feed representations to all variant representations via 
the 'alternate' link relation.

E.g., 

GET /foo
Host: example.org
Accept: application/atom+xml

200 OK
Content-Type: application/atom+xml;type=feed
Content-Location: http://example.org/foo?format=atom
Vary: Accept 

<atom:feed xmlns:atom="http://www.w3.org/2005/Atom">
  <atom:link rel="self" href="http://example.org/foo"/>
  <atom:link rel="alternate" type="text/html" href="http://example.org/foo?format=html"/>
  <atom:link rel="alternate" type="application/json" href="http://example.org/foo?format=json"/>
  ...
  <atom:entry>
    <atom:link rel="edit" href="http://example.org/foo/bar"/>
    <atom:link rel="alternate" type="text/html" href="http://example.org/foo/bar?format=html"/>
    <atom:link rel="alternate" type="application/json" href="http://example.org/foo/bar?format=json"/>
    ...
  </atom:entry>
</atom:feed>

FWIW, this is implemented using a generic content negotiation plugin for 
AtomBeat [1], sorry no documentation as yet.

Cheers,

Alistair

[1] http://code.google.com/p/atombeat/wiki/ReleaseNotes#configurable_conneg_plugin 

> 
> thanks and kind regards,
> 
> dret.
> 
> -- 
> erik wilde | mailto:dret@berkeley.edu  -  tel:+1-510-6432253 |
>            | UC Berkeley  -  School of Information (ISchool) |
>            | http://dret.net/netdret http://twitter.com/dret |
> 

-- 
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health <http://cggh.org>
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Web: http://purl.org/net/aliman
Email: alimanfoo@gmail.com
Tel: +44 (0)1865 287669