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

Relation types in landing page #101

Closed
cportele opened this issue Apr 3, 2018 · 7 comments
Closed

Relation types in landing page #101

cportele opened this issue Apr 3, 2018 · 7 comments
Assignees
Labels
OGC API: Common Issue related to general resources or requirements (see #190) Part 1: Core Issue related to Part 1 - Core progress: pull request available

Comments

@cportele
Copy link
Member

cportele commented Apr 3, 2018

Landing page: Can we reuse existing relation types instead of 'conformance' and 'data'?

@cportele cportele added the Part 1: Core Issue related to Part 1 - Core label Apr 3, 2018
@cmheazel
Copy link
Contributor

cmheazel commented Apr 5, 2018

Actually the landing page doesn't need anything more than the /api link. Everything else can be handled through the API description (OpenAPI).

@pvretano
Copy link
Contributor

pvretano commented Apr 5, 2018

If that is the case then why have a /api at all ... or a landing page? We can simply say that hitting the root gets you the service description in the representation requested. Is there a MIME type for open api documents?

@cmheazel
Copy link
Contributor

cmheazel commented Apr 6, 2018

The landing pages I have seen have been largely geared toward a human audience. A nice starting point for follow-your-nose navigation. Not so good if your user is a software analytic. Analytics will want access to a machine readable description of the API such as the OpenAPI document. A human user may not look at the OpenAPI document at all. They may just want to follow the links.
So it gets down to your user scenario.
And this comment may have nothing to do with the original issue and I apologize if I have dragged us off on a tangent.

@cportele
Copy link
Member Author

cportele commented Apr 6, 2018

The landing page is for humans.

Humans will go from / to /collections (unless / already includes the information from the collections metadata information) and from there to the data. If they are developers they may also follow the /api link. Humans that are not developers will in general not be happy with the /api response, so it makes sense the have / as well. We discussed this in the context of #64.

Machines may navigate towards the data (follow the /collections link), if the want to use the hypermedia characteristics and do not care about WFS or OpenAPI. If they care about OpenAPI, they will go to /api (and to an OpenAPI library I would directly pass the /api link). WFS clients will also look at /conformance.

@pvretano
Copy link
Contributor

pvretano commented Apr 6, 2018

@cportele F.Y.I. I looked through the registered link relations at https://www.iana.org/assignments/link-relations/link-relations.xhtml and I don't see anything that we could use instead of "conformance" and "data". Maybe "item" for "data" but that seems a bit of a stretch since "item" would be used in the case where the response document (i.e. /collections/{name}/items) is composed of links to each feature in the collection. Those links would each be rel="item".

Anyway, we can register new link relations (like conformance and data) at https://github.com/link-relations/registry if we want ...

@cportele cportele added this to the Part 1, Second Draft Release milestone Aug 8, 2018
@cportele cportele added the OGC API: Common Issue related to general resources or requirements (see #190) label Mar 5, 2019
@cportele
Copy link
Member Author

cportele commented May 6, 2019

Keep the relation types and consider submitting a registration request after approval. A stable spec reference is a requirement for registration.

What we probably should do now is to define link relation types created by us more formally in the document.

@cportele
Copy link
Member Author

cportele commented May 6, 2019

06-MAY-2019 Conference call: Add a table with all link relations and reference their definitions (for example, "self", "alternate", "next", etc.) and define the new ones (for example, "conformance"). Once we have the table, we should also review the use of relation types again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OGC API: Common Issue related to general resources or requirements (see #190) Part 1: Core Issue related to Part 1 - Core progress: pull request available
Projects
Development

No branches or pull requests

3 participants