What is a feed entry?
by ZetaGecko | Add Your Comments | Atom/RSS
A question was asked on the AtomPub WG mailing list to the effect of "what is an entry?" With a conceptual model for what it is that we're trying to create a format for, we can decide what elements and attributes it needs. On a number of occasions, differences of opinion have had at their root different conceptual models for an entry, for a "Person construct" (like "author"), etc.
So what is an entry? Very generally, an entry is a piece of data and some associated metadata. As the format now stands, the data could be some text, a photograph, a movie, a sound file, or pretty much anything else. That may change. There is a push by some to restrict the data to text, including HTML and XHTML. Of course, that data could point to a photograph, and movie, etc., so the restriction would only be on the actual data that could live inside the feed.
Then there's the metadata. What metadata do we need? The answer to that question is likely to differ based on what uses are envisioned for the format. Atom, being focus primarily on blogging, needs such things as a posting date, an author, possibly a link to whatever the entry is talking about, and maybe a title. Less obvious metadata include a creation date, a modification date, a summary, and contributors (who aren't the primary authors). For feeds comprised of entries compiled from other feeds, one might also want a link to the original feed.
Of course, some of the metadata needs metadata too. A "Person" (author, contributor, etc.) could have a name, a homepage, an email address, etc. A link needs a URL, something to tell what the relationship between the entry and the thing linked to is, and optionally a title and some advisory information like the size or type of the thing linked to.
So a question arises: is the author's metadata part of an entry? Technically, no. Some means of identifying the author is, but their homepage address, for example, may not have anything to do with the entry at all. So perhaps the author's metadata should be stored outside of the entry, and the entry should just contain a pointer to it. Doing that would have the added virtue of reducing the size of a feed where the same author wrote more than one entry.
But another question arises: How important is it that the entry only contain metadata tightly bound to the entry? Does it really hurt to have the author's metadata there (ignoring its effect on the file size)? In cases like that, probably not. The key is probably to figure out where to draw the line to avoid putting too much of the metadata's metadata in the entry.
Time will tell whether we really knuckle down and answer the original question, what is an entry, or whether we continue on with the models already in our heads, and perhaps come up with a format that doesn't quite fit the reality. Still, assuming our pre-existing models are good enough, the fit will probably be good enough.