The following questions have come up as I implement the APP:
-
Can the URIs in 'href' and 'hrefreadonly' be relative URIs?
-
Do Collection Documents support xml:base?
-
What if multiple collection members have the same 'updated' value?
-
How does a client know when a member gets deleted? Any other update would push it to the beginning of the updated list. But the only way to detect a deletion is to iterate to where it was seen last and see that it's not there any more. [I hit this too. In my implementation, I decided to make a "trash can" in the web interface, by setting a "trash" flag in the database. That makes it easy to send 410 instead of 404, as well. "Undeleting" results in new resource. I guess it would be easy to make this a feed... --RobertSayre]
-
Does the absence of the 'next' attribute in the 'collection' element mean the same thing as next="".
-
Are the resources pointed to by 'next' not the same resource as the Collection Resource, and so don't have to support Ranges?
-
What happens if the given Range is invalid? For example, "Range: updated=1,2". Do we ignore it or generate a 4XX status code? [416 is the droid you're looking for... if you want to use ranges]
-
Is Content-type a MUST when POSTing to a Generic Resource? (This is a known open web architecture question http://www.w3.org/2001/tag/issues.html?type=1#putMediaType-38)
-
What happens if the Content-type of a PUT is missing or disagress with the mime-type of the content that was already there?
-
If Content-type is not a MUST then is using the extension of Name: acceptable?
-
If both the extension and Content-type are provided and they conflict, which one is authoritative?
-
What is the character encoding of Name: ?
-
It would be useful if the response to a GET on a collection included a contents attribute and (less usefully) a title attribute. Otherwise the client is forced to get the introspection document to determine what can be put into a collection. Although most common implementation will be to get the introspection doc first.
-
Section 5.2.1 - typo 'udpated' instead of 'updated'
PaceAppDocuments seeks to address the first two questions ([JamesSnell])