Description
The ecosystem has many implementations across many languages, but it's often a real challenge to advise people how to do some things the core team would consider fairly basic, for all implemenations.
The specification tells you what must be true about the JSON Schema, and it lays out requirements for what implementations must support, but it doesn't tell implementers how to support specific elements.
One basic example, being able to reference other schemas is something that's required. Some implementations provide an interface to add schemas ahead of time, while others provide a hook function to allow for resolving references at run time.
One way we can help fix this problem is to identify a list of critical interfaces that implementations should have, and empower implementers with better resources.
- Create an initial list based on functionality depended on by Bowtie
- Known initial examples (to be modified):
- Draft selection
- Automatic draft selection based on
$schema
- "Registering" of schemas for referenceability
- Validation of schemas themselves beyond the metaschema
- Additional Items to Include (primarily optional specification behavior):
- Enabling format support
- Output format support
- Annotation support
- Known initial examples (to be modified):
- Decide on serviceable terminology for referencing each piece of functionality
- Add the list of common interfaces with some short prose documentation to a new (non-normative) page on the new website #498
- Ensure implementers of new implementations have some way of recognizing they may want to update the interfaces page with information on their implementation when submitting it for inclusion on the implementations page (PR merged: Add an automatic commenter for new tooling PRs. website#173)
Assessed as high impact/low effort during our collaborators summit 2023.
Metadata
Metadata
Assignees
Type
Projects
Status