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

allow use of any service description format, but recommend OpenAPI 3.0 or 3.1 #226

Merged
merged 12 commits into from
Dec 3, 2021

Conversation

philvarner
Copy link
Collaborator

@philvarner philvarner commented Nov 1, 2021

Related Issue(s): #214 #228

Proposed Changes:

  1. Allow OpenAPI 3.1 (in addition to OpenAPI 3.0) for service-desc endpoint

PR Checklist:

  • This PR is made against the dev branch (all proposed changes except releases should be against dev, not master).
  • This PR has no breaking changes.
  • This PR does not make any changes to the core spec in the stac-spec directory (these are included as a subtree and should be updated directly in radiantearth/stac-spec)
  • I have added my changes to the CHANGELOG or a CHANGELOG entry is not required.

Copy link
Collaborator

@m-mohr m-mohr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To me this seems to not fully express what you've proposed in #214. Here it's sounds like it's only JSON, which must follow OpenAPI 3.0 or 3.1.

What I think it should say instead that any type (e.g. YAML) is allowed, but we recommend to support OpenAPI 3.0 or 3.1 in JSON format.

@philvarner
Copy link
Collaborator Author

I don't think I even knew what I was proposing for #214

What came out was that we should just allow OpenAPI 3.1 JSON in addition to requiring OpenAPI 3.0 JSON

I think #228 would address opening it up completely to align with OAFeat, but that probably requires a bit more group discussion.

@@ -242,23 +246,6 @@ searching on specific Item properties.
The other HTTP verbs are not supported in STAC Item Search. The [Transaction Extension](../ogcapi-features/extensions/transaction/README.md)
does implement them, for STAC and OAFeat implementations that want to enable writing and deleting items.

## Recommended Link Relations at `/`
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was duplicated in the prior Link Relations section

@philvarner philvarner changed the title allow use of either OpenAPI 3.0 or 3.1 allow use of any service description format, but recommend OpenAPI 3.0 or 3.1 Nov 8, 2021
collections/README.md Outdated Show resolved Hide resolved
collections/README.md Outdated Show resolved Hide resolved
core/README.md Outdated Show resolved Hide resolved
collections/README.md Outdated Show resolved Hide resolved
core/README.md Outdated Show resolved Hide resolved
core/README.md Show resolved Hide resolved
item-search/README.md Outdated Show resolved Hide resolved
| `search` | `/search` | STAC Item Search | URI for the Search endpoint |

The path for the `service-desc` endpoint is recommended to be `/api`, but may be another path. Recommended to be
OpenAPI 3.0 or 3.1 with media types `application/vnd.oai.openapi` (YAML),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

item-search/README.md Outdated Show resolved Hide resolved
| `/search` | Item Collection | Search endpoint |
| Endpoint | Returns | Description |
| --------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `/` | Catalog | Landing Page and root Catalog |
Copy link
Collaborator

@m-mohr m-mohr Nov 27, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General remark: This table gets repeated quite often. Why do we need to repeat this? This is item search and as such I'd only think we need to describe search and not repeat everything fro core again...

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, it was Chris's preference that we include all the endpoints that would exist if we implemented this conformance class, not only the ones that get added by this class. The reason was that implementers may only look at this one spec, so it clearly tells them they need to implement these 3 endpoints. They may need to go look up the precise contents of / and /api in Core, but at least they know they must implement those.

ogcapi-features/README.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@m-mohr m-mohr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a number (of very repetitive) comments above. This PR clearly shows that the amount of repetitions is a maintenance nightmare and as such we should consider concentrating on documenting the part that actually diverge from core, I think.

| `data` | `/collections` | OAFeat | List of Collections |

The path for the `service-desc` endpoint is recommended to be `/api`, but may be another path. Recommended to be
OpenAPI 3.0 or 3.1 with media types `application/vnd.oai.openapi` (YAML),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

| `service-doc` | `/api.html` | OAFeat OpenAPI | An HTML service description. Uses the `text/html` media type to refer to a human-consumable description of the service. The path for this endpoint is only recommended to be `/api`, but may be another path. |
| **rel** | **href** | **From** | **Description** |
| ------------- | ----------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `service-doc` | `/api.html` | OAFeat | An HTML service description. Uses the `text/html` media type to refer to a human-consumable description of the service. The path for this endpoint is only recommended to be `/api`, but may be another path. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

ogcapi-features/README.md Outdated Show resolved Hide resolved
philvarner and others added 3 commits December 1, 2021 08:35
Co-authored-by: Matthias Mohr <webmaster@mamo-net.de>
Co-authored-by: Matthias Mohr <webmaster@mamo-net.de>
Co-authored-by: Matthias Mohr <webmaster@mamo-net.de>
@philvarner
Copy link
Collaborator Author

@m-mohr I filed this issue #232 to work on de-duplicating the repeated text, particularly around service-desc and service-doc

Copy link
Collaborator

@m-mohr m-mohr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Due to vacation didn't check all the requests again and assume you did them all correctly, but approving to unblock the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants