Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should format be used to support conneg on seeAlso resources? #942

Closed
zimeon opened this issue Sep 28, 2016 · 14 comments
Closed

Should format be used to support conneg on seeAlso resources? #942

zimeon opened this issue Sep 28, 2016 · 14 comments
Assignees
Labels
discovery Issue relates to the Change Discovery API normative presentation wontfix

Comments

@zimeon
Copy link
Member

zimeon commented Sep 28, 2016

Currently prezi spec for seeAlso says format and profile are just to understand result from following seeAlso. NLW/Europeana use of seeAlso requires conneg on the URI (i.e. add Accept header with value from format), and this must alse be repeated on following the 302 redirect. Should any of this be added in spec?

(Issue came up in demo of NLW/Europeana newspapers work on 2016-09-28 call https://docs.google.com/document/d/1Occ45PtAjlTSCFiV7nmJL_lryFTveD5rvKWIbaaqU0k/edit#heading=h.vucbcocsan1l )

@jpstroop jpstroop added the discovery Issue relates to the Change Discovery API label Sep 28, 2016
@jpstroop
Copy link
Member

Seems like the choice is between a list of formats and one URI (conneg - is that allowed?) or seeAlso pointing to a list of options with unique URIs (i.e. poor man's conneg). I tend to prefer the latter but I wonder if recommending one over the other is overstepping?

@zimeon
Copy link
Member Author

zimeon commented Sep 28, 2016

I think it would be best for us to have a solution that supports either approach. This probably means saying format SHOULD be used in Accept ... but will that break things in any other situation?

@azaroth42 azaroth42 modified the milestone: Presentation 3.0 May 31, 2017
@azaroth42
Copy link
Member

Per #1131, if we allow multiple formats, then every format property becomes an array. Given the lack of use cases for conneg, I don't think that the value outweighs the cost.

@tomcrane
Copy link
Contributor

Some related discussion on conneg and format here - #557 (comment)

@zimeon
Copy link
Member Author

zimeon commented Jul 11, 2017

Having spent a little time recently looking at conneg it seems that it's use is really restricted to the semweb/ld community. There is an interesting WHATWG post Why not conneg which argues against its use, and I note that common static webserver solutions (e.g. AWS S3 website, or github pages) can't support it. I'm thus of the opinion that we should avoid should avoid solutions that require conneg.

I think that changing the current text to explicitly suggest that profile and/or format SHOULD be used to describe and to help a client select the best description resource (essentially implementing the unused transparent conneg strategy, see rfc2295) is the best way to go. This still leaves the door open for normal conneg if format is not specified but suggests an explicit approach. Perhaps:

seeAlso

A link to a machine readable document that semantically describes the resource with the seeAlso property, such as an XML or RDF description. This document could be used for search and discovery purposes, or just to provide a longer description of the resource. The profile and format properties of the document SHOULD be given to help the client select between multiple seeAlso descriptions (if provided), and to make appropriate use of the document.

  • Any resource type may have one or more external description documents related to it with seeAlso.

@azaroth42
Copy link
Member

@zimeon And you consider that the cost of many single format arrays is worth that functionality?

@zimeon
Copy link
Member Author

zimeon commented Jul 11, 2017

No, no format arrays allowed, just multiple seeAlso (which is already allowed)

@azaroth42
Copy link
Member

And the seeAlsos would thus point to the Content-Location of the negotiable resource's representations, rather than the resource itself? I'm fine with that, though solves the problem only for seeAlso -- are there other situations where an external negotiable resource is useful?

@zimeon
Copy link
Member Author

zimeon commented Jul 11, 2017

We use format in two other contexts: resource (where there isn't the same notion of alternatives or conneg), and rendering (where I think the same pattern as seeAlso works well).

@azaroth42
Copy link
Member

AV Call 08/22: Rob describes the issue, agreement that content negotiation is a high barrier for implementation. Easier to enumerate multiple formats in multiple formats, than to enable conneg for resources. Consensus in favor of multiple seeAlsos with a single format, avoiding the use of conneg.

Clarification about profile's difference with format -- format is the media type that would be in the Content-Type response header, and profile would be the schema (e.g. MARCXML vs MODS) that is used in that format (text/xml). There could be multiple seeAlsos with the same format and different profiles.

@azaroth42
Copy link
Member

Confirm above at Toronto.

@zimeon
Copy link
Member Author

zimeon commented Oct 12, 2017

👎 agreed with #942 (comment) in Toronto that we will not useformat to support conneg. Closing wontfix.

@zimeon zimeon closed this as completed Oct 12, 2017
@zimeon zimeon reopened this Oct 12, 2017
@zimeon
Copy link
Member Author

zimeon commented Oct 12, 2017

While we agree not to use format to support conneg, we do still need to add a clear description of the use of multiple seeAlso each with a single format and/or profile to provide different options.

@azaroth42 azaroth42 self-assigned this Nov 13, 2017
@azaroth42
Copy link
Member

Closed by #1302

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discovery Issue relates to the Change Discovery API normative presentation wontfix
Projects
None yet
Development

No branches or pull requests

4 participants