Requirements for Content Negotiation

Below are the requirements for content negotiation as I derived them
from the use cases. [1] Note that these include the functionality (as I
understand it) of profileDesc because that was expressed in the use
cases as relating to content negotiation (both via http but also perhaps
other negotiation methods such as APIs).

I note that this differs considerably from the content negotiation
requirements as defined by Ruben and Lars, and wish very much for them
to weigh in on this view. I may have misunderstood some of the intent in
the use cases.

Again, you are advised to look at the requirements in the context of
their use cases in the document at [1].

CONNEG REQUIREMENTS

Requirement: profiles must have identifiers that can be served with a
response to an API or http request. [ID2] (5.2) [conneg]

Requirement: Clients should be able to determine which profiles are
supported by a server, and with which content types.  [ID2] (5.2) [conneg]

Requirement: There should be a way for a client to look up additional
information about a profile. (What kinds of information? Can we clarify
this?)  [ID2] (5.2) [conneg]

Requirement: Profiles can be modular, with a given response made up of
more than one module. Servers can indicate that a response conforms to
multiple, modular profiles.  [ID3] (5.3) [conneg] [profile]

Requirement: Profiles offered by a service must be discoverable through
a machine-readable graph of metadata that describes what is offered and
how to invoke the offered profiles.  [ID5] (5.5) [conneg]

Requirement: Invocation of a profile may be by profile name, a schema
choice, an encoding, and/or a language. (schema? And assume that
encoding is type as in type="application/xml".) [ID5] (5.5) [conneg]

Requirement: There needs to be metadata about the views provided by
profiles (“named collections of properties”) that can included in a http
header [ID5] (5.5) [conneg]

Requirement: Metadata about server profile support can be used for
discovery and mediated traversal via content negotiation. [ID5] (5.5)
[conneg]

Requirement: Enable the ability to negotiate the metadata profile via
http, similar to the negotiation of metadata formats today. [ID30]
(5.30) [conneg]

Requirement: Return http link headers using the following relationship
types:
 derivedfrom: The URL of the source document, containing the ISO 19139
records.
 profile: The URI of the metadata schema used in the returned document.
 self: The URL of the document returned by the API.
 alternate: The URL of the current document, encoded in an  alternative
serialization. [ID30] (5.30) [conneg]



kc
[1]
https://docs.google.com/document/d/13hV2tJ6Kg2Hfe7e1BowY5QfCIweH9GxSCFQV1aWtOPg/edit#heading=h.5l26dadqk5v7
-- 
Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234 (Signal)
skype: kcoylenet/+1-510-984-3600

Received on Sunday, 20 May 2018 07:06:12 UTC