Skip to content

Latest commit

 

History

History
98 lines (66 loc) · 2.48 KB

README.md

File metadata and controls

98 lines (66 loc) · 2.48 KB

wis2-gdc

wis2-gdc is a Reference Implementation of a WIS2 Global Discovery Catalogue.

Note: architecture diagrams referenced from the WIS2 Guide

WIS2 GDC C4 component diagram

Workflow

  • connects to a WIS2 Global Broker, subscribed to the following:
    • origin/a/wis2/+/+/metadata/#
  • on discovery metadata notifications, run the WCMP2 ATS via pywcmp
    • ATS
    • KPIs
  • publish to a WIS2 GDC (OGC API - Records) using one of the supported transaction backends:

Installation

Requirements

Dependencies

Dependencies are listed in requirements.txt. Dependencies are automatically installed during pywis-pubsub installation.

Installing wis2-gdc

# setup virtualenv
python3 -m venv --system-site-packages wis2-gdc
cd wis2-gdc
source bin/activate

# clone codebase and install
git clone https://github.com/wmo-im/wis2-gdc.git
cd wis2-gdc
python3 setup.py install

Running

# setup environment and configuration
cp wis2-gdc.env local.env
vim local.env # update accordingly

source local.env

cp pywis-pubsub-config.yml local.yml
vim local.yml # update accordingly

# setup pywis-pubsub - sync WIS2 notification schema
pywis-pubsub schema sync

# connect to Global Broker
# discovery metadata notifications will trigger wis2-gdc to validate and publish
# WCMP2 to the GDC identified in local.env
pywis-pubsub subscribe --config local.yml

# loading metadata manually (single file)
wis2-gdc register /path/to/wcmp2-file.json

# loading metadata manually (directory of .json files)
wis2-gdc register /path/to/dir/or/wcmp2-files

Development

Running Tests

# install dev requirements
pip3 install -r requirements-dev.txt

# run tests like this:
python3 tests/run_tests.py

# or this:
python3 setup.py test

Code Conventions

Bugs and Issues

All bugs, enhancements and issues are managed on GitHub.

Contact