This PR introduces a modular architecture for the SCDEX schema and improves the testing framework to align with the changes.
Key Changes
Modular Schema:
Split core-schema.json into components/location.json, organization.json, and affiliation.json.
Added reusable definitions in definitions/ and schema extensions in extensions/.
Testing Improvements:
Added a JSON Schema validator with reference resolution to validate schemas more effectively.
Updated tests to utilize the new modular schema and added examples for testing extensions.
Motivation
The primary motivation behind this refactor is to improve the modularity and maintainability of the SCDEX schema. The new structure makes it easier to extend, reuse, and update individual components, which helps keep the core schema clean and more approachable for adopters.
Adding "additionalProperties": true allows for more flexibility in data sharing, enabling users to add custom fields that may not be explicitly defined in the schema. This makes the schema more adaptable to various organizational needs and reduces barriers to data exchange.
Overview
This PR introduces a modular architecture for the SCDEX schema and improves the testing framework to align with the changes.
Key Changes
core-schema.json
intocomponents/location.json
,organization.json
, andaffiliation.json
.definitions/
and schema extensions inextensions/
.Motivation
The primary motivation behind this refactor is to improve the modularity and maintainability of the SCDEX schema. The new structure makes it easier to extend, reuse, and update individual components, which helps keep the core schema clean and more approachable for adopters.
Adding
"additionalProperties": true
allows for more flexibility in data sharing, enabling users to add custom fields that may not be explicitly defined in the schema. This makes the schema more adaptable to various organizational needs and reduces barriers to data exchange.