[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Sorting by app:edited & Concurrency
Consider this
sequence of events, between a single client and a single server. The server
pages entries so that there is only one entry per feed page.
1. Client POSTs
entry A. Server chooses 2007-11-12T12:34Z as entry A's app:edited
property.
2. Client POSTs
entry B. Server chooses 2007-11-12T12:34.1Z (.1 seconds later) for entry B's
app:edited property.
3. Server finishes
adding entry B to the collection, and returns the appropriate response to the
client's POST of entry B.
4. Client GETs the
collection feed. Since only entry B has been completely processed, the feed will
contain only entry B (and NOT entry A).
5. Server finishes
adding entry A to the collection, and returns the appropriate response to the
client's POST of entry A.
6. Client GETs the
collection feed again. Since entry B's app:edited is later than entry A's, and
since the server only includes one entry per feed page, the client again will
only see entry B, and not entry A, until it requests the second page.
My questions
are:
(a) Is the server
doing anything wrong? Is an AtomPub server required to ensure that entry B does
not appear in the feed until entry A appears in the feed?
(b) Assuming that
the server correctly implements the app:edited and page order requirements from
RFC 5023, how can a client catch up with a collection feed, using the minimum
number of requests?
(c) In step 4, is
the server required to include entry B in the feed? Does the collection feed
need to be updated immediately, or can it be updated asynchronously? For
example, would it be legal for a server to update the feeds once every five
minutes, regardless of how many POST, PUT, and DELETE requests are received in
the interim?
(d) Which (if any)
AtomPub server implementations are sorting by atom:updated instead of
app:edited, and/or omitting app:edited entirely? And, how are clients coping
with these servers?
Thanks,
Brian