A central index that maps short aliases (e.g. @ogc/main) to OGC Building Blocks register URLs,
so that bblocks-config.yaml imports stay stable even when registers move hosts.
The compiled index is published at:
https://w3id.org/ogc/bblocks/meta-register.json
| URL | Description |
|---|---|
https://w3id.org/ogc/bblocks/meta-register.json |
Flat alias map: { "@org/name": "https://..." } |
https://w3id.org/ogc/bblocks/meta-register-orgs.json |
Organisation metadata: name, description, URL, maintainers, register list |
The default key in meta-register.json resolves to @ogc/main and is used by tooling that has not yet been configured with an explicit alias.
Each organisation or user claims a namespace by adding a directory under registers/ with a
registers.yaml file. On every merge to master, the index is recompiled and published to
GitHub Pages via the w3id.org persistent URL above.
In bblocks-config.yaml, instead of a raw URL:
imports:
- https://raw.githubusercontent.com/acme-org/my-bblocks/main/build/register.jsonyou write:
imports:
- "@acme/my-bblocks"Fork ogcincubator/bblocks-meta-register-data and create a branch for your changes.
Add a directory named after your GitHub organisation or username under registers/, with a
registers.yaml file:
registers/
your-org/
registers.yaml
org:
name: Your Organisation Name
url: https://your-org.example.com
maintainers:
- github: your-github-username
email: you@your-org.example.com
registers:
my-register: https://your-org.github.io/my-bblocks/register.jsonFields:
| Field | Required | Description |
|---|---|---|
org.name |
yes | Full, human-readable organisation name |
org.description |
no | Short description of the organisation |
org.url |
yes | Publicly reachable URL for the organisation |
org.maintainers |
yes | At least one maintainer with github username and email |
registers |
yes | Map of register slugs to their register.json URLs (at least one) |
Slug conventions: lowercase, hyphens only, no bblocks prefix (e.g. ogcapi-features not
bblocks-ogcapi-features).
pip install pyyaml jsonschema
python .github/scripts/compile.py --validateOpen a PR against master. The validate workflow will run automatically and check that your
registers.yaml is well-formed.
PRs adding a new namespace are reviewed by the maintainers of this repository.
PRs modifying an existing namespace must be authored by one of the maintainers listed in that
namespace's registers.yaml.
If you are an authorised maintainer of a namespace (listed under org.maintainers), you can open
a PR to add, update, or remove registers within your namespace. The same validation workflow
applies.
registers/
{org}/
registers.yaml ← one file per org/user namespace
.github/
scripts/
compile.py ← compiles registers/ → index.json
workflows/
compile.yml ← runs on merge to master, publishes to GitHub Pages
validate.yml ← runs on PRs, validates registers.yaml files
index.html ← landing page served via GitHub Pages