Re: Atom Over XMPP I-D

2006-05-19 Thread M. David Peterson
In fact, many of us are, as it has been the foundation of the work we have been doing on another project that is somewhat related, but focused on area that is quite a bit different in regards to the primary focus of Atom over XMPP, which I think is GREAT as it showcases quite nicely how a well designed format can be extended to provide additional value-add without breaking the underlying specification that it extends from.
Don't mean to sound like I am talking in code words... But will leave additional comments in Sylvains capable hands as one of the editors of the spec I am refering to... :)On 5/19/06, 
Sylvain Hellegouarch [EMAIL PROTECTED] wrote:
Hi Peter,Just noticed your message (we've flooded the list with the FTE draft ;)).I can tell you this is a work that I'm really interested in and I'mlooking forward to your new draft.- Sylvain
 -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 As you may have noticed, the Atom Over XMPP I-D expired on February 20 of this year: 
http://www.xmpp.org/drafts/draft-saintandre-atompub-notify-04.html However, by no means is this I-D abandoned. Since January, the underlying publish-subscribe specification (JEP-0060)
 used by draft-saintandre-atompub-notify has been under revision within the Jabber Software Foundation's standards process, mainly in order to incorporate feedback based on implementation experience (also to make
 the specification easier to understand). The revision process is close to completion and the Jabber Council is currently requesting feedback on the revisions: 
http://mail.jabber.org/pipermail/standards-jig/2006-May/011101.html http://www.jabber.org/jeps/tmp/jep-0060-1.8.html If all goes well, the revised pubsub specification will be approved by
 the Jabber Council during the week of June 12. At that time (and before the IETF 66 cutoff date of June 26), I will submit a revised version of draft-saintandre-atompub-notify to the Secretariat.
 Thanks for your interest. Peter - -- Peter Saint-Andre Jabber Software Foundation http://www.jabber.org/people/stpeter.shtml
 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEbJ00NF1RSzyt3NURAh/GAJ9Y3bOdSRu8sjL7fQJRyPK2gT8lawCghrPZ
 oR6vRLed4adw0a6ssgJvO2M= =Bb/z -END PGP SIGNATURE--- M:D/M. David Peterson
http://www.xsltblog.com/


Re: Feed Thread in Last Call

2006-05-19 Thread Robert Sayre


On 5/19/06, Lisa Dusseault [EMAIL PROTECTED] wrote:


Am I missing something in the case against the choice of location for
the metadata?


Yes. That location is going to cause interoperability problems in my
implementation, because the draft leaves too much undefined, and in
implementations who won't parse them. I think I've made that extremely
clear. The previous draft addressed my concerns. My current plan is to
implement the threading element, but I'll recommend against accepting
bug reports on the other aspects of the document, since I think it's
an underspecified mess. Kind of silly considering the clear lessons
from earlier efforts, but the threading element is good enough.

--

Robert Sayre

I would have written a shorter letter, but I did not have the time.



Re: Atom Rank Extensions: Feedback on r:value and r:range elements wanted (long)

2006-05-19 Thread Andreas Sewe


Lisa Dusseault wrote:
For related work, you could look at the email spam filtering stuff  from 
SIEVE: http://www.ietf.org/internet-drafts/draft-ietf-sieve- 
spamtestbis-02.txt


Thanks for the pointer. I was aware of SIEVE's Filtering Extension but 
didn't file it mentally as related to the Atom Rank Extension.


The similar problem is that many spam libraries already produce some  
kind of linear or similar scale of severity/likelihood rating for  
emails, much like existing services already provide their own scale  of 
post rankings.  The approach SIEVE took, very roughly, was simply  to 
tell implementors to find some way to map their implementation's  
ranking scheme to a canonical range of numerical values.  A SIEVE  
implementation might have one algorithm for converting SpamAssassin  
rankings to the canonical scale, and a different algorithm for some  
different library.


Unfortunately this approach does not suit ranking entries very well; the 
only canonical range I can think of being a superset of every 
conceivable Ranking Scheme is xsd:decimal. Smaller sets simply won't do. 
(While loss of information might be acceptable when classifying spam, 
other ranking use cases, e.g., grades, are less tolerant to it.)


Now this would essentially mean dropping the r:scheme element 
altogether, leaving only r:rank, which was, IIRC, a simplification 
suggested by Robert Sayre some time ago.


But even when dropping r:scheme's capability to define a set of allowed 
values having an r:scheme-like element around would still be useful:


- It provides a single place to specify a scheme's @significance 
(ascending or descending). Otherwise each and every r:rank element needs 
to carry its own @significance -- which is especially pointless since 
@significance has not significance (no pun intended) for a single 
ranking value; it only ever makes sense for a set of values.


- Furthermore, a scheme can also have a @label attached (e.g. Five 
Stars), which might then be used in a UI, complementing r:rank's @label 
(e.g. Good). But this issue is really independent of the question 
whether r:scheme itself actually has the ability to restrict the 
rankings to {1, 2, 3, 4, 5} or not.


To summarize, droppping r:scheme's datatyping capabilities might be 
acceptable, but dropping the concepts of Ranking Scheme and Domain is 
not. I would, however, like to see datatyping being included as well -- 
iff we can come up with a solution which can describe all the common 
uses cases out there!


Andreas Sewe



Re: Atom Rank Extensions: Feedback on r:value and r:range elements wanted (long)

2006-05-19 Thread James M Snell



Andreas Sewe wrote:
 
 Lisa Dusseault wrote:
 For related work, you could look at the email spam filtering stuff 
 from SIEVE: http://www.ietf.org/internet-drafts/draft-ietf-sieve-
 spamtestbis-02.txt
 
 Thanks for the pointer. I was aware of SIEVE's Filtering Extension but
 didn't file it mentally as related to the Atom Rank Extension.
 

Yes, I had reviewed SIEVE's mechanism a while back.  In fact, one of the
use cases I had originally considered for feed rank is that the r:rank
element could be used by syndication intermediaries to express spam
rankings for feed entries...

e.g.

  scheme name=tag:example.org,2006:spamtest
  significance=ascending
range minimum=0 maximum=100 step=1 /
  /scheme

  rank scheme=tag:example.org,2006:spamtest
label=Not Spam0/rank
  rank scheme=tag:example.org,2006:spamtest
label=Might be spam25/rank
  rank scheme=tag:example.org,2006:spamtest
label=Likely spam50/rank
  rank scheme=tag:example.org,2006:spamtest
label=Spam100/rank


 The similar problem is that many spam libraries already produce some 
 kind of linear or similar scale of severity/likelihood rating for 
 emails, much like existing services already provide their own scale 
 of post rankings.  The approach SIEVE took, very roughly, was simply 
 to tell implementors to find some way to map their implementation's 
 ranking scheme to a canonical range of numerical values.  A SIEVE 
 implementation might have one algorithm for converting SpamAssassin 
 rankings to the canonical scale, and a different algorithm for some 
 different library.
 
 Unfortunately this approach does not suit ranking entries very well; the
 only canonical range I can think of being a superset of every
 conceivable Ranking Scheme is xsd:decimal. Smaller sets simply won't do.
 (While loss of information might be acceptable when classifying spam,
 other ranking use cases, e.g., grades, are less tolerant to it.)
 

Right.  One of the goals for this work is to allow for as broad of a
range of ranking scenarios as possible. No single c18n scheme is capable
of covering such a range.

[snip]
 But even when dropping r:scheme's capability to define a set of allowed
 values having an r:scheme-like element around would still be useful:
 
 - It provides a single place to specify a scheme's @significance
 (ascending or descending). Otherwise each and every r:rank element needs
 to carry its own @significance -- which is especially pointless since
 @significance has not significance (no pun intended) for a single
 ranking value; it only ever makes sense for a set of values.
 

One point that I really do need to make clear in the draft is that ranks
can be processed relative to ranking schemes other than what is
identified in the rank element's scheme attribute.

For instance, going back to the spam example, it is entirely possible
that I, as a client, could define a variant of the spamtest ranking
scheme that is much more restrictive in range than the generic scheme
shown above.

  scheme name=tag:example.com,2006:myspamtest
  significance=ascending
range minimum=0 maximum=50 step=1 /
  /scheme

The set of entries produced by the processing the spamtest rankings
against this scheme would automatically exclude all entries with a
spamtest rank greater than 50.

