Closed elray1 closed 1 year ago
@elray1 suggests that we enforce that URLS point to versions, and not point to a file that could be updated without the filename changing.
Pasting here some links that Harry had found previously:
Agree with the general approach that can be summarised from the discussion and above links. This is what I'm proposing to do:
v0-0-1
v0-0-2
tasks-schema.json
admin-schema.json
model-schema.json
$id
property (which therefore includes the version).schema_version
property in all hub json config files to specify which version of the schema a hub is based on.We follow the following conventions in versioning schema: https://snowplow.io/blog/introducing-schemaver-for-semantic-versioning-of-schemas/. which can be summarised by:
hubUtils
functionality.hubUtils
break compatibility with previous schema versions. In the case (not likely something to worry about any time soon) think about how much back compatibility we will be prepared to support.
I think we would like the schemas that are defined in this repository to be versioned -- that way, a configuration file like
admin.json
in a hub repository can reference the version of theadmin-schema.json
file that it is based on, and if we ever make changes to the schema definition, downstream tools can still process the hub's admin config settings correctly.I'm not sure if there is a standard way to do this, but maybe we can use naming conventions like
admin-schema-v0.0.1
?Then, we might expect the file like
admin.json
in a hub to look like this:And in turn,
admin-schema-v0.0.1.json
would need to specify that such a$schema
property is expected: