Nikunj R. Mehta wrote:
On Jun 8, 2009, at 11:56 AM, James M Snell wrote:

<snip>

Unlike any of the other methods discussed, this approach would allow clients that don't understand the hierarchy model to still understand that there is some kind of link relationship with each of the individual child resources and eliminates the need to include the extraneous atom:feed metadata.

I don't find this argument quite convincing. For starters, if a client doesn't understand rel="down" it will make no difference whether there are multiple of those or a single one. Secondly, a client that does the most generic thing possible can at least "render" a feed provided in @rel=down in a cogent way. A feed that has rel=down scattered all over the place will be more harmful than beneficial.

A client that does not understand anything about "down" or "up" will not be able to do anything cogent with the linked resource other than say that some kind of relationship exists. The ability to render the linked resource is meaningless if the application is incapable of determining the nature of the relationship. In such cases, the distinction of having multiple rel=downs that point to alternate representations of the same resource or that point to separate distinct resources is meaningless and neither approach is more or less harmful or beneficial than the other.
I can see how there is value in sporting a more flexible (and hence a more complex) model, I fail to see requirements for adding this complexity. Rather than treating the hierarchy I-D approach as arbitrary, I implore the group to identify reasons to expand the cardinality before making this arbitrary choice.

This is backwards. Cardinality constraints are a restriction. To ensure maximum flexibility, one needs to justify adding the restriction, not justify removing it. All that I'm saying is that the existing cardinality rules impose a restriction on the model that does not appear to be strictly necessary and could potentially be harmful long term. For instance, given the current definition, one would need to invent yet another set of hierarchy rel relations in order to implement a graph model, which, to me at least, seems counterproductive. Define "down" and "up" more generically and move the cardinality constraints to the application where they belong. Note that relaxing the cardinality does not make it any more difficult to achieve the result you are looking for. An application could still use multiple rel=down links to point to alternate language representations of the same logical child feed, for instance, Atom processors would simply treat those alternate language representations as separate child feeds leaving it up to the application to make the appropriate connections.


Note that this is the same basic approach taken by my comment thread extension (in-reply-to).


The whole processing model for multiple occurrences of @rel="replies" is underwhelming. From RFC 4685, Section 4,

Multiple replies links appearing within an atom:entry may reference alternative representations of the same set of responses or may reference entirely distinct resources containing distinct sets of responses. Processors MUST NOT assume that multiple replies links are referencing different representations of the same resource and MUST process each replies link independently of any others.

I would be interested in learning about the usage experience with multiple links for replies, especially in consumers of documents using replies links with multiple occurrences.
I would be interested in learning about the implementation experiences for this as well. I purposefully left that model to be as flexible as possible, with as few constraints as possibly, specifically in order to avoid placing arbitrary and premature restrictions on implementations. If implementation experience shows that specific restrictions would be helpful, then I would be more than happy to work on a BCP describing those restrictions.

- James

Reply via email to