Skip to content

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.

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
| `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

| `/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.

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

philvarner and others added 3 commits December 1, 2021 08:35
Co-authored-by: Matthias Mohr <[email protected]>
Co-authored-by: Matthias Mohr <[email protected]>
@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

@philvarner philvarner requested a review from m-mohr December 2, 2021 17:40
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

Development

Successfully merging this pull request may close these issues.

Should we align with OAFeat and allow any format for /api? Should we allow OpenAPI 3.0 or 3.1 spec version from /api?

2 participants