Re: Tombstones and Link Extensions

Bob Wyman <bob@wyman.us> Wed, 10 November 2010 16:01 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 15C243A6822 for <ietfarch-atompub-archive@core3.amsl.com>; Wed, 10 Nov 2010 08:01:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.177
X-Spam-Level: **
X-Spam-Status: No, score=2.177 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HELO_MISMATCH_COM=0.553, HTML_MESSAGE=0.001, J_CHICKENPOX_22=0.6, J_CHICKENPOX_27=0.6, J_CHICKENPOX_42=0.6, J_CHICKENPOX_45=0.6, J_CHICKENPOX_46=0.6, J_CHICKENPOX_48=0.6]
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 caWhFFZ+9VFV for <ietfarch-atompub-archive@core3.amsl.com>; Wed, 10 Nov 2010 08:00:59 -0800 (PST)
Received: from hoffman.proper.com (Hoffman.Proper.COM [207.182.41.81]) by core3.amsl.com (Postfix) with ESMTP id CE1483A63CB for <atompub-archive@ietf.org>; Wed, 10 Nov 2010 08:00:58 -0800 (PST)
Received: from hoffman.proper.com (localhost [127.0.0.1]) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id oAAFr6Oo044289 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 10 Nov 2010 08:53:06 -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 oAAFr60s044288; Wed, 10 Nov 2010 08:53:06 -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-yw0-f43.google.com (mail-yw0-f43.google.com [209.85.213.43]) by hoffman.proper.com (8.14.4/8.14.3) with ESMTP id oAAFr5la044283 for <atom-syntax@imc.org>; Wed, 10 Nov 2010 08:53:05 -0700 (MST) (envelope-from bobwyman@gmail.com)
Received: by ywk9 with SMTP id 9so456845ywk.16 for <atom-syntax@imc.org>; Wed, 10 Nov 2010 07:53:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type; bh=A4YPagUYHt/wjC3knMrhw7UmIFNkbKWhuRntwT+jcco=; b=MJEiXoQVOi9smZVPuDCYvM2jxRPs1UV/0A8VvgDevUGZQE8HnzmrXjzJaxcCGjtVw3 hIg83ZbcMT/hTvRurDGuKzYjjiEbptHAODXzMlsZQKigTX4fbAl4QglOBbcnvSXWhO+p z7fOpzawqpWpT+0VCE3/iLV93qfQOKF/rXbuw=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=SjXsE7NPx9yLPQazswe1HmXRDQYrtzfB45urlJ4jKWLCUetEt5imGog/AlPYH04OLn LcQn9zyY0nv5TJ1V43frzxcQSaIPO1NnbMe89EZm/4O54VUgnkTuSsOW0ei1Xl9cpO2W KAfZDGWuhdzIPSYpmRkyjSInhtDGRb99BKvQ4=
MIME-Version: 1.0
Received: by 10.204.59.20 with SMTP id j20mr8321444bkh.122.1289404383460; Wed, 10 Nov 2010 07:53:03 -0800 (PST)
Received: by 10.204.4.136 with HTTP; Wed, 10 Nov 2010 07:53:03 -0800 (PST)
In-Reply-To: <20101110113537.GB4316@aliman-desktop>
References: <AANLkTikwt6o9U0oye0H9jku4O62Ue7sJSV1HrOgz5FGB@mail.gmail.com> <20101110113537.GB4316@aliman-desktop>
Date: Wed, 10 Nov 2010 10:53:03 -0500
X-Google-Sender-Auth: lvN8Vhyr_zmO0NhM8pU-tC_FnLU
Message-ID: <AANLkTin4d+wthGrzdmqDvwx-9ub+LPsnR1yMNsQJYEYY@mail.gmail.com>
Subject: Re: Tombstones and Link Extensions
From: Bob Wyman <bob@wyman.us>
To: Alistair Miles <alimanfoo@googlemail.com>
Cc: James Snell <jasnell@gmail.com>, Atom-Syntax <atom-syntax@imc.org>
Content-Type: multipart/alternative; boundary="00504502b0493f7d9c0494b4dabf"
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>

Alistair Miles <alimanfoo@googlemail.com> wrote:
> we have a need to include some metadata elements
> from the original atom entry within the deleted entry
+1
In a variety of content-based message routing applications it is actually
very important that the record of a deletion carry with it as much as
possible of the data which is being deleted. The reason is that
content-based streaming systems do message routing based on the content of
an entry rather than simply on its source elements. (They implement "Track"
not just "Follow.") For such a system to be able to route a deletion to a
destination that might have previously received the item being deleted, one
of two approaches must be used:

   - The simplest approach is to include in the deleted entry the same
   content that would have been used to route the entry prior to its deletion.
   This makes it possible to simply route deleted-entries by using the same
   code as is used for routing normal entries.
   - A more complex and robust method requires that the router maintains a
   persistent record of all routing decisions, keyed by atom:id. Deleted
   entries are then routed based on this record of previous routing decisions.
   This can be, however, excessively expensive in some contexts. If using this
   approach, one must also deal with issues such as the maximum age of useful
   routing data. (When, if ever, can you delete routing logs?)

The second method (i.e. recording all routing decisions) is probably the
most robust since it can also be used to handle cases of updates to entries
which produce a new entry instance that would have not been routed in the
same way as the original. However, it should be noted that few systems
implement such complexity.

Given the considerations above, I would support (as I have in the past) the
suggestion that deleted entries be permitted to optionally carry much if not
all of the same content as the entries which are being deleted. It should
probably be made clear somewhere, that developers SHOULD NOT expect that all
publishers of deleted entries will, in fact, include this content.
Developers should only build code that relies on content-full
deleted-entries in cases where application profiles extending the base
specification assure that such content is provided. But, note that while
carrying this content should be optional, it isn't possible unless
permitted.

I support the *optional* provision of additional content in the deleted
entries.

bob wyman

On Wed, Nov 10, 2010 at 6:35 AM, Alistair Miles <alimanfoo@googlemail.com>wrote:

>
> Hi James,
>
> On Tue, Nov 09, 2010 at 12:48:04PM -0800, James Snell wrote:
> > Ok, so the Atom Tombstones [1] draft, at this point, is definitely
> complete.
> > I decided to wait a while before advancing it to see if any further
> comments
> > would come in. I know there are some implementations already and no major
> > issues have come up so I'm ready to push that forward to get an RFC # for
> > it.
>
> In [1] I mentioned that we have a need to include some metadata elements
> from
> the original atom entry within the deleted entry, in particular atom:title,
> atom:author and atom:publised, but that this is prohibited by the content
> model for the at:deleted-entry element, so we invented an extension element
> in our own namespace for this (see [2]).
>
> If no-one else has this requirement then fine, but I would have thought
> there
> would be quite a few situations where an application would want to present
> a list of deleted entries to a user and show more than just @ref @when and
> at:by - pretty much every situation in which a person wants to look at a
> list of deleted entries.
>
> I would much rather avoid a custom extension element and instead make the
> content-model for at:deleted-entry more permissive, e.g.:
>
>     deletedEntry = element at:deleted-entry {
>       atomCommonAttributes,
>       attribute ref { atomUri },
>       attribute when { atomDateConstruct },
>       ( element at:by { atomPersonConstruct }?
>       & element at:comment { atomTextConstruct }?
>       & atomAuthor*
>       & atomCategory*
>       & atomContent?
>       & atomContributor*
>       & atomId?
>       & atomLink*
>       & atomPublished?
>       & atomRights?
>       & atomSource?
>       & atomSummary?
>       & atomTitle?
>       & extensionElement*)
>     }
>
> An implementation would then be free to include as little or as many of
> these
> additional elements within a deleted entry as required. A client consuming
> a feed with deleted entries could choose to render this information if
> present.
>
> Again, if no-one else sees this as an issue then fine, but I do think there
> is a potential interoperability issue here that should be at least
> commented
> on prior to RFC.
>
> Apologies if I've missed anything relevant in previous discussions.
>
> Cheers
>
> Alistair
>
> [1] http://www.imc.org/atom-syntax/mail-archive/msg21574.html
> [2]
> http://code.google.com/p/atombeat/wiki/TombstonesDesign#Configuring_Ghosts
>
> --
> 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
>
>