hi Barry,
Thanks for your mails. Here's some feedback:
(*) We weren't even aware that the Internet Archive had started providing TimeMaps in JSON and we regret that they chose to use a format different than the one we introduced already in January 2015 (see
http://mementoarchive.lanl.gov/twa/memento/20150126232327/http://mementoweb.org/guide/timemap-json/). We will need to determine how to proceed on this. Note that the JSON format is not specified in the Memento protocol (RFC7089); that only specifies the application/link+format serialization.
(*) You are correct that the Memento protocol provides no functionality regarding status code of archived pages. When compiling the protocol, this need never came up but I agree that it is rather relevant for use of the protocol with web archives; probably less so for resource versioning systems. In order to support status code, an extension would need to be specified and the Memento team would definitely be interested to do so, hopefully with input from the web archive community at large:
- Status code in TimeMaps: This would be pretty straightforward. We would just need to add an attribute for each Memento entry in a TimeMap, e.g. "status". I assume that supporting this would not be too hard for most web archives. But this would need to be verified. This attribute could obviously be provided in both the application/link-format and JSON formats. Maybe this could even be taken up rather quickly by the developers of the main web archiving softwares, Open Wayback and pywb? If they are listening in on this conversation, it would be great to hear from them.
- Status code for datetime negotiation: When negotiating with a TimeGate, a client should be able to specify the preferred status code of the Memento, in addition to the preferred archival datetime. This could probably be done using the Prefer request header specified in RFC7240. A question that comes up is whether this should only support requesting for "200" Mementos or whether more expressiveness would be required, e.g. expressing preference for any code that's not a 4xx, any 2xx code, any 2xx or 3xx code, etc. And if so, the question becomes how hard this might be to implement at the end of archives. Again, I would be very interested in feedback from developers of web archiving software.
- The Time Travel Archive Registry only lists URIs for application/link+format TimeMaps because that's the format all Memento-compliant archives support. The JSON format was defined for the Aggregator to make consumption by certain clients easier.
Cheers
Herbert