ehn-dcc-development / eu-dcc-schema

Schema for the ehn DCC payload
Apache License 2.0
164 stars 59 forks source link

Schema uses wrong protocol, making it incompatible with strict interpretations of the standard #20

Closed yspreen closed 3 years ago

yspreen commented 3 years ago

http://json-schema.org/specification-links.html#draft-7

I opened this PR because of it, but it doesn't seem like it will be accepted. On iOS, this schema isn't valid. https://github.com/kylef/JSONSchema.swift/pull/121

yspreen commented 3 years ago

TL;DR: Schema should be HTTPS, not HTTP.

jschlyter commented 3 years ago

Unfortunately the draft-7 schema itself specifies that the identifier is exactly http://json-schema.org/draft-07/schema#. A change to 2020-12 is proposed in #13 (and that uses a https URI scheme , let's see if we can have consensus on that.

FWIW, it is perfectly fine for implementors to download the combined schema and update the $schema for their internal use. I would not expect that this schema is available from its own URI and the URI may change before it is final.

Perhaps @dirkx has some comments on what URI will should use for the DGC schema itself?

yspreen commented 3 years ago

Right, sorry for not clarifying!

The current schema is alright. We still use the newest one from the old repo though, and that was 2020-12 with HTTP. I thought it might indicate a more systematic error somewhere, plus I saw an issue vouching to change back to 2020-12 in this repo, so I decided to open the issue. Should've explained better, my bad.

yspreen commented 3 years ago

The release 0.1.0 is invalid for this exact reason, only it's the opposite problem. Using https when it should be http. A new release should be done asap @jschlyter

dirkx commented 3 years ago

Re: "Perhaps @dirkx has some comments on what URI will should use for the DGC schema itself?"

We have some URIs like uvci.eu that we could spend on this. As it may be technically hard to get this on the EU / ECAS website. Will drop @kruzikh an email,

yspreen commented 3 years ago

I also think this discussion isn't really over and the issue shouldn't be closed, since I still want to understand how the inconsistencies arise and how we prevent them in the future.

yspreen commented 3 years ago

Unfortunately the draft-7 schema itself specifies that the identifier is exactly http://json-schema.org/draft-07/schema#.

Where do you get the # from​? I cannot find a reference for it anywhere

edit: Nevermind, it's in the file that you can download from http://json-schema.org/draft-07/schema

jschlyter commented 3 years ago

@yspreen we have now proper schema validation in place as part of the CI testing, so that should handled any obvious errors. I will create a PR to change to a proper 2020-12 that has been validated and @dirkx can get back to us on how to identify the schema itself in a stable way. Such an identifier should include the major version at least.