[snip]
 To summarize, droppping r:scheme's datatyping capabilities might be
 acceptable, but dropping the concepts of Ranking Scheme and Domain is
 not. I would, however, like to see datatyping being included as well --
 iff we can come up with a solution which can describe all the common
 uses cases out there!
 

+1

- James



Feed thread updates

2006-05-19 Thread James M Snell

All,

I am preparing an update to the Feed Thread draft based on the Last-Call
feedback received so far.  The intent is to publish an update in time
for the May 26 cut-off date that has been set for the next IETF
face-to-face being held in Montreal in July.

Before sending that draft off, I wanted to run a number of the proposed
changes by the WG and request that folks weigh in on whether or not they
think the changes appropriately address the issues raised in the recent
discussions.  If you do not feel the changes appropriately address the
issues, if would be very helpful if you would please either list the
specific issues not addressed or, better yet, propose some alternative
spec text that you think would deal with the issue more appropriately.

First, there is the question over the thr: attributes. To handle these
concerns, I would like to insert the following:

== snip ==
Considerations for using thr:count and thr:when

The thr:count and thr:when attributes provide additional metadata about
 a resource linked to an Atom feed or entry using the replies link
relation. The values are intended to make it easier for feed consumers
to display basic contextual information about the thread of discussion
without requiring those consumers to dereference, parse and analyze the
linked resource. That said, there are a number of considerations
implementors need to be aware of.

First, the thr:count and thr:when attributes MUST NOT be considered to
provide completely accurate information about the thread of discussion.
 That is, the  actual total number of responses contained by the linked
resource MAY differ than the number specified in the thr:count
attribute.  Feed publishers SHOULD make an effort to ensure that the
meta is accurate.  The non-authoritative nature of external reference
metadata, like the replies link attributes, is discussed in detail in
section 3.3 of the W3C document Tag Finding 12: Authoritative Metadata
xref target=TAG12 /.

Second, the values of the thr:count and thr:when attributes are
volatile. Frequent updates to the value of the attributes, or to any
part of the Atom document, could have a detrimental impact on the
cacheability of Atom documents using the attributes, leading to an
increase in overall bandwidth consumption.

Feed publishers MUST consider a change to the thr:count and thr:when
attributes to be an insignificant update, meaning that the value of
the containing feed, entry or source element's atom:updated element MUST
NOT be affected by a change to the values of either of these attributes.

Lastly, implementors need to be aware that while the Atom specification
 xref target=RFC4287 / explicitly allows the link element to contain
arbitrary extensions, the specification does not require that
implementations support such extensions.  Specifically, relating to the
use of extensions, Atom does not define any level of mandatory
conformance on the part of feed consumers beyond a requirement that
implementations ignore any extension the implementation does not
understand. As a result, some implementations MAY NOT be capable of
fully utilizing the extensions defined by this or any specification.
== snip ==


Regarding the thr:in-reply-to element, there was a concern raised over
the optionality of the ref and href attributes and a potential for
interop issues.  There was also a suggestion that the spec include a
comparison to the in-reply-to header defined by RFC 2822.  To address
these concerns, I propose making the following change:

== snip ==
The in-reply-to element is used to indicate that an entry is a
response to another resource. The element MUST contain a ref attribute
identifying the resource that is being responded to.

The element is not unlike the references and in-reply-to email message
headers defined by xref target=RFC2822 /, with the exception that,
unlike those headers, the in-reply-to element is required only to
identify the unique identifier of a single parent resource as opposed to
the listing all of the unique identifiers for each preceding resource in
the thread.  If the entry is a response to multiple resources,
additional in-reply-to elements MAY be used.

  in-reply-to =
element thr:in-reply-to {
  atomCommonAttributes,
  ref,
  href?,
  source?,
  type?,
  ( undefinedContent )
}

  ref = attribute ref { atomURI }
  href = attribute href { atomURI }
  type = attribute type { atomMediaType }
  source = attribute source { atomURI }

The ref attribute specifies the persistent, universally unique
identifier of the resource being responded to.  The value MUST conform
to the same construction and comparison rules as the value of the
atom:id element. Though the IRI might use a dereferenceable scheme,
processors MUST NOT assume it can be dereferenced.

If the resource being responded to does not have a persistent,
universally unique identifier, the IRI used to retrieve a representation
of the resource MAY be used so long as that IRI 

Re: Feed thread updates

2006-05-19 Thread James M Snell

I stand corrected... the cut off is *June* 26th, not *May* 26. (thanks
Peter).  Either way, please take a look at the changes and let me know
your thoughts.

- James

James M Snell wrote:
 All,
 
 I am preparing an update to the Feed Thread draft based on the Last-Call
 feedback received so far.  The intent is to publish an update in time
 for the May 26 cut-off date that has been set for the next IETF
 face-to-face being held in Montreal in July.
 



Re: Feed Thread in Last Call

2006-05-19 Thread James M Snell


Robert Sayre wrote:
 On 5/19/06, Lisa Dusseault [EMAIL PROTECTED] wrote:

 Am I missing something in the case against the choice of location for
 the metadata?
 
 Yes. That location is going to cause interoperability problems in my
 implementation, because the draft leaves too much undefined, and in

Other than the issue with the Microsoft implementation, which has
already been thoroughly discussed, what other interop problems are you
anticipating?  A clear, non-editorialized, listing of the potential
issues and the rationale for each would be most helpful.

- James



Re: Feed Thread in Last Call

2006-05-19 Thread Robert Sayre


On 5/19/06, James M Snell [EMAIL PROTECTED] wrote:


Other than the issue with the Microsoft implementation, which has
already been thoroughly discussed, what other interop problems are you
anticipating?  A clear, non-editorialized, listing of the potential
issues and the rationale for each would be most helpful.


You've received several of those from me. I suggest you read your old
mail, paying close attention to messages that you replied to in under
15 minutes.

I have zero confidence that any technical change or compromise is
possible from you, and I find interacting with you to be a giant time
sink. My new policy will be to explain my problem *once*, and then I
will verify that my concerns (if any) have been addressed at some
later date when there is a revised document available. If my concerns
aren't addressed, I will make a concerted effort to avoid writing or
being responsible for maintaining any relevant functionality.

--

Robert Sayre



Re: Feed thread updates

2006-05-19 Thread A. Pagaltzis

Hi James,

* James M Snell [EMAIL PROTECTED] [2006-05-19 20:00]:
 Considerations for using thr:count and thr:when

I’d still like thr:when called thr:updated, as it follows the
same semantics as atom:updated and its value is of the same type.

 That is, the  actual total number of responses contained by the
 linked resource MAY differ than the number specified in the
 thr:count attribute. Feed publishers SHOULD make an effort to
 ensure that the meta is accurate.

This SHOULD seems way too prescriptive. If you keep this sentence
at all, I suggest changing to an informal “may want to.”

 Feed publishers MUST consider a change to the thr:count and
 thr:when attributes to be an insignificant update, meaning
 that the value of the containing feed, entry or source
 element's atom:updated element MUST NOT be affected by a change
 to the values of either of these attributes.

I would clarify this “an insignificant update in terms of RFC
4287”. However, I am not sure what this MUST buys, and more
importantly, how it could be enforced. Suggesting SHOULD instead.

 Lastly, implementors need to be aware that while the Atom
 specification xref target=RFC4287 / explicitly allows the
 link element to contain arbitrary extensions, the specification
 does not require that implementations support such extensions.

This concern could be partially addressed by including an element
to specify a global reply count for an entry in an atom:entry
Metadata element. The cost of such an inclusion is insignificant,
and there are benefits for all consumers, including those which
can support the namespaced link attributes. I strongly suggest
adding such an element.

I am willing to draft spec language for it if you want me to.

 The element is not unlike the references and in-reply-to email message
 headers defined by xref target=RFC2822 /, with the exception that,
 unlike those headers, the in-reply-to element is required only to
 identify the unique identifier of a single parent resource as opposed to
 the listing all of the unique identifiers for each preceding resource in
 the thread.  If the entry is a response to multiple resources,
 additional in-reply-to elements MAY be used.

This is an inaccurate description of the RFC 2822 headers.
Suggest the following:

The element is not unlike the references and in-reply-to
email message headers defined by xref target=RFC2822 /.
However, unlike the in-reply-to header, the in-reply-to
element is required to identify the unique identifier of only
a single parent resource. If the entry is a response to
multiple resources, additional in-reply-to elements MAY be
used. There is no direct equivalent to the references header,
which lists the unique identifiers of each preceding message
in a thread.

 If the resource being responded to does not have a persistent,
 universally unique identifier, the IRI used to retrieve a
 representation of the resource MAY be used so long as that IRI
 could also be used as a valid atom:id value and so long as the
 href attribute is also specified.

It would improve interop if multiple disparate publishers
publishing a response to the same resource were led to pick the
same identifier, so I suggest changing this MAY to SHOULD.

Regards,
-- 
Aristotle Pagaltzis // http://plasmasturm.org/



Re: Feed thread updates

2006-05-19 Thread James M Snell



A. Pagaltzis wrote:
 Hi James,
 
 * James M Snell [EMAIL PROTECTED] [2006-05-19 20:00]:
 Considerations for using thr:count and thr:when
 
 I’d still like thr:when called thr:updated, as it follows the
 same semantics as atom:updated and its value is of the same type.
 

I'm still stewing over this and haven't quite made up my mind on it yet.
 The only reason I'm not quite comfortable with it is that it just seems
confusing have both an atom:updated and a thr:updated.

 That is, the  actual total number of responses contained by the
 linked resource MAY differ than the number specified in the
 thr:count attribute. Feed publishers SHOULD make an effort to
 ensure that the meta is accurate.
 
 This SHOULD seems way too prescriptive. If you keep this sentence
 at all, I suggest changing to an informal “may want to.”
 

may want to is a little too weak for me, but yes, the SHOULD is too
much.  Let me think about it.  If I can't come up with something better,
I'll use the may want to suggestion.

 Feed publishers MUST consider a change to the thr:count and
 thr:when attributes to be an insignificant update, meaning
 that the value of the containing feed, entry or source
 element's atom:updated element MUST NOT be affected by a change
 to the values of either of these attributes.
 
 I would clarify this “an insignificant update in terms of RFC
 4287”. However, I am not sure what this MUST buys, and more
 importantly, how it could be enforced. Suggesting SHOULD instead.
 

Making this a MUST will (hopefully) reduce the likelihood false-updates
for clients that don't understand FTE. That is, if I use a client that
does not understand FTE and I suddenly see an entry that is marked as
updated for no apparent reason, I'm likely to get quite annoyed after a
while.

(note that I included this after running some tests on a couple of feed
readers and discovered that it is indeed quite annoying)

 Lastly, implementors need to be aware that while the Atom
 specification xref target=RFC4287 / explicitly allows the
 link element to contain arbitrary extensions, the specification
 does not require that implementations support such extensions.
 
 This concern could be partially addressed by including an element
 to specify a global reply count for an entry in an atom:entry
 Metadata element. The cost of such an inclusion is insignificant,
 and there are benefits for all consumers, including those which
 can support the namespaced link attributes. I strongly suggest
 adding such an element.
 
 I am willing to draft spec language for it if you want me to.
 

Yeah, I'm still stewing over this. I've started and stopped writing a
section for this about a dozen times over the last couple of days.  On
the one hand, it makes a lot of sense for the spec to have this.  On the
other, I could imagine feed reader implementors being quite pissed off
that they have to support an element with identical
form/function/semantics as slash:comments just so feed publishers can
avoid having to declare one additional xml namespace.  Also consider
that even if FTE declares a thr:count5/thr:count element, most folks
are likely going to keep on using slash:comments.   (I mean, heck, look
at the number of Atom 1.0 feeds that are still using dc:subject to
indicate the category!!)

The other elements/attributes in FTE don't suffer from this problem
because they introduce useful new functionality/semantics while also
reducing the number of xml namespaces that need to be declared.

I dunno, I guess I'm not really against having the element; I'm just
having a hard time getting myself to define it.

 The element is not unlike the references and in-reply-to email message
 headers defined by xref target=RFC2822 /, with the exception that,
 unlike those headers, the in-reply-to element is required only to
 identify the unique identifier of a single parent resource as opposed to
 the listing all of the unique identifiers for each preceding resource in
 the thread.  If the entry is a response to multiple resources,
 additional in-reply-to elements MAY be used.
 
 This is an inaccurate description of the RFC 2822 headers.
 Suggest the following:
 
 The element is not unlike the references and in-reply-to
 email message headers defined by xref target=RFC2822 /.
 However, unlike the in-reply-to header, the in-reply-to
 element is required to identify the unique identifier of only
 a single parent resource. If the entry is a response to
 multiple resources, additional in-reply-to elements MAY be
 used. There is no direct equivalent to the references header,
 which lists the unique identifiers of each preceding message
 in a thread.
 

Yeah, I got to thinking the same thing after I posted the note.  Your
text is much better.

 If the resource being responded to does not have a persistent,
 universally unique identifier, the IRI used to retrieve a
 representation of the resource MAY be used so long as that IRI
 could also be used 

Re: Feed thread updates

2006-05-19 Thread A. Pagaltzis

* James M Snell [EMAIL PROTECTED] [2006-05-20 06:40]:
 A. Pagaltzis wrote:
  I’d still like thr:when called thr:updated, as it follows the
  same semantics as atom:updated and its value is of the same
  type.
 
 I'm still stewing over this and haven't quite made up my mind
 on it yet. The only reason I'm not quite comfortable with it is
 that it just seems confusing have both an atom:updated and a
 thr:updated.

How so? I honestly can’t follow that. Explain?

  That is, the actual total number of responses contained by
  the linked resource MAY differ than the number specified in
  the thr:count attribute. Feed publishers SHOULD make an
  effort to ensure that the meta is accurate.
  
  This SHOULD seems way too prescriptive. If you keep this
  sentence at all, I suggest changing to an informal “may want
  to.”
 
 may want to is a little too weak for me, but yes, the SHOULD
 is too much. Let me think about it. If I can't come up with
 something better, I'll use the may want to suggestion.

Oh wait. I was bewildered because I read it as “Feed aggregators”
rather than “Feed publishers.” Sorry! Comment retracted, the
SHOULD is perfectly appropriate.

  Feed publishers MUST consider a change to the thr:count and
  thr:when attributes to be an insignificant update, meaning
  that the value of the containing feed, entry or source
  element's atom:updated element MUST NOT be affected by a
  change to the values of either of these attributes.
  
  I would clarify this “an insignificant update in terms of
  RFC 4287”. However, I am not sure what this MUST buys, and
  more importantly, how it could be enforced. Suggesting SHOULD
  instead.
 
 Making this a MUST will (hopefully) reduce the likelihood
 false-updates for clients that don't understand FTE. That is,
 if I use a client that does not understand FTE and I suddenly
 see an entry that is marked as updated for no apparent reason,
 I'm likely to get quite annoyed after a while.
 
 (note that I included this after running some tests on a couple
 of feed readers and discovered that it is indeed quite
 annoying)

That means it falls into the “compliance cannot reasonably be
tested but non-compliance is likely to cause interop problems”
bucket, which is exactly when a SHOULD is appropriate.

  This concern could be partially addressed by including an
  element to specify a global reply count for an entry in an
  atom:entry Metadata element.
 
 […] I could imagine feed reader implementors being quite pissed
 off that they have to support an element with identical
 form/function/semantics as slash:comments just so feed
 publishers can avoid having to declare one additional xml
 namespace.

I dunno; it seems like a drop in the bucket compared to the rest
of the spec, and if they’ve already implemented slash:comments
semantics it seems like the effort to support an equivalent
element in another extension is minimal.

 Also consider that even if FTE declares a
 thr:count5/thr:count element, most folks are likely going
 to keep on using slash:comments. (I mean, heck, look at the
 number of Atom 1.0 feeds that are still using dc:subject to
 indicate the category!!)

If they were previously already using it, sure. I’m willing to
bet money that next to noone who implemented Atom 1.0 support
from scratch is doing that, though. Rather, I’d posit that these
are (nearly?) all template-based Atom 0.3 implementations that
were upgraded to Atom 1.0 with minimum effort.

I believe that those who come to Atom 1.0 with a clean slate
benefit from the inclusion of a native atom:category element, and
likewise those who come to the FTE with a clean slate will
benefit from the inclusion of a native atom:entry Metadata
element equivalent to slash:comments.

Regards,
-- 
Aristotle Pagaltzis // http://plasmasturm.org/