opengeospatial / opengeospatial/bblocks-postprocess
modify postprocess to support displaying resolved json schema for composite building blocks
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1
- Forks
- 6
- Avg merge
- 5d 10h
- Merged PRs (30d)
- 3
Description
I'm assembling profiles from lots of pieces (see https://github.com/usgin/metadataBuildingBlocks), but the full schema displayed by bblocks-viewer shows all the $refs to building block components that are being assembled, making it difficult to figure out if the resolved schema that assembles all the pieces is doing what you want. A resolved schema is also useful for offline testing and validation instance documents using tools like Oxygen.
PR https://github.com/opengeospatial/bblock-template/pull/8 addresses this issue with python codes to generate resolved schema. Also includes a couple tools to generate JSON schema in parallel to the yaml-encoded json schema and check that the JSON and Yaml are equivalent. I'm a lot more comfortable reviewing and testing the JSON serialized schema.
To make the resolves schema visible in the BBlock view requires update to the bblock viewer code (see https://github.com/ogcincubator/bblocks-viewer/issues/5),
This issue addresses the third step to make the resolved schema accessible via the bbtemplate and view-- update to the post processing workflow (Github action) in the Building Block Repository. The postprocess Docker tool generates annotated schemas in build/annotated/, but these still contain $ref references to remote URLs. Building block authors currently have no standard way to produce a fully-resolved, self-contained JSON Schema from their source files — useful for:
- Local validation (e.g.,
jsonschema.validate(data, resolved_schema)) - Tooling integration (e.g., JSON Forms, IDE schema support)
- Inspection and debugging (single file, no external dependencies)
addressed by https://github.com/opengeospatial/bblocks-postprocess/pull/62
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the postprocess Docker workflow and the annotated schemas generated in build/annotated/, then read the referenced bblocks-postprocess pull request #62. Check how the workflow can expose a fully resolved schema without remote $ref references. Done means building-block authors can obtain a self-contained schema for local validation, tooling integration, and inspection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github-actions, json, python
- Domain
- ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100