As discussed in https://github.com/ga4gh-beacon/beacon-verifier/issues/12 (and in previous issues for the Beacon v2 sources, using relative links to individual Github schemas inside a given project may lead to inconsistent behaviour when resolving schemas, while using absolute URLs to GH raw files brings another level of maintenance headaches, binds the schema to the hosting service and makes schema extensions extremely complicated; but especially breaks use cases with limited or missing network I/O. Some note:
Having external URLs within schema makes it impossible to use within other programs directly. This is mainly due to security and we would typically block outbound connections from containers/clusters.
I like the idea of strictly local verification with zero HTTP calls to GitHub.
Originally posted by @anuradhawick in https://github.com/ga4gh-beacon/beacon-verifier/issues/12#issuecomment-1184178431
Proposal
re-design the verifier to (pull and) access local schema trees
As discussed in https://github.com/ga4gh-beacon/beacon-verifier/issues/12 (and in previous issues for the Beacon v2 sources, using relative links to individual Github schemas inside a given project may lead to inconsistent behaviour when resolving schemas, while using absolute URLs to GH raw files brings another level of maintenance headaches, binds the schema to the hosting service and makes schema extensions extremely complicated; but especially breaks use cases with limited or missing network I/O. Some note:
Proposal
$ref
parameters in https://github.com/ga4gh-beacon/beacon-v2/ - which may include a rethinking of external schema $ref values (so far only VRS)Alternatively or as addition, we could provide fully de-referenced schemas for all entities.