Slide 17 of 24
Notes:
If you don’t specify a position in the ordering when adding a member, the server positions it at the end of the ordering (because every member of the collection is required to be in the ordering exactly once). This position can be modified later using PROPPATCH.
There is no special method for creating an ordering. There is no header for MKCOL to say that it is an ordered collection. The upshot of this is that an ordering gets created the first time someone adds a member with the Position header or does a PROPPATCH with DAV:ordering. If there are a bunch of members already in the collection at that time, what happens? (Maybe attempt to use Position fails, and client must do PROPPATCH). If we add a header for MKCOL, need a way to change your mind later -- use PROPPATCH.
Problems about near-simultaneous operations on orderings: 2 clients both try to insert a new member at Position = 3, the last one wins. A client requests a new member to be inserted after URI xxx, but in the mean time URI xxx has been removed from the collection, the request fails.