Yes, absolutely, a way to distinguish extensions-to-the-entry from extensions-for-the-feed would be great, even if there's a possibility that the server would reject one or both. I hadn't even considered that, must have missed that discussion. Client-to-client extensions (metadata or markup that the server can safely ignore and pass through from author to feed consumer) seem very likely and useful in Atom, even more so than in other applications I've compared to (calendaring, file sharing, email).

I guess I can turn the flexibility argument around: imagine if Web servers in 1995 rejected, just refused to store, anything that wasn't defined in HTML 3.0; the Web never would have been as flexible as it is today. Of course we can't require Web servers or Atom servers to absolutely accept all content, but we can make it clear what the expectation is and perhaps even offer safe ways of violating the expectation.

Lisa

On Oct 17, 2006, at 4:31 PM, Eric Scheid wrote:


On 18/10/06 8:07 AM, "Lisa Dusseault" <[EMAIL PROTECTED]> wrote:

Extensions

When the client puts extension elements in a MER, MUST the server store those unrecognized extension elements? I think the answer to this is actually that servers often do not and should not be required to do so. That makes it hard for clients to extend AtomPub's syntax in ways that other clients will understand but servers don't care about. Consider the consequences: when some enterprising client developer decides to do something cool and useful and encounters servers that don't store their metadata in the obvious place, the client developer is going to quickly work around that by storing in some unobvious place. For example in HTML comments in the atom entry content, or
microformats, etc.  Is that all cool?

This issue also has implications on what extensions are passed through to the published feed ... a client might insert some extension metadata they
want published (eg. geo-coordinates), and a client might insert some
extension metadata they only want visible within the collection feed (eg. editor workflow comments) ... with the understanding also that if the server actually understands a particular extension it might result in extensions
being added/modified outside of the bucket (eg. <ext:include
trackbacks="yes" /> resulting in lots of <link/> elements being added)

We did at one time discuss providing a bucket container specifically for the latter, with the assumption that extensions outside the bucket are data elements meant for publication. Having a bucket container would make life simpler for server implementations -- just store everything as an xml blob,
the same as they do for atom:[EMAIL PROTECTED]

Lisa, would that help?

e.



Reply via email to