[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: timeless atom
hello aristoteles.
thanks for your words of wisdom ;-) (sorry, you must hear this lame joke
all the time...)
The specs are separate for a reason. Why conflate them?
i did not suggest to conflate them, i was simply pointing out that time
as the primary sort key has been built into both specs.
4.1.1. The "atom:feed" Element
This specification assigns no significance to the order
of atom:entry elements within the feed.>
You can order *a* feed any which way you want. Not a *collection*
feed, but not all feeds are collection feeds.
yes, but that does not really solve the question of how i can specify
the sort order when requesting a feed.
Why do you want to avoid timestamping entries? Even if the data
itself is not chronological in any sense, there is certainly a
time at which a collection member was created, last updated
significantly, and last edited. There are always sensible time-
stamps to associate with collection members, so the requirement
to have them does not preclude the use of Atom for anything.
i don't want to avoid timestamping. i just don't want to treat the
timestamp as something special, in fact, in the scenarios i am thinking
about it is a pretty minor attribute. but i don't mind being forced to
have it everywhere.
1. there may be some other implicit primary sort key, which
is used for publishing the feed. this would conflict with
AtomPub's SHOULD, but that is allowed.
The collection feed must be the way it is specified in RFC 5023
if it is to be useful to editing clients. Just because you are
allowed to break a SHOULD doesn’t mean it’s a good idea. Please
read RFC 2119 – “SHOULD” doesn’t mean “might we suggest that
perhaps you entertain the idea that maybe you could.”
you are right with the SHOULD remark, but not with the rest. if my
entries don't have an implicit time order, then it just is not very
useful to assume that they have one. i can edit things just fine that i
retrieve by some query and then POST to the atompub server.
How do you propose that Atompub clients synch their local cache
to the collection efficiently? They need to know which entries
have been edited since they last saw the collection. What sort
key would you propose for the collection that would allow them to
do this efficiently? There aren’t all that many candidates if you
look at it this way, are there? :-)
i don't see such an emphasis on caching as you imply. for detecting
cached entries, ids work fine, and if there is no implicit order, then
caching will be less efficient, but for atom feeds not using time as the
primary key, caching based on timestamps would not a good idea anyway.
But this applies only to collection feeds. And there’s nothing
that prevents you from producing multiple feeds from a single
collection. In fact, experience is establishing it as something
of an antipattern to use the collection feed as the public feed
precisely because the collection feed needs to serve a very
specific set of needs whereas publically available feeds are
usually supposed to serve any number of other desires. (Even when
a public feed is time-ordered, people usually want it ordered by
atom:updated rather than app:edited.)
so what you say is atompub is only meant for time-ordered feeds that are
meant to be consumed by time-oriented feed readers or consumers? that
would kind of answer my big question, but in a disappointing way. what
that would is that i would have to build my own atompub (since i want to
be able to interact with collections in the way atompub does it), only
with the slight variation that "my" atompub does not say one SHOULD
produce time-ordered feeds? that looks kind of weird to me, and it
certainly is disappointing, but i would like to get more opinions on
this. should there be this "untimed atompub"?
As far as you want. Look at OpenSearch.
they don't even use atompub, and they have their own vocabulary for what
already has been proposed by sle or atom ranking extensions. is that
good? i think atompub's basic ideas are very good and very useful, all i
am looking for is a the right way how to deal with the built-in time
bias. i think reuse is good, most of the time, and want to do it.
but AtomPub tells us that listing collection members always
uses GET, which means we cannot POST the image.
Yes, if you POST to the collection URI, the assumption is that
you want to store the image as a media resource in the
collection.
so what about a GET with a body? would be atompub compliant, or at least
it would not violate any specific text in the spec, i guess.
But there’s nothing stopping you from minting another URI for
querying the collection and advertising it in the collection with
`<link rel="image-query" href="..."/>` or something like that.
Clients which understand your query-by-example-image protocol
will know to look for that link.
yes, but that simply means you are pointing to the "other atompub" you
are proposing. i am not yet willing to go that way.
You came with some misconceptions about how one would try to do
this sort of thing with Atom and Atompub; but the facilities to
do it properly are all there.
where are they? in http? sure, but atompub is a nicely designed and
promising restful protocol, so i'd rather use that one than inventing
another one.
To some extent it *is* already being done: aside from OpenSearch,
which I mentioned above, I think GData has some non-trivial
querying facilities too.
so they use opensearch as their atom rankinf extensions. they use
atompub and support queries. queries are GET only. interesting. i have
to look a bit closer as to what they say about ordering of feeds
according to the timestamp. thanks for the pointer!
cheers,
dret.