-
Notifications
You must be signed in to change notification settings - Fork 26
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
Merge Core, Collections (and Queries?) requirements classes #394
Comments
@jerstlouis The two conformance classesr are expressing the dependencies on API Common Parts 1 and 2. There are also views expressed in other APIs that there should not be a mandatory dependence on API Common Part 1, so that "building blocks" could sit upon a non-OGC root. |
Thanks @chris-little.
Ah, that was not clear to me, because both Core and Collections show up in the Mandatory Conformance Classes section, with nothing else. (EDIT: I might have misundestood this, because the Mandatory Conformance class section does say that EDR/Core and EDR/Collections extend the Common conformance classes) So in a sense our implementation that conforms to Common Part 1: Core's Core conformance class and Part 2: Geospatial Data's Collections conformance class, but does not yet implement EDR queries, could be said to conform to all mandatory conformance classes of EDR, and therefore conform to EDR? That would seem problematic... (EDIT: Probably not true, because there are at least additional requirements for the Collection description document. Yet that alone would not provide any useful EDR capabiliy) So the only other conformance class in EDR, other than the OpenAPI 3.0 for the API definition, and the encodings (HTML, GeoJSON, CoverageJSON), is the Queries conformance class (and at least one type of query is required)? So it seems to me that the "EDR Core" conformance class that I meant to refer to from Processes - Part 3 should then be http://www.opengis.net/spec/ogcapi-edr-1/1.0/conf/queries ? It is a bit confusing because http://www.opengis.net/spec/ogcapi-edr-1/1.0/conf/core appears in the document, and references http://www.opengis.net/spec/ogcapi-edr-1/1.0/req/core, but that is not described with its own requirement but instead it is mapped to http://www.opengis.net/spec/ogcapi-common-1/1.0/req/core, yet the conformance class also still depends on http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/core. So if I understand correctly, there are EDR Core and Collections conformance classes, but they both depend on and map to Common Core and Collections? (EDIT: And they specify additional requirements, that at least for Collections have implications for the
We did this in Tiles. Specific optional conformance classes express a dependency on Part 1-Core (Dataset TileSets) and Part 2-Collections (GeoData aka Collection TileSets). The main issue I see (assuming I understand things correctly, which may well not be the case) is that currently EDR does not have a mandatory conformance class besides those from Common. To follow the OGC API - Tiles pattern, there could be optional conformance classes called "Dataset Queries" that depends on Common-Part 1, and a "Collection Queries" that depends on Common - Part 2.
Agreed, I think the main point is to build that clarity and strategic direction by comparing and building a consensus on a consistent approach. |
Sorry I think I was confused both by:
and the fact that all requirements are gathered together in Annex A, which is not the Abstract Tests ( that is Annex B ). The Mandatory section does mention that EDR Core and EDR Collections conformance classes extend the Common Core and Collections with additional requirements. What is still not clear to me is what Core, Collections, and Queries each require, and why they are separate conformance classes if conformance to all three is required by an implementation to provide useful functionality (considering that Core and Collections are said to be mandatory). The structure of the standard makes this difficult for me to figure this out, because all requirements are grouped together in Annex A without context, and there is no dedicated section or sub-section for each conformance class: EDR/Core, EDR/Collections, EDR/Queries. A lot of the requirements in the "EDR Core" requirements define query parameters and response patterns that are then applied to specific queries of the Queries conformance class. e.g., the z parameter definition and response is defined in EDR Core, but does it apply to anything besides queries defined in Queries conformance class? If not, then would it not be better to have it together with the Queries conformance class? I also see some of the abstract tests (like There are multiple Abstract Tests with both the same ID and same requirement (they at least should have different Test IDs). What I am hoping to clarify is whether there is any additional new resources defined by the Core and Collections conformance classes, or what additional behavior are required for the resources defined in Common. Something else I notice is that
wondering where there is a particular reason behind that, or that would just be something correct in a future revision?` Sorry if I am misunderstand something (or several things) or sounding critical, just hoping to help improve the correctness, clarity and useability of the spec from an implementer's perspective. Thank you. cc. @ghobona |
@jerstlouis It's a bit late in the day for me but the key point is that the Query conformance class only requires at least one query, but none are mandatory. So someone could implement a collection that only supported Area queries, and another collection only supported Point queries. Both would be valid API EDR. The |
@chris-little Sorry to stretch your day. To try to summarize the issues and suggestions I described: Issues
Suggestions
cc. @m-burgoyne @ghobona |
@jerstlouis We discussed this at the EDR API SWG 87, and we decided not to change at this time. Each collection describes which queries it supports, so we think the extra editorial complication of multiple conformance classes is not helpful to implementors. |
Suggesting to merge those two conformance classes as "Core", since both Core and Collections requirements classes are said to be mandatory. From either an implementation or compliance perspective, it serves no purpose to have them as separate conformance classes.
Expressing a dependency on EDR is currently made more difficult by requiring two dependencies instead of only one.
The text was updated successfully, but these errors were encountered: