Hi Jan, Jon, Kevin, all,
As we are working on the design, a key issue that we are trying to
understand is the conflict resolution of the capabilities in the
"capabilities" list [RFC8008]. Consider
{
"capabilities": [
{
"capability-type": "FCI.DeliveryProtocol",
"capability-value": {
"delivery-protocols": [
"http/1.1",
]
},
"footprints": [
<Footprint objects 1>
]
},
{
"capability-type": "FCI.DeliveryProtocol",
"capability-value": {
"delivery-protocols": [
"http/1.0",
]
},
"footprints": [
<Footprint objects 2>
]
}
]
}
What if the footprints in the two entries have overlap? I see two options:
(1) Enforce that each capability-type has a single entry; that is, make
capability-type a key;
(2) Allow multiple entries with the same capability-type, and the search is
ordered by the array; that is, the result is the first matching footprints.
I assume that (2) is more flexible. An issue, however, is that it
makes incremental updates harder. In other words, this issue will determine
whether we should integrate JSON Patch. The current alto incremental
updates, based on SSE and JSON Merge Patch, is pretty useful. The FCI use
case may argue that we extend the incremental update w/ JSON Patch, to
better handle arrays, right away.
Any clarification, comments and suggestions will be great.
Richard
_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto