Re: Exploring a new WG around Atom

Colm Divilly <colm.divilly@oracle.com> Tue, 14 July 2009 12:09 UTC

Return-Path: <owner-atom-syntax@mail.imc.org>
X-Original-To: ietfarch-atompub-archive@core3.amsl.com
Delivered-To: ietfarch-atompub-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0110E3A68F0 for <ietfarch-atompub-archive@core3.amsl.com>; Tue, 14 Jul 2009 05:09:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.19
X-Spam-Level:
X-Spam-Status: No, score=-6.19 tagged_above=-999 required=5 tests=[AWL=-0.191, BAYES_00=-2.599, J_CHICKENPOX_29=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hB5GivtD6jAS for <ietfarch-atompub-archive@core3.amsl.com>; Tue, 14 Jul 2009 05:09:37 -0700 (PDT)
Received: from balder-227.proper.com (properopus-pt.tunnel.tserv3.fmt2.ipv6.he.net [IPv6:2001:470:1f04:392::2]) by core3.amsl.com (Postfix) with ESMTP id 6244A3A68E2 for <atompub-archive@ietf.org>; Tue, 14 Jul 2009 05:09:37 -0700 (PDT)
Received: from balder-227.proper.com (localhost [127.0.0.1]) by balder-227.proper.com (8.14.2/8.14.2) with ESMTP id n6EBvmbl071658 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 14 Jul 2009 04:57:48 -0700 (MST) (envelope-from owner-atom-syntax@mail.imc.org)
Received: (from majordom@localhost) by balder-227.proper.com (8.14.2/8.13.5/Submit) id n6EBvmaE071656; Tue, 14 Jul 2009 04:57:48 -0700 (MST) (envelope-from owner-atom-syntax@mail.imc.org)
X-Authentication-Warning: balder-227.proper.com: majordom set sender to owner-atom-syntax@mail.imc.org using -f
Received: from rgminet12.oracle.com (rcsinet12.oracle.com [148.87.113.124]) by balder-227.proper.com (8.14.2/8.14.2) with ESMTP id n6EBvbOQ071638 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 14 Jul 2009 04:57:47 -0700 (MST) (envelope-from colm.divilly@oracle.com)
Received: from rgminet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by rgminet12.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n6EBvCj7005270 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 14 Jul 2009 11:57:13 GMT
Received: from abhmt009.oracle.com (abhmt009.oracle.com [141.146.116.18]) by rgminet15.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n6EBvf6c015435; Tue, 14 Jul 2009 11:57:41 GMT
Received: from [10.169.115.231] (/10.169.115.231) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 14 Jul 2009 04:57:32 -0700
Message-ID: <4A5C72BA.3010708@oracle.com>
Date: Tue, 14 Jul 2009 12:57:46 +0100
From: Colm Divilly <colm.divilly@oracle.com>
Organization: Oracle Corporation
User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
MIME-Version: 1.0
To: Mark Nottingham <mnot@mnot.net>
CC: "Nikunj R. Mehta" <nikunj.mehta@oracle.com>, atom-syntax Syntax <atom-syntax@imc.org>, atom-protocol Protocol <atom-protocol@imc.org>
Subject: Re: Exploring a new WG around Atom
References: <76C65F4C-7CEB-4F16-B9E7-35757E3D6D76@oracle.com> <4A326242.6080407@oracle.com> <559D55F1-57AB-41EA-A4AC-664D58660DC9@mnot.net>
In-Reply-To: <559D55F1-57AB-41EA-A4AC-664D58660DC9@mnot.net>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Source-IP: abhmt009.oracle.com [141.146.116.18]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A010209.4A5C72AD.00C4:SCFSTAT5015188,ss=1,fgs=0
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 Mark,
 yes I'd seen this before, but neglected to give you feedback on it, I 
basically concur with feedback given by Brian Smith [1], James Snell [2] 
previously.

 * I'm not convinced of the utility of being just able to filter within 
a single feed. I think a query language (e.g XQuery) that permitted 
defining a feed composed of entries from many disparate Collections of 
entries might be more useful.
 * Don't like the prefix based selector mechanism at all, as Brian said 
it goes contrary to the normal practices for dealing with QNames. I also 
would prefer an XPath subset syntax.
 * The fq:interface idea has some merit, although I think James' 
link-template mechanism [2] is more in line with what I had been 
thinking about. Both also seem similar to Open Search [3]
  * I'd like to be able to go further, in a similar fashion to how 
categories can be defined in-line and out-of-line in an app:collection 
element, I would like to be able to link to have a 'rel="queries"' link 
that links to a document that enumerates all the queries that could be 
applied. This is would help reduce duplication (where two or more feeds 
wish to reference the same set of queries),  and also avoid cluttering 
the feed when the number of queries starts to grow large.
 * I also feed that any query mechanism should be able to select on 
values of HTTP headers supplied with the request in addition to any uri 
parameters.

A minor nit: Section 4 has the following example:
 http://example.com/feed.atom?query=title==*new*,author==bob*
  Shouldn't that be name==bob* ? (/entry/author/name...)

In summary I think we need a few specifications:

 * The first defines a means of discovering what queries are possible, 
ala link-templates or OpenSearch.
 * The second defines a means of defining queries, It should be possible 
to do this in such a way that the specification supports multiple query 
lanaguages. I think of this as 'Published Queries' (JCR has a similar 
concept: persistent queries [4]), a user submits a query specification 
which enumerates all the 'link-template' meta-data plus an actual query 
that can be processed by the server to generate the required results, 
plus meta-data to bind the parameters specified in the link-template to 
parameters in the actual query.
 *  A third specification might define a lingua-franca query language 
that could be used instead of a server dependent query language, to be 
used when publishing queries.
(Ordered from most likely to see widespread adoption to least likely)

Have you had any implementation experience with FIQL since you wrote the 
draft? any insights to share with us?

Regards,
Colm

[1] http://www.imc.org/atom-syntax/mail-archive/msg20131.html
[2] http://www.imc.org/atom-syntax/mail-archive/msg20146.html
[3] http://www.opensearch.org/Specifications/OpenSearch/1.1
[4] 
http://jcp.org/aboutJava/communityprocess/maintenance/jsr170/index.html 
(jsr-170-1.0.1.pdf, section 6.6.11 p128)



Mark Nottingham wrote:
>
> WRT queries, just in case you weren't aware:
>   http://tools.ietf.org/html/draft-nottingham-atompub-fiql-00
>
> Cheers,
>
